@osolmaz/pi-workflows 0.16.4 → 0.16.6

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.
Files changed (173) hide show
  1. package/README.md +5 -5
  2. package/dist/builtins/autoimplement.workflow.d.ts +5 -1
  3. package/dist/builtins/autoimplement.workflow.js +29 -10
  4. package/dist/builtins/autoimplement.workflow.js.map +1 -1
  5. package/dist/client/client.js +3 -1
  6. package/dist/client/client.js.map +1 -1
  7. package/dist/client/protocol.d.ts +1 -1
  8. package/dist/client/protocol.js +18 -1
  9. package/dist/client/protocol.js.map +1 -1
  10. package/dist/client/view.d.ts +7 -5
  11. package/dist/extension/index.d.ts +2 -1
  12. package/dist/extension/index.js +115 -165
  13. package/dist/extension/index.js.map +1 -1
  14. package/dist/extension/recorder.d.ts +1 -1
  15. package/dist/extension/recorder.js +2 -2
  16. package/dist/extension/recorder.js.map +1 -1
  17. package/dist/extension/step-message.d.ts +1 -1
  18. package/dist/extension/step-message.js +4 -4
  19. package/dist/extension/step-message.js.map +1 -1
  20. package/dist/extension/workflow-message-coordinator.d.ts +12 -1
  21. package/dist/extension/workflow-message-coordinator.js +65 -54
  22. package/dist/extension/workflow-message-coordinator.js.map +1 -1
  23. package/dist/resource-managers/index.d.ts +1 -2
  24. package/dist/resource-managers/index.js +1 -2
  25. package/dist/resource-managers/index.js.map +1 -1
  26. package/dist/resource-managers/sqlite.d.ts +2 -295
  27. package/dist/resource-managers/sqlite.js +71 -1528
  28. package/dist/resource-managers/sqlite.js.map +1 -1
  29. package/dist/resource-managers/types.d.ts +2 -7
  30. package/dist/server/resource-runner-entry.js +2 -6
  31. package/dist/server/resource-runner-entry.js.map +1 -1
  32. package/dist/server/rpc-bridge.js +1 -1
  33. package/dist/server/rpc-bridge.js.map +1 -1
  34. package/dist/server/rpc-executor.js +2 -4
  35. package/dist/server/rpc-executor.js.map +1 -1
  36. package/dist/server/server-entry.js +3 -0
  37. package/dist/server/server-entry.js.map +1 -1
  38. package/dist/server/server.d.ts +22 -8
  39. package/dist/server/server.js +498 -543
  40. package/dist/server/server.js.map +1 -1
  41. package/dist/server/state.d.ts +16 -29
  42. package/dist/server/state.js +105 -319
  43. package/dist/server/state.js.map +1 -1
  44. package/dist/server/view.d.ts +4 -5
  45. package/dist/server/view.js +51 -51
  46. package/dist/server/view.js.map +1 -1
  47. package/dist/server/workflow-runner-entry.d.ts +1 -1
  48. package/dist/server/workflow-runner-entry.js +1 -49
  49. package/dist/server/workflow-runner-entry.js.map +1 -1
  50. package/dist/server/workflow-runner-protocol.d.ts +2 -7
  51. package/dist/server/workflow-runner-protocol.js +5 -10
  52. package/dist/server/workflow-runner-protocol.js.map +1 -1
  53. package/dist/server/workflow-runner-store.d.ts +5 -6
  54. package/dist/server/workflow-runner-store.js +7 -14
  55. package/dist/server/workflow-runner-store.js.map +1 -1
  56. package/dist/state/attempt-time.d.ts +21 -0
  57. package/dist/state/attempt-time.js +95 -0
  58. package/dist/state/attempt-time.js.map +1 -0
  59. package/dist/state/json.d.ts +2 -1
  60. package/dist/state/json.js.map +1 -1
  61. package/dist/state/project-store.d.ts +39 -0
  62. package/dist/state/project-store.js +154 -0
  63. package/dist/state/project-store.js.map +1 -0
  64. package/dist/state/prune.d.ts +28 -0
  65. package/dist/state/prune.js +278 -83
  66. package/dist/state/prune.js.map +1 -1
  67. package/dist/state/schema.js +23 -23
  68. package/dist/state/workflow-messages.d.ts +1 -1
  69. package/dist/state/workflow-messages.js +3 -1
  70. package/dist/state/workflow-messages.js.map +1 -1
  71. package/dist/viewer/backup.js +5 -0
  72. package/dist/viewer/backup.js.map +1 -1
  73. package/dist/workflows/diagnostics.d.ts +8 -0
  74. package/dist/workflows/diagnostics.js +61 -0
  75. package/dist/workflows/diagnostics.js.map +1 -0
  76. package/dist/workflows/engine.d.ts +2 -15
  77. package/dist/workflows/engine.js +125 -245
  78. package/dist/workflows/engine.js.map +1 -1
  79. package/dist/workflows/human-decision.d.ts +3 -7
  80. package/dist/workflows/human-decision.js +2 -56
  81. package/dist/workflows/human-decision.js.map +1 -1
  82. package/dist/workflows/index.d.ts +2 -1
  83. package/dist/workflows/index.js +1 -0
  84. package/dist/workflows/index.js.map +1 -1
  85. package/dist/workflows/queue.d.ts +267 -0
  86. package/dist/workflows/queue.js +1248 -0
  87. package/dist/workflows/queue.js.map +1 -0
  88. package/dist/workflows/requests.d.ts +47 -0
  89. package/dist/workflows/requests.js +158 -0
  90. package/dist/workflows/requests.js.map +1 -0
  91. package/dist/workflows/schema.js +2 -4
  92. package/dist/workflows/schema.js.map +1 -1
  93. package/dist/workflows/store.d.ts +11 -16
  94. package/dist/workflows/store.js +174 -169
  95. package/dist/workflows/store.js.map +1 -1
  96. package/dist/workflows/tool-input.d.ts +6 -9
  97. package/dist/workflows/tool-input.js +15 -12
  98. package/dist/workflows/tool-input.js.map +1 -1
  99. package/dist/workflows/transitions.d.ts +38 -0
  100. package/dist/workflows/transitions.js +276 -0
  101. package/dist/workflows/transitions.js.map +1 -0
  102. package/dist/workflows/types.d.ts +9 -42
  103. package/dist/workflows/workflow-message-content.d.ts +7 -1
  104. package/dist/workflows/workflow-message-content.js +22 -4
  105. package/dist/workflows/workflow-message-content.js.map +1 -1
  106. package/docs/2026-08-25-workflow-follow-ups.md +5 -5
  107. package/docs/2026-09-02-unify-workflow-messages-plan.md +2 -0
  108. package/docs/2026-09-04-workflow-run-state-plan.md +2 -0
  109. package/docs/2026-09-06-durable-execution-plan.md +176 -0
  110. package/docs/DEFERRED_TURNS.md +84 -105
  111. package/docs/HUMAN_DECISIONS.md +17 -19
  112. package/docs/HUMAN_DECISION_PRESENTATIONS.md +1 -1
  113. package/docs/SQLITE_STATE.md +87 -30
  114. package/docs/WORKFLOW_SERVER.md +50 -11
  115. package/docs/WORKFLOW_STEP_MESSAGES.md +72 -54
  116. package/docs/plans/2026-08-04-controller-runtime-plan.md +2 -0
  117. package/docs/plans/2026-08-21-deferred-turn-intents-plan.md +2 -0
  118. package/docs/plans/2026-08-27-workflow-terminal-restart-plan.md +2 -0
  119. package/docs/plans/2026-09-04-automatic-state-retention-plan.md +283 -0
  120. package/docs/workflows.md +109 -44
  121. package/examples/workflows/autoresearch.workflow.ts +0 -2
  122. package/examples/workflows/branch.workflow.ts +0 -4
  123. package/examples/workflows/echo.workflow.ts +0 -2
  124. package/examples/workflows/live-settings.workflow.ts +0 -2
  125. package/examples/workflows/two-turn.workflow.ts +0 -2
  126. package/herdr-plugin.toml +1 -1
  127. package/package.json +1 -1
  128. package/protocol/fixtures/client-v1.json +1 -1
  129. package/skills/pi-workflows/SKILL.md +8 -7
  130. package/src/builtins/autoimplement.workflow.ts +31 -10
  131. package/src/client/client.ts +3 -1
  132. package/src/client/protocol.ts +21 -1
  133. package/src/client/view.ts +9 -5
  134. package/src/extension/index.ts +117 -189
  135. package/src/extension/recorder.ts +2 -2
  136. package/src/extension/step-message.ts +4 -4
  137. package/src/extension/workflow-message-coordinator.ts +78 -50
  138. package/src/resource-managers/index.ts +1 -9
  139. package/src/resource-managers/sqlite.ts +330 -2655
  140. package/src/resource-managers/types.ts +2 -3
  141. package/src/server/resource-runner-entry.ts +2 -7
  142. package/src/server/rpc-bridge.ts +1 -1
  143. package/src/server/rpc-executor.ts +4 -9
  144. package/src/server/server-entry.ts +3 -0
  145. package/src/server/server.ts +568 -644
  146. package/src/server/state.ts +122 -466
  147. package/src/server/view.ts +56 -60
  148. package/src/server/workflow-runner-entry.ts +2 -55
  149. package/src/server/workflow-runner-protocol.ts +5 -15
  150. package/src/server/workflow-runner-store.ts +12 -27
  151. package/src/state/attempt-time.ts +122 -0
  152. package/src/state/json.ts +2 -1
  153. package/src/state/project-store.ts +218 -0
  154. package/src/state/prune.ts +408 -95
  155. package/src/state/schema.ts +23 -23
  156. package/src/state/workflow-messages.ts +4 -2
  157. package/src/viewer/backup.ts +7 -0
  158. package/src/workflows/diagnostics.ts +78 -0
  159. package/src/workflows/engine.ts +133 -291
  160. package/src/workflows/human-decision.ts +3 -81
  161. package/src/workflows/index.ts +8 -2
  162. package/src/workflows/queue.ts +2091 -0
  163. package/src/workflows/requests.ts +283 -0
  164. package/src/workflows/schema.ts +2 -6
  165. package/src/workflows/store.ts +223 -231
  166. package/src/workflows/tool-input.ts +20 -12
  167. package/src/workflows/transitions.ts +330 -0
  168. package/src/workflows/types.ts +9 -46
  169. package/src/workflows/workflow-message-content.ts +28 -4
  170. package/dist/resource-managers/runtime.d.ts +0 -59
  171. package/dist/resource-managers/runtime.js +0 -423
  172. package/dist/resource-managers/runtime.js.map +0 -1
  173. package/src/resource-managers/runtime.ts +0 -576
