@jungjaehoon/mama-os 0.22.1 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +3 -1
  3. package/dist/agent/agent-loop.d.ts +0 -3
  4. package/dist/agent/agent-loop.d.ts.map +1 -1
  5. package/dist/agent/agent-loop.js +49 -34
  6. package/dist/agent/agent-loop.js.map +1 -1
  7. package/dist/agent/gateway-tool-executor.d.ts +18 -0
  8. package/dist/agent/gateway-tool-executor.d.ts.map +1 -1
  9. package/dist/agent/gateway-tool-executor.js +185 -6
  10. package/dist/agent/gateway-tool-executor.js.map +1 -1
  11. package/dist/agent/gateway-tools.md +10 -5
  12. package/dist/agent/role-manager.d.ts +22 -1
  13. package/dist/agent/role-manager.d.ts.map +1 -1
  14. package/dist/agent/role-manager.js +39 -2
  15. package/dist/agent/role-manager.js.map +1 -1
  16. package/dist/agent/tool-registry.d.ts.map +1 -1
  17. package/dist/agent/tool-registry.js +35 -5
  18. package/dist/agent/tool-registry.js.map +1 -1
  19. package/dist/agent/types.d.ts +9 -1
  20. package/dist/agent/types.d.ts.map +1 -1
  21. package/dist/agent/types.js.map +1 -1
  22. package/dist/api/graph-api.d.ts.map +1 -1
  23. package/dist/api/graph-api.js +43 -33
  24. package/dist/api/graph-api.js.map +1 -1
  25. package/dist/api/operator-tasks-handler.d.ts.map +1 -1
  26. package/dist/api/operator-tasks-handler.js +6 -2
  27. package/dist/api/operator-tasks-handler.js.map +1 -1
  28. package/dist/cli/commands/start.d.ts.map +1 -1
  29. package/dist/cli/commands/start.js +185 -2
  30. package/dist/cli/commands/start.js.map +1 -1
  31. package/dist/cli/config/config-manager.d.ts +0 -5
  32. package/dist/cli/config/config-manager.d.ts.map +1 -1
  33. package/dist/cli/config/config-manager.js +57 -2
  34. package/dist/cli/config/config-manager.js.map +1 -1
  35. package/dist/cli/config/types.d.ts.map +1 -1
  36. package/dist/cli/config/types.js +35 -0
  37. package/dist/cli/config/types.js.map +1 -1
  38. package/dist/cli/runtime/agent-loop-init.d.ts.map +1 -1
  39. package/dist/cli/runtime/agent-loop-init.js +96 -51
  40. package/dist/cli/runtime/agent-loop-init.js.map +1 -1
  41. package/dist/cli/runtime/api-routes-init.d.ts +3 -0
  42. package/dist/cli/runtime/api-routes-init.d.ts.map +1 -1
  43. package/dist/cli/runtime/api-routes-init.js +226 -51
  44. package/dist/cli/runtime/api-routes-init.js.map +1 -1
  45. package/dist/cli/runtime/gateway-init.d.ts.map +1 -1
  46. package/dist/cli/runtime/gateway-init.js +5 -0
  47. package/dist/cli/runtime/gateway-init.js.map +1 -1
  48. package/dist/envelope/reactive-config.d.ts.map +1 -1
  49. package/dist/envelope/reactive-config.js +26 -1
  50. package/dist/envelope/reactive-config.js.map +1 -1
  51. package/dist/gateways/message-router.d.ts +18 -1
  52. package/dist/gateways/message-router.d.ts.map +1 -1
  53. package/dist/gateways/message-router.js +155 -22
  54. package/dist/gateways/message-router.js.map +1 -1
  55. package/dist/gateways/telegram.d.ts.map +1 -1
  56. package/dist/gateways/telegram.js +13 -0
  57. package/dist/gateways/telegram.js.map +1 -1
  58. package/dist/gateways/types.d.ts +3 -0
  59. package/dist/gateways/types.d.ts.map +1 -1
  60. package/dist/memory/history-extractor.d.ts +0 -24
  61. package/dist/memory/history-extractor.d.ts.map +1 -1
  62. package/dist/memory/history-extractor.js +0 -132
  63. package/dist/memory/history-extractor.js.map +1 -1
  64. package/dist/memory/save-candidate-extractor.d.ts +3 -0
  65. package/dist/memory/save-candidate-extractor.d.ts.map +1 -1
  66. package/dist/memory/save-candidate-extractor.js +12 -1
  67. package/dist/memory/save-candidate-extractor.js.map +1 -1
  68. package/dist/memory/secret-filter.d.ts +22 -0
  69. package/dist/memory/secret-filter.d.ts.map +1 -0
  70. package/dist/memory/secret-filter.js +77 -0
  71. package/dist/memory/secret-filter.js.map +1 -0
  72. package/dist/observability/code-audit.d.ts +4 -0
  73. package/dist/observability/code-audit.d.ts.map +1 -1
  74. package/dist/observability/code-audit.js +69 -0
  75. package/dist/observability/code-audit.js.map +1 -1
  76. package/dist/operator/briefs.d.ts +26 -0
  77. package/dist/operator/briefs.d.ts.map +1 -0
  78. package/dist/operator/briefs.js +128 -0
  79. package/dist/operator/briefs.js.map +1 -0
  80. package/dist/operator/operator-trigger-loop.d.ts +24 -0
  81. package/dist/operator/operator-trigger-loop.d.ts.map +1 -1
  82. package/dist/operator/operator-trigger-loop.js +71 -12
  83. package/dist/operator/operator-trigger-loop.js.map +1 -1
  84. package/dist/operator/report-carry.d.ts +29 -0
  85. package/dist/operator/report-carry.d.ts.map +1 -0
  86. package/dist/operator/report-carry.js +81 -0
  87. package/dist/operator/report-carry.js.map +1 -0
  88. package/dist/operator/shadow-capture.d.ts +20 -0
  89. package/dist/operator/shadow-capture.d.ts.map +1 -0
  90. package/dist/operator/shadow-capture.js +34 -0
  91. package/dist/operator/shadow-capture.js.map +1 -0
  92. package/dist/operator/situation-report.d.ts +6 -0
  93. package/dist/operator/situation-report.d.ts.map +1 -1
  94. package/dist/operator/situation-report.js +13 -0
  95. package/dist/operator/situation-report.js.map +1 -1
  96. package/dist/operator/task-ledger.d.ts +90 -2
  97. package/dist/operator/task-ledger.d.ts.map +1 -1
  98. package/dist/operator/task-ledger.js +359 -23
  99. package/dist/operator/task-ledger.js.map +1 -1
  100. package/dist/operator/worker-run.d.ts +59 -0
  101. package/dist/operator/worker-run.d.ts.map +1 -0
  102. package/dist/operator/worker-run.js +64 -0
  103. package/dist/operator/worker-run.js.map +1 -0
  104. package/dist/operator/workorder-consumer.d.ts +118 -0
  105. package/dist/operator/workorder-consumer.d.ts.map +1 -0
  106. package/dist/operator/workorder-consumer.js +248 -0
  107. package/dist/operator/workorder-consumer.js.map +1 -0
  108. package/dist/operator/workorder-hooks.d.ts +30 -0
  109. package/dist/operator/workorder-hooks.d.ts.map +1 -0
  110. package/dist/operator/workorder-hooks.js +70 -0
  111. package/dist/operator/workorder-hooks.js.map +1 -0
  112. package/dist/operator/workorder-publishers.d.ts +68 -0
  113. package/dist/operator/workorder-publishers.d.ts.map +1 -0
  114. package/dist/operator/workorder-publishers.js +150 -0
  115. package/dist/operator/workorder-publishers.js.map +1 -0
  116. package/dist/security/security-monitor.d.ts +7 -0
  117. package/dist/security/security-monitor.d.ts.map +1 -1
  118. package/dist/security/security-monitor.js +17 -0
  119. package/dist/security/security-monitor.js.map +1 -1
  120. package/dist/utils/untrusted-content.d.ts +13 -0
  121. package/dist/utils/untrusted-content.d.ts.map +1 -1
  122. package/dist/utils/untrusted-content.js +43 -0
  123. package/dist/utils/untrusted-content.js.map +1 -1
  124. package/package.json +2 -2
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Shadow capture store (Stage-2 S2-T4) - TEMPORARY migration harness.
3
+ *
4
+ * At MAMA_STAGE2_WORKORDERS=shadow, board workorder runs get a capture
5
+ * publisher injected via reportPublisherOverride: their report_publish calls
6
+ * land HERE (JSONL under ~/.mama/operator/) instead of the live report store.
7
+ * The T6 equivalence gate compares these captures (brief-driven output)
8
+ * against the legacy live publishes (persona-driven output) by kagemusha-id
9
+ * overlap.
10
+ *
11
+ * KILL-LIST: this whole file is deleted at cutover (plan T6) - keep it
12
+ * self-contained.
13
+ */
14
+ export declare function shadowCapturePath(homeDir?: string): string;
15
+ export interface ShadowCapture {
16
+ /** Drop-in report_publish target - appends, never touches the live store. */
17
+ publisher: (slots: Record<string, string>) => void;
18
+ }
19
+ export declare function createShadowCapture(homeDir?: string): ShadowCapture;
20
+ //# sourceMappingURL=shadow-capture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow-capture.d.ts","sourceRoot":"","sources":["../../src/operator/shadow-capture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,MAAkB,GAAG,MAAM,CAErE;AAED,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;CACpD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,MAAkB,GAAG,aAAa,CAW9E"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ /**
3
+ * Shadow capture store (Stage-2 S2-T4) - TEMPORARY migration harness.
4
+ *
5
+ * At MAMA_STAGE2_WORKORDERS=shadow, board workorder runs get a capture
6
+ * publisher injected via reportPublisherOverride: their report_publish calls
7
+ * land HERE (JSONL under ~/.mama/operator/) instead of the live report store.
8
+ * The T6 equivalence gate compares these captures (brief-driven output)
9
+ * against the legacy live publishes (persona-driven output) by kagemusha-id
10
+ * overlap.
11
+ *
12
+ * KILL-LIST: this whole file is deleted at cutover (plan T6) - keep it
13
+ * self-contained.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.shadowCapturePath = shadowCapturePath;
17
+ exports.createShadowCapture = createShadowCapture;
18
+ const node_fs_1 = require("node:fs");
19
+ const node_os_1 = require("node:os");
20
+ const node_path_1 = require("node:path");
21
+ function shadowCapturePath(homeDir = (0, node_os_1.homedir)()) {
22
+ return (0, node_path_1.join)(homeDir, '.mama', 'operator', 'shadow-capture.jsonl');
23
+ }
24
+ function createShadowCapture(homeDir = (0, node_os_1.homedir)()) {
25
+ const path = shadowCapturePath(homeDir);
26
+ (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(path), { recursive: true });
27
+ return {
28
+ publisher: (slots) => {
29
+ (0, node_fs_1.appendFileSync)(path, `${JSON.stringify({ ts: Date.now(), slots })}\n`, 'utf-8');
30
+ console.log(`[stage2] shadow capture: ${Object.keys(slots).length} slot(s) -> ${path} (live store untouched)`);
31
+ },
32
+ };
33
+ }
34
+ //# sourceMappingURL=shadow-capture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow-capture.js","sourceRoot":"","sources":["../../src/operator/shadow-capture.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AAMH,8CAEC;AAOD,kDAWC;AAxBD,qCAAoD;AACpD,qCAAkC;AAClC,yCAA0C;AAE1C,SAAgB,iBAAiB,CAAC,UAAkB,IAAA,iBAAO,GAAE;IAC3D,OAAO,IAAA,gBAAI,EAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,sBAAsB,CAAC,CAAC;AACpE,CAAC;AAOD,SAAgB,mBAAmB,CAAC,UAAkB,IAAA,iBAAO,GAAE;IAC7D,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACxC,IAAA,mBAAS,EAAC,IAAA,mBAAO,EAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,OAAO;QACL,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACnB,IAAA,wBAAc,EAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAChF,OAAO,CAAC,GAAG,CACT,4BAA4B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,eAAe,IAAI,yBAAyB,CAClG,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -62,6 +62,12 @@ export interface SituationReporterOptions {
62
62
  * of being elimination-only. Uncited fires stay NEUTRAL - not failures.
