Line

You are reading docs for v0.8. See latest (v0.9)

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#

const ANALYSIS_FLOW: "review.analyze" = 'review.analyze'

Defined in: ui/server/src/reviewAnalyses.mjs:26


ANALYSIS_STEP#

const ANALYSIS_STEP: "analyse" = 'analyse'

Defined in: ui/server/src/reviewAnalyses.mjs:27


KEEP_FINISHED#

const KEEP_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