@osolmaz/pi-workflows 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -31
- package/dist/builtins/autodoc.workflow.d.ts +4 -4
- package/dist/builtins/autoimplement.workflow.d.ts +797 -142
- package/dist/builtins/autoimplement.workflow.js +17 -105
- package/dist/builtins/autoimplement.workflow.js.map +1 -1
- package/dist/builtins/autoplan.workflow.d.ts +126 -13
- package/dist/builtins/autoplan.workflow.js +200 -29
- package/dist/builtins/autoplan.workflow.js.map +1 -1
- package/dist/builtins/catalog.js +7 -5
- package/dist/builtins/catalog.js.map +1 -1
- package/dist/builtins/index.d.ts +4 -2
- package/dist/builtins/index.js +3 -1
- package/dist/builtins/index.js.map +1 -1
- package/dist/builtins/monitor.workflow.d.ts +56 -23
- package/dist/builtins/monitor.workflow.js +508 -329
- package/dist/builtins/monitor.workflow.js.map +1 -1
- package/dist/builtins/pi-agent-group.d.ts +72 -0
- package/dist/builtins/pi-agent-group.js +1087 -0
- package/dist/builtins/pi-agent-group.js.map +1 -0
- package/dist/builtins/plain-summary.workflow.d.ts +32 -0
- package/dist/builtins/plain-summary.workflow.js +134 -0
- package/dist/builtins/plain-summary.workflow.js.map +1 -0
- package/dist/builtins/plan-approval.workflow.d.ts +39 -5
- package/dist/builtins/plan-approval.workflow.js +92 -14
- package/dist/builtins/plan-approval.workflow.js.map +1 -1
- package/dist/builtins/plan-change.workflow.d.ts +449 -0
- package/dist/builtins/plan-change.workflow.js +256 -0
- package/dist/builtins/plan-change.workflow.js.map +1 -0
- package/dist/builtins/plan-presentation.js +2 -2
- package/dist/builtins/plan-presentation.js.map +1 -1
- package/dist/builtins/sanity-check.workflow.d.ts +50 -6
- package/dist/builtins/sanity-check.workflow.js +150 -28
- package/dist/builtins/sanity-check.workflow.js.map +1 -1
- package/dist/controllers/effects.d.ts +3 -2
- package/dist/controllers/effects.js +8 -1
- package/dist/controllers/effects.js.map +1 -1
- package/dist/controllers/index.d.ts +1 -1
- package/dist/controllers/index.js +1 -1
- package/dist/controllers/index.js.map +1 -1
- package/dist/controllers/manager.d.ts +1 -0
- package/dist/controllers/manager.js +41 -17
- package/dist/controllers/manager.js.map +1 -1
- package/dist/controllers/sqlite.d.ts +107 -85
- package/dist/controllers/sqlite.js +1611 -1486
- package/dist/controllers/sqlite.js.map +1 -1
- package/dist/controllers/store.d.ts +9 -8
- package/dist/controllers/store.js +1 -31
- package/dist/controllers/store.js.map +1 -1
- package/dist/controllers/types.d.ts +3 -0
- package/dist/controllers/workflow-engine-scheduler.d.ts +1 -1
- package/dist/controllers/workflow-engine-scheduler.js +3 -5
- package/dist/controllers/workflow-engine-scheduler.js.map +1 -1
- package/dist/controllers/workflows.d.ts +2 -2
- package/dist/controllers/workflows.js +11 -10
- package/dist/controllers/workflows.js.map +1 -1
- package/dist/extension/controller-host.js +2 -2
- package/dist/extension/controller-host.js.map +1 -1
- package/dist/extension/decision-channels.d.ts +4 -2
- package/dist/extension/decision-channels.js +333 -146
- package/dist/extension/decision-channels.js.map +1 -1
- package/dist/extension/executor.d.ts +9 -2
- package/dist/extension/executor.js +89 -2
- package/dist/extension/executor.js.map +1 -1
- package/dist/extension/herdr-viewer.d.ts +0 -1
- package/dist/extension/herdr-viewer.js +0 -4
- package/dist/extension/herdr-viewer.js.map +1 -1
- package/dist/extension/index.js +209 -127
- package/dist/extension/index.js.map +1 -1
- package/dist/extension/recorder.d.ts +3 -10
- package/dist/extension/recorder.js +13 -22
- package/dist/extension/recorder.js.map +1 -1
- package/dist/extension/session-events.d.ts +2 -2
- package/dist/extension/step-message.d.ts +7 -2
- package/dist/extension/step-message.js +94 -2
- package/dist/extension/step-message.js.map +1 -1
- package/dist/extension/widget.js +29 -3
- package/dist/extension/widget.js.map +1 -1
- package/dist/host/rpc-executor.d.ts +3 -0
- package/dist/host/rpc-executor.js +2 -0
- package/dist/host/rpc-executor.js.map +1 -1
- package/dist/host/runner.d.ts +3 -6
- package/dist/host/runner.js +83 -32
- package/dist/host/runner.js.map +1 -1
- package/dist/render/graph-render.js +15 -10
- package/dist/render/graph-render.js.map +1 -1
- package/dist/state/database.d.ts +35 -0
- package/dist/state/database.js +287 -0
- package/dist/state/database.js.map +1 -0
- package/dist/state/index.d.ts +4 -0
- package/dist/state/index.js +5 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/json.d.ts +6 -0
- package/dist/state/json.js +38 -0
- package/dist/state/json.js.map +1 -0
- package/dist/state/mutation.d.ts +57 -0
- package/dist/state/mutation.js +255 -0
- package/dist/state/mutation.js.map +1 -0
- package/dist/state/schema.d.ts +6 -0
- package/dist/state/schema.js +473 -0
- package/dist/state/schema.js.map +1 -0
- package/dist/viewer/cli.d.ts +2 -2
- package/dist/viewer/cli.js +142 -122
- package/dist/viewer/cli.js.map +1 -1
- package/dist/viewer/render.d.ts +4 -4
- package/dist/viewer/render.js +9 -23
- package/dist/viewer/render.js.map +1 -1
- package/dist/viewer/session-reducer.d.ts +1 -1
- package/dist/viewer/session-reducer.js +1 -1
- package/dist/viewer/tui.d.ts +3 -3
- package/dist/viewer/tui.js +15 -13
- package/dist/viewer/tui.js.map +1 -1
- package/dist/viewer/watch.d.ts +2 -5
- package/dist/viewer/watch.js +13 -13
- package/dist/viewer/watch.js.map +1 -1
- package/dist/workflows/catalog.js +7 -2
- package/dist/workflows/catalog.js.map +1 -1
- package/dist/workflows/composition.js +20 -2
- package/dist/workflows/composition.js.map +1 -1
- package/dist/workflows/decision-presentation.d.ts +1 -1
- package/dist/workflows/decision-presentation.js +51 -38
- package/dist/workflows/decision-presentation.js.map +1 -1
- package/dist/workflows/definition.d.ts +6 -2
- package/dist/workflows/definition.js +17 -0
- package/dist/workflows/definition.js.map +1 -1
- package/dist/workflows/engine.d.ts +7 -7
- package/dist/workflows/engine.js +196 -115
- package/dist/workflows/engine.js.map +1 -1
- package/dist/workflows/errors.d.ts +16 -3
- package/dist/workflows/errors.js +18 -3
- package/dist/workflows/errors.js.map +1 -1
- package/dist/workflows/human-decision.d.ts +45 -8
- package/dist/workflows/human-decision.js +641 -274
- package/dist/workflows/human-decision.js.map +1 -1
- package/dist/workflows/index.d.ts +5 -6
- package/dist/workflows/index.js +4 -5
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/progress.d.ts +1 -0
- package/dist/workflows/progress.js +15 -3
- package/dist/workflows/progress.js.map +1 -1
- package/dist/workflows/schema.js +27 -1
- package/dist/workflows/schema.js.map +1 -1
- package/dist/workflows/store.d.ts +83 -103
- package/dist/workflows/store.js +907 -951
- package/dist/workflows/store.js.map +1 -1
- package/dist/workflows/types.d.ts +88 -126
- package/docs/CONTROLLERS.md +10 -8
- package/docs/DEFERRED_TURNS.md +2 -2
- package/docs/DESIGN_PHILOSOPHY.md +4 -2
- package/docs/HUMAN_DECISIONS.md +36 -47
- package/docs/HUMAN_DECISION_PRESENTATIONS.md +14 -24
- package/docs/MONITOR.md +179 -237
- package/docs/SQLITE_STATE.md +219 -0
- package/docs/WORKFLOW_COMPOSITION.md +27 -26
- package/docs/WORKFLOW_STEP_MESSAGES.md +20 -18
- package/docs/WORKFLOW_UPDATES.md +10 -9
- package/docs/development.md +9 -9
- package/docs/live-replay-protocol.md +28 -37
- package/docs/plans/2026-08-16-workflow-updates-plan.md +1 -1
- package/docs/plans/2026-08-19-human-decision-gates-plan.md +1 -1
- package/docs/plans/2026-08-21-autoimplement-timeout-fallback-plan.md +1 -1
- package/docs/plans/2026-08-21-plan-change-approval-policy-plan.md +322 -0
- package/docs/plans/2026-08-21-sanity-check-plan.md +217 -95
- package/docs/plans/2026-08-22-goal-finishing-monitor-plan.md +200 -0
- package/docs/plans/2026-08-23-assistant-agent-completion-plan.md +701 -0
- package/docs/plans/2026-08-23-sqlite-state-plan.md +970 -0
- package/docs/plans/replayable-run-bundles-implementation-plan.md +2 -2
- package/docs/plans/session-event-replay-implementation-plan.md +1 -1
- package/docs/plans/tui-viewer-implementation-plan.md +1 -1
- package/docs/session-event-journal.md +63 -434
- package/docs/tui-viewer.md +13 -15
- package/docs/workflows.md +127 -53
- package/examples/workflows/approved-plan.workflow.ts +19 -46
- package/examples/workflows/plain-summary.workflow.ts +1 -0
- package/herdr-plugin.toml +1 -1
- package/package.json +7 -7
- package/plugins/herdr/viewer.mjs +1 -11
- package/schemas/human-decision-accepted-v1.schema.json +15 -3
- package/schemas/human-decision-continuation-v1.schema.json +10 -1
- package/schemas/human-decision-delivery-v1.schema.json +8 -0
- package/schemas/human-decision-receipt-v1.schema.json +8 -0
- package/schemas/human-decision-request-v1.schema.json +24 -4
- package/skills/autoimplement/SKILL.md +27 -0
- package/skills/autoplan/SKILL.md +5 -4
- package/skills/monitor/SKILL.md +91 -135
- package/skills/pi-workflows/SKILL.md +9 -8
- package/skills/sanity-check/SKILL.md +44 -0
- package/src/builtins/autoimplement.workflow.ts +19 -118
- package/src/builtins/autoplan.workflow.ts +290 -40
- package/src/builtins/catalog.ts +7 -5
- package/src/builtins/index.ts +18 -1
- package/src/builtins/monitor.workflow.ts +673 -382
- package/src/builtins/pi-agent-group.ts +1407 -0
- package/src/builtins/plain-summary.workflow.ts +185 -0
- package/src/builtins/plan-approval.workflow.ts +157 -24
- package/src/builtins/plan-change.workflow.ts +321 -0
- package/src/builtins/plan-presentation.ts +2 -2
- package/src/builtins/sanity-check.workflow.ts +248 -48
- package/src/controllers/effects.ts +7 -0
- package/src/controllers/index.ts +0 -6
- package/src/controllers/manager.ts +72 -32
- package/src/controllers/sqlite.ts +2420 -1948
- package/src/controllers/store.ts +17 -38
- package/src/controllers/types.ts +3 -0
- package/src/controllers/workflow-engine-scheduler.ts +4 -8
- package/src/controllers/workflows.ts +45 -21
- package/src/extension/controller-host.ts +1 -2
- package/src/extension/decision-channels.ts +456 -203
- package/src/extension/executor.ts +105 -2
- package/src/extension/herdr-viewer.ts +0 -5
- package/src/extension/index.ts +251 -151
- package/src/extension/recorder.ts +13 -22
- package/src/extension/session-events.ts +2 -2
- package/src/extension/step-message.ts +106 -4
- package/src/extension/widget.ts +32 -5
- package/src/host/rpc-executor.ts +4 -0
- package/src/host/runner.ts +93 -41
- package/src/render/graph-render.ts +12 -6
- package/src/state/database.ts +375 -0
- package/src/state/index.ts +29 -0
- package/src/state/json.ts +42 -0
- package/src/state/mutation.ts +435 -0
- package/src/state/schema.ts +475 -0
- package/src/viewer/cli.ts +151 -144
- package/src/viewer/render.ts +19 -30
- package/src/viewer/session-reducer.ts +1 -1
- package/src/viewer/tui.ts +18 -17
- package/src/viewer/watch.ts +13 -17
- package/src/workflows/catalog.ts +7 -2
- package/src/workflows/composition.ts +21 -3
- package/src/workflows/decision-presentation.ts +56 -43
- package/src/workflows/definition.ts +36 -3
- package/src/workflows/engine.ts +228 -130
- package/src/workflows/errors.ts +27 -3
- package/src/workflows/human-decision.ts +921 -349
- package/src/workflows/index.ts +20 -30
- package/src/workflows/progress.ts +18 -3
- package/src/workflows/schema.ts +36 -1
- package/src/workflows/store.ts +1300 -1163
- package/src/workflows/types.ts +100 -137
- package/dist/builtins/sanity-check-session.d.ts +0 -17
- package/dist/builtins/sanity-check-session.js +0 -168
- package/dist/builtins/sanity-check-session.js.map +0 -1
- package/dist/workflows/artifacts.d.ts +0 -40
- package/dist/workflows/artifacts.js +0 -155
- package/dist/workflows/artifacts.js.map +0 -1
- package/dist/workflows/migrate-sources.d.ts +0 -42
- package/dist/workflows/migrate-sources.js +0 -133
- package/dist/workflows/migrate-sources.js.map +0 -1
- package/docs/run-bundles.md +0 -481
- package/schemas/human-decision-accepted-v2.schema.json +0 -50
- package/schemas/human-decision-delivery-v2.schema.json +0 -36
- package/schemas/human-decision-receipt-v2.schema.json +0 -39
- package/schemas/human-decision-request-v2.schema.json +0 -69
- package/schemas/human-decision-resolution-v2.schema.json +0 -27
- package/src/builtins/sanity-check-session.ts +0 -205
- package/src/workflows/artifacts.ts +0 -188
- package/src/workflows/migrate-sources.ts +0 -178
|
@@ -1,105 +1,30 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { StateDatabase } from "../state/database.js";
|
|
2
|
+
import { type MutationActor, type OwnerType } from "../state/mutation.js";
|
|
3
|
+
import type { WorkflowDefinition, WorkflowDefinitionSnapshot, WorkflowRunState, WorkflowSessionBinding, WorkflowSessionCapture, WorkflowSessionEntryRecord, WorkflowSessionEventRecord, WorkflowTraceEvent, WorkflowTraceEventDraft, WorkflowUpdateInput, WorkflowUpdateRecord } from "./types.js";
|
|
3
4
|
export declare const RUN_STATE_SCHEMA: "pi-workflows.run-state.v1";
|
|
4
|
-
export declare const TRACE_EVENT_SCHEMA: "pi-workflows.trace-event.v1";
|
|
5
5
|
export declare const DEFINITION_SNAPSHOT_SCHEMA: "pi-workflows.definition-snapshot.v1";
|
|
6
6
|
export declare const SESSION_BINDING_SCHEMA: "pi-workflows.session-binding.v1";
|
|
7
7
|
export declare const SESSION_EVENT_SCHEMA: "pi-workflows.session-event.v1";
|
|
8
8
|
export declare const SESSION_CAPTURE_SCHEMA: "pi-workflows.session-capture.v1";
|
|
9
9
|
export declare const SESSION_EVENT_MAX_BYTES: number;
|
|
10
|
-
|
|
11
|
-
export declare function workflowRunsBaseDir(homeDir?: string): string;
|
|
10
|
+
export declare function workflowStateDatabasePath(homeDir?: string): string;
|
|
12
11
|
export declare function createRunId(workflowName: string, now?: Date): string;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
*/
|
|
21
|
-
/**
|
|
22
|
-
* A fence proves the writer still owns the run. It is checked before every
|
|
23
|
-
* locked write; it throws (ClaimLostError) when the queue claim was lost, so
|
|
24
|
-
* a stalled runner can never interleave writes with the new claim holder.
|
|
25
|
-
*/
|
|
26
|
-
export type RunFence = () => void;
|
|
12
|
+
export type RunWriteAuthority = {
|
|
13
|
+
actor: MutationActor;
|
|
14
|
+
ownerType: OwnerType;
|
|
15
|
+
ownerId: string;
|
|
16
|
+
token: string;
|
|
17
|
+
generation: number;
|
|
18
|
+
};
|
|
27
19
|
export type WorkflowRunStoreOptions = {
|
|
28
|
-
|
|
20
|
+
authorityProvider?: (runId: string) => RunWriteAuthority | undefined;
|
|
21
|
+
state?: StateDatabase;
|
|
22
|
+
readOnly?: boolean;
|
|
29
23
|
};
|
|
30
|
-
export declare class WorkflowRunStore {
|
|
31
|
-
readonly outputRoot: string;
|
|
32
|
-
private readonly fenceProvider;
|
|
33
|
-
private readonly contexts;
|
|
34
|
-
constructor(outputRoot?: string, options?: WorkflowRunStoreOptions);
|
|
35
|
-
runDirFor(runId: string): string;
|
|
36
|
-
quarantineIncompleteRun(runId: string): Promise<string | undefined>;
|
|
37
|
-
private contextFor;
|
|
38
|
-
private streamFor;
|
|
39
|
-
/**
|
|
40
|
-
* Run `task` exclusively for this bundle. Sequence numbers are assigned
|
|
41
|
-
* inside the lock, so physical file order always matches logical order.
|
|
42
|
-
*/
|
|
43
|
-
private withRunLock;
|
|
44
|
-
private withSessionEventLock;
|
|
45
|
-
initializeRunBundle(workflow: WorkflowDefinition, state: WorkflowRunState): Promise<string>;
|
|
46
|
-
/**
|
|
47
|
-
* Prepare an interrupted bundle for resume. Repairs a torn trace tail,
|
|
48
|
-
* drops trace events the state projection never recorded, and seeds the
|
|
49
|
-
* in-process context so new events continue the sequence. The caller must
|
|
50
|
-
* hold the run's queue claim; the fence is verified before any write.
|
|
51
|
-
*/
|
|
52
|
-
prepareRunResume(runId: string): Promise<LoadedRunBundle>;
|
|
53
|
-
/**
|
|
54
|
-
* Finalize captures left "recording" by a session that is gone, so they
|
|
55
|
-
* report failed with the reason instead of dangling forever.
|
|
56
|
-
*/
|
|
57
|
-
private finalizeRecordingCaptures;
|
|
58
|
-
/** Mark a nonterminal bundle failed and append an interruption event. */
|
|
59
|
-
markRunInterrupted(runId: string, reason?: string): Promise<LoadedRunBundle | null>;
|
|
60
|
-
/** Publish one durable update under the run's serialized claim-fenced writer. */
|
|
61
|
-
publishUpdate(runDir: string, state: WorkflowRunState, nodeId: string, attemptId: string, update: WorkflowUpdateInput, options?: {
|
|
62
|
-
signal?: AbortSignal;
|
|
63
|
-
}): Promise<{
|
|
64
|
-
event: WorkflowTraceEvent;
|
|
65
|
-
record: WorkflowUpdateRecord;
|
|
66
|
-
}>;
|
|
67
|
-
/**
|
|
68
|
-
* Persist one transition: append the trace event, then rewrite the
|
|
69
|
-
* projections reflecting it.
|
|
70
|
-
*/
|
|
71
|
-
writeSnapshot(runDir: string, state: WorkflowRunState, event: WorkflowTraceEventDraft): Promise<WorkflowTraceEvent>;
|
|
72
|
-
/**
|
|
73
|
-
* Bind the run to a Pi conversation: write `session/binding.json` once and
|
|
74
|
-
* append a `session_bound` trace event. Projections catch up on the next
|
|
75
|
-
* snapshot.
|
|
76
|
-
*/
|
|
77
|
-
/** True when a session binding already exists for this bundle. */
|
|
78
|
-
hasSessionBinding(runDir: string): Promise<boolean>;
|
|
79
|
-
/** List capture segment attempt ids under `session/segments/`. */
|
|
80
|
-
listSessionSegments(runDir: string): Promise<string[]>;
|
|
81
|
-
writeSessionBinding(runDir: string, binding: WorkflowSessionBinding, attemptId?: string): Promise<void>;
|
|
82
|
-
/** Append one verbatim Pi session entry to `session/entries.ndjson`. */
|
|
83
|
-
appendSessionEntry(runDir: string, entry: Record<string, unknown>, attemptId?: string): Promise<number>;
|
|
84
|
-
/** Append a fully stamped ordered batch to `session/events.ndjson`. */
|
|
85
|
-
appendSessionEventBatch(runDir: string, records: WorkflowSessionEventRecord[], attemptId?: string): Promise<void>;
|
|
86
|
-
/** Atomically replace the temporal capture integrity projection. */
|
|
87
|
-
writeSessionCapture(runDir: string, capture: WorkflowSessionCapture, attemptId?: string): Promise<void>;
|
|
88
|
-
/** Count complete durable session records after both writers have drained. */
|
|
89
|
-
sessionCounts(runDir: string, attemptId?: string): Promise<{
|
|
90
|
-
eventCount: number;
|
|
91
|
-
entryCount: number;
|
|
92
|
-
lastEventSeq: number;
|
|
93
|
-
}>;
|
|
94
|
-
private appendTraceEvent;
|
|
95
|
-
private writeProjections;
|
|
96
|
-
private writeLoadedProjections;
|
|
97
|
-
}
|
|
98
24
|
export type SessionCaptureIntegrity = {
|
|
99
25
|
status: "unavailable" | "recording" | "complete" | "failed" | "invalid";
|
|
100
26
|
diagnostics: string[];
|
|
101
27
|
};
|
|
102
|
-
/** One capture attempt: the session data a single recorder wrote. */
|
|
103
28
|
export type SessionCaptureSegment = {
|
|
104
29
|
attemptId: string;
|
|
105
30
|
binding: WorkflowSessionBinding | null;
|
|
@@ -108,29 +33,84 @@ export type SessionCaptureSegment = {
|
|
|
108
33
|
capture: WorkflowSessionCapture | null;
|
|
109
34
|
integrity: SessionCaptureIntegrity;
|
|
110
35
|
};
|
|
111
|
-
export type
|
|
112
|
-
|
|
113
|
-
manifest: WorkflowRunManifest;
|
|
36
|
+
export type LoadedWorkflowRun = {
|
|
37
|
+
runId: string;
|
|
114
38
|
state: WorkflowRunState;
|
|
115
|
-
snapshot: WorkflowDefinitionSnapshot
|
|
116
|
-
/** Full durable trace when loaded by the current reader. */
|
|
39
|
+
snapshot: WorkflowDefinitionSnapshot;
|
|
117
40
|
traceEvents?: WorkflowTraceEvent[];
|
|
118
41
|
sessionBinding: WorkflowSessionBinding | null;
|
|
119
42
|
sessionEntries: WorkflowSessionEntryRecord[];
|
|
120
43
|
sessionEvents: WorkflowSessionEventRecord[];
|
|
121
44
|
sessionCapture: WorkflowSessionCapture | null;
|
|
122
45
|
sessionIntegrity: SessionCaptureIntegrity;
|
|
123
|
-
/** Per-attempt captures written after a handoff or resume. */
|
|
124
46
|
sessionSegments: SessionCaptureSegment[];
|
|
125
47
|
};
|
|
126
|
-
|
|
127
|
-
export declare function readLastTraceEvent(runDir: string, tracePath?: string): Promise<WorkflowTraceEvent | null>;
|
|
128
|
-
export type ReadRunBundleOptions = {
|
|
129
|
-
/** Load the full append-only trace. Detail views need it; run lists do not. */
|
|
48
|
+
export type ReadWorkflowRunOptions = {
|
|
130
49
|
includeTrace?: boolean;
|
|
131
50
|
};
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
51
|
+
export declare class WorkflowRunStore {
|
|
52
|
+
readonly databasePath: string;
|
|
53
|
+
readonly state: StateDatabase;
|
|
54
|
+
private readonly authorityProvider;
|
|
55
|
+
private readonly contexts;
|
|
56
|
+
private readonly ownsState;
|
|
57
|
+
constructor(databasePath?: string, options?: WorkflowRunStoreOptions);
|
|
58
|
+
close(): void;
|
|
59
|
+
initializeRun(workflow: WorkflowDefinition, state: WorkflowRunState): Promise<string>;
|
|
60
|
+
prepareRunResume(runId: string): Promise<LoadedWorkflowRun>;
|
|
61
|
+
markRunInterrupted(runId: string, reason?: string): Promise<LoadedWorkflowRun | null>;
|
|
62
|
+
publishUpdate(runId: string, state: WorkflowRunState, nodeId: string, attemptId: string, update: WorkflowUpdateInput, options?: {
|
|
63
|
+
signal?: AbortSignal;
|
|
64
|
+
}): Promise<{
|
|
65
|
+
event: WorkflowTraceEvent;
|
|
66
|
+
record: WorkflowUpdateRecord;
|
|
67
|
+
}>;
|
|
68
|
+
writeSnapshot(runId: string, state: WorkflowRunState, event: WorkflowTraceEventDraft): Promise<WorkflowTraceEvent>;
|
|
69
|
+
hasSessionBinding(runId: string): Promise<boolean>;
|
|
70
|
+
listSessionSegments(runId: string): Promise<string[]>;
|
|
71
|
+
writeSessionBinding(runId: string, binding: WorkflowSessionBinding, attemptId?: string): Promise<void>;
|
|
72
|
+
appendSessionEntry(runId: string, entry: Record<string, unknown>, attemptId?: string): Promise<number>;
|
|
73
|
+
appendSessionEventBatch(runId: string, records: WorkflowSessionEventRecord[], attemptId?: string): Promise<void>;
|
|
74
|
+
writeSessionCapture(runId: string, capture: WorkflowSessionCapture, attemptId?: string): Promise<void>;
|
|
75
|
+
sessionCounts(runId: string, attemptId?: string): Promise<{
|
|
76
|
+
eventCount: number;
|
|
77
|
+
entryCount: number;
|
|
78
|
+
lastEventSeq: number;
|
|
79
|
+
}>;
|
|
80
|
+
readRun(runId: string, options?: ReadWorkflowRunOptions): LoadedWorkflowRun | null;
|
|
81
|
+
listRuns(options?: ReadWorkflowRunOptions): LoadedWorkflowRun[];
|
|
82
|
+
readLastTraceEvent(runId: string): WorkflowTraceEvent | null;
|
|
83
|
+
private contextFor;
|
|
84
|
+
private withRunLock;
|
|
85
|
+
private assertSessionWriteAuthority;
|
|
86
|
+
private resourceRevision;
|
|
87
|
+
private requireResourceRevision;
|
|
88
|
+
private bumpResource;
|
|
89
|
+
private assertWriteAuthority;
|
|
90
|
+
private persistRunState;
|
|
91
|
+
private enqueueRunSettlementEffect;
|
|
92
|
+
private syncNodeAttempts;
|
|
93
|
+
private ensureAttempt;
|
|
94
|
+
private nextAttemptNumber;
|
|
95
|
+
private nextUpdateSequence;
|
|
96
|
+
private readRunRow;
|
|
97
|
+
private requireRunRow;
|
|
98
|
+
private readState;
|
|
99
|
+
private readDefinition;
|
|
100
|
+
private traceEvents;
|
|
101
|
+
private segmentRows;
|
|
102
|
+
private segmentRow;
|
|
103
|
+
private requireSegment;
|
|
104
|
+
private loadSegment;
|
|
105
|
+
private finalizeRecordingCaptures;
|
|
106
|
+
}
|
|
107
|
+
export declare function readWorkflowRun(runId: string, options?: ReadWorkflowRunOptions & {
|
|
108
|
+
databasePath?: string;
|
|
109
|
+
}): LoadedWorkflowRun | null;
|
|
110
|
+
export declare function listWorkflowRuns(options?: ReadWorkflowRunOptions & {
|
|
111
|
+
databasePath?: string;
|
|
112
|
+
}): LoadedWorkflowRun[];
|
|
113
|
+
export declare function readLastTraceEvent(runId: string, options?: {
|
|
114
|
+
databasePath?: string;
|
|
115
|
+
}): WorkflowTraceEvent | null;
|
|
136
116
|
export declare function createDefinitionSnapshot(workflow: WorkflowDefinition): WorkflowDefinitionSnapshot;
|