ui/server/src/reviewAnalyses
an analysis is a Process: one plan, one step, flow review.analyze (src/plan.mjs).
Cockpit server, v0.8. Source: ui/server/src/reviewAnalyses.mjs.
Variables#
ANALYSIS_FLOW#
constANALYSIS_FLOW:"review.analyze"='review.analyze'
Defined in: ui/server/src/reviewAnalyses.mjs:26
ANALYSIS_STEP#
constANALYSIS_STEP:"analyse"='analyse'
Defined in: ui/server/src/reviewAnalyses.mjs:27
KEEP_FINISHED#
constKEEP_FINISHED:30=30
Defined in: ui/server/src/reviewAnalyses.mjs:29
Finished analysis records kept in the store (and so in the drawer); older ones are removed.
Functions#
analysisPlan()#
analysisPlan(
__namedParameters):object
Defined in: ui/server/src/reviewAnalyses.mjs:41
The plan an analysis is. expected is {features, files} or absent.
Parameters#
__namedParameters
baseName
any
baseSha
any
expected
any
headName
any
headSha
any
Returns#
object
steps
steps:
object[]
ticket
ticket:
object
ticket.source
source:
string='text'
ticket.title
title:
string
version
version:
number=1
composeExecutors()#
composeExecutors(
__namedParameters): (ctx) =>any
Defined in: ui/server/src/reviewAnalyses.mjs:105
Route a step by its flow. Only the read-only flows avoid the bot runner: review.analyze and test.run. A test.run step with no test executor is refused rather than handed to the bot runner, which would give
it a branch and a worktree it has no use for.
Parameters#
__namedParameters
bot
any
review
any
testRun?
any = null
Returns#
(ctx) => any
createAnalyses()#
createAnalyses(
deps):object
Defined in: ui/server/src/reviewAnalyses.mjs:116
Parameters#
deps
results
{ delete: (id) => boolean; get: (id) => any; set: void; }
results.delete
(id) => boolean = ...
results.get
(id) => any = ...
results.set
service
{ control: Function; startPlan: Function; store: Function; }
service.control
Function
service.startPlan
Function
service.store
Function
Returns#
cancel
cancel: (
processId) =>any
The machine's own CANCEL, through the same service the drawer's button uses.
Parameters
processId
any
Returns
any
start()
start(
spec): {error?:undefined;ok:boolean;processId:any; } | {error:any;ok:boolean;processId?:undefined; }
Create and start the process. -> {ok:true, processId} | {ok:false, error}
Parameters
spec
any
Returns
{ error?: undefined; ok: boolean; processId: any; } | { error: any; ok: boolean; processId?: undefined; }
stateOf()
stateOf(
processId): {state:string; } | {processId:any;result:any;state:string; } | {processId:any;state:string; } | {error:any;processId:any;state:string; }
The analysis's row state, read from the process record (the single source of truth).
Parameters
processId
any
Returns
{ state: string; } | { processId: any; result: any; state: string; } | { processId: any; state: string; } | { error: any; processId: any; state: string; }
createResults()#
createResults():
object
Defined in: ui/server/src/reviewAnalyses.mjs:58
Finished analyses' reports, by process id, bounded. Never persisted: a report is derived, so a restart simply asks again.
Returns#
object
delete
delete: (
id) =>boolean
Parameters
id
any
Returns
boolean
get
get: (
id) =>any
Parameters
id
any
Returns
any
set()
set(
id,value):void
Parameters
id
any
value
any
Returns
void
createReviewExecutor()#
createReviewExecutor(
opts?):object
Defined in: ui/server/src/reviewAnalyses.mjs:75
Parameters#
opts?
run(job, {signal, onProgress}) is the test seam; the default forks the read-only worker.
results?
{ delete: (id) => boolean; get: (id) => any; set: void; } = ...
results.delete
(id) => boolean = ...
results.get
(id) => any = ...
results.set
run?
Function = forkRunner
runOptions?
any = {}
Returns#
object
executeStep
executeStep: (
__namedParameters) =>Promise<{artifacts:any[];error:any;llm:any;ok:boolean; } | {artifacts:any[];llm:any;ok:boolean; }>
Parameters
__namedParameters
log
any
process
any
signal
any
step
any
Returns
Promise<{ artifacts: any[]; error: any; llm: any; ok: boolean; } | { artifacts: any[]; llm: any; ok: boolean; }>
results
results:
object
results.delete
delete: (
id) =>boolean
Parameters
id
any
Returns
boolean
results.get
get: (
id) =>any
Parameters
id
any
Returns
any
results.set()
set(
id,value):void
Parameters
id
any
value
any
Returns
void
isAnalysisPlan()#
isAnalysisPlan(
plan):boolean
Defined in: ui/server/src/reviewAnalyses.mjs:35
Is this stored plan an analysis (and so not a plan the Review screen may offer as an expected scope)?
Parameters#
plan
any
Returns#
boolean