@osolmaz/pi-workflows 0.11.0 → 0.11.2

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 (36) hide show
  1. package/README.md +14 -2
  2. package/dist/builtins/autoimplement.workflow.d.ts +2 -0
  3. package/dist/builtins/autoimplement.workflow.js +186 -9
  4. package/dist/builtins/autoimplement.workflow.js.map +1 -1
  5. package/dist/controllers/sqlite.d.ts +55 -7
  6. package/dist/controllers/sqlite.js +195 -48
  7. package/dist/controllers/sqlite.js.map +1 -1
  8. package/dist/extension/index.js +246 -54
  9. package/dist/extension/index.js.map +1 -1
  10. package/dist/herdr/setup.d.ts +13 -1
  11. package/dist/herdr/setup.js +349 -36
  12. package/dist/herdr/setup.js.map +1 -1
  13. package/dist/host/runner.js +3 -0
  14. package/dist/host/runner.js.map +1 -1
  15. package/dist/viewer/cli.d.ts +1 -0
  16. package/dist/viewer/cli.js +21 -10
  17. package/dist/viewer/cli.js.map +1 -1
  18. package/dist/workflows/migrate-sources.d.ts +1 -1
  19. package/dist/workflows/migrate-sources.js.map +1 -1
  20. package/dist/workflows/tool-input.d.ts +1 -0
  21. package/dist/workflows/tool-input.js +2 -2
  22. package/dist/workflows/tool-input.js.map +1 -1
  23. package/docs/2026-08-20-durable-workflow-launch-plan.md +449 -0
  24. package/docs/plans/2026-08-20-autoimplement-blocker-challenge-plan.md +138 -0
  25. package/docs/plans/2026-08-20-herdr-plugin-sync-plan.md +104 -0
  26. package/docs/workflows.md +11 -0
  27. package/herdr-plugin.toml +1 -1
  28. package/package.json +1 -1
  29. package/src/builtins/autoimplement.workflow.ts +212 -9
  30. package/src/controllers/sqlite.ts +308 -54
  31. package/src/extension/index.ts +303 -58
  32. package/src/herdr/setup.ts +429 -39
  33. package/src/host/runner.ts +3 -0
  34. package/src/viewer/cli.ts +22 -10
  35. package/src/workflows/migrate-sources.ts +5 -1
  36. package/src/workflows/tool-input.ts +5 -2
@@ -467,19 +467,50 @@ export class SqliteControllerStore {
467
467
  if (row === undefined) {
468
468
  throw new Error("Controller store has no schema identifier");
469
469
  }
470
- return;
471
470
  }
472
- this.transaction(() => {
473
- this.database
474
- .prepare("INSERT OR IGNORE INTO schema_info (singleton, schema_id) VALUES (1, ?)")
475
- .run(CONTROLLER_STORE_SCHEMA);
476
- this.database.exec(SCHEMA_SQL);
477
- const queueColumns = this.database.pragma("table_info(workflow_run_queue)");
478
- if (!queueColumns.some((column) => column.name === "origin_session_id")) {
479
- this.database.exec("ALTER TABLE workflow_run_queue ADD COLUMN origin_session_id TEXT");
480
- }
481
- this.database.exec("DROP TABLE IF EXISTS session_watermarks");
482
- });
471
+ else {
472
+ const existingQueue = this.database
473
+ .prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'workflow_run_queue'")
474
+ .get();
475
+ if (existingQueue !== undefined)
476
+ this.assertAlphaSchemaLayout();
477
+ this.transaction(() => {
478
+ this.database
479
+ .prepare("INSERT OR IGNORE INTO schema_info (singleton, schema_id) VALUES (1, ?)")
480
+ .run(CONTROLLER_STORE_SCHEMA);
481
+ this.database.exec(SCHEMA_SQL);
482
+ });
483
+ }
484
+ this.assertAlphaSchemaLayout();
485
+ }
486
+ assertAlphaSchemaLayout() {
487
+ const requiredQueueColumns = new Set([
488
+ "run_id",
489
+ "workflow_ref",
490
+ "workflow_path",
491
+ "workflow_source_json",
492
+ "definition_digest",
493
+ "input_json",
494
+ "launch_options_json",
495
+ "status",
496
+ "runner_id",
497
+ "claim_token",
498
+ "claim_expires_at",
499
+ "affinity_runner_id",
500
+ "origin_session_id",
501
+ "parent_run_id",
502
+ "error_code",
503
+ "error_message",
504
+ "created_at",
505
+ "updated_at",
506
+ "started_at",
507
+ "finished_at",
508
+ ]);
509
+ const actual = new Set(this.database.pragma("table_info(workflow_run_queue)").map((column) => column.name));
510
+ const missing = [...requiredQueueColumns].filter((column) => !actual.has(column));
511
+ if (missing.length > 0) {
512
+ throw new Error("Controller store uses an incompatible alpha layout. Preserve needed run bundles, then reset the project controller store.");
513
+ }
483
514
  }
