@jungjaehoon/mama-os 0.24.1 → 0.25.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 (113) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +9 -6
  3. package/dist/agent/agent-loop.d.ts.map +1 -1
  4. package/dist/agent/agent-loop.js +8 -0
  5. package/dist/agent/agent-loop.js.map +1 -1
  6. package/dist/agent/code-act/constants.js +2 -2
  7. package/dist/agent/code-act/host-bridge.d.ts.map +1 -1
  8. package/dist/agent/code-act/host-bridge.js +37 -4
  9. package/dist/agent/code-act/host-bridge.js.map +1 -1
  10. package/dist/agent/code-act/type-definition-generator.d.ts.map +1 -1
  11. package/dist/agent/code-act/type-definition-generator.js +2 -4
  12. package/dist/agent/code-act/type-definition-generator.js.map +1 -1
  13. package/dist/agent/context-compile-service.d.ts +2 -0
  14. package/dist/agent/context-compile-service.d.ts.map +1 -1
  15. package/dist/agent/context-compile-service.js +26 -7
  16. package/dist/agent/context-compile-service.js.map +1 -1
  17. package/dist/agent/gateway-tool-executor.d.ts +2 -0
  18. package/dist/agent/gateway-tool-executor.d.ts.map +1 -1
  19. package/dist/agent/gateway-tool-executor.js +312 -18
  20. package/dist/agent/gateway-tool-executor.js.map +1 -1
  21. package/dist/agent/gateway-tools.md +4 -3
  22. package/dist/agent/tool-registry.d.ts.map +1 -1
  23. package/dist/agent/tool-registry.js +9 -3
  24. package/dist/agent/tool-registry.js.map +1 -1
  25. package/dist/agent/types.d.ts +27 -6
  26. package/dist/agent/types.d.ts.map +1 -1
  27. package/dist/agent/types.js.map +1 -1
  28. package/dist/api/operator-tasks-handler.d.ts.map +1 -1
  29. package/dist/api/operator-tasks-handler.js +23 -1
  30. package/dist/api/operator-tasks-handler.js.map +1 -1
  31. package/dist/cli/commands/start.d.ts +7 -3
  32. package/dist/cli/commands/start.d.ts.map +1 -1
  33. package/dist/cli/commands/start.js +113 -65
  34. package/dist/cli/commands/start.js.map +1 -1
  35. package/dist/cli/runtime/agent-loop-init.d.ts +2 -0
  36. package/dist/cli/runtime/agent-loop-init.d.ts.map +1 -1
  37. package/dist/cli/runtime/agent-loop-init.js +37 -12
  38. package/dist/cli/runtime/agent-loop-init.js.map +1 -1
  39. package/dist/cli/runtime/api-routes-init.js +3 -3
  40. package/dist/cli/runtime/api-routes-init.js.map +1 -1
  41. package/dist/cli/runtime/temporal-init.d.ts +28 -0
  42. package/dist/cli/runtime/temporal-init.d.ts.map +1 -0
  43. package/dist/cli/runtime/temporal-init.js +74 -0
  44. package/dist/cli/runtime/temporal-init.js.map +1 -0
  45. package/dist/db/migrations/operator-task-temporal.d.ts +8 -0
  46. package/dist/db/migrations/operator-task-temporal.d.ts.map +1 -0
  47. package/dist/db/migrations/operator-task-temporal.js +209 -0
  48. package/dist/db/migrations/operator-task-temporal.js.map +1 -0
  49. package/dist/envelope/enforcer.d.ts.map +1 -1
  50. package/dist/envelope/enforcer.js +6 -6
  51. package/dist/envelope/enforcer.js.map +1 -1
  52. package/dist/multi-agent/dashboard-agent-persona.d.ts.map +1 -1
  53. package/dist/multi-agent/dashboard-agent-persona.js +9 -4
  54. package/dist/multi-agent/dashboard-agent-persona.js.map +1 -1
  55. package/dist/operator/action-verifier.d.ts +23 -0
  56. package/dist/operator/action-verifier.d.ts.map +1 -1
  57. package/dist/operator/action-verifier.js +76 -0
  58. package/dist/operator/action-verifier.js.map +1 -1
  59. package/dist/operator/board-reconcile.d.ts.map +1 -1
  60. package/dist/operator/board-reconcile.js +3 -0
  61. package/dist/operator/board-reconcile.js.map +1 -1
  62. package/dist/operator/board-slot-instructions.d.ts +3 -3
  63. package/dist/operator/board-slot-instructions.d.ts.map +1 -1
  64. package/dist/operator/board-slot-instructions.js +17 -8
  65. package/dist/operator/board-slot-instructions.js.map +1 -1
  66. package/dist/operator/briefs.d.ts.map +1 -1
  67. package/dist/operator/briefs.js +3 -0
  68. package/dist/operator/briefs.js.map +1 -1
  69. package/dist/operator/task-ledger.d.ts +134 -8
  70. package/dist/operator/task-ledger.d.ts.map +1 -1
  71. package/dist/operator/task-ledger.js +1181 -74
  72. package/dist/operator/task-ledger.js.map +1 -1
  73. package/dist/operator/task-temporal.d.ts +21 -0
  74. package/dist/operator/task-temporal.d.ts.map +1 -0
  75. package/dist/operator/task-temporal.js +111 -0
  76. package/dist/operator/task-temporal.js.map +1 -0
  77. package/dist/operator/temporal-effect.d.ts +62 -0
  78. package/dist/operator/temporal-effect.d.ts.map +1 -0
  79. package/dist/operator/temporal-effect.js +71 -0
  80. package/dist/operator/temporal-effect.js.map +1 -0
  81. package/dist/operator/temporal-reconcile.d.ts +48 -0
  82. package/dist/operator/temporal-reconcile.d.ts.map +1 -0
  83. package/dist/operator/temporal-reconcile.js +215 -0
  84. package/dist/operator/temporal-reconcile.js.map +1 -0
  85. package/dist/operator/temporal-runtime.d.ts +54 -0
  86. package/dist/operator/temporal-runtime.d.ts.map +1 -0
  87. package/dist/operator/temporal-runtime.js +110 -0
  88. package/dist/operator/temporal-runtime.js.map +1 -0
  89. package/dist/operator/temporal-worker.d.ts +19 -0
  90. package/dist/operator/temporal-worker.d.ts.map +1 -0
  91. package/dist/operator/temporal-worker.js +105 -0
  92. package/dist/operator/temporal-worker.js.map +1 -0
  93. package/dist/operator/worker-run.d.ts +6 -2
  94. package/dist/operator/worker-run.d.ts.map +1 -1
  95. package/dist/operator/worker-run.js +14 -0
  96. package/dist/operator/worker-run.js.map +1 -1
  97. package/dist/operator/workorder-consumer.d.ts +27 -10
  98. package/dist/operator/workorder-consumer.d.ts.map +1 -1
  99. package/dist/operator/workorder-consumer.js +195 -14
  100. package/dist/operator/workorder-consumer.js.map +1 -1
  101. package/dist/operator/workorder-hooks.d.ts +3 -0
  102. package/dist/operator/workorder-hooks.d.ts.map +1 -1
  103. package/dist/operator/workorder-hooks.js +23 -0
  104. package/dist/operator/workorder-hooks.js.map +1 -1
  105. package/dist/operator/workorder-publishers.d.ts +10 -1
  106. package/dist/operator/workorder-publishers.d.ts.map +1 -1
  107. package/dist/operator/workorder-publishers.js +40 -3
  108. package/dist/operator/workorder-publishers.js.map +1 -1
  109. package/package.json +1 -1
  110. package/public/ui/assets/{index-OSgiwL24.js → index-BDXDGEV6.js} +15 -15
  111. package/public/ui/assets/index-po2tN0xq.css +1 -0
  112. package/public/ui/index.html +2 -2
  113. package/public/ui/assets/index-CKOJQYXA.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"board-slot-instructions.js","sourceRoot":"","sources":["../../src/operator/board-slot-instructions.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAKH,4DAeC;AASD,4EAeC;AAGD,wDAcC;AA3DY,QAAA,gBAAgB,GAAG,CAAC,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAU,CAAC;AAElG,8DAA8D;AAC9D,SAAgB,wBAAwB;IACtC,OAAO;QACL,qGAAqG;QACrG,sFAAsF;QACtF,oIAAoI;QACpI,oEAAoE;QACpE,oGAAoG;QACpG,6DAA6D;QAC7D,6EAA6E;QAC7E,6DAA6D;QAC7D,uGAAuG;QACvG,yDAAyD;QACzD,+GAA+G;QAC/G,iGAAiG;KAClG,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,gCAAgC;IAC9C,OAAO;QACL,oEAAoE;QACpE,qFAAqF;QACrF,sEAAsE;QACtE,2FAA2F;QAC3F,sFAAsF;QACtF,oEAAoE;QACpE,uFAAuF;QACvF,sCAAsC;QACtC,2FAA2F;QAC3F,2EAA2E;QAC3E,sCAAsC;QACtC,wFAAwF;KACzF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,SAAgB,sBAAsB;IACpC,OAAO;QACL,qFAAqF;QACrF,gDAAgD;QAChD,yHAAyH;QACzH,iHAAiH;QACjH,iHAAiH;QACjH,yGAAyG;QACzG,0DAA0D;QAC1D,GAAG,gCAAgC,EAAE;QACrC,GAAG,wBAAwB,EAAE;QAC7B,gGAAgG;QAChG,iFAAiF;KAClF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"board-slot-instructions.js","sourceRoot":"","sources":["../../src/operator/board-slot-instructions.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAKH,4DAiBC;AASD,4EAsBC;AAGD,wDAcC;AApEY,QAAA,gBAAgB,GAAG,CAAC,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAU,CAAC;AAElG,8DAA8D;AAC9D,SAAgB,wBAAwB;IACtC,OAAO;QACL,qGAAqG;QACrG,sFAAsF;QACtF,oIAAoI;QACpI,oEAAoE;QACpE,oGAAoG;QACpG,6DAA6D;QAC7D,6EAA6E;QAC7E,6DAA6D;QAC7D,+FAA+F;QAC/F,yDAAyD;QACzD,0FAA0F;QAC1F,kDAAkD;QAClD,+GAA+G;QAC/G,iGAAiG;KAClG,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,gCAAgC;IAC9C,OAAO;QACL,oEAAoE;QACpE,qFAAqF;QACrF,sEAAsE;QACtE,8GAA8G;QAC9G,sFAAsF;QACtF,4EAA4E;QAC5E,4FAA4F;QAC5F,4FAA4F;QAC5F,kEAAkE;QAClE,0FAA0F;QAC1F,2CAA2C;QAC3C,uDAAuD;QACvD,2EAA2E;QAC3E,8DAA8D;QAC9D,sCAAsC;QACtC,2FAA2F;QAC3F,2EAA2E;QAC3E,sCAAsC;QACtC,wFAAwF;KACzF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,SAAgB,sBAAsB;IACpC,OAAO;QACL,qFAAqF;QACrF,gDAAgD;QAChD,yHAAyH;QACzH,iHAAiH;QACjH,iHAAiH;QACjH,yGAAyG;QACzG,0DAA0D;QAC1D,GAAG,gCAAgC,EAAE;QACrC,GAAG,wBAAwB,EAAE;QAC7B,gGAAgG;QAChG,iFAAiF;KAClF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"briefs.d.ts","sourceRoot":"","sources":["../../src/operator/briefs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMvE,wBAAgB,SAAS,CAAC,OAAO,GAAE,MAAkB,GAAG,MAAM,CAE7D;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,GAAE,MAAkB,GAAG,MAAM,CAElF;AAED,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,GAAE,MAAkB,GAAG,MAAM,GAAG,IAAI,CAIzF;AA6DD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAS7D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,MAAkB,GAAG,aAAa,EAAE,CAgBzE"}
1
+ {"version":3,"file":"briefs.d.ts","sourceRoot":"","sources":["../../src/operator/briefs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOvE,wBAAgB,SAAS,CAAC,OAAO,GAAE,MAAkB,GAAG,MAAM,CAE7D;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,GAAE,MAAkB,GAAG,MAAM,CAElF;AAED,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,GAAE,MAAkB,GAAG,MAAM,GAAG,IAAI,CAIzF;AA6DD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAW7D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,MAAkB,GAAG,aAAa,EAAE,CAgBzE"}
@@ -24,6 +24,7 @@ const task_ledger_js_1 = require("./task-ledger.js");
24
24
  // relocate INTO this file when the persona modules are deleted at cutover.
25
25
  const dashboard_agent_persona_js_1 = require("../multi-agent/dashboard-agent-persona.js");
26
26
  const wiki_agent_persona_js_1 = require("../multi-agent/wiki-agent-persona.js");
27
+ const temporal_worker_js_1 = require("./temporal-worker.js");
27
28
  function briefsDir(homeDir = (0, node_os_1.homedir)()) {
28
29
  return (0, node_path_1.join)(homeDir, '.mama', 'briefs');
29
30
  }
@@ -99,6 +100,8 @@ function buildDefaultBrief(kind) {
99
100
  return `${stripManagedMarker(wiki_agent_persona_js_1.WIKI_AGENT_PERSONA)}\n${WIKI_WORKORDER_CONTRACT}`;
100
101
  case 'memory-curation':
101
102
  return PROMOTION_BRIEF;
103
+ case 'temporal':
104
+ return (0, temporal_worker_js_1.buildTemporalWorkerBrief)();
102
105
  }
103
106
  }
104
107
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"briefs.js","sourceRoot":"","sources":["../../src/operator/briefs.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAWH,8BAEC;AAED,8BAEC;AAGD,8BAIC;AA6DD,8CASC;AASD,oCAgBC;AArHD,qCAAyF;AACzF,qCAAkC;AAClC,yCAAiC;AACjC,qDAAuE;AACvE,2EAA2E;AAC3E,2EAA2E;AAC3E,0FAAoF;AACpF,gFAA0E;AAE1E,SAAgB,SAAS,CAAC,UAAkB,IAAA,iBAAO,GAAE;IACnD,OAAO,IAAA,gBAAI,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,SAAS,CAAC,IAAmB,EAAE,UAAkB,IAAA,iBAAO,GAAE;IACxE,OAAO,IAAA,gBAAI,EAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,IAAI,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,iFAAiF;AACjF,SAAgB,SAAS,CAAC,IAAmB,EAAE,UAAkB,IAAA,iBAAO,GAAE;IACxE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,IAAA,sBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAU,EAAE,CACrD,OAAO,CAAC,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;AAEzD,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBhC,CAAC;AAEF,MAAM,uBAAuB,GAAG;;;;;;CAM/B,CAAC;AAEF,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBvB,CAAC;AAEF,SAAgB,iBAAiB,CAAC,IAAmB;IACnD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,GAAG,kBAAkB,CAAC,oDAAuB,CAAC,KAAK,wBAAwB,EAAE,CAAC;QACvF,KAAK,MAAM;YACT,OAAO,GAAG,kBAAkB,CAAC,0CAAkB,CAAC,KAAK,uBAAuB,EAAE,CAAC;QACjF,KAAK,iBAAiB;YACpB,OAAO,eAAe,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,UAAkB,IAAA,iBAAO,GAAE;IACtD,IAAA,mBAAS,EAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,gCAAe,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;YACtB,oEAAoE;YACpE,2DAA2D;YAC3D,MAAM,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC;YAC9B,IAAA,uBAAa,EAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACzD,IAAA,oBAAU,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"briefs.js","sourceRoot":"","sources":["../../src/operator/briefs.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAYH,8BAEC;AAED,8BAEC;AAGD,8BAIC;AA6DD,8CAWC;AASD,oCAgBC;AAxHD,qCAAyF;AACzF,qCAAkC;AAClC,yCAAiC;AACjC,qDAAuE;AACvE,2EAA2E;AAC3E,2EAA2E;AAC3E,0FAAoF;AACpF,gFAA0E;AAC1E,6DAAgE;AAEhE,SAAgB,SAAS,CAAC,UAAkB,IAAA,iBAAO,GAAE;IACnD,OAAO,IAAA,gBAAI,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,SAAS,CAAC,IAAmB,EAAE,UAAkB,IAAA,iBAAO,GAAE;IACxE,OAAO,IAAA,gBAAI,EAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,IAAI,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,iFAAiF;AACjF,SAAgB,SAAS,CAAC,IAAmB,EAAE,UAAkB,IAAA,iBAAO,GAAE;IACxE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,IAAA,sBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAU,EAAE,CACrD,OAAO,CAAC,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;AAEzD,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBhC,CAAC;AAEF,MAAM,uBAAuB,GAAG;;;;;;CAM/B,CAAC;AAEF,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBvB,CAAC;AAEF,SAAgB,iBAAiB,CAAC,IAAmB;IACnD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,GAAG,kBAAkB,CAAC,oDAAuB,CAAC,KAAK,wBAAwB,EAAE,CAAC;QACvF,KAAK,MAAM;YACT,OAAO,GAAG,kBAAkB,CAAC,0CAAkB,CAAC,KAAK,uBAAuB,EAAE,CAAC;QACjF,KAAK,iBAAiB;YACpB,OAAO,eAAe,CAAC;QACzB,KAAK,UAAU;YACb,OAAO,IAAA,6CAAwB,GAAE,CAAC;IACtC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,UAAkB,IAAA,iBAAO,GAAE;IACtD,IAAA,mBAAS,EAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,gCAAe,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;YACtB,oEAAoE;YACpE,2DAA2D;YAC3D,MAAM,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC;YAC9B,IAAA,uBAAa,EAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACzD,IAAA,oBAAU,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,15 +1,15 @@
1
1
  /**
2
2
  * TaskLedger - the operator-owned native work-item ledger (M8 Task 0.1).
3
3
  *
4
- * Ports the SHAPE of Kagemusha's proven task store (11 columns: id/title/status/
5
- * priority/deadline/source/auto_created/confirmed/timestamps) plus `assignee`
6
- * and an idempotency key. Implements the pre-existing `TaskSource` interface
7
- * (operator-interfaces.ts) so the board projects ONE task model, not two.
4
+ * Extends the shape of Kagemusha's proven task store with assignment,
5
+ * idempotency, temporal scheduling, durable generation, effect receipt, and
6
+ * workorder state. Implements the pre-existing `TaskSource` interface
7
+ * (operator-interfaces.ts) so the board projects one task model, not two.
8
8
  *
9
9
  * Reconcile runs create/update rows through the task_create/task_update gateway
10
10
  * tools; the pipeline board slot is a projection of `list({order:
11
- * 'deadline_priority'})`. The AGENT makes every judgment about what becomes a
12
- * task; this store only persists.
11
+ * 'deadline_priority'})`. The agent proposes task changes, while this ledger
12
+ * enforces revisions, temporal ownership, idempotency, and atomic receipts.
13
13
  *
14
14
  * Schema-extension note: CREATE TABLE IF NOT EXISTS is a no-op on existing
15
15
  * tables. Any post-ship column addition needs an explicit ALTER TABLE guarded
@@ -20,14 +20,17 @@
20
20
  */
21
21
  import type { SQLiteDatabase } from '../sqlite.js';
22
22
  import type { OperatorTask, TaskSource } from './operator-interfaces.js';
23
+ import { type TemporalEffectReceipt, type TemporalEvidenceAttestation, type TemporalReconcileInput, type TemporalWorkContext } from './temporal-effect.js';
24
+ import { type TemporalState } from './task-temporal.js';
23
25
  export declare const TASK_STATUSES: readonly ["pending", "in_progress", "review", "blocked", "done", "cancelled", "failed"];
24
26
  export type TaskStatus = (typeof TASK_STATUSES)[number];
25
27
  export declare const TASK_PRIORITIES: readonly ["high", "normal", "low"];
26
28
  export type TaskPriority = (typeof TASK_PRIORITIES)[number];
27
29
  export declare const TASK_KINDS: readonly ["owner", "system"];
28
30
  export type TaskKind = (typeof TASK_KINDS)[number];
29
- export declare const WORKORDER_KINDS: readonly ["board", "wiki", "memory-curation"];
31
+ export declare const WORKORDER_KINDS: readonly ["board", "wiki", "memory-curation", "temporal"];
30
32
  export type WorkOrderKind = (typeof WORKORDER_KINDS)[number];
33
+ export declare const TEMPORAL_WORKORDER_MAX_ATTEMPTS = 3;
31
34
  /** source_channel namespace for workorder rows: 'workorder:<workKind>'. */
32
35
  export declare const WORKORDER_CHANNEL_PREFIX = "workorder:";
33
36
  export interface EnqueueWorkOrderInput {
@@ -38,6 +41,16 @@ export interface EnqueueWorkOrderInput {
38
41
  input: Record<string, unknown>;
39
42
  priority?: TaskPriority;
40
43
  }
44
+ export interface EnqueueTemporalGenerationInput {
45
+ generationKey: string;
46
+ taskId: number;
47
+ temporalEpoch: number;
48
+ occurrenceKey: string;
49
+ checkAt: number;
50
+ sourceChannel: string | null;
51
+ sourceEventId: string | null;
52
+ priority?: TaskPriority;
53
+ }
41
54
  export interface WorkOrderRecord {
42
55
  id: number;
43
56
  workKind: WorkOrderKind;
@@ -64,7 +77,59 @@ export interface TaskRecord extends OperatorTask {
64
77
  latestEvent: string | null;
65
78
  autoCreated: boolean;
66
79
  confirmed: boolean;
80
+ dueAt: number | null;
81
+ deadlineOffsetMinutes: number | null;
82
+ revision: number;
83
+ temporalEpoch: number;
84
+ temporalReconciledOccurrenceKey: string | null;
85
+ lastTemporalCheckedAt: number | null;
86
+ nextTemporalCheckAt: number | null;
87
+ lastTemporalAttemptId: number | null;
88
+ temporalState: TemporalState;
89
+ }
90
+ export interface TaskLedgerOptions {
91
+ now?: () => number;
92
+ timeZone?: string;
93
+ }
94
+ export type TemporalGenerationDisposition = 'active' | 'resolved' | 'final_no_update' | 'deferred' | 'exhausted' | 'superseded';
95
+ export interface TemporalGenerationRecord {
96
+ generationKey: string;
97
+ taskId: number;
98
+ temporalEpoch: number;
99
+ occurrenceKey: string;
100
+ checkAt: number;
101
+ disposition: TemporalGenerationDisposition;
102
+ lastWorkOrderId: number | null;
103
+ reason: string | null;
104
+ createdAt: number;
105
+ updatedAt: number;
106
+ }
107
+ export type { TemporalWorkContext } from './temporal-effect.js';
108
+ export interface TemporalGenerationEnqueueResult {
109
+ generation: TemporalGenerationRecord;
110
+ workOrder: WorkOrderRecord;
111
+ created: boolean;
67
112
  }
113
+ /** Authoritative terminal-arbitration view for one temporal attempt. */
114
+ export interface TemporalAttemptState {
115
+ workOrder: WorkOrderRecord;
116
+ generation: TemporalGenerationRecord;
117
+ receipt: TemporalEffectReceipt | null;
118
+ }
119
+ export type TemporalWorkFailureResult = {
120
+ disposition: 'requeued';
121
+ replacement: WorkOrderRecord;
122
+ attempt: number;
123
+ maxAttempts: number;
124
+ } | {
125
+ disposition: 'exhausted';
126
+ attempt: number;
127
+ maxAttempts: number;
128
+ } | {
129
+ disposition: 'superseded';
130
+ attempt: number;
131
+ maxAttempts: number;
132
+ };
68
133
  export interface CreateTaskInput {
69
134
  title: string;
70
135
  status?: TaskStatus;
@@ -72,6 +137,8 @@ export interface CreateTaskInput {
72
137
  assignee?: string;
73
138
  /** ISO YYYY-MM-DD */
74
139
  deadline?: string;
140
+ /** RFC 3339 with an explicit Z or numeric offset. */
141
+ due_at?: string;
75
142
  /** channelKey: "<connector>:<channelId>" */
76
143
  source_channel?: string;
77
144
  /** Idempotency key from the connector event; duplicate (channel, event) UPSERTS. */
@@ -84,6 +151,8 @@ export interface UpdateTaskInput {
84
151
  priority?: TaskPriority;
85
152
  assignee?: string | null;
86
153
  deadline?: string | null;
154
+ /** RFC 3339 with an explicit Z or numeric offset. */
155
+ due_at?: string | null;
87
156
  latest_event?: string;
88
157
  confirmed?: boolean;
89
158
  title?: string;
@@ -98,7 +167,10 @@ export interface ListTasksFilter {
98
167
  }
99
168
  export declare class TaskLedger implements TaskSource {
100
169
  private db;
101
- constructor(db: SQLiteDatabase);
170
+ private now;
171
+ private timeZone;
172
+ constructor(db: SQLiteDatabase, options?: TaskLedgerOptions);
173
+ private toRecord;
102
174
  private runMigration;
103
175
  /** Full current column set - single source for CREATE and the rebuild copy. */
104
176
  private static readonly TABLE_COLUMNS_SQL;
@@ -114,6 +186,11 @@ export declare class TaskLedger implements TaskSource {
114
186
  getTasks(): OperatorTask[];
115
187
  countOpenUnconfirmed(): number;
116
188
  list(filter?: ListTasksFilter): TaskRecord[];
189
+ /** Internal bounded page for temporal reconciliation; excludes rows that can never be candidates. */
190
+ listTemporalScanPage(input: {
191
+ limit: number;
192
+ afterId: number;
193
+ }): TaskRecord[];
117
194
  /** Owner rows only - system workorder rows are invisible to external reads. */
118
195
  getById(id: number): TaskRecord | null;
119
196
  /** Internal fetch without the kind filter (guards and workorder paths). */
@@ -125,6 +202,8 @@ export declare class TaskLedger implements TaskSource {
125
202
  */
126
203
  create(input: CreateTaskInput): TaskRecord;
127
204
  update(id: number, patch: UpdateTaskInput): TaskRecord;
205
+ private supersedeTemporalGenerationsInTransaction;
206
+ private supersedeAllActiveTemporalGenerationsInTransaction;
128
207
  /**
129
208
  * Stable hash over ordered OWNER rows - the Phase-2 verifier's ledger
130
209
  * snapshot. kind filter keeps concurrent system enqueues from shaking the
@@ -137,6 +216,50 @@ export declare class TaskLedger implements TaskSource {
137
216
  * unique index excludes terminal statuses) and a fresh row is inserted.
138
217
  */
139
218
  enqueueWorkOrder(order: EnqueueWorkOrderInput): WorkOrderRecord;
219
+ private insertWorkOrder;
220
+ enqueueTemporalGeneration(input: EnqueueTemporalGenerationInput): TemporalGenerationEnqueueResult;
221
+ getTemporalGeneration(generationKey: string): TemporalGenerationRecord | null;
222
+ loadTemporalWorkContext(attemptId: number): TemporalWorkContext;
223
+ assertTemporalWorkContextActive(suppliedContext: TemporalWorkContext): TemporalWorkContext;
224
+ getTemporalEffect(attemptId: number): TemporalEffectReceipt | null;
225
+ /**
226
+ * Read and validate the durable state that decides a temporal attempt's
227
+ * terminal outcome. This intentionally does not require an active attempt:
228
+ * consumers must be able to arbitrate committed, superseded, and exhausted
229
+ * attempts after runner/auditor failures and daemon restarts.
230
+ */
231
+ inspectTemporalAttempt(attemptId: number): TemporalAttemptState;
232
+ applyTemporalEffect(suppliedContext: TemporalWorkContext, input: TemporalReconcileInput, evidence: TemporalEvidenceAttestation, now?: number): TemporalEffectReceipt;
233
+ requeueTemporalWorkOrder(attemptId: number, reason: string): WorkOrderRecord;
234
+ exhaustTemporalWorkOrder(attemptId: number, reason: string): void;
235
+ failTemporalWorkOrder(attemptId: number, reason: string): TemporalWorkFailureResult;
236
+ private repairClosedTemporalOwnershipInTransaction;
237
+ /** Repair pre-fix databases where a terminal owner still has active temporal ownership. */
238
+ repairClosedTemporalGenerations(): number;
239
+ /** Control-plane pause: cancel open attempts but keep generations resumable. */
240
+ pauseActiveTemporalWork(reason: string): number;
241
+ /** Resume paused active generations without spending another model attempt. */
242
+ resumePausedTemporalWork(): WorkOrderRecord[];
243
+ private requeueTemporalWorkOrderInTransaction;
244
+ private exhaustTemporalWorkOrderInTransaction;
245
+ supersedeTemporalGenerations(taskId: number, currentEpoch: number, excludeGenerationKey?: string): void;
246
+ private validateTemporalGenerationInput;
247
+ /**
248
+ * Workorder payloads carry only bounded references to owner-source identifiers.
249
+ * Owner rows created by older releases may contain empty or arbitrarily long
250
+ * connector identifiers; hashing preserves exact identity without making one
251
+ * legacy row able to abort temporal boot or inflate every retry payload.
252
+ */
253
+ private temporalSourceIdentifierRef;
254
+ private validateTemporalEffectInput;
255
+ private assertTemporalContextMatches;
256
+ private loadTemporalWorkContextInternal;
257
+ private assertTemporalPayloadMatches;
258
+ private requirePayloadString;
259
+ private requireNullablePayloadString;
260
+ private requirePayloadInteger;
261
+ private assertTemporalReason;
262
+ private temporalAuditText;
140
263
  /**
141
264
  * Claim the next pending workorder: priority high>normal>low, then id ASC
142
265
  * (plan D2/E2 - CASE mapping, never lexicographic on the TEXT enum).
@@ -154,6 +277,8 @@ export declare class TaskLedger implements TaskSource {
154
277
  completeWorkOrder(id: number): void;
155
278
  failWorkOrder(id: number, reason: string): void;
156
279
  countPendingWorkOrders(): number;
280
+ countOpenWorkOrders(kind?: WorkOrderKind): number;
281
+ findTemporalGenerationKeys(generationKeys: readonly string[]): Set<string>;
157
282
  /** In-progress system rows at boot = crash artifacts (single serial consumer). */
158
283
  listStaleClaims(): WorkOrderRecord[];
159
284
  /**
@@ -178,6 +303,7 @@ export declare class TaskLedger implements TaskSource {
178
303
  recordNoUpdate(scope: string, reason: string): {
179
304
  id: number;
180
305
  };
306
+ private insertNoUpdateNote;
181
307
  /** Max no-update note id, optionally scoped - the verifier's note snapshot. */
182
308
  maxNoUpdateId(scope?: string): number;
183
309
  }
@@ -1 +1 @@
1
- {"version":3,"file":"task-ledger.d.ts","sourceRoot":"","sources":["../../src/operator/task-ledger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEzE,eAAO,MAAM,aAAa,yFAUhB,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,eAAO,MAAM,eAAe,oCAAqC,CAAC;AAClE,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,eAAO,MAAM,UAAU,8BAA+B,CAAC;AACvD,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,eAAO,MAAM,eAAe,+CAAgD,CAAC;AAC7E,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,2EAA2E;AAC3E,eAAO,MAAM,wBAAwB,eAAe,CAAC;AAErD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,aAAa,CAAC;IACxB,gFAAgF;IAChF,cAAc,EAAE,MAAM,CAAC;IACvB,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,+FAA+F;AAC/F,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,wFAAwF;IACxF,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oFAAoF;IACpF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,KAAK,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACzC;AAoED,qBAAa,UAAW,YAAW,UAAU;IAC3C,OAAO,CAAC,EAAE,CAAiB;gBAEf,EAAE,EAAE,cAAc;IAK9B,OAAO,CAAC,YAAY;IAoBpB,+EAA+E;IAC/E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAgBN;IAKnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAMsD;IAEzF;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAsErB,mEAAmE;IACnE,QAAQ,IAAI,YAAY,EAAE;IAI1B,oBAAoB,IAAI,MAAM;IAc9B,IAAI,CAAC,MAAM,GAAE,eAAoB,GAAG,UAAU,EAAE;IAsChD,+EAA+E;IAC/E,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAKtC,2EAA2E;IAC3E,OAAO,CAAC,UAAU;IAOlB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU;IAsE1C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,UAAU;IAwCtD;;;;OAIG;IACH,WAAW,IAAI,MAAM;IAerB;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,eAAe;IA6C/D;;;;OAIG;IACH,kBAAkB,IAAI,eAAe,GAAG,IAAI;IA6B5C;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe;IAkBtE,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAInC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/C,sBAAsB,IAAI,MAAM;IAShC,kFAAkF;IAClF,eAAe,IAAI,eAAe,EAAE;IAOpC;;;;;OAKG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,aAAa,EAAE,GAAG,MAAM;IAqBzE,uDAAuD;IACvD,cAAc,IAAI,KAAK,CAAC;QACtB,QAAQ,EAAE,aAAa,CAAC;QACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;QAC9B,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;KAClC,CAAC;IAiCF,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,cAAc;IAmCtB,yFAAyF;IACzF,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE;IAU7D,+EAA+E;IAC/E,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;CAUtC"}
1
+ {"version":3,"file":"task-ledger.d.ts","sourceRoot":"","sources":["../../src/operator/task-ledger.ts"],"names":[],"mappings":"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"}