63
63
  */
64
64
  recordTriggerUse?: (triggerIds: string[]) => void;
65
+ /**
66
+ * Context carry (plan v6 S1-T4): called with (deliveredAtIso, reportText)
67
+ * after a FULL report is successfully delivered. Runtime wiring persists it
68
+ * so the owner console can reference the latest report per chat turn.
69
+ */
70
+ persistLastFullReport?: (deliveredAtIso: string, text: string) => void;
65
71
  }
66
72
  export declare class SituationReporter {
67
73
  private windowByChannel;
@@ -1 +1 @@
1
- {"version":3,"file":"situation-report.d.ts","sourceRoot":"","sources":["../../src/operator/situation-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,2BAA2B,CAAC;AAEjE,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChD;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAqB3C,MAAM,WAAW,wBAAwB;IACvC;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC;IAC9C;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACnD;AAKD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,IAAI,CAA2B;gBAE3B,IAAI,GAAE,wBAA6B;IAI/C,0EAA0E;IAC1E,YAAY,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAI;IAgBlD,2FAA2F;IAC3F,UAAU,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAmBxC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAInC,uFAAuF;IACvF,WAAW,IAAI,OAAO;IAItB;;;OAGG;IACG,MAAM,CACV,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,EAChC,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,OAAO,CAAC;IA2CnB,OAAO,CAAC,KAAK;IAQb,kGAAkG;IAClG,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;CAuHtC"}
1
+ {"version":3,"file":"situation-report.d.ts","sourceRoot":"","sources":["../../src/operator/situation-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,2BAA2B,CAAC;AAEjE,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChD;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAqB3C,MAAM,WAAW,wBAAwB;IACvC;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC;IAC9C;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAClD;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxE;AAKD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,IAAI,CAA2B;gBAE3B,IAAI,GAAE,wBAA6B;IAI/C,0EAA0E;IAC1E,YAAY,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAI;IAgBlD,2FAA2F;IAC3F,UAAU,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAmBxC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAInC,uFAAuF;IACvF,WAAW,IAAI,OAAO;IAItB;;;OAGG;IACG,MAAM,CACV,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,EAChC,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,OAAO,CAAC;IA2DnB,OAAO,CAAC,KAAK;IAQb,kGAAkG;IAClG,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;CAuHtC"}
@@ -106,6 +106,19 @@ class SituationReporter {
106
106
  if (cited.length > 0) {
107
107
  this.opts.recordTriggerUse?.(cited);
108
108
  }
109
+ // Context carry (plan v6 S1-T4): persist the DELIVERED full report so the
110
+ // chat console can reference "the report you just got" instead of
111
+ // fabricating one. Same success condition as the delta anchor.
112
+ if (mode === 'full') {
113
+ try {
114
+ this.opts.persistLastFullReport?.(new Date().toISOString(), text);
115
+ }
116
+ catch (error) {
117
+ // Carry is derived state - persistence failure must not fail the
118
+ // delivered report, but it must be loud.
119
+ console.warn(`[situation-report] failed to persist last full report for context carry: ${error instanceof Error ? error.message : String(error)}`);
120
+ }
121
+ }
109
122
  this.reset();
110
123
  return true;
111
124
  }
@@ -1 +1 @@
1
- {"version":3,"file":"situation-report.js","sourceRoot":"","sources":["../../src/operator/situation-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"situation-report.js","sourceRoot":"","sources":["../../src/operator/situation-report.ts"],"names":[],"mappings":"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"}
@@ -20,14 +20,42 @@
20
20
  */
21
21
  import type { SQLiteDatabase } from '../sqlite.js';
22
22
  import type { OperatorTask, TaskSource } from './operator-interfaces.js';
23
- export declare const TASK_STATUSES: readonly ["pending", "in_progress", "review", "blocked", "done", "cancelled"];
23
+ export declare const TASK_STATUSES: readonly ["pending", "in_progress", "review", "blocked", "done", "cancelled", "failed"];
24
24
  export type TaskStatus = (typeof TASK_STATUSES)[number];
25
25
  export declare const TASK_PRIORITIES: readonly ["high", "normal", "low"];
26
26
  export type TaskPriority = (typeof TASK_PRIORITIES)[number];
27
+ export declare const TASK_KINDS: readonly ["owner", "system"];
28
+ export type TaskKind = (typeof TASK_KINDS)[number];
29
+ export declare const WORKORDER_KINDS: readonly ["board", "wiki", "memory-curation"];
30
+ export type WorkOrderKind = (typeof WORKORDER_KINDS)[number];
31
+ /** source_channel namespace for workorder rows: 'workorder:<workKind>'. */
32
+ export declare const WORKORDER_CHANNEL_PREFIX = "workorder:";
33
+ export interface EnqueueWorkOrderInput {
34
+ workKind: WorkOrderKind;
35
+ /** Per-occurrence idempotency key (schedule slot / event batch / manual ts). */
36
+ idempotencyKey: string;
37
+ /** Kind-specific payload; `attempts` is managed by the ledger (starts at 1). */
38
+ input: Record<string, unknown>;
39
+ priority?: TaskPriority;
40
+ }
41
+ export interface WorkOrderRecord {
42
+ id: number;
43
+ workKind: WorkOrderKind;
44
+ status: TaskStatus;
45
+ priority: TaskPriority;
46
+ idempotencyKey: string;
47
+ /** Parsed payload; always carries `attempts` (>= 1). */
48
+ payload: Record<string, unknown> & {
49
+ attempts: number;
50
+ };
51
+ createdAt: number;
52
+ updatedAt: number;
53
+ }
27
54
  /** Extended record: satisfies OperatorTask (numeric deadline) and carries the ISO original. */
28
55
  export interface TaskRecord extends OperatorTask {
29
56
  status: TaskStatus;
30
57
  priority: TaskPriority;
58
+ kind: TaskKind;
31
59
  /** ISO YYYY-MM-DD as stored; `deadline` (OperatorTask) is its UTC-midnight epoch ms. */
32
60
  deadlineIso: string | null;
33
61
  assignee: string | null;
@@ -72,11 +100,24 @@ export declare class TaskLedger implements TaskSource {
72
100
  private db;
73
101
  constructor(db: SQLiteDatabase);
74
102
  private runMigration;
103
+ /** Full current column set - single source for CREATE and the rebuild copy. */
104
+ private static readonly TABLE_COLUMNS_SQL;
105
+ private static readonly INDEXES_SQL;
106
+ /**
107
+ * Stage-2 in-place upgrade for pre-existing tables. Guards are re-checked
108
+ * INSIDE `BEGIN IMMEDIATE`: two connections construct TaskLedger (boot +
109
+ * lazy API handler) and both run this - the loser must see the winner's
110
+ * finished work, not rebuild an already-migrated table.
111
+ */
112
+ private upgradeSchema;
75
113
  /** TaskSource conformance: open items in canonical board order. */
76
114
  getTasks(): OperatorTask[];
77
115
  countOpenUnconfirmed(): number;
78
116
  list(filter?: ListTasksFilter): TaskRecord[];
117
+ /** Owner rows only - system workorder rows are invisible to external reads. */
79
118
  getById(id: number): TaskRecord | null;
119
+ /** Internal fetch without the kind filter (guards and workorder paths). */
120
+ private getRowById;
80
121
  /**
81
122
  * Create a task. Idempotent under at-least-once delivery: a duplicate
82
123
  * (source_channel, source_event_id) UPSERTS - the existing row gets the new
@@ -84,8 +125,55 @@ export declare class TaskLedger implements TaskSource {
84
125
  */
85
126
  create(input: CreateTaskInput): TaskRecord;
86
127
  update(id: number, patch: UpdateTaskInput): TaskRecord;
87
- /** Stable hash over ordered rows - the Phase-2 verifier's ledger snapshot. */
128
+ /**
129
+ * Stable hash over ordered OWNER rows - the Phase-2 verifier's ledger
130
+ * snapshot. kind filter keeps concurrent system enqueues from shaking the
131
+ * hash mid-bracket (evidence-only signal, but noise is noise).
132
+ */
88
133
  payloadHash(): string;
134
+ /**
135
+ * Enqueue a workorder. Idempotent per occurrence key: an open (pending or
136
+ * in_progress) keyed row dedups; a terminal keyed row frees the slot (the
137
+ * unique index excludes terminal statuses) and a fresh row is inserted.
138
+ */
139
+ enqueueWorkOrder(order: EnqueueWorkOrderInput): WorkOrderRecord;
140
+ /**
141
+ * Claim the next pending workorder: priority high>normal>low, then id ASC
142
+ * (plan D2/E2 - CASE mapping, never lexicographic on the TEXT enum).
143
+ * pending -> in_progress. Single serial consumer; transaction for atomicity.
144
+ */
145
+ claimNextWorkOrder(): WorkOrderRecord | null;
146
+ /**
147
+ * Atomic fail-and-requeue (PR bot round): the failure mark and the
148
+ * replacement row commit together - a crash between the two would lose
149
+ * the retry (the old row terminal, the new one never inserted). The
150
+ * replacement can only be inserted AFTER the old row leaves the partial
151
+ * unique index, hence one transaction, not two calls.
152
+ */
153
+ requeueWorkOrder(wo: WorkOrderRecord, reason: string): WorkOrderRecord;
154
+ completeWorkOrder(id: number): void;
155
+ failWorkOrder(id: number, reason: string): void;
156
+ countPendingWorkOrders(): number;
157
+ /** In-progress system rows at boot = crash artifacts (single serial consumer). */
158
+ listStaleClaims(): WorkOrderRecord[];
159
+ /**
160
+ * Boot cleanup (plan D3 + review N4): open system rows -> cancelled. A
161
+ * rollback is not a failure - excluded from failed counters/alarms; caller
162
+ * logs ONE summary line with the returned count. `onlyKinds` scopes the
163
+ * cancellation (shadow rollback cancels non-board orders only).
164
+ */
165
+ cancelOpenWorkOrders(reason: string, onlyKinds?: WorkOrderKind[]): number;
166
+ /** Per-kind stats for the workorder_status surface. */
167
+ workOrderStats(): Array<{
168
+ workKind: WorkOrderKind;
169
+ lastRunAt: number | null;
170
+ lastStatus: TaskStatus | null;
171
+ failedCount: number;
172
+ lastFailureReason: string | null;
173
+ }>;
174
+ private getWorkOrderById;
175
+ private transitionWorkOrder;
176
+ private rowToWorkOrder;
89
177
  /** contract_no_update: silence as a verifiable judgment, scoped to one reconcile run. */
90
178
  recordNoUpdate(scope: string, reason: string): {
91
179
  id: number;
@@ -1 +1 @@
1
- {"version":3,"file":"task-ledger.d.ts","sourceRoot":"","sources":["../../src/operator/task-ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-ledger.d.ts","sourceRoot":"","sources":["../../src/operator/task-ledger.ts"],"names":[],"mappings":"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"}