484
515
  transaction(task) {
485
516
  this.database.exec("BEGIN IMMEDIATE");
@@ -551,10 +582,32 @@ export class SqliteControllerStore {
551
582
  }
552
583
  return workflow;
553
584
  }
554
- /**
555
- * Insert a user-started run and claim it in one statement, so the
556
- * originating runner owns the run from birth (origin affinity).
557
- */
585
+ /** Reserve a user-started run before the initiating agent turn settles. */
586
+ reserveWorkflowRun(options) {
587
+ validateRunId(options.runId);
588
+ validateKey(options.workflowName, "workflow name");
589
+ validateKey(options.workflowSourceRef, "workflow source ref");
590
+ validateKey(options.definitionDigest, "workflow definition digest");
591
+ validateKey(options.runnerId, "runner id");
592
+ validateKey(options.originSessionId, "origin session id");
593
+ const inputJson = canonicalJson(options.input ?? null, "workflow run input");
594
+ const sourceJson = canonicalJson(options.workflowSource, "workflow run source");
595
+ const launchJson = canonicalJson(options.launchOptions ?? {}, "workflow launch options");
596
+ validateJsonSize(inputJson, "Workflow run input", MAX_RESOURCE_VALUE_BYTES);
597
+ validateJsonSize(sourceJson, "Workflow run source", MAX_EVENT_BYTES);
598
+ validateJsonSize(launchJson, "Workflow launch options", MAX_EVENT_BYTES);
599
+ const now = validTimestamp(options.now);
600
+ this.database
601
+ .prepare(`INSERT INTO workflow_run_queue (
602
+ run_id, workflow_ref, workflow_path, workflow_source_json, definition_digest,
603
+ input_json, launch_options_json, status, runner_id, claim_token, claim_expires_at,
604
+ affinity_runner_id, origin_session_id, parent_run_id, error_code, error_message,
605
+ created_at, updated_at, started_at, finished_at
606
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, 'queued', NULL, NULL, NULL, ?, ?, ?, NULL, NULL, ?, ?, NULL, NULL)`)
607
+ .run(options.runId, options.workflowName, options.workflowSourceRef, sourceJson, options.definitionDigest, inputJson, launchJson, options.runnerId, options.originSessionId, options.parentRunId ?? null, now, now);
608
+ return this.requireWorkflowRun(options.runId);
609
+ }
610
+ /** Insert a run that will start immediately outside a live model turn. */
558
611
  enqueueWorkflowRun(options) {
559
612
  validateRunId(options.runId);
560
613
  validateKey(options.workflowName, "workflow name");
@@ -566,16 +619,19 @@ export class SqliteControllerStore {
566
619
  validateKey(options.originSessionId, "origin session id");
567
620
  }
568
621
  const inputJson = canonicalJson(options.input ?? null, "workflow run input");
622
+ const sourceJson = canonicalJson(options.workflowSource ?? { ref: options.workflowSourceRef }, "workflow run source");
623
+ const launchJson = canonicalJson(options.launchOptions ?? {}, "workflow launch options");
569
624
  validateJsonSize(inputJson, "Workflow run input", MAX_RESOURCE_VALUE_BYTES);
570
625
  const now = validTimestamp(options.now);
571
626
  const expiresAt = epoch(now) + options.leaseMs;
572
627
  this.database
573
628
  .prepare(`INSERT INTO workflow_run_queue (
574
- run_id, workflow_ref, workflow_path, input_json, status,
575
- runner_id, claim_token, claim_expires_at, affinity_runner_id,
576
- origin_session_id, parent_run_id, created_at, updated_at
577
- ) VALUES (?, ?, ?, ?, 'claimed', ?, ?, ?, ?, ?, ?, ?, ?)`)
578
- .run(options.runId, options.workflowName, options.workflowSourceRef, inputJson, options.runnerId, options.claimToken, expiresAt, options.affinityRunnerId ?? options.runnerId, options.originSessionId ?? null, options.parentRunId ?? null, now, now);
629
+ run_id, workflow_ref, workflow_path, workflow_source_json, definition_digest,
630
+ input_json, launch_options_json, status, runner_id, claim_token, claim_expires_at,
631
+ affinity_runner_id, origin_session_id, parent_run_id, error_code, error_message,
632
+ created_at, updated_at, started_at, finished_at
633
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, 'starting', ?, ?, ?, ?, ?, ?, NULL, NULL, ?, ?, ?, NULL)`)
634
+ .run(options.runId, options.workflowName, options.workflowSourceRef, sourceJson, options.definitionDigest ?? "unavailable", inputJson, launchJson, options.runnerId, options.claimToken, expiresAt, options.affinityRunnerId ?? options.runnerId, options.originSessionId ?? null, options.parentRunId ?? null, now, now, now);
579
635
  return this.requireWorkflowRun(options.runId);
580
636
  }
581
637
  getWorkflowRun(runId) {
@@ -595,6 +651,43 @@ export class SqliteControllerStore {
595
651
  .all(options.status);
596
652
  return rows.map(workflowRunFromRow);
597
653
  }
654
+ findSessionReservation(sessionId) {
655
+ validateKey(sessionId, "session id");
656
+ const row = this.database
657
+ .prepare(`SELECT * FROM workflow_run_queue
658
+ WHERE origin_session_id = ? AND status IN ('queued', 'starting', 'running')
659
+ ORDER BY created_at LIMIT 1`)
660
+ .get(sessionId);
661
+ return row === undefined ? undefined : workflowRunFromRow(row);
662
+ }
663
+ claimWorkflowRun(options) {
664
+ validateRunId(options.runId);
665
+ validateKey(options.runnerId, "runner id");
666
+ validateKey(options.claimToken, "claim token");
667
+ validateDuration(options.leaseMs, "leaseMs");
668
+ const now = validTimestamp(options.now);
669
+ const nowMs = epoch(now);
670
+ const expiresAt = nowMs + options.leaseMs;
671
+ const result = this.database
672
+ .prepare(`UPDATE workflow_run_queue
673
+ SET status = 'starting', runner_id = ?, claim_token = ?, claim_expires_at = ?,
674
+ started_at = COALESCE(started_at, ?), updated_at = ?
675
+ WHERE run_id = ? AND (
676
+ status IN ('queued', 'parked')
677
+ OR (status = 'starting' AND claim_expires_at IS NOT NULL AND claim_expires_at <= ?)
678
+ )`)
679
+ .run(options.runnerId, options.claimToken, expiresAt, now, now, options.runId, nowMs);
680
+ return result.changes === 1 ? this.requireWorkflowRun(options.runId) : undefined;
681
+ }
682
+ markWorkflowRunRunning(options) {
683
+ validateRunId(options.runId);
684
+ const now = validTimestamp(options.now);
685
+ const result = this.database
686
+ .prepare(`UPDATE workflow_run_queue SET status = 'running', updated_at = ?
687
+ WHERE run_id = ? AND claim_token = ? AND status = 'starting'`)
688
+ .run(now, options.runId, options.claimToken);
689
+ return result.changes === 1;
690
+ }
598
691
  /**
599
692
  * Claim the oldest claimable run, preferring runs with affinity to this
600
693
  * runner. Parked rows are claimable immediately; claimed rows become
@@ -616,11 +709,11 @@ export class SqliteControllerStore {
616
709
  }
617
710
  const exclusion = excluded.length === 0 ? "" : `AND run_id NOT IN (${excluded.map(() => "?").join(", ")})`;
618
711
  const sessionFilter = options.sessionId === undefined
619
- ? ""
712
+ ? "AND status != 'queued' AND (status != 'starting' OR origin_session_id IS NULL)"
620
713
  : "AND (origin_session_id IS NULL OR origin_session_id = ?)";
621
714
  const claimable = `(
622
- status = 'parked'
623
- OR (status = 'claimed' AND claim_expires_at IS NOT NULL AND claim_expires_at <= ?)
715
+ status IN ('queued', 'parked')
716
+ OR (status IN ('starting', 'running') AND claim_expires_at IS NOT NULL AND claim_expires_at <= ?)
624
717
  )`;
625
718
  return this.transaction(() => {
626
719
  const candidate = this.database
@@ -636,13 +729,13 @@ export class SqliteControllerStore {
636
729
  }
637
730
  const result = this.database
638
731
  .prepare(`UPDATE workflow_run_queue
