@osolmaz/pi-workflows 0.16.1 → 0.16.3
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 +41 -41
- package/dist/builtins/monitor.workflow.d.ts +1 -1
- package/dist/builtins/monitor.workflow.js +8 -8
- package/dist/builtins/pi-agent-group.js +3 -3
- package/dist/builtins/pi-agent-group.js.map +1 -1
- package/dist/channels/adapter-entry.js +14 -14
- package/dist/channels/adapter-entry.js.map +1 -1
- package/dist/client/client.d.ts +6 -6
- package/dist/client/client.js +27 -27
- package/dist/client/client.js.map +1 -1
- package/dist/client/protocol.d.ts +4 -1
- package/dist/client/protocol.js +17 -11
- package/dist/client/protocol.js.map +1 -1
- package/dist/client/resolver.d.ts +4 -4
- package/dist/client/view.d.ts +7 -1
- package/dist/client/view.js +1 -0
- package/dist/client/view.js.map +1 -1
- package/dist/extension/index.d.ts +1 -1
- package/dist/extension/index.js +66 -47
- package/dist/extension/index.js.map +1 -1
- package/dist/extension/recorder.d.ts +1 -1
- package/dist/extension/recorder.js +1 -1
- package/dist/extension/recorder.js.map +1 -1
- package/dist/extension/remote-recorder-store.d.ts +1 -1
- package/dist/extension/remote-recorder-store.js +2 -2
- package/dist/extension/remote-recorder-store.js.map +1 -1
- package/dist/extension/{controller-command.d.ts → resource-manager-command.d.ts} +6 -6
- package/dist/extension/{controller-command.js → resource-manager-command.js} +7 -7
- package/dist/extension/resource-manager-command.js.map +1 -0
- package/dist/extension/session-delivery.d.ts +1 -1
- package/dist/extension/session-delivery.js +2 -2
- package/dist/extension/session-delivery.js.map +1 -1
- package/dist/extension/session-view.d.ts +1 -1
- package/dist/extension/session-view.js +1 -1
- package/dist/extension/session-view.js.map +1 -1
- package/dist/extension/workflow-message-coordinator.d.ts +4 -3
- package/dist/extension/workflow-message-coordinator.js +81 -29
- package/dist/extension/workflow-message-coordinator.js.map +1 -1
- package/dist/resource-managers/conditions.d.ts +6 -0
- package/dist/{controllers → resource-managers}/conditions.js +3 -3
- package/dist/resource-managers/conditions.js.map +1 -0
- package/dist/resource-managers/definition.d.ts +6 -0
- package/dist/resource-managers/definition.js +45 -0
- package/dist/resource-managers/definition.js.map +1 -0
- package/dist/resource-managers/effects.d.ts +15 -0
- package/dist/{controllers → resource-managers}/effects.js +2 -2
- package/dist/resource-managers/effects.js.map +1 -0
- package/dist/resource-managers/errors.d.ts +12 -0
- package/dist/resource-managers/errors.js +25 -0
- package/dist/resource-managers/errors.js.map +1 -0
- package/dist/resource-managers/index.d.ts +12 -0
- package/dist/resource-managers/index.js +12 -0
- package/dist/resource-managers/index.js.map +1 -0
- package/dist/resource-managers/json.js.map +1 -0
- package/dist/resource-managers/loader.d.ts +23 -0
- package/dist/resource-managers/loader.js +75 -0
- package/dist/resource-managers/loader.js.map +1 -0
- package/dist/resource-managers/results.d.ts +5 -0
- package/dist/resource-managers/results.js.map +1 -0
- package/dist/resource-managers/runtime.d.ts +59 -0
- package/dist/{controllers/manager.js → resource-managers/runtime.js} +57 -57
- package/dist/resource-managers/runtime.js.map +1 -0
- package/dist/{controllers → resource-managers}/sqlite.d.ts +51 -43
- package/dist/{controllers → resource-managers}/sqlite.js +187 -125
- package/dist/resource-managers/sqlite.js.map +1 -0
- package/dist/{controllers → resource-managers}/store.d.ts +33 -33
- package/dist/{controllers → resource-managers}/store.js.map +1 -1
- package/dist/{controllers → resource-managers}/types.d.ts +41 -41
- package/dist/{controllers → resource-managers}/types.js.map +1 -1
- package/dist/resource-managers/workflows.d.ts +34 -0
- package/dist/{controllers → resource-managers}/workflows.js +15 -15
- package/dist/resource-managers/workflows.js.map +1 -0
- package/dist/server/channel-effects.js.map +1 -0
- package/dist/{host → server}/channel-supervisor.d.ts +6 -6
- package/dist/{host → server}/channel-supervisor.js +3 -3
- package/dist/server/channel-supervisor.js.map +1 -0
- package/dist/{host/child-worker-supervisor.d.ts → server/child-runner-supervisor.d.ts} +15 -13
- package/dist/{host/child-worker-supervisor.js → server/child-runner-supervisor.js} +6 -5
- package/dist/server/child-runner-supervisor.js.map +1 -0
- package/dist/{host → server}/processes.d.ts +3 -3
- package/dist/{host → server}/processes.js +3 -3
- package/dist/server/processes.js.map +1 -0
- package/dist/{host → server}/resolver-entry.d.ts +6 -6
- package/dist/{host → server}/resolver-entry.js +14 -14
- package/dist/server/resolver-entry.js.map +1 -0
- package/dist/server/resource-runner-entry.d.ts +2 -0
- package/dist/{host/controller-worker-entry.js → server/resource-runner-entry.js} +33 -33
- package/dist/server/resource-runner-entry.js.map +1 -0
- package/dist/server/resource-runner-protocol.d.ts +36 -0
- package/dist/server/resource-runner-protocol.js +49 -0
- package/dist/server/resource-runner-protocol.js.map +1 -0
- package/dist/server/resource-runner-supervisor.d.ts +21 -0
- package/dist/{host/worker-supervisor.js → server/resource-runner-supervisor.js} +17 -17
- package/dist/server/resource-runner-supervisor.js.map +1 -0
- package/dist/{host → server}/rpc-bridge.d.ts +3 -3
- package/dist/{host → server}/rpc-bridge.js +3 -3
- package/dist/server/rpc-bridge.js.map +1 -0
- package/dist/{host → server}/rpc-executor.d.ts +1 -1
- package/dist/{host → server}/rpc-executor.js +3 -3
- package/dist/server/rpc-executor.js.map +1 -0
- package/dist/{host/host-entry.js → server/server-entry.js} +6 -6
- package/dist/server/server-entry.js.map +1 -0
- package/dist/{host/runner.d.ts → server/server.d.ts} +47 -39
- package/dist/{host/runner.js → server/server.js} +624 -535
- package/dist/server/server.js.map +1 -0
- package/dist/{host → server}/state.d.ts +25 -25
- package/dist/{host → server}/state.js +49 -49
- package/dist/server/state.js.map +1 -0
- package/dist/{host → server}/view.d.ts +7 -7
- package/dist/{host → server}/view.js +19 -15
- package/dist/server/view.js.map +1 -0
- package/dist/server/workflow-runner-content.d.ts +6 -0
- package/dist/server/workflow-runner-content.js +96 -0
- package/dist/server/workflow-runner-content.js.map +1 -0
- package/dist/server/workflow-runner-entry.d.ts +13 -0
- package/dist/{host/worker-entry.js → server/workflow-runner-entry.js} +89 -57
- package/dist/server/workflow-runner-entry.js.map +1 -0
- package/dist/server/workflow-runner-protocol.d.ts +69 -0
- package/dist/server/workflow-runner-protocol.js +176 -0
- package/dist/server/workflow-runner-protocol.js.map +1 -0
- package/dist/{host/worker-store.d.ts → server/workflow-runner-store.d.ts} +11 -11
- package/dist/{host/worker-store.js → server/workflow-runner-store.js} +8 -8
- package/dist/server/workflow-runner-store.js.map +1 -0
- package/dist/server/workflow-runner-supervisor.d.ts +22 -0
- package/dist/server/workflow-runner-supervisor.js +56 -0
- package/dist/server/workflow-runner-supervisor.js.map +1 -0
- package/dist/state/prune.d.ts +1 -1
- package/dist/state/prune.js +17 -10
- package/dist/state/prune.js.map +1 -1
- package/dist/state/schema.js +2 -2
- package/dist/state/workflow-messages.d.ts +3 -1
- package/dist/state/workflow-messages.js +32 -1
- package/dist/state/workflow-messages.js.map +1 -1
- package/dist/viewer/backup.js +1 -1
- package/dist/viewer/backup.js.map +1 -1
- package/dist/viewer/cli.d.ts +2 -2
- package/dist/viewer/cli.js +46 -32
- package/dist/viewer/cli.js.map +1 -1
- package/dist/viewer/tui.d.ts +1 -1
- package/dist/viewer/tui.js +1 -1
- package/dist/viewer/tui.js.map +1 -1
- package/dist/workflows/command-batch.js +2 -2
- package/dist/workflows/composition.js +0 -4
- package/dist/workflows/composition.js.map +1 -1
- package/dist/workflows/definition.js +0 -8
- package/dist/workflows/definition.js.map +1 -1
- package/dist/workflows/engine.js +18 -20
- package/dist/workflows/engine.js.map +1 -1
- package/dist/workflows/schema.js +0 -4
- package/dist/workflows/schema.js.map +1 -1
- package/dist/workflows/store.d.ts +27 -11
- package/dist/workflows/store.js +66 -18
- package/dist/workflows/store.js.map +1 -1
- package/dist/workflows/types.d.ts +3 -5
- package/docs/2026-08-20-durable-workflow-launch-plan.md +12 -12
- package/docs/2026-08-25-workflow-follow-ups.md +7 -7
- package/docs/2026-08-25-workflow-settings.md +3 -3
- package/docs/2026-08-30-out-of-process-workflow-host-plan.md +3 -3
- package/docs/2026-09-01-restore-session-delivery-controls-plan.md +5 -5
- package/docs/2026-09-01-unified-workflow-client-plan.md +6 -6
- package/docs/2026-09-02-installed-live-e2e-plan.md +3 -3
- package/docs/2026-09-02-unify-workflow-messages-plan.md +8 -8
- package/docs/2026-09-04-workflow-run-state-plan.md +363 -0
- package/docs/DEFERRED_TURNS.md +7 -7
- package/docs/DESIGN_PHILOSOPHY.md +1 -1
- package/docs/HUMAN_DECISIONS.md +11 -11
- package/docs/HUMAN_DECISION_PRESENTATIONS.md +4 -4
- package/docs/MONITOR.md +1 -1
- package/docs/RESOURCE_MANAGERS.md +221 -0
- package/docs/SQLITE_STATE.md +40 -34
- package/docs/WORKFLOW_COMPOSITION.md +1 -1
- package/docs/{WORKFLOW_HOST.md → WORKFLOW_SERVER.md} +131 -116
- package/docs/WORKFLOW_STEP_MESSAGES.md +18 -18
- package/docs/WORKFLOW_UPDATES.md +16 -16
- package/docs/development.md +15 -14
- package/docs/live-replay-protocol.md +20 -20
- package/docs/plans/2026-08-04-controller-runtime-plan.md +25 -25
- package/docs/plans/2026-08-05-always-on-workflows-plan.md +8 -8
- package/docs/plans/2026-08-10-agent-managed-monitor-workflows-plan.md +2 -2
- package/docs/plans/2026-08-13-session-addressed-workflow-notifications-plan.md +1 -1
- package/docs/plans/2026-08-16-workflow-updates-plan.md +5 -5
- package/docs/plans/2026-08-19-human-decision-gates-plan.md +1 -1
- package/docs/plans/2026-08-20-bounded-command-batches-plan.md +1 -1
- package/docs/plans/2026-08-21-deferred-turn-intents-plan.md +3 -3
- package/docs/plans/2026-08-21-sanity-check-plan.md +2 -2
- package/docs/plans/2026-08-23-assistant-agent-completion-plan.md +5 -5
- package/docs/plans/2026-08-23-sqlite-state-plan.md +25 -25
- package/docs/plans/2026-08-25-live-workflow-settings-plan.md +4 -4
- package/docs/plans/2026-08-27-workflow-terminal-restart-plan.md +3 -3
- package/docs/plans/2026-09-04-workflow-runner-resume-state-plan.md +318 -0
- package/docs/plans/piw-viewer-experience-implementation-plan.md +1 -1
- package/docs/tui-viewer.md +9 -9
- package/docs/workflows.md +78 -63
- package/examples/{controllers/pull-request.controller.ts → resource-managers/pull-request.resource-manager.ts} +12 -12
- package/herdr-plugin.toml +1 -1
- package/package.json +5 -5
- package/protocol/client.v1.schema.json +7 -7
- package/protocol/fixtures/client-v1.json +1 -1
- package/src/builtins/monitor.workflow.ts +9 -9
- package/src/builtins/pi-agent-group.ts +3 -3
- package/src/channels/adapter-entry.ts +14 -14
- package/src/client/client.ts +33 -32
- package/src/client/protocol.ts +16 -11
- package/src/client/resolver.ts +4 -4
- package/src/client/view.ts +9 -1
- package/src/extension/index.ts +81 -53
- package/src/extension/recorder.ts +1 -1
- package/src/extension/remote-recorder-store.ts +2 -2
- package/src/extension/resource-manager-command.ts +45 -0
- package/src/extension/session-delivery.ts +2 -2
- package/src/extension/session-view.ts +1 -1
- package/src/extension/workflow-message-coordinator.ts +94 -30
- package/src/{controllers → resource-managers}/conditions.ts +23 -23
- package/src/resource-managers/definition.ts +71 -0
- package/src/{controllers → resource-managers}/effects.ts +9 -9
- package/src/resource-managers/errors.ts +27 -0
- package/src/resource-managers/index.ts +88 -0
- package/src/resource-managers/loader.ts +111 -0
- package/src/{controllers → resource-managers}/results.ts +4 -4
- package/src/{controllers/manager.ts → resource-managers/runtime.ts} +95 -92
- package/src/{controllers → resource-managers}/sqlite.ts +275 -181
- package/src/{controllers → resource-managers}/store.ts +46 -38
- package/src/{controllers → resource-managers}/types.ts +50 -41
- package/src/{controllers → resource-managers}/workflows.ts +43 -41
- package/src/{host → server}/channel-supervisor.ts +8 -8
- package/src/{host/child-worker-supervisor.ts → server/child-runner-supervisor.ts} +22 -18
- package/src/{host → server}/processes.ts +3 -3
- package/src/{host → server}/resolver-entry.ts +28 -25
- package/src/{host/controller-worker-entry.ts → server/resource-runner-entry.ts} +67 -65
- package/src/server/resource-runner-protocol.ts +103 -0
- package/src/server/resource-runner-supervisor.ts +76 -0
- package/src/{host → server}/rpc-bridge.ts +3 -3
- package/src/{host → server}/rpc-executor.ts +4 -4
- package/src/{host/host-entry.ts → server/server-entry.ts} +5 -5
- package/src/{host/runner.ts → server/server.ts} +786 -672
- package/src/{host → server}/state.ts +78 -67
- package/src/{host → server}/view.ts +21 -17
- package/src/server/workflow-runner-content.ts +119 -0
- package/src/{host/worker-entry.ts → server/workflow-runner-entry.ts} +131 -82
- package/src/server/workflow-runner-protocol.ts +241 -0
- package/src/{host/worker-store.ts → server/workflow-runner-store.ts} +18 -20
- package/src/server/workflow-runner-supervisor.ts +79 -0
- package/src/state/prune.ts +27 -9
- package/src/state/schema.ts +2 -2
- package/src/state/workflow-messages.ts +52 -1
- package/src/viewer/backup.ts +1 -1
- package/src/viewer/cli.ts +50 -36
- package/src/viewer/tui.ts +1 -1
- package/src/workflows/command-batch.ts +2 -2
- package/src/workflows/composition.ts +0 -5
- package/src/workflows/definition.ts +0 -8
- package/src/workflows/engine.ts +18 -21
- package/src/workflows/schema.ts +0 -6
- package/src/workflows/store.ts +95 -28
- package/src/workflows/types.ts +3 -5
- package/dist/controllers/conditions.d.ts +0 -6
- package/dist/controllers/conditions.js.map +0 -1
- package/dist/controllers/definition.d.ts +0 -6
- package/dist/controllers/definition.js +0 -45
- package/dist/controllers/definition.js.map +0 -1
- package/dist/controllers/effects.d.ts +0 -15
- package/dist/controllers/effects.js.map +0 -1
- package/dist/controllers/errors.d.ts +0 -12
- package/dist/controllers/errors.js +0 -25
- package/dist/controllers/errors.js.map +0 -1
- package/dist/controllers/index.d.ts +0 -12
- package/dist/controllers/index.js +0 -12
- package/dist/controllers/index.js.map +0 -1
- package/dist/controllers/json.js.map +0 -1
- package/dist/controllers/loader.d.ts +0 -23
- package/dist/controllers/loader.js +0 -74
- package/dist/controllers/loader.js.map +0 -1
- package/dist/controllers/manager.d.ts +0 -59
- package/dist/controllers/manager.js.map +0 -1
- package/dist/controllers/results.d.ts +0 -5
- package/dist/controllers/results.js.map +0 -1
- package/dist/controllers/sqlite.js.map +0 -1
- package/dist/controllers/workflows.d.ts +0 -34
- package/dist/controllers/workflows.js.map +0 -1
- package/dist/extension/controller-command.js.map +0 -1
- package/dist/host/channel-effects.js.map +0 -1
- package/dist/host/channel-supervisor.js.map +0 -1
- package/dist/host/child-worker-supervisor.js.map +0 -1
- package/dist/host/controller-worker-entry.d.ts +0 -2
- package/dist/host/controller-worker-entry.js.map +0 -1
- package/dist/host/controller-worker-protocol.d.ts +0 -36
- package/dist/host/controller-worker-protocol.js +0 -49
- package/dist/host/controller-worker-protocol.js.map +0 -1
- package/dist/host/controller-worker-supervisor.d.ts +0 -21
- package/dist/host/controller-worker-supervisor.js +0 -54
- package/dist/host/controller-worker-supervisor.js.map +0 -1
- package/dist/host/host-entry.js.map +0 -1
- package/dist/host/processes.js.map +0 -1
- package/dist/host/resolver-entry.js.map +0 -1
- package/dist/host/rpc-bridge.js.map +0 -1
- package/dist/host/rpc-executor.js.map +0 -1
- package/dist/host/runner.js.map +0 -1
- package/dist/host/state.js.map +0 -1
- package/dist/host/view.js.map +0 -1
- package/dist/host/worker-entry.d.ts +0 -10
- package/dist/host/worker-entry.js.map +0 -1
- package/dist/host/worker-protocol.d.ts +0 -31
- package/dist/host/worker-protocol.js +0 -122
- package/dist/host/worker-protocol.js.map +0 -1
- package/dist/host/worker-store.js.map +0 -1
- package/dist/host/worker-supervisor.d.ts +0 -22
- package/dist/host/worker-supervisor.js.map +0 -1
- package/docs/CONTROLLERS.md +0 -217
- package/src/controllers/definition.ts +0 -65
- package/src/controllers/errors.ts +0 -27
- package/src/controllers/index.ts +0 -88
- package/src/controllers/loader.ts +0 -104
- package/src/extension/controller-command.ts +0 -45
- package/src/host/controller-worker-protocol.ts +0 -104
- package/src/host/controller-worker-supervisor.ts +0 -79
- package/src/host/worker-protocol.ts +0 -165
- package/src/host/worker-supervisor.ts +0 -74
- /package/dist/{controllers → resource-managers}/json.d.ts +0 -0
- /package/dist/{controllers → resource-managers}/json.js +0 -0
- /package/dist/{controllers → resource-managers}/results.js +0 -0
- /package/dist/{controllers → resource-managers}/store.js +0 -0
- /package/dist/{controllers → resource-managers}/types.js +0 -0
- /package/dist/{host → server}/channel-effects.d.ts +0 -0
- /package/dist/{host → server}/channel-effects.js +0 -0
- /package/dist/{host/host-entry.d.ts → server/server-entry.d.ts} +0 -0
- /package/src/{controllers → resource-managers}/json.ts +0 -0
- /package/src/{host → server}/channel-effects.ts +0 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { canonicalJson, parseJson } from "../state/json.js";
|
|
3
|
+
import { WORKFLOW_RUNNER_CONTENT_CHUNK_BYTES, WORKFLOW_RUNNER_CONTENT_CHUNK_SCHEMA, WORKFLOW_RUNNER_CONTENT_REFERENCE_SCHEMA, encodeRunnerLine, } from "./workflow-runner-protocol.js";
|
|
4
|
+
const CONTENT_MEDIA_TYPE = "application/json";
|
|
5
|
+
export function boundRunnerResponse(state, allowedDigests, response) {
|
|
6
|
+
try {
|
|
7
|
+
encodeRunnerLine(response);
|
|
8
|
+
return response;
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
if (response.result === undefined)
|
|
12
|
+
return responseTooLarge(response.messageId);
|
|
13
|
+
try {
|
|
14
|
+
const content = Buffer.from(canonicalJson(response.result), "utf8");
|
|
15
|
+
const sha256 = state.putBlob(content, CONTENT_MEDIA_TYPE).toString("hex");
|
|
16
|
+
allowedDigests.add(sha256);
|
|
17
|
+
const referenced = {
|
|
18
|
+
...response,
|
|
19
|
+
result: {
|
|
20
|
+
schema: WORKFLOW_RUNNER_CONTENT_REFERENCE_SCHEMA,
|
|
21
|
+
sha256,
|
|
22
|
+
mediaType: CONTENT_MEDIA_TYPE,
|
|
23
|
+
bytes: content.byteLength,
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
encodeRunnerLine(referenced);
|
|
27
|
+
return referenced;
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return responseTooLarge(response.messageId);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export function readRunnerContentChunk(state, allowedDigests, sha256, offset) {
|
|
35
|
+
if (!/^[0-9a-f]{64}$/u.test(sha256) || !allowedDigests.has(sha256)) {
|
|
36
|
+
throw new Error("Workflow runner content is unavailable");
|
|
37
|
+
}
|
|
38
|
+
if (!Number.isSafeInteger(offset) || offset < 0) {
|
|
39
|
+
throw new Error("Workflow runner content offset is invalid");
|
|
40
|
+
}
|
|
41
|
+
const stored = state.readBlob(Buffer.from(sha256, "hex"));
|
|
42
|
+
if (stored === undefined || stored.mediaType !== CONTENT_MEDIA_TYPE) {
|
|
43
|
+
throw new Error("Workflow runner content is unavailable");
|
|
44
|
+
}
|
|
45
|
+
if (offset > stored.byteLength)
|
|
46
|
+
throw new Error("Workflow runner content offset is invalid");
|
|
47
|
+
const nextOffset = Math.min(offset + WORKFLOW_RUNNER_CONTENT_CHUNK_BYTES, stored.byteLength);
|
|
48
|
+
return {
|
|
49
|
+
schema: WORKFLOW_RUNNER_CONTENT_CHUNK_SCHEMA,
|
|
50
|
+
sha256,
|
|
51
|
+
mediaType: CONTENT_MEDIA_TYPE,
|
|
52
|
+
bytes: stored.byteLength,
|
|
53
|
+
offset,
|
|
54
|
+
nextOffset,
|
|
55
|
+
complete: nextOffset === stored.byteLength,
|
|
56
|
+
data: stored.content.subarray(offset, nextOffset).toString("base64url"),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export async function materializeRunnerContent(reference, readChunk) {
|
|
60
|
+
const parts = [];
|
|
61
|
+
let offset = 0;
|
|
62
|
+
for (;;) {
|
|
63
|
+
const chunk = await readChunk(offset);
|
|
64
|
+
const bytes = Buffer.from(chunk.data, "base64url");
|
|
65
|
+
if (chunk.sha256 !== reference.sha256 ||
|
|
66
|
+
chunk.mediaType !== reference.mediaType ||
|
|
67
|
+
chunk.bytes !== reference.bytes ||
|
|
68
|
+
chunk.offset !== offset ||
|
|
69
|
+
chunk.nextOffset !== offset + bytes.byteLength ||
|
|
70
|
+
chunk.nextOffset > reference.bytes ||
|
|
71
|
+
chunk.complete !== (chunk.nextOffset === reference.bytes)) {
|
|
72
|
+
throw new Error("Workflow runner content chunk is invalid");
|
|
73
|
+
}
|
|
74
|
+
parts.push(bytes);
|
|
75
|
+
offset = chunk.nextOffset;
|
|
76
|
+
if (chunk.complete)
|
|
77
|
+
break;
|
|
78
|
+
if (bytes.byteLength === 0)
|
|
79
|
+
throw new Error("Workflow runner content read made no progress");
|
|
80
|
+
}
|
|
81
|
+
const content = Buffer.concat(parts);
|
|
82
|
+
if (content.byteLength !== reference.bytes ||
|
|
83
|
+
createHash("sha256").update(content).digest("hex") !== reference.sha256) {
|
|
84
|
+
throw new Error("Workflow runner content does not match its reference");
|
|
85
|
+
}
|
|
86
|
+
return parseJson(content.toString("utf8"));
|
|
87
|
+
}
|
|
88
|
+
function responseTooLarge(messageId) {
|
|
89
|
+
return {
|
|
90
|
+
schema: "pi-workflows.worker-response.v1",
|
|
91
|
+
messageId,
|
|
92
|
+
outcome: "rejected",
|
|
93
|
+
error: "Workflow runner response could not be transferred within the protocol limit",
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=workflow-runner-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-runner-content.js","sourceRoot":"","sources":["../../src/server/workflow-runner-content.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { WorkflowEngine } from "../workflows/engine.js";
|
|
3
|
+
import type { AgentStepContract, AgentStepSubmission, WorkflowDefinition, WorkflowSource } from "../workflows/types.js";
|
|
4
|
+
import { type WorkflowRunnerCommand } from "./workflow-runner-protocol.js";
|
|
5
|
+
export declare function validateAcceptedAssistantSubmission(submission: AgentStepSubmission, contract: AgentStepContract): {
|
|
6
|
+
ok: true;
|
|
7
|
+
value: AgentStepSubmission;
|
|
8
|
+
} | {
|
|
9
|
+
ok: false;
|
|
10
|
+
error: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function executeRunnerRunCommand(engine: Pick<WorkflowEngine, "run" | "resumeRun" | "continueRun">, workflow: WorkflowDefinition, runId: string, workflowSource: WorkflowSource, command: WorkflowRunnerCommand): Promise<import("../workflows/types.js").WorkflowRunResult>;
|
|
13
|
+
export declare function runWorkflowRunner(): Promise<number>;
|
|
@@ -9,11 +9,12 @@ import { WorkflowEngine } from "../workflows/engine.js";
|
|
|
9
9
|
import { ClaimLostError, RunParkedError, WorkflowSourceChangedError, errorMessage, } from "../workflows/errors.js";
|
|
10
10
|
import { hashWorkflowSource, resolveWorkflowSource } from "../workflows/loader.js";
|
|
11
11
|
import { RpcStepExecutor } from "./rpc-executor.js";
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
|
|
12
|
+
import { materializeRunnerContent } from "./workflow-runner-content.js";
|
|
13
|
+
import { MAX_WORKFLOW_RUNNER_PROTOCOL_MESSAGE_BYTES, encodeRunnerLine, isRunnerContentChunk, isRunnerContentReference, parseRunnerResponse, } from "./workflow-runner-protocol.js";
|
|
14
|
+
import { ServerBackedWorkflowStore, } from "./workflow-runner-store.js";
|
|
15
|
+
const STARTUP_ENV = "PI_WORKFLOWS_WORKFLOW_RUNNER_LAUNCH";
|
|
15
16
|
const PRESENTATION_TIMEOUT_MS = 30_000;
|
|
16
|
-
class
|
|
17
|
+
class StdioRunnerTransport {
|
|
17
18
|
launch;
|
|
18
19
|
pending = new Map();
|
|
19
20
|
buffered = Buffer.alloc(0);
|
|
@@ -32,17 +33,17 @@ class StdioWorkerTransport {
|
|
|
32
33
|
operation: options.operation,
|
|
33
34
|
runId: this.launch.runId,
|
|
34
35
|
generation: this.launch.generation,
|
|
35
|
-
|
|
36
|
+
runnerEpoch: this.launch.runnerEpoch,
|
|
36
37
|
expectedRevision: options.expectedRevision,
|
|
37
38
|
...(options.attemptId === undefined ? {} : { attemptId: options.attemptId }),
|
|
38
39
|
payload: options.payload,
|
|
39
40
|
};
|
|
40
|
-
const response = await this.
|
|
41
|
+
const response = await this.sendResolved(message);
|
|
41
42
|
if (response.outcome === "claimLost") {
|
|
42
43
|
throw new ClaimLostError(this.launch.runId, "ownerChanged");
|
|
43
44
|
}
|
|
44
45
|
if (response.outcome === "rejected") {
|
|
45
|
-
throw new Error(response.error ?? "Workflow
|
|
46
|
+
throw new Error(response.error ?? "Workflow runner message was rejected");
|
|
46
47
|
}
|
|
47
48
|
return {
|
|
48
49
|
...(response.result === undefined ? {} : { result: response.result }),
|
|
@@ -50,7 +51,7 @@ class StdioWorkerTransport {
|
|
|
50
51
|
};
|
|
51
52
|
}
|
|
52
53
|
async control(operation, payload) {
|
|
53
|
-
return await this.
|
|
54
|
+
return await this.sendResolved({
|
|
54
55
|
schema: "pi-workflows.worker-message.v1",
|
|
55
56
|
launchSchema: this.launch.schema,
|
|
56
57
|
messageId: randomUUID(),
|
|
@@ -58,7 +59,7 @@ class StdioWorkerTransport {
|
|
|
58
59
|
operation,
|
|
59
60
|
runId: this.launch.runId,
|
|
60
61
|
generation: this.launch.generation,
|
|
61
|
-
|
|
62
|
+
runnerEpoch: this.launch.runnerEpoch,
|
|
62
63
|
expectedRevision: 0,
|
|
63
64
|
payload,
|
|
64
65
|
});
|
|
@@ -67,20 +68,52 @@ class StdioWorkerTransport {
|
|
|
67
68
|
process.stdin.pause();
|
|
68
69
|
process.stdin.removeAllListeners("data");
|
|
69
70
|
process.stdin.removeAllListeners("error");
|
|
70
|
-
this.failAll(new Error("Workflow
|
|
71
|
+
this.failAll(new Error("Workflow runner transport closed"));
|
|
72
|
+
}
|
|
73
|
+
async sendResolved(message) {
|
|
74
|
+
const response = await this.send(message);
|
|
75
|
+
if (!isRunnerContentReference(response.result))
|
|
76
|
+
return response;
|
|
77
|
+
const reference = response.result;
|
|
78
|
+
const expectedRevision = response.revision ?? message.expectedRevision;
|
|
79
|
+
return {
|
|
80
|
+
...response,
|
|
81
|
+
result: await materializeRunnerContent(reference, async (offset) => {
|
|
82
|
+
const chunkResponse = await this.send({
|
|
83
|
+
schema: "pi-workflows.worker-message.v1",
|
|
84
|
+
launchSchema: this.launch.schema,
|
|
85
|
+
messageId: randomUUID(),
|
|
86
|
+
kind: "runner.progress",
|
|
87
|
+
operation: "content.read",
|
|
88
|
+
runId: this.launch.runId,
|
|
89
|
+
generation: this.launch.generation,
|
|
90
|
+
runnerEpoch: this.launch.runnerEpoch,
|
|
91
|
+
expectedRevision,
|
|
92
|
+
payload: { sha256: reference.sha256, offset },
|
|
93
|
+
});
|
|
94
|
+
if (chunkResponse.outcome === "claimLost") {
|
|
95
|
+
throw new ClaimLostError(this.launch.runId, "ownerChanged");
|
|
96
|
+
}
|
|
97
|
+
if (chunkResponse.outcome !== "accepted" || !isRunnerContentChunk(chunkResponse.result)) {
|
|
98
|
+
throw new Error(chunkResponse.error ?? "Workflow runner content read was rejected");
|
|
99
|
+
}
|
|
100
|
+
return chunkResponse.result;
|
|
101
|
+
}),
|
|
102
|
+
};
|
|
71
103
|
}
|
|
72
104
|
async send(message) {
|
|
73
105
|
const response = new Promise((resolve, reject) => {
|
|
74
106
|
this.pending.set(message.messageId, { resolve, reject });
|
|
75
107
|
});
|
|
76
|
-
if (!process.stdout.write(
|
|
108
|
+
if (!process.stdout.write(encodeRunnerLine(message)))
|
|
77
109
|
await once(process.stdout, "drain");
|
|
78
110
|
return await response;
|
|
79
111
|
}
|
|
80
112
|
onData(chunk) {
|
|
81
113
|
this.buffered = Buffer.concat([this.buffered, chunk]);
|
|
82
|
-
if (this.buffered.byteLength >
|
|
83
|
-
this.
|
|
114
|
+
if (this.buffered.byteLength > MAX_WORKFLOW_RUNNER_PROTOCOL_MESSAGE_BYTES &&
|
|
115
|
+
!this.buffered.includes(0x0a)) {
|
|
116
|
+
this.failAll(new Error("Runner response exceeds 1 MiB"));
|
|
84
117
|
return;
|
|
85
118
|
}
|
|
86
119
|
for (;;) {
|
|
@@ -92,10 +125,10 @@ class StdioWorkerTransport {
|
|
|
92
125
|
if (frame.byteLength === 0)
|
|
93
126
|
continue;
|
|
94
127
|
try {
|
|
95
|
-
const response =
|
|
128
|
+
const response = parseRunnerResponse(frame);
|
|
96
129
|
const pending = this.pending.get(response.messageId);
|
|
97
130
|
if (pending === undefined)
|
|
98
|
-
throw new Error("
|
|
131
|
+
throw new Error("Runner response has no pending request");
|
|
99
132
|
this.pending.delete(response.messageId);
|
|
100
133
|
pending.resolve(response);
|
|
101
134
|
}
|
|
@@ -213,31 +246,53 @@ export function validateAcceptedAssistantSubmission(submission, contract) {
|
|
|
213
246
|
},
|
|
214
247
|
};
|
|
215
248
|
}
|
|
216
|
-
export async function
|
|
249
|
+
export async function executeRunnerRunCommand(engine, workflow, runId, workflowSource, command) {
|
|
250
|
+
switch (command.kind) {
|
|
251
|
+
case "start":
|
|
252
|
+
case "restart":
|
|
253
|
+
return await engine.run(workflow, command.input, { runId, workflowSource });
|
|
254
|
+
case "resume":
|
|
255
|
+
return await engine.resumeRun(workflow, runId, {
|
|
256
|
+
workflowSource,
|
|
257
|
+
...(command.resumeInteractionAttemptId === undefined
|
|
258
|
+
? {}
|
|
259
|
+
: { resumeInteractionAttemptId: command.resumeInteractionAttemptId }),
|
|
260
|
+
});
|
|
261
|
+
case "continue":
|
|
262
|
+
return await engine.continueRun(workflow, command.parentRunId, command.input, {
|
|
263
|
+
runId,
|
|
264
|
+
workflowSource,
|
|
265
|
+
...(command.humanDecision === undefined
|
|
266
|
+
? {}
|
|
267
|
+
: { humanDecision: command.humanDecision }),
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
export async function runWorkflowRunner() {
|
|
217
272
|
const launch = readLaunchEnvelope();
|
|
218
|
-
const transport = new
|
|
273
|
+
const transport = new StdioRunnerTransport(launch);
|
|
219
274
|
try {
|
|
220
|
-
const ready = await transport.control("
|
|
275
|
+
const ready = await transport.control("runner.ready", {});
|
|
221
276
|
if (ready.outcome !== "accepted" || ready.result === undefined) {
|
|
222
|
-
throw new Error(ready.error ?? "Workflow
|
|
277
|
+
throw new Error(ready.error ?? "Workflow server rejected runner startup");
|
|
223
278
|
}
|
|
224
279
|
const bootstrap = ready.result;
|
|
225
|
-
const workflowSource =
|
|
280
|
+
const workflowSource = parseRunnerWorkflowSources(launch.workflowSource);
|
|
226
281
|
let workflow;
|
|
227
282
|
try {
|
|
228
283
|
workflow = await resolveVerifiedWorkflow(launch.runId, workflowSource);
|
|
229
284
|
}
|
|
230
285
|
catch (error) {
|
|
231
|
-
const response = await transport.control("
|
|
286
|
+
const response = await transport.control("runner.exiting", {
|
|
232
287
|
status: "workflowLoadFailed",
|
|
233
288
|
error: errorMessage(error),
|
|
234
289
|
});
|
|
235
290
|
if (response.outcome !== "accepted") {
|
|
236
|
-
throw new Error(response.error ?? "Workflow
|
|
291
|
+
throw new Error(response.error ?? "Workflow server rejected the load-failure report");
|
|
237
292
|
}
|
|
238
293
|
return 1;
|
|
239
294
|
}
|
|
240
|
-
const store = new
|
|
295
|
+
const store = new ServerBackedWorkflowStore(launch.runId, transport, ready.revision ?? 0);
|
|
241
296
|
let executor;
|
|
242
297
|
let closeExecutor;
|
|
243
298
|
if (bootstrap.originSessionId !== null) {
|
|
@@ -253,7 +308,7 @@ export async function runWorkflowWorker() {
|
|
|
253
308
|
await transport.request({
|
|
254
309
|
messageId: randomUUID(),
|
|
255
310
|
operation: "process.register",
|
|
256
|
-
kind: "
|
|
311
|
+
kind: "runner.progress",
|
|
257
312
|
expectedRevision: 0,
|
|
258
313
|
payload: { pid },
|
|
259
314
|
});
|
|
@@ -262,7 +317,7 @@ export async function runWorkflowWorker() {
|
|
|
262
317
|
await transport.request({
|
|
263
318
|
messageId: randomUUID(),
|
|
264
319
|
operation: "process.unregister",
|
|
265
|
-
kind: "
|
|
320
|
+
kind: "runner.progress",
|
|
266
321
|
expectedRevision: 0,
|
|
267
322
|
payload: { pid },
|
|
268
323
|
});
|
|
@@ -298,32 +353,9 @@ export async function runWorkflowWorker() {
|
|
|
298
353
|
await store.requestPresentation(instructions);
|
|
299
354
|
},
|
|
300
355
|
});
|
|
301
|
-
const launchOptions = typeof bootstrap.launchOptions === "object" &&
|
|
302
|
-
bootstrap.launchOptions !== null &&
|
|
303
|
-
!Array.isArray(bootstrap.launchOptions)
|
|
304
|
-
? bootstrap.launchOptions
|
|
305
|
-
: {};
|
|
306
356
|
try {
|
|
307
|
-
const result = bootstrap.
|
|
308
|
-
|
|
309
|
-
workflowSource: workflowSource.root,
|
|
310
|
-
...(bootstrap.resumeInteractionAttemptId === undefined
|
|
311
|
-
? {}
|
|
312
|
-
: { resumeInteractionAttemptId: bootstrap.resumeInteractionAttemptId }),
|
|
313
|
-
})
|
|
314
|
-
: bootstrap.parentRunId === null
|
|
315
|
-
? await engine.run(workflow, bootstrap.input, {
|
|
316
|
-
runId: launch.runId,
|
|
317
|
-
workflowSource: workflowSource.root,
|
|
318
|
-
})
|
|
319
|
-
: await engine.continueRun(workflow, bootstrap.parentRunId, bootstrap.input, {
|
|
320
|
-
runId: launch.runId,
|
|
321
|
-
workflowSource: workflowSource.root,
|
|
322
|
-
...(launchOptions.humanDecision === undefined
|
|
323
|
-
? {}
|
|
324
|
-
: { humanDecision: launchOptions.humanDecision }),
|
|
325
|
-
});
|
|
326
|
-
await transport.control("worker.exiting", {
|
|
357
|
+
const result = await executeRunnerRunCommand(engine, workflow, launch.runId, workflowSource.root, bootstrap.command);
|
|
358
|
+
await transport.control("runner.exiting", {
|
|
327
359
|
status: result.state.status,
|
|
328
360
|
traceSeq: result.state.traceSeq,
|
|
329
361
|
});
|
|
@@ -370,13 +402,13 @@ async function resolvePresentationInstructions(workflow, state) {
|
|
|
370
402
|
clearTimeout(timer);
|
|
371
403
|
}
|
|
372
404
|
}
|
|
373
|
-
function
|
|
405
|
+
function parseRunnerWorkflowSources(value) {
|
|
374
406
|
if (!isRecord(value) || !isWorkflowSource(value.root) || !Array.isArray(value.mounted)) {
|
|
375
|
-
throw new Error("Workflow
|
|
407
|
+
throw new Error("Workflow runner source identity is invalid");
|
|
376
408
|
}
|
|
377
409
|
const mounted = value.mounted;
|
|
378
410
|
if (!mounted.every(isMountedWorkflowSource)) {
|
|
379
|
-
throw new Error("Workflow
|
|
411
|
+
throw new Error("Workflow runner mounted source identity is invalid");
|
|
380
412
|
}
|
|
381
413
|
return { root: value.root, mounted };
|
|
382
414
|
}
|
|
@@ -422,19 +454,19 @@ function isRecord(value) {
|
|
|
422
454
|
function readLaunchEnvelope() {
|
|
423
455
|
const encoded = process.env[STARTUP_ENV];
|
|
424
456
|
if (encoded === undefined)
|
|
425
|
-
throw new Error("Workflow
|
|
457
|
+
throw new Error("Workflow runner launch envelope is missing");
|
|
426
458
|
const value = parseJson(Buffer.from(encoded, "base64url").toString("utf8"));
|
|
427
459
|
if (typeof value !== "object" ||
|
|
428
460
|
value === null ||
|
|
429
461
|
Array.isArray(value) ||
|
|
430
462
|
value.schema !== "pi-workflows.worker-launch.v1") {
|
|
431
|
-
throw new Error("Workflow
|
|
463
|
+
throw new Error("Workflow runner launch envelope is invalid");
|
|
432
464
|
}
|
|
433
465
|
return value;
|
|
434
466
|
}
|
|
435
467
|
async function main() {
|
|
436
468
|
try {
|
|
437
|
-
process.exitCode = await
|
|
469
|
+
process.exitCode = await runWorkflowRunner();
|
|
438
470
|
}
|
|
439
471
|
catch (error) {
|
|
440
472
|
process.stderr.write(`${errorMessage(error)}\n`);
|
|
@@ -443,4 +475,4 @@ async function main() {
|
|
|
443
475
|
}
|
|
444
476
|
if (process.argv[1] === fileURLToPath(import.meta.url))
|
|
445
477
|
void main();
|
|
446
|
-
//# sourceMappingURL=
|
|
478
|
+
//# sourceMappingURL=workflow-runner-entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-runner-entry.js","sourceRoot":"","sources":["../../src/server/workflow-runner-entry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { type JsonValue } from "../state/json.js";
|
|
2
|
+
export declare const MAX_WORKFLOW_RUNNER_PROTOCOL_MESSAGE_BYTES: number;
|
|
3
|
+
export declare const WORKFLOW_RUNNER_CONTENT_CHUNK_BYTES: number;
|
|
4
|
+
export declare const WORKFLOW_RUNNER_MESSAGE_SCHEMA: "pi-workflows.worker-message.v1";
|
|
5
|
+
export declare const WORKFLOW_RUNNER_RESPONSE_SCHEMA: "pi-workflows.worker-response.v1";
|
|
6
|
+
export declare const WORKFLOW_RUNNER_CONTENT_REFERENCE_SCHEMA: "pi-workflows.worker-content-reference.v1";
|
|
7
|
+
export declare const WORKFLOW_RUNNER_CONTENT_CHUNK_SCHEMA: "pi-workflows.worker-content-chunk.v1";
|
|
8
|
+
export type WorkflowRunnerCommand = {
|
|
9
|
+
kind: "start";
|
|
10
|
+
input: JsonValue;
|
|
11
|
+
} | {
|
|
12
|
+
kind: "resume";
|
|
13
|
+
resumeInteractionAttemptId?: string;
|
|
14
|
+
} | {
|
|
15
|
+
kind: "continue";
|
|
16
|
+
parentRunId: string;
|
|
17
|
+
input: JsonValue;
|
|
18
|
+
humanDecision?: JsonValue;
|
|
19
|
+
} | {
|
|
20
|
+
kind: "restart";
|
|
21
|
+
input: JsonValue;
|
|
22
|
+
};
|
|
23
|
+
export declare const WORKFLOW_RUNNER_MESSAGE_KINDS: readonly ["runner.ready", "node.started", "node.update", "node.finished", "node.failed", "run.parked", "run.finished", "interaction.requested", "interaction.accepted", "interaction.rejected", "notification.requested", "presentation.requested", "effect.reserve", "effect.settle", "runner.progress", "runner.exiting"];
|
|
24
|
+
export type WorkflowRunnerMessageKind = (typeof WORKFLOW_RUNNER_MESSAGE_KINDS)[number];
|
|
25
|
+
export declare const WORKFLOW_RUNNER_STORE_OPERATIONS: readonly ["store.initializeRun", "store.prepareRunResume", "store.readRunState", "store.writeSnapshot", "store.publishUpdate", "store.findSettingsScope", "store.ensureSettingsScope", "store.getSettingsScopeAtChange", "store.createHumanDecisionRequest", "store.readResolvedHumanDecision", "store.reserveEffect", "store.settleEffect", "content.read", "process.register", "process.unregister", "interaction.request", "interaction.accept", "interaction.reject", "notification.request", "presentation.request"];
|
|
26
|
+
export type WorkflowRunnerStoreOperation = (typeof WORKFLOW_RUNNER_STORE_OPERATIONS)[number];
|
|
27
|
+
export type WorkflowRunnerMessage = {
|
|
28
|
+
schema: typeof WORKFLOW_RUNNER_MESSAGE_SCHEMA;
|
|
29
|
+
launchSchema: "pi-workflows.worker-launch.v1";
|
|
30
|
+
messageId: string;
|
|
31
|
+
kind: WorkflowRunnerMessageKind;
|
|
32
|
+
operation: WorkflowRunnerStoreOperation | "runner.ready" | "runner.exiting";
|
|
33
|
+
runId: string;
|
|
34
|
+
generation: number;
|
|
35
|
+
runnerEpoch: string;
|
|
36
|
+
expectedRevision: number;
|
|
37
|
+
attemptId?: string;
|
|
38
|
+
payload: JsonValue;
|
|
39
|
+
};
|
|
40
|
+
export type WorkflowRunnerResponse = {
|
|
41
|
+
schema: typeof WORKFLOW_RUNNER_RESPONSE_SCHEMA;
|
|
42
|
+
messageId: string;
|
|
43
|
+
outcome: "accepted" | "adopted" | "rejected" | "claimLost";
|
|
44
|
+
revision?: number;
|
|
45
|
+
result?: JsonValue;
|
|
46
|
+
error?: string;
|
|
47
|
+
};
|
|
48
|
+
export type WorkflowRunnerContentReference = {
|
|
49
|
+
schema: typeof WORKFLOW_RUNNER_CONTENT_REFERENCE_SCHEMA;
|
|
50
|
+
sha256: string;
|
|
51
|
+
mediaType: "application/json";
|
|
52
|
+
bytes: number;
|
|
53
|
+
};
|
|
54
|
+
export type WorkflowRunnerContentChunk = {
|
|
55
|
+
schema: typeof WORKFLOW_RUNNER_CONTENT_CHUNK_SCHEMA;
|
|
56
|
+
sha256: string;
|
|
57
|
+
mediaType: "application/json";
|
|
58
|
+
bytes: number;
|
|
59
|
+
offset: number;
|
|
60
|
+
nextOffset: number;
|
|
61
|
+
complete: boolean;
|
|
62
|
+
data: string;
|
|
63
|
+
};
|
|
64
|
+
export declare function isRunnerContentReference(value: unknown): value is WorkflowRunnerContentReference;
|
|
65
|
+
export declare function isRunnerContentChunk(value: unknown): value is WorkflowRunnerContentChunk;
|
|
66
|
+
export declare function runnerKindForOperation(operation: WorkflowRunnerStoreOperation, payload: Record<string, unknown>): WorkflowRunnerMessageKind;
|
|
67
|
+
export declare function encodeRunnerLine(message: WorkflowRunnerMessage | WorkflowRunnerResponse): Buffer;
|
|
68
|
+
export declare function parseRunnerMessage(line: Buffer | string): WorkflowRunnerMessage;
|
|
69
|
+
export declare function parseRunnerResponse(line: Buffer | string): WorkflowRunnerResponse;
|