@@ -113,11 +113,9 @@ CREATE TABLE runs (
113
113
  project_id TEXT REFERENCES projects(project_id),
114
114
  parent_run_id TEXT REFERENCES runs(run_id),
115
115
  root_run_id TEXT NOT NULL REFERENCES runs(run_id),
116
- lineage_kind TEXT CHECK (lineage_kind IS NULL OR lineage_kind IN ('continuation', 'restart')),
116
+ lineage_kind TEXT CHECK (lineage_kind IS NULL OR lineage_kind IN ('restart')),
117
117
  restart_number INTEGER NOT NULL DEFAULT 0 CHECK (restart_number >= 0),
118
- parent_terminal_fingerprint BLOB CHECK (
119
- parent_terminal_fingerprint IS NULL OR length(parent_terminal_fingerprint) = 32
120
- ),
118
+ parent_run_revision INTEGER CHECK (parent_run_revision IS NULL OR parent_run_revision >= 0),
121
119
  definition_digest BLOB NOT NULL REFERENCES workflow_definitions(definition_digest),
122
120
  workflow_ref TEXT NOT NULL,
123
121
  launch_options_hash BLOB NOT NULL REFERENCES blobs(blob_hash),
@@ -130,15 +128,14 @@ CREATE TABLE runs (
130
128
  input_hash BLOB NOT NULL REFERENCES blobs(blob_hash),
131
129
  final_output_hash BLOB REFERENCES blobs(blob_hash),
132
130
  error_hash BLOB REFERENCES blobs(blob_hash),
133
- presentation_prompt_hash BLOB REFERENCES blobs(blob_hash),
134
131
  created_at INTEGER NOT NULL,
135
132
  updated_at INTEGER NOT NULL,
136
133
  finished_at INTEGER,
137
- CHECK ((status IN ('waiting', 'completed', 'failed', 'timed_out', 'cancelled')) = (finished_at IS NOT NULL)),
134
+ CHECK ((status IN ('completed', 'failed', 'timed_out', 'cancelled')) = (finished_at IS NOT NULL)),
138
135
  CHECK ((parent_run_id IS NULL) = (lineage_kind IS NULL)),
139
136
  CHECK (
140
- (lineage_kind = 'restart' AND parent_terminal_fingerprint IS NOT NULL) OR
141
- (lineage_kind IS NOT 'restart' AND parent_terminal_fingerprint IS NULL)
137
+ (lineage_kind = 'restart' AND parent_run_revision IS NOT NULL) OR
138
+ (lineage_kind IS NOT 'restart' AND parent_run_revision IS NULL)
142
139
  ),
143
140
  CHECK (parent_run_id IS NOT NULL OR restart_number = 0)
144
141
  ) STRICT;
@@ -276,8 +273,7 @@ CREATE TABLE run_queue (
276
273
  'queued', 'starting', 'running', 'parked', 'done', 'failed', 'cancelled'
277
274
  )),