639
- SET status = 'claimed', runner_id = ?, claim_token = ?,
640
- claim_expires_at = ?, updated_at = ?
732
+ SET status = 'starting', runner_id = ?, claim_token = ?,
733
+ claim_expires_at = ?, started_at = COALESCE(started_at, ?), updated_at = ?
641
734
  WHERE run_id = ? AND (
642
- status = 'parked'
643
- OR (status = 'claimed' AND claim_expires_at IS NOT NULL AND claim_expires_at <= ?)
735
+ status IN ('queued', 'parked')
736
+ OR (status IN ('starting', 'running') AND claim_expires_at IS NOT NULL AND claim_expires_at <= ?)
644
737
  )`)
645
- .run(options.runnerId, options.claimToken, expiresAt, now, candidate.run_id, nowMs);
738
+ .run(options.runnerId, options.claimToken, expiresAt, now, now, candidate.run_id, nowMs);
646
739
  return result.changes === 1 ? this.requireWorkflowRun(candidate.run_id) : undefined;
647
740
  });
648
741
  }
@@ -654,7 +747,7 @@ export class SqliteControllerStore {
654
747
  const expiresAt = nowMs + options.leaseMs;
655
748
  const result = this.database
656
749
  .prepare(`UPDATE workflow_run_queue SET claim_expires_at = ?
657
- WHERE run_id = ? AND claim_token = ? AND status = 'claimed'
750
+ WHERE run_id = ? AND claim_token = ? AND status IN ('starting', 'running')
658
751
  AND claim_expires_at > ?`)
659
752
  .run(expiresAt, options.runId, options.claimToken, nowMs);
660
753
  return result.changes === 1;
@@ -665,7 +758,7 @@ export class SqliteControllerStore {
665
758
  const nowMs = epoch(validTimestamp(options.now));
666
759
  const row = this.database
667
760
  .prepare(`SELECT 1 AS live FROM workflow_run_queue
668
- WHERE run_id = ? AND claim_token = ? AND status = 'claimed'
761
+ WHERE run_id = ? AND claim_token = ? AND status IN ('starting', 'running')
669
762
  AND claim_expires_at > ?`)
670
763
  .get(options.runId, options.claimToken, nowMs);
671
764
  return row !== undefined;
@@ -678,10 +771,42 @@ export class SqliteControllerStore {
678
771
  .prepare(`UPDATE workflow_run_queue
679
772
  SET status = 'parked', runner_id = NULL, claim_token = NULL,
680
773
  claim_expires_at = NULL, updated_at = ?
681
- WHERE run_id = ? AND claim_token = ? AND status = 'claimed'`)
774
+ WHERE run_id = ? AND claim_token = ? AND status IN ('starting', 'running')`)
682
775
  .run(now, options.runId, options.claimToken);