278
275
  available_at INTEGER NOT NULL,
279
- affinity_runner_id TEXT,
280
- origin_session_id TEXT NOT NULL,
276
+ origin_session_id TEXT,
281
277
  consecutive_errors INTEGER NOT NULL DEFAULT 0 CHECK (consecutive_errors >= 0),
282
278
  error_code TEXT,
283
279
  error_hash BLOB REFERENCES blobs(blob_hash),
@@ -289,7 +285,7 @@ CREATE TABLE run_queue (
289
285
 
290
286
  CREATE INDEX run_queue_claim_idx ON run_queue(status, available_at, created_at);
291
287
  CREATE UNIQUE INDEX run_queue_active_session_idx ON run_queue(origin_session_id)
292
- WHERE status IN ('queued', 'starting', 'running');
288
+ WHERE origin_session_id IS NOT NULL AND status IN ('queued', 'starting', 'running', 'parked');
293
289
 
294
290
  CREATE TABLE host_commands (
295
291
  request_id TEXT PRIMARY KEY,
@@ -375,7 +371,7 @@ CREATE TABLE node_attempts (
375
371
  settings_change_number INTEGER CHECK (settings_change_number IS NULL OR settings_change_number >= 0),
376
372
  settings_hash BLOB REFERENCES blobs(blob_hash),
377
373
  started_at INTEGER,
378
- deadline_at INTEGER,
374
+ timeout_ms REAL CHECK (timeout_ms IS NULL OR timeout_ms >= 0),
379
375
  finished_at INTEGER,
380
376
  created_at INTEGER NOT NULL,
381
377
  updated_at INTEGER NOT NULL,
@@ -385,13 +381,23 @@ CREATE TABLE node_attempts (
385
381
  CREATE UNIQUE INDEX node_attempts_active_idx ON node_attempts(run_id)
386
382
  WHERE status IN ('pending', 'running', 'waiting');
387
383
  CREATE INDEX node_attempts_run_idx ON node_attempts(run_id, created_at);
388
- CREATE INDEX node_attempts_deadline_idx ON node_attempts(deadline_at) WHERE deadline_at IS NOT NULL;
384
+ -- NULL means not configured; zero is an explicitly unlimited timeout.
385
+ CREATE TABLE attempt_active_intervals (
386
+ attempt_id TEXT NOT NULL REFERENCES node_attempts(attempt_id) ON DELETE CASCADE,
387
+ interval_number INTEGER NOT NULL CHECK (interval_number > 0),
388
+ started_at INTEGER NOT NULL,
389
+ observed_at INTEGER NOT NULL,
390
+ ended_at INTEGER,
391
+ elapsed_ms REAL NOT NULL DEFAULT 0 CHECK (elapsed_ms >= 0),
392
+ PRIMARY KEY (attempt_id, interval_number)
393
+ ) STRICT;
394
+ CREATE UNIQUE INDEX attempt_active_intervals_open_idx ON attempt_active_intervals(attempt_id)
395
+ WHERE ended_at IS NULL;
389
396
 
390
397
  CREATE TABLE run_steps (
391
398
  run_id TEXT NOT NULL REFERENCES runs(run_id) ON DELETE CASCADE,
392
399
  step_index INTEGER NOT NULL CHECK (step_index >= 0),
393
400
  attempt_id TEXT NOT NULL REFERENCES node_attempts(attempt_id),
394
- output_override_hash BLOB REFERENCES blobs(blob_hash),
395
401
  PRIMARY KEY (run_id, step_index),
396
402
  UNIQUE (run_id, attempt_id)
397
403
  ) STRICT;
@@ -502,11 +508,10 @@ CREATE TABLE interactive_requests (
502
508
  run_id TEXT NOT NULL REFERENCES runs(run_id) ON DELETE CASCADE,
503
509
  attempt_id TEXT NOT NULL UNIQUE REFERENCES node_attempts(attempt_id) ON DELETE CASCADE,
504
510
  target_session_id TEXT NOT NULL,
505
- kind TEXT NOT NULL CHECK (kind IN ('agent', 'assistant', 'decision')),
511
+ kind TEXT NOT NULL CHECK (kind IN ('agent', 'assistant', 'checkpoint', 'decision')),
506
512
  contract_hash BLOB NOT NULL REFERENCES blobs(blob_hash),
507
513
  revision INTEGER NOT NULL DEFAULT 1 CHECK (revision > 0),
508
514
  status TEXT NOT NULL CHECK (status IN ('pending', 'settled', 'cancelled')),
509
- unproductive_turn_ends INTEGER NOT NULL DEFAULT 0 CHECK (unproductive_turn_ends >= 0),
510
515
  accepted_submission_id TEXT,
511
516
  created_at INTEGER NOT NULL,
512
517
  updated_at INTEGER NOT NULL,
@@ -518,6 +523,8 @@ CREATE TABLE interactive_requests (
518
523
 
519
524
  CREATE INDEX interactive_requests_session_idx
520
525
  ON interactive_requests(target_session_id, status, created_at);
526
+ CREATE UNIQUE INDEX interactive_requests_pending_run_idx
527
+ ON interactive_requests(run_id) WHERE status = 'pending';
521
528
 
522
529
  CREATE TABLE workflow_messages (
523
530
  workflow_message_id TEXT PRIMARY KEY,
@@ -613,13 +620,6 @@ CREATE TABLE human_decision_submissions (
613
620
  PRIMARY KEY (decision_id, attempt_id)
614
621
  ) STRICT;
615
622
 
616
- CREATE TABLE continuations (
617
- decision_id TEXT PRIMARY KEY REFERENCES human_decisions(decision_id) ON DELETE CASCADE,
618
- parent_run_id TEXT NOT NULL UNIQUE REFERENCES runs(run_id),
619
- continuation_run_id TEXT NOT NULL UNIQUE REFERENCES runs(run_id),
620
- created_at INTEGER NOT NULL
621
- ) STRICT;
622
-
623
623
  CREATE TABLE controller_resources (
624
624
  controller_resource_id TEXT PRIMARY KEY,
625
625
  resource_id TEXT NOT NULL UNIQUE REFERENCES resources(resource_id) ON DELETE CASCADE,
@@ -5,7 +5,7 @@ export declare const WORKFLOW_MESSAGE_CONTENT_SCHEMA: "pi-workflows.workflow-mes
5
5
  export declare const WORKFLOW_TURN_SCHEMA: "pi-workflows.workflow-turn.v1";
6
6
  export type WorkflowMessageKind = "step" | "decision" | "notification" | "terminal" | "followUp";
7
7
  export type WorkflowMessageStatus = "pending" | "sent" | "cancelled";
8
- export type WorkflowStepReason = "initial" | "reminder" | "resumed";
8
+ export type WorkflowStepReason = "initial" | "resumed";
9
9
  export type WorkflowTurnState = "started" | "ended";
10
10
  export type WorkflowTurnStopReason = "completed" | "aborted" | "error" | "lost";
11
11
  export type WorkflowMessageContent = {
@@ -132,6 +132,8 @@ export class WorkflowMessageStore {
132
132
  if (message.runId !== options.runId || message.targetSessionId !== options.targetSessionId) {
133
133
  throw new Error("Workflow turn does not match its message");
134
134
  }
135
+ if (!message.content.triggerTurn)
136
+ throw new Error("Workflow message does not request a model turn");
135
137
  if (message.status !== "sent")
136
138
  throw new Error("Workflow turn requires a sent message");
137
139
  const open = this.openTurnForMessage(options.workflowMessageId);
@@ -284,7 +286,7 @@ export function isWorkflowMessageContent(value) {
284
286
  function validateContent(content, kind) {
285
287
  if (!isWorkflowMessageContent(content))
286
288
  throw new Error("Workflow message content is invalid");
287
- const shouldTrigger = kind === "step" || kind === "terminal" || kind === "followUp";
289
+ const shouldTrigger = kind === "step" || kind === "followUp";
288
290
  if (content.triggerTurn !== shouldTrigger) {
289
291
  throw new Error(`Workflow message kind ${kind} has invalid turn behavior`);
290
292
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-messages.js","sourceRoot":"","sources":["../../src/state/workflow-messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-messages.js","sourceRoot":"","sources":["../../src/state/workflow-messages.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import { StateDatabase, workflowStatePath } from "../state/database.js";
4
+ import { workflowStateViolations } from "../workflows/diagnostics.js";
4
5
  /** Verify only an explicit inactive backup. Active state is verified through WorkflowClient. */
5
6
  export function verifyInactiveBackup(databasePath, activeDatabasePath = workflowStatePath()) {
6
7
  const resolved = path.resolve(databasePath);
@@ -11,6 +12,10 @@ export function verifyInactiveBackup(databasePath, activeDatabasePath = workflow
11
12
  const state = new StateDatabase({ filePath: resolved, mode: "read-only" });
12
13
  try {
13
14
  state.integrityCheck();
15
+ const violations = workflowStateViolations(state);
16
+ if (violations.length > 0) {
17
+ throw new Error(violations.map((item) => `${item.code} ${item.runId}: ${item.detail}`).join("\n"));
18
+ }
14
19
  }
15
20
  finally {
16
21
  state.close();
@@ -1 +1 @@
1
- {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/viewer/backup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAExE,gGAAgG;AAChG,MAAM,UAAU,oBAAoB,CAClC,YAAoB,EACpB,kBAAkB,GAAW,iBAAiB,EAAE;IAEhD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAChD,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3E,IAAI,CAAC;QACH,KAAK,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC;YAAS,CAAC;QACT,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAa;IAC3C,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrC,OAAO,QAAQ,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/viewer/backup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,gGAAgG;AAChG,MAAM,UAAU,oBAAoB,CAClC,YAAoB,EACpB,kBAAkB,GAAW,iBAAiB,EAAE;IAEhD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAChD,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3E,IAAI,CAAC;QACH,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAClF,CAAC;QACJ,CAAC;IACH,CAAC;YAAS,CAAC;QACT,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAa;IAC3C,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrC,OAAO,QAAQ,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { StateDatabase } from "../state/database.js";
2
+ export type WorkflowStateViolation = {
3
+ code: "queueState" | "waitingRequest" | "pendingRequest" | "acceptedRequest" | "activeClock" | "sessionTurns";
4
+ runId: string;
5
+ detail: string;
6
+ };
7
+ /** Inspect domain facts without repairing or reinterpreting durable state. */
8
+ export declare function workflowStateViolations(state: StateDatabase): WorkflowStateViolation[];
@@ -0,0 +1,61 @@
1
+ /** Inspect domain facts without repairing or reinterpreting durable state. */
2
+ export function workflowStateViolations(state) {
3
+ const checks = [
4
+ {
5
+ code: "queueState",
6
+ detail: "Execution and queue terminal states disagree.",
7
+ sql: `SELECT r.run_id AS runId FROM runs r JOIN run_queue q ON q.run_id = r.run_id
8
+ WHERE ((q.status IN ('done', 'failed', 'cancelled')) OR
9
+ (r.status IN ('completed', 'failed', 'timed_out', 'cancelled') AND NOT EXISTS (
10
+ SELECT 1 FROM effects e WHERE e.source_resource_id = r.resource_id
11
+ AND e.effect_type = 'run.settle_queue' AND e.status = 'pending')))
12
+ AND NOT ((r.status = 'completed' AND q.status = 'done')
13
+ OR (r.status IN ('failed', 'timed_out') AND q.status = 'failed')
14
+ OR (r.status = 'cancelled' AND q.status = 'cancelled'))`,
15
+ },
16
+ {
17
+ code: "waitingRequest",
18
+ detail: "A waiting run has no pending request or unconsumed accepted response.",
19
+ sql: `SELECT r.run_id AS runId FROM runs r WHERE r.status = 'waiting' AND NOT EXISTS (
20
+ SELECT 1 FROM interactive_requests i WHERE i.run_id = r.run_id
21
+ AND (i.status = 'pending' OR (i.status = 'settled' AND i.consumed_at IS NULL)))`,
22
+ },
23
+ {
24
+ code: "pendingRequest",
25
+ detail: "A pending request has no matching active attempt and live run.",
26
+ sql: `SELECT i.run_id AS runId FROM interactive_requests i
27
+ JOIN runs r ON r.run_id = i.run_id JOIN node_attempts a ON a.attempt_id = i.attempt_id
28
+ WHERE i.status = 'pending' AND (a.run_id <> i.run_id
29
+ OR a.status NOT IN ('pending', 'running', 'waiting', 'interrupted')
30
+ OR r.status NOT IN ('running', 'waiting'))`,
31
+ },
32
+ {
33
+ code: "acceptedRequest",
34
+ detail: "A settled request has no matching accepted submission.",
35
+ sql: `SELECT i.run_id AS runId FROM interactive_requests i
36
+ LEFT JOIN interactive_submissions s ON s.submission_id = i.accepted_submission_id
37
+ WHERE i.status = 'settled' AND (s.submission_id IS NULL OR s.request_id <> i.request_id OR s.outcome <> 'accepted')`,
38
+ },
39
+ {
40
+ code: "activeClock",
41
+ detail: "An active interval belongs to paused, terminal, or unconfigured work.",
42
+ sql: `SELECT DISTINCT a.run_id AS runId FROM attempt_active_intervals t
43
+ JOIN node_attempts a ON a.attempt_id = t.attempt_id JOIN runs r ON r.run_id = a.run_id
44
+ WHERE t.ended_at IS NULL AND (r.paused = 1 OR r.status NOT IN ('running', 'waiting')
45
+ OR a.status NOT IN ('pending', 'running', 'waiting') OR a.timeout_ms IS NULL)`,
46
+ },
47
+ {
48
+ code: "sessionTurns",
49
+ detail: "A Pi session has more than one open workflow turn.",
50
+ sql: `SELECT DISTINCT t.run_id AS runId FROM workflow_turns t WHERE t.state = 'started'
51
+ AND t.target_session_id IN (SELECT target_session_id FROM workflow_turns
52
+ WHERE state = 'started' GROUP BY target_session_id HAVING COUNT(*) > 1)`,
53
+ },
54
+ ];
55
+ return state.readTransaction(() => checks.flatMap(({ code, detail, sql }) => state.connection.prepare(sql).all().map(({ runId }) => ({
56
+ code,
57
+ runId,
58
+ detail,
59
+ }))));
60
+ }
61
+ //# sourceMappingURL=diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/workflows/diagnostics.ts"],"names":[],"mappings":"AAcA,8EAA8E;AAC9E,MAAM,UAAU,uBAAuB,CAAC,KAAoB;IAC1D,MAAM,MAAM,GAAiF;QAC3F;YACE,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,+CAA+C;YACvD,GAAG,EAAE;;;;;;;kEAOuD;SAC7D;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,uEAAuE;YAC/E,GAAG,EAAE;;0FAE+E;SACrF;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,gEAAgE;YACxE,GAAG,EAAE;;;;qDAI0C;SAChD;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,wDAAwD;YAChE,GAAG,EAAE;;4HAEiH;SACvH;QACD;YACE,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,uEAAuE;YAC/E,GAAG,EAAE;;;wFAG6E;SACnF;QACD;YACE,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,oDAAoD;YAC5D,GAAG,EAAE;;kFAEuE;SAC7E;KACF,CAAC;IACF,OAAO,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,CAChC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CACtC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAA0B,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/E,IAAI;QACJ,KAAK;QACL,MAAM;KACP,CAAC,CAAC,CACJ,CACF,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ResolvedHumanDecision, AgentExpectedOutput, WorkflowDefinition, WorkflowEngineOptions, WorkflowRunResult, WorkflowRunState, WorkflowSource, WorkflowUpdateInput, WorkflowUpdateReceipt } from "./types.js";
1
+ import type { AgentStepContract, WorkflowDefinition, WorkflowEngineOptions, WorkflowRunResult, WorkflowRunState, WorkflowSource, WorkflowUpdateInput, WorkflowUpdateReceipt } from "./types.js";
2
2
  /**
3
3
  * Executes a workflow graph step by step. Agent steps are delegated to the
4
4
  * configured executor; compute/action/checkpoint nodes run inline. Every
@@ -13,7 +13,6 @@ export declare class WorkflowEngine {
13
13
  private readonly maxSteps;
14
14
  private readonly onEvent?;
15
15
  private readonly onRunStarted?;
16
- private readonly onRunFinishing?;
17
16
  private activeAbort;
18
17
  private activeAttempt;
19
18
  private readonly updateLimiters;
@@ -21,7 +20,6 @@ export declare class WorkflowEngine {
21
20
  private cancelled;
22
21
  private parked;
23
22
  private paused;
24
- private presentationRequired;
25
23
  private wakePause;
26
24
  constructor(options: WorkflowEngineOptions);
27
25
  get databasePath(): string;
@@ -59,17 +57,6 @@ export declare class WorkflowEngine {
59
57
  force?: boolean;
60
58
  resumeInteractionAttemptId?: string;
61
59
  }): Promise<WorkflowRunResult>;
62
- /**
63
- * Start a continuation run from a checkpointed parent. The new run gets a
64
- * fresh run and event stream, carries forward the parent's outputs, results,
65
- * and step accounting, and continues routing after the checkpoint.
66
- */
67
- continueRun(workflow: WorkflowDefinition, parentRunId: string, input: unknown, options?: {
68
- workflowSource?: WorkflowSource;
69
- runId?: string;
70
- force?: boolean;
71
- humanDecision?: ResolvedHumanDecision;
72
- }): Promise<WorkflowRunResult>;
73
60
  /**
74
61
  * Find where a resumed run continues. An in-flight node reruns; otherwise
75
62
  * routing continues from the last recorded step. A null nodeId means the
@@ -112,4 +99,4 @@ export declare function workflowIdentityMismatch(state: WorkflowRunState, workfl
112
99
  * The step contract appended to every agent-node prompt. This is the
113
100
  * documented standard for how the model completes a workflow step.
114
101
  */
115
- export declare function appendStepContract(prompt: string, workflowName: string, nodeId: string, attemptId: string, expectedOutput: AgentExpectedOutput | undefined): string;
102
+ export declare function appendStepContract(prompt: string, contract: AgentStepContract): string;