683
776
  return result.changes === 1;
684
777
  }
778
+ failWorkflowRun(options) {
779
+ validateRunId(options.runId);
780
+ validateKey(options.errorCode, "workflow launch error code");
781
+ const message = options.errorMessage.trim();
782
+ if (message.length === 0 || Buffer.byteLength(message) > 2_048) {
783
+ throw new Error("Workflow launch error message must be between 1 and 2048 bytes");
784
+ }
785
+ const now = validTimestamp(options.now);
786
+ const claimFilter = options.claimToken === undefined ? "" : "AND claim_token = ?";
787
+ const result = this.database
788
+ .prepare(`UPDATE workflow_run_queue
789
+ SET status = 'failed', runner_id = NULL, claim_token = NULL,
790
+ claim_expires_at = NULL, parent_run_id = NULL, input_json = 'null',
791
+ launch_options_json = '{}', error_code = ?, error_message = ?,
792
+ finished_at = ?, updated_at = ?
793
+ WHERE run_id = ? AND status IN ('queued', 'starting', 'running') ${claimFilter}`)
794
+ .run(options.errorCode, message, now, now, options.runId, ...(options.claimToken === undefined ? [] : [options.claimToken]));
795
+ return result.changes === 1;
796
+ }
797
+ cancelWorkflowRun(options) {
798
+ validateRunId(options.runId);
799
+ const now = validTimestamp(options.now);
800
+ const claimFilter = options.claimToken === undefined ? "" : "AND claim_token = ?";
801
+ const result = this.database
802
+ .prepare(`UPDATE workflow_run_queue
803
+ SET status = 'cancelled', runner_id = NULL, claim_token = NULL,
804
+ claim_expires_at = NULL, input_json = 'null', launch_options_json = '{}',
805
+ finished_at = ?, updated_at = ?
806
+ WHERE run_id = ? AND status IN ('queued', 'starting') ${claimFilter}`)
807
+ .run(now, now, options.runId, ...(options.claimToken === undefined ? [] : [options.claimToken]));
808
+ return result.changes === 1;
809
+ }
685
810
  /**
686
811
  * Delete a claimed row. Used when a continuation fails before its bundle
687
812
  * exists, so the parent's one-continuation slot is not consumed by a run
@@ -701,9 +826,10 @@ export class SqliteControllerStore {
701
826
  const result = this.database
702
827
  .prepare(`UPDATE workflow_run_queue
703
828
  SET status = 'done', runner_id = NULL, claim_token = NULL,
704
- claim_expires_at = NULL, updated_at = ?
705
- WHERE run_id = ? AND claim_token = ? AND status = 'claimed'`)
706
- .run(now, options.runId, options.claimToken);
829
+ claim_expires_at = NULL, input_json = 'null', launch_options_json = '{}',
830
+ finished_at = ?, updated_at = ?
831
+ WHERE run_id = ? AND claim_token = ? AND status IN ('starting', 'running')`)
832
+ .run(now, now, options.runId, options.claimToken);
707
833
  return result.changes === 1;
708
834
  }
709
835
  /** Repair a canonical bundle's queue source and claim it only when needed. */
@@ -721,26 +847,27 @@ export class SqliteControllerStore {
721
847
  const row = this.database
722
848
  .prepare("SELECT * FROM workflow_run_queue WHERE run_id = ?")
723
849
  .get(options.runId);
724
- if (row === undefined || row.status === "done")
850
+ if (row === undefined || ["done", "failed", "cancelled"].includes(row.status)) {
725
851
  return false;
852
+ }
726
853
  if (row.workflow_path === options.workflowSourceRef && row.status === "parked") {
727
854
  return "unchanged";
728
855
  }
729
856
  const claimable = row.status === "parked" ||
730
- (row.status === "claimed" &&
857
+ (row.status === "starting" &&
731
858
  row.claim_token === options.claimToken &&
732
859
  row.claim_expires_at !== null &&
733
860
  row.claim_expires_at > nowMs) ||
734
- (row.status === "claimed" &&
861
+ (row.status === "starting" &&
735
862
  row.claim_expires_at !== null &&
736
863
  row.claim_expires_at <= nowMs);
737
864
  if (!claimable)
738
865
  return false;
739
866
  const result = this.database
740
867
  .prepare(`UPDATE workflow_run_queue
741
- SET workflow_ref = ?, workflow_path = ?, status = 'claimed', runner_id = ?,
868
+ SET workflow_ref = ?, workflow_path = ?, status = 'starting', runner_id = ?,
742
869
  claim_token = ?, claim_expires_at = ?, updated_at = ?
743
- WHERE run_id = ? AND status != 'done'`)
870
+ WHERE run_id = ? AND status NOT IN ('done', 'failed', 'cancelled')`)
744
871
  .run(options.workflowName, options.workflowSourceRef, options.runnerId, options.claimToken, expiresAt, now, options.runId);
745
872
  return result.changes === 1 ? "claimed" : false;
746
873
  });
@@ -761,25 +888,26 @@ export class SqliteControllerStore {
761
888
  const row = this.database
762
889
  .prepare("SELECT * FROM workflow_run_queue WHERE run_id = ?")
763
890
  .get(options.runId);
764
- if (row === undefined || row.status === "done")
891
+ if (row === undefined || ["done", "failed", "cancelled"].includes(row.status)) {
765
892
  return false;
893
+ }
766
894
  const sourceMatches = row.workflow_path === options.oldWorkflowPath ||
767
895
  row.workflow_path === options.workflowSourceRef;
768
896
  const claimable = row.status === "parked" ||
769
- (row.status === "claimed" &&
897
+ (row.status === "starting" &&
770
898
  row.claim_token === options.claimToken &&
771
899
  row.claim_expires_at !== null &&
772
900
  row.claim_expires_at > nowMs) ||
773
- (row.status === "claimed" &&
901
+ (row.status === "starting" &&
774
902
  row.claim_expires_at !== null &&
775
903
  row.claim_expires_at <= nowMs);
776
904
  if (!sourceMatches || !claimable)
777
905
  return false;
778
906
  const result = this.database
779
907
  .prepare(`UPDATE workflow_run_queue
780
- SET workflow_ref = ?, workflow_path = ?, status = 'claimed', runner_id = ?,
908
+ SET workflow_ref = ?, workflow_path = ?, status = 'starting', runner_id = ?,
781
909
  claim_token = ?, claim_expires_at = ?, updated_at = ?
782
- WHERE run_id = ? AND status != 'done'`)
910
+ WHERE run_id = ? AND status NOT IN ('done', 'failed', 'cancelled')`)
783
911
  .run(options.workflowName, options.workflowSourceRef, options.runnerId, options.claimToken, expiresAt, now, options.runId);
784
912
  return result.changes === 1;
785
913
  });
@@ -945,19 +1073,31 @@ const SCHEMA_SQL = `
945
1073
  run_id TEXT PRIMARY KEY,
946
1074
  workflow_ref TEXT NOT NULL,
947
1075
  workflow_path TEXT NOT NULL,
1076
+ workflow_source_json TEXT NOT NULL,
1077
+ definition_digest TEXT NOT NULL,
948
1078
  input_json TEXT NOT NULL,
949
- status TEXT NOT NULL CHECK (status IN ('claimed', 'parked', 'done')),
1079
+ launch_options_json TEXT NOT NULL,
1080
+ status TEXT NOT NULL CHECK (
1081
+ status IN ('queued', 'starting', 'running', 'parked', 'done', 'failed', 'cancelled')
1082
+ ),
950
1083
  runner_id TEXT,
951
1084
  claim_token TEXT,
952
1085
  claim_expires_at INTEGER,
953
1086
  affinity_runner_id TEXT,
954
1087
  origin_session_id TEXT,
955
1088
  parent_run_id TEXT,
1089
+ error_code TEXT,
1090
+ error_message TEXT,
956
1091
  created_at TEXT NOT NULL,
957
- updated_at TEXT NOT NULL
1092
+ updated_at TEXT NOT NULL,
1093
+ started_at TEXT,
1094
+ finished_at TEXT
958
1095
  );
959
1096
  CREATE INDEX IF NOT EXISTS workflow_run_queue_claimable
960
1097
  ON workflow_run_queue(status, claim_expires_at);
1098
+ CREATE UNIQUE INDEX IF NOT EXISTS workflow_run_queue_session_reservation
1099
+ ON workflow_run_queue(origin_session_id)
1100
+ WHERE origin_session_id IS NOT NULL AND status IN ('queued', 'starting', 'running');
961
1101
  -- A checkpointed parent admits exactly one continuation run, across
962
1102
  -- sessions and processes.
963
1103
  CREATE UNIQUE INDEX IF NOT EXISTS workflow_run_queue_parent
@@ -981,7 +1121,7 @@ const SCHEMA_SQL = `
981
1121
  attempt_id TEXT NOT NULL,
982
1122
  notification_index INTEGER NOT NULL CHECK (notification_index > 0),
983
1123
  target_session_id TEXT NOT NULL,
984
- kind TEXT NOT NULL CHECK (kind IN ('progress', 'final')),
1124
+ kind TEXT NOT NULL CHECK (kind IN ('progress', 'final', 'launch_failure')),
985
1125
  content TEXT NOT NULL,
986
1126
  created_at TEXT NOT NULL,
987
1127
  delivery_claim_token TEXT,
@@ -1099,7 +1239,10 @@ function workflowRunFromRow(row) {
1099
1239
  runId: row.run_id,
1100
1240
  workflowName: row.workflow_ref,
1101
1241
  workflowSourceRef: row.workflow_path,
1242
+ workflowSource: parseStoredJson(row.workflow_source_json, "workflow run source"),
1243
+ definitionDigest: row.definition_digest,
1102
1244
  input: parseStoredJson(row.input_json, "workflow run input"),
1245
+ launchOptions: parseStoredJson(row.launch_options_json, "workflow launch options"),
1103
1246
  status: row.status,
1104
1247
  runnerId: row.runner_id,
1105
1248
  claimToken: row.claim_token,
@@ -1107,8 +1250,12 @@ function workflowRunFromRow(row) {
1107
1250
  affinityRunnerId: row.affinity_runner_id,
1108
1251
  originSessionId: row.origin_session_id,
1109
1252
  parentRunId: row.parent_run_id,
1253
+ errorCode: row.error_code,
1254
+ errorMessage: row.error_message,
1110
1255
  createdAt: row.created_at,
1111
1256
  updatedAt: row.updated_at,
1257
+ startedAt: row.started_at,
1258
+ finishedAt: row.finished_at,
1112
1259
  };
1113
1260
  }
1114
1261
  function validateRunId(runId) {
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/controllers/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/controllers/sqlite.ts"],"names":[],"mappings":"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"}