@jungjaehoon/mama-os 0.36.0 → 0.36.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/agent-loop.d.ts +2 -1
- package/dist/agent/agent-loop.d.ts.map +1 -1
- package/dist/agent/agent-loop.js.map +1 -1
- package/dist/agent/code-act/host-bridge.d.ts.map +1 -1
- package/dist/agent/code-act/host-bridge.js +25 -2
- package/dist/agent/code-act/host-bridge.js.map +1 -1
- package/dist/agent/code-act/type-definition-generator.d.ts.map +1 -1
- package/dist/agent/code-act/type-definition-generator.js +3 -1
- package/dist/agent/code-act/type-definition-generator.js.map +1 -1
- package/dist/agent/context-compile-service.d.ts +2 -0
- package/dist/agent/context-compile-service.d.ts.map +1 -1
- package/dist/agent/context-compile-service.js +1 -1
- package/dist/agent/context-compile-service.js.map +1 -1
- package/dist/agent/gateway-tool-executor.d.ts +5 -4
- package/dist/agent/gateway-tool-executor.d.ts.map +1 -1
- package/dist/agent/gateway-tool-executor.js +66 -20
- package/dist/agent/gateway-tool-executor.js.map +1 -1
- package/dist/api/report-handler.d.ts +9 -5
- package/dist/api/report-handler.d.ts.map +1 -1
- package/dist/api/report-handler.js +26 -13
- package/dist/api/report-handler.js.map +1 -1
- package/dist/api/report-persistence.d.ts.map +1 -1
- package/dist/api/report-persistence.js +6 -3
- package/dist/api/report-persistence.js.map +1 -1
- package/dist/api/runtime-status-handler.d.ts +1 -0
- package/dist/api/runtime-status-handler.d.ts.map +1 -1
- package/dist/api/runtime-status-handler.js +1 -0
- package/dist/api/runtime-status-handler.js.map +1 -1
- package/dist/cli/commands/start.d.ts +14 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +69 -47
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/status.d.ts +6 -0
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +89 -0
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/index.js +2 -15
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/runtime/api-routes-init.d.ts +7 -1
- package/dist/cli/runtime/api-routes-init.d.ts.map +1 -1
- package/dist/cli/runtime/api-routes-init.js +104 -29
- package/dist/cli/runtime/api-routes-init.js.map +1 -1
- package/dist/cli/runtime/api-server-init.d.ts.map +1 -1
- package/dist/cli/runtime/api-server-init.js +3 -0
- package/dist/cli/runtime/api-server-init.js.map +1 -1
- package/dist/operator/action-verifier.d.ts +2 -0
- package/dist/operator/action-verifier.d.ts.map +1 -1
- package/dist/operator/action-verifier.js +3 -2
- package/dist/operator/action-verifier.js.map +1 -1
- package/dist/operator/board-reconcile.d.ts +2 -2
- package/dist/operator/board-reconcile.d.ts.map +1 -1
- package/dist/operator/board-reconcile.js +10 -2
- package/dist/operator/board-reconcile.js.map +1 -1
- package/dist/operator/board-refresh-gate.d.ts +34 -0
- package/dist/operator/board-refresh-gate.d.ts.map +1 -0
- package/dist/operator/board-refresh-gate.js +82 -0
- package/dist/operator/board-refresh-gate.js.map +1 -0
- package/dist/operator/briefs.d.ts.map +1 -1
- package/dist/operator/briefs.js +92 -4
- package/dist/operator/briefs.js.map +1 -1
- package/dist/operator/workorder-hooks.d.ts +14 -0
- package/dist/operator/workorder-hooks.d.ts.map +1 -1
- package/dist/operator/workorder-hooks.js +64 -0
- package/dist/operator/workorder-hooks.js.map +1 -1
- package/dist/operator/workorder-publishers.d.ts +10 -0
- package/dist/operator/workorder-publishers.d.ts.map +1 -1
- package/dist/operator/workorder-publishers.js +39 -8
- package/dist/operator/workorder-publishers.js.map +1 -1
- package/dist/package-version.d.ts +3 -0
- package/dist/package-version.d.ts.map +1 -0
- package/dist/package-version.js +18 -0
- package/dist/package-version.js.map +1 -0
- package/package.json +2 -2
- package/public/viewer/js/modules/system.js +1 -0
- package/public/viewer/src/modules/system.ts +2 -0
|
@@ -5,11 +5,14 @@ exports.broadcastReportUpdate = broadcastReportUpdate;
|
|
|
5
5
|
exports.createReportPublisher = createReportPublisher;
|
|
6
6
|
exports.createReportRouter = createReportRouter;
|
|
7
7
|
const express_1 = require("express");
|
|
8
|
+
const debug_logger_1 = require("@jungjaehoon/mama-core/debug-logger");
|
|
9
|
+
const reportLogger = new debug_logger_1.DebugLogger('Report');
|
|
8
10
|
function createReportStore() {
|
|
9
11
|
const slots = new Map();
|
|
10
12
|
return {
|
|
11
13
|
get(slotId) {
|
|
12
|
-
|
|
14
|
+
const slot = slots.get(slotId);
|
|
15
|
+
return slot ? { ...slot } : undefined;
|
|
13
16
|
},
|
|
14
17
|
update(slotId, html, priority) {
|
|
15
18
|
slots.set(slotId, {
|
|
@@ -25,12 +28,12 @@ function createReportStore() {
|
|
|
25
28
|
getAll() {
|
|
26
29
|
const result = {};
|
|
27
30
|
for (const [key, value] of slots) {
|
|
28
|
-
result[key] = value;
|
|
31
|
+
result[key] = { ...value };
|
|
29
32
|
}
|
|
30
33
|
return result;
|
|
31
34
|
},
|
|
32
35
|
getAllSorted() {
|
|
33
|
-
return Array.from(slots.values()).sort((a, b) => a.priority - b.priority);
|
|
36
|
+
return Array.from(slots.values(), (slot) => ({ ...slot })).sort((a, b) => a.priority - b.priority);
|
|
34
37
|
},
|
|
35
38
|
};
|
|
36
39
|
}
|
|
@@ -46,10 +49,10 @@ function broadcastReportUpdate(clients, data) {
|
|
|
46
49
|
const MAX_SLOT_BYTES = 65_536;
|
|
47
50
|
const MAX_SLOTS_PER_PUBLISH = 24;
|
|
48
51
|
/**
|
|
49
|
-
* The single write path for agent/heartbeat report publishing:
|
|
50
|
-
* (any slot id -- the board renders known slots first, then custom),
|
|
51
|
-
* one full snapshot. Oversized slots are skipped
|
|
52
|
-
* silently (observability over restriction).
|
|
52
|
+
* The single write path for agent/heartbeat report publishing: accept every valid slot
|
|
53
|
+
* (any slot id -- the board renders known slots first, then custom), persist changed HTML,
|
|
54
|
+
* and broadcast one full snapshot only when something changed. Oversized slots are skipped
|
|
55
|
+
* LOUDLY, never truncated silently (observability over restriction).
|
|
53
56
|
*/
|
|
54
57
|
function createReportPublisher(store, sseClients) {
|
|
55
58
|
return (slots) => {
|
|
@@ -57,19 +60,29 @@ function createReportPublisher(store, sseClients) {
|
|
|
57
60
|
if (entries.length > MAX_SLOTS_PER_PUBLISH) {
|
|
58
61
|
console.warn(`[Report] publish carried ${entries.length} slots; keeping the first ${MAX_SLOTS_PER_PUBLISH}`);
|
|
59
62
|
}
|
|
60
|
-
const
|
|
63
|
+
const accepted = [];
|
|
64
|
+
const changed = [];
|
|
61
65
|
for (const [slotId, html] of entries.slice(0, MAX_SLOTS_PER_PUBLISH)) {
|
|
62
66
|
if (Buffer.byteLength(html, 'utf-8') > MAX_SLOT_BYTES) {
|
|
63
67
|
console.warn(`[Report] slot '${slotId}' exceeds ${MAX_SLOT_BYTES} bytes -- skipped`);
|
|
64
68
|
continue;
|
|
65
69
|
}
|
|
66
|
-
|
|
67
|
-
|
|
70
|
+
accepted.push(slotId);
|
|
71
|
+
const existing = store.get(slotId);
|
|
72
|
+
if (existing?.html === html) {
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
store.update(slotId, html, existing?.priority ?? 0);
|
|
76
|
+
changed.push(slotId);
|
|
68
77
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
78
|
+
if (changed.length > 0) {
|
|
79
|
+
broadcastReportUpdate(sseClients, { slots: store.getAllSorted() });
|
|
80
|
+
reportLogger.info(`published slots: ${changed.join(', ')}`);
|
|
72
81
|
}
|
|
82
|
+
return {
|
|
83
|
+
acceptedSlotIds: accepted.sort(),
|
|
84
|
+
changedSlotIds: changed.sort(),
|
|
85
|
+
};
|
|
73
86
|
};
|
|
74
87
|
}
|
|
75
88
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report-handler.js","sourceRoot":"","sources":["../../src/api/report-handler.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"report-handler.js","sourceRoot":"","sources":["../../src/api/report-handler.ts"],"names":[],"mappings":";;AA0BA,8CAoCC;AAKD,sDAQC;AAWD,sDAmCC;AAKD,gDAoDC;AAlLD,qCAA8D;AAE9D,sEAAkE;AAElE,MAAM,YAAY,GAAG,IAAI,0BAAW,CAAC,QAAQ,CAAC,CAAC;AAsB/C,SAAgB,iBAAiB;IAC/B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE5C,OAAO;QACL,GAAG,CAAC,MAAc;YAChB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACxC,CAAC;QAED,MAAM,CAAC,MAAc,EAAE,IAAY,EAAE,QAAgB;YACnD,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE;gBAChB,MAAM;gBACN,IAAI;gBACJ,QAAQ;gBACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,MAAc;YACnB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAED,MAAM;YACJ,MAAM,MAAM,GAA+B,EAAE,CAAC;YAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;gBACjC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;YAC7B,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,YAAY;YACV,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAC7D,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAClC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CACnC,OAA4B,EAC5B,IAA6B;IAE7B,MAAM,OAAO,GAAG,+BAA+B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,cAAc,GAAG,MAAM,CAAC;AAC9B,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC;;;;;GAKG;AACH,SAAgB,qBAAqB,CACnC,KAAkB,EAClB,UAA+B;IAE/B,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,OAAO,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CACV,4BAA4B,OAAO,CAAC,MAAM,6BAA6B,qBAAqB,EAAE,CAC/F,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,EAAE,CAAC;YACrE,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,cAAc,EAAE,CAAC;gBACtD,OAAO,CAAC,IAAI,CAAC,kBAAkB,MAAM,aAAa,cAAc,mBAAmB,CAAC,CAAC;gBACrF,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,QAAQ,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC5B,SAAS;YACX,CAAC;YACD,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,qBAAqB,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACnE,YAAY,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO;YACL,eAAe,EAAE,QAAQ,CAAC,IAAI,EAAE;YAChC,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE;SAC/B,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,KAAkB,EAAE,UAA+B;IACpF,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IAExB,4CAA4C;IAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QAC/C,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,2BAA2B;IAC3B,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACpD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QACnD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC1C,GAAG,CAAC,YAAY,EAAE,CAAC;QAEnB,MAAM,GAAG,GAAG,GAAgC,CAAC;QAC7C,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEpB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,sBAAsB;IACtB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAuE,CAAC;QACzF,MAAM,QAAQ,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC;QACD,qBAAqB,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,qCAAqC;IACrC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAgC,EAAE,GAAa,EAAE,EAAE;QAC/E,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAgB,CAAC;QAC3C,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,IAA2C,CAAC;QAC/E,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,qBAAqB,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,wCAAwC;IACxC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,GAAgC,EAAE,GAAa,EAAE,EAAE;QAClF,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAgB,CAAC;QAC3C,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrB,qBAAqB,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report-persistence.d.ts","sourceRoot":"","sources":["../../src/api/report-persistence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAkBnE,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"report-persistence.d.ts","sourceRoot":"","sources":["../../src/api/report-persistence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAkBnE,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,CA6DnF"}
|
|
@@ -75,7 +75,10 @@ function createPersistentReportStore(opts) {
|
|
|
75
75
|
writeTimer.unref?.();
|
|
76
76
|
};
|
|
77
77
|
return {
|
|
78
|
-
get: (slotId) =>
|
|
78
|
+
get: (slotId) => {
|
|
79
|
+
const slot = slots.get(slotId);
|
|
80
|
+
return slot ? { ...slot } : undefined;
|
|
81
|
+
},
|
|
79
82
|
update(slotId, html, priority) {
|
|
80
83
|
slots.set(slotId, { slotId, html, priority, updatedAt: Date.now() });
|
|
81
84
|
scheduleWrite();
|
|
@@ -84,8 +87,8 @@ function createPersistentReportStore(opts) {
|
|
|
84
87
|
slots.delete(slotId);
|
|
85
88
|
scheduleWrite();
|
|
86
89
|
},
|
|
87
|
-
getAll: () => Object.fromEntries(slots),
|
|
88
|
-
getAllSorted: () => Array.from(slots.values()).sort((a, b) => a.priority - b.priority),
|
|
90
|
+
getAll: () => Object.fromEntries(Array.from(slots, ([slotId, slot]) => [slotId, { ...slot }])),
|
|
91
|
+
getAllSorted: () => Array.from(slots.values(), (slot) => ({ ...slot })).sort((a, b) => a.priority - b.priority),
|
|
89
92
|
};
|
|
90
93
|
}
|
|
91
94
|
//# sourceMappingURL=report-persistence.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report-persistence.js","sourceRoot":"","sources":["../../src/api/report-persistence.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAsBH,
|
|
1
|
+
{"version":3,"file":"report-persistence.js","sourceRoot":"","sources":["../../src/api/report-persistence.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-status-handler.d.ts","sourceRoot":"","sources":["../../src/api/runtime-status-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,cAAc,GAAG,SAAS,CAAC;AAE7E,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,qBAAqB,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjD,UAAU,EAAE,sBAAsB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;CAC/C;
|
|
1
|
+
{"version":3,"file":"runtime-status-handler.d.ts","sourceRoot":"","sources":["../../src/api/runtime-status-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,cAAc,GAAG,SAAS,CAAC;AAE7E,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,qBAAqB,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjD,UAAU,EAAE,sBAAsB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;CAC/C;AAwBD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,GAAG,MAAM,CAiBrF"}
|
|
@@ -22,6 +22,7 @@ const auth_middleware_js_1 = require("./auth-middleware.js");
|
|
|
22
22
|
function serializeSnapshot(snapshot) {
|
|
23
23
|
return {
|
|
24
24
|
running: snapshot.running,
|
|
25
|
+
version: snapshot.version,
|
|
25
26
|
backend: snapshot.backend,
|
|
26
27
|
model: snapshot.model,
|
|
27
28
|
startedAt: snapshot.startedAt,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-status-handler.js","sourceRoot":"","sources":["../../src/api/runtime-status-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;
|
|
1
|
+
{"version":3,"file":"runtime-status-handler.js","sourceRoot":"","sources":["../../src/api/runtime-status-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAwDH,8DAiBC;AAvED,qCAAiC;AACjC,6DAAmD;AA+BnD;;;GAGG;AACH,SAAS,iBAAiB,CAAC,QAA+B;IACxD,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACrB,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;YAClE,CAAC,CAAC,IAAI;QACR,UAAU,EAAE,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC1D,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAgB,yBAAyB,CAAC,OAAmC;IAC3E,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IAExB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,gCAAW,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QAC/C,IAAI,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,4BAA4B;gBAClC,OAAO,EAAE,gCAAgC;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -16,7 +16,8 @@ import { type PrivateConnectorPolicy } from '../../connectors/private-connector-
|
|
|
16
16
|
import { type MemoryScopeRef } from '../../memory/scope-context.js';
|
|
17
17
|
import { type AgentPersonaConfig } from '../config/types.js';
|
|
18
18
|
import type { DBManagerAdapter as DatabaseAdapter } from '@jungjaehoon/mama-core';
|
|
19
|
-
import { type WorkOrderKind } from '../../operator/task-ledger.js';
|
|
19
|
+
import { TaskLedger, type WorkOrderKind } from '../../operator/task-ledger.js';
|
|
20
|
+
import { BoardRefreshGate } from '../../operator/board-refresh-gate.js';
|
|
20
21
|
import { type OwnerBackfillRegistry } from '../runtime/owner-backfill.js';
|
|
21
22
|
type RuntimeBackend = 'claude' | 'codex' | 'cline';
|
|
22
23
|
type CorePrincipalRegistry = OwnerBackfillRegistry & PrincipalRepository;
|
|
@@ -225,6 +226,18 @@ export declare function buildSystemAgentProcessDefaults(config: {
|
|
|
225
226
|
}): {
|
|
226
227
|
dangerouslySkipPermissions: boolean;
|
|
227
228
|
};
|
|
229
|
+
export interface OwnerWorkOrderRequestHandlerDeps {
|
|
230
|
+
taskLedger: TaskLedger;
|
|
231
|
+
boardRefreshGate: BoardRefreshGate | null;
|
|
232
|
+
now?: () => number;
|
|
233
|
+
log?: (line: string) => void;
|
|
234
|
+
logError?: (line: string, detail: unknown) => void;
|
|
235
|
+
}
|
|
236
|
+
/** Build the enqueue-and-ack handler shared by direct owner and conductor requests. */
|
|
237
|
+
export declare function buildOwnerWorkOrderRequestHandler(deps: OwnerWorkOrderRequestHandlerDeps): (kind: 'board' | 'wiki' | 'memory-curation', causeEventIds?: readonly string[]) => {
|
|
238
|
+
accepted: boolean;
|
|
239
|
+
reason?: string;
|
|
240
|
+
};
|
|
228
241
|
/**
|
|
229
242
|
* Execute start command
|
|
230
243
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,UAAU,EAMX,MAAM,6BAA6B,CAAC;AAOrC,OAAO,KAAK,EACV,YAAY,EACZ,2BAA2B,EAC3B,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AASrE,OAAO,KAAK,EACV,uBAAuB,EACvB,aAAa,EAEd,MAAM,8BAA8B,CAAC;AA2BtC,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAWlF,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,8CAA8C,CAAC;AAGtD,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACxF,OAAO,EAGL,KAAK,kBAAkB,EAExB,MAAM,oBAAoB,CAAC;AAU5B,OAAO,KAAK,EAAE,gBAAgB,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGlF,OAAO,
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,UAAU,EAMX,MAAM,6BAA6B,CAAC;AAOrC,OAAO,KAAK,EACV,YAAY,EACZ,2BAA2B,EAC3B,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AASrE,OAAO,KAAK,EACV,uBAAuB,EACvB,aAAa,EAEd,MAAM,8BAA8B,CAAC;AA2BtC,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAWlF,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,8CAA8C,CAAC;AAGtD,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACxF,OAAO,EAGL,KAAK,kBAAkB,EAExB,MAAM,oBAAoB,CAAC;AAU5B,OAAO,KAAK,EAAE,gBAAgB,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGlF,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAuBxE,OAAO,EAAyB,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAajG,KAAK,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAOnD,KAAK,qBAAqB,GAAG,qBAAqB,GAAG,mBAAmB,CAAC;AAEzE,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,eAAe,GAAG,qBAAqB,CAK3F;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,eAAe,GAAG,iBAAiB,CAGvF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAKpE;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAM/F;AAED,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAAE,EAC7D,kBAAkB,GAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAM,GAChF,aAAa,GAAG;IAAE,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE,CAAA;CAAE,CAmBnF;AAuFD,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,uBAAuB,GAAG,SAAS,EACnD,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,SAAS,GACtD;IAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAWtD;AAED,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,uBAAuB,GAAG,SAAS,EACnD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,GAAG,SAAS,EAClE,cAAc,EAAE,MAAM,GACrB;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAyBA;AAED,wBAAgB,2BAA2B,CACzC,qBAAqB,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GACnD,MAAM,EAAE,CAEV;AAiCD;;;;;;;;;GASG;AACH;;;;;;GAMG;AACH;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,cAAc,GACf,EAAE;IACD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,GAAG,MAAM,EAAE,CAaX;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAKnE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/D,sBAAsB,EAAE,sBAAsB,CAAC;CAChD,GAAG;IACF,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,oBAAoB,EAAE,KAAK,EAAE,CAAC;CAC/B,CAsCA;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE;IAAE,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK;QAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE,EAC7E,MAAM,EAAE,MAAM,GACb;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAS/C;AAyBD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;CAsC2B,CAAC;AAEhE;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,2BAA2B;;;CAsBA,CAAC;AAEzC,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,sBAAsB,CAAC;CAC/C;AAqCD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;CAaM,CAAC;AAEzC,4EAA4E;AAC5E,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,cAAc,EACvB,sBAAsB,EAAE,sBAAsB,GAC7C,oBAAoB,CAoCtB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,IAAI,CAAC,OAAO,oBAAoB,EAAE,UAAU,EAAE,WAAW,CAAC,GACjE,OAAO,oBAAoB,EAAE,eAAe,CAiB9C;AAED;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,cAAc,EACvB,sBAAsB,EAAE,sBAAsB,GAC7C,oBAAoB,CAiCtB;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,cAAc,EACvB,sBAAsB,EAAE,sBAAsB,EAC9C,iBAAiB,EAAE,SAAS,MAAM,EAAE,GACnC,oBAAoB,CA6CtB;AAED,KAAK,sBAAsB,GAAG,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AAE/D,KAAK,0BAA0B,GAAG;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;CACvC,CAAC;AAEF,MAAM,WAAW,4BAA4B;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,sBAAsB,EAC/B,gBAAgB,EAAE,2BAA2B,GAAG,IAAI,EACpD,OAAO,EAAE,4BAA4B,GACpC;IAAE,gBAAgB,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAoBrF;AAgBD,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,sBAAsB,EAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,MAAM,EAAE,0BAA0B,GACjC,IAAI,CASN;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,sBAAsB,EAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,KAAK,EAAE,OAAO,GACb,IAAI,CAKN;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE;IACtD,WAAW,CAAC,EAAE;QAAE,0BAA0B,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACxD,GAAG;IAAE,0BAA0B,EAAE,OAAO,CAAA;CAAE,CAI1C;AAID,MAAM,WAAW,gCAAgC;IAC/C,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC1C,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACpD;AAED,uFAAuF;AACvF,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,gCAAgC,GACrC,CACD,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,iBAAiB,EAC1C,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,KAC9B;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAwD1C;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2G5E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,EAC9C,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GACtC,OAAO,CAAC,IAAI,CAAC,CAuzCf"}
|
|
@@ -66,6 +66,7 @@ exports.bindCodeActParentModelRun = bindCodeActParentModelRun;
|
|
|
66
66
|
exports.finalizeCodeActParentModelRun = finalizeCodeActParentModelRun;
|
|
67
67
|
exports.failCodeActParentModelRun = failCodeActParentModelRun;
|
|
68
68
|
exports.buildSystemAgentProcessDefaults = buildSystemAgentProcessDefaults;
|
|
69
|
+
exports.buildOwnerWorkOrderRequestHandler = buildOwnerWorkOrderRequestHandler;
|
|
69
70
|
exports.startCommand = startCommand;
|
|
70
71
|
exports.runAgentLoop = runAgentLoop;
|
|
71
72
|
const config_manager_js_1 = require("../config/config-manager.js");
|
|
@@ -122,6 +123,8 @@ const mamaCore = __importStar(require("@jungjaehoon/mama-core"));
|
|
|
122
123
|
const report_run_js_1 = require("../../operator/report-run.js");
|
|
123
124
|
const console_brief_js_1 = require("../../operator/console-brief.js");
|
|
124
125
|
const task_ledger_js_1 = require("../../operator/task-ledger.js");
|
|
126
|
+
const board_refresh_gate_js_1 = require("../../operator/board-refresh-gate.js");
|
|
127
|
+
const workorder_publishers_js_1 = require("../../operator/workorder-publishers.js");
|
|
125
128
|
const conductor_inbox_js_1 = require("../../operator/conductor-inbox.js");
|
|
126
129
|
const conductor_session_js_1 = require("../../operator/conductor-session.js");
|
|
127
130
|
const conductor_js_1 = require("../../operator/conductor.js");
|
|
@@ -138,6 +141,7 @@ const { DebugLogger } = debugLogger;
|
|
|
138
141
|
const codeActLogger = new DebugLogger('CodeAct');
|
|
139
142
|
const temporalLogger = new DebugLogger('TemporalReconcile');
|
|
140
143
|
const principalRegistryLogger = new DebugLogger('PrincipalRegistry');
|
|
144
|
+
const ownerWorkOrderLogger = new DebugLogger('OwnerWorkOrder');
|
|
141
145
|
const DISABLED_PRIVATE_CONNECTOR_POLICY = (0, private_connector_policy_js_1.resolvePrivateConnectorPolicy)({
|
|
142
146
|
ok: true,
|
|
143
147
|
config: {},
|
|
@@ -752,6 +756,64 @@ function buildSystemAgentProcessDefaults(config) {
|
|
|
752
756
|
dangerouslySkipPermissions: config.multi_agent?.dangerouslySkipPermissions ?? true,
|
|
753
757
|
};
|
|
754
758
|
}
|
|
759
|
+
const OWNER_BOARD_FULL_REPAIR_CHANNEL = 'host:owner-workorder:board-full';
|
|
760
|
+
/** Build the enqueue-and-ack handler shared by direct owner and conductor requests. */
|
|
761
|
+
function buildOwnerWorkOrderRequestHandler(deps) {
|
|
762
|
+
const now = deps.now ?? Date.now;
|
|
763
|
+
const log = deps.log ?? ((line) => ownerWorkOrderLogger.info(line));
|
|
764
|
+
const logError = deps.logError ?? ((line, detail) => ownerWorkOrderLogger.error(line, detail));
|
|
765
|
+
return (kind, causeEventIds) => {
|
|
766
|
+
try {
|
|
767
|
+
const requestedAt = now();
|
|
768
|
+
let idempotencyKey;
|
|
769
|
+
let payload;
|
|
770
|
+
if (kind === 'board') {
|
|
771
|
+
// TG-06: host dirt is recorded before validation or enqueue can fail.
|
|
772
|
+
// The fixed synthetic channel never trusts model/event identifiers.
|
|
773
|
+
const repair = deps.boardRefreshGate
|
|
774
|
+
? (() => {
|
|
775
|
+
deps.boardRefreshGate.markChannelDirty(OWNER_BOARD_FULL_REPAIR_CHANNEL);
|
|
776
|
+
return deps.boardRefreshGate.captureFullRepair();
|
|
777
|
+
})()
|
|
778
|
+
: null;
|
|
779
|
+
if (causeEventIds && causeEventIds.length > 0) {
|
|
780
|
+
idempotencyKey = (0, workorder_publishers_js_1.boardBatchKey)(causeEventIds);
|
|
781
|
+
payload = {
|
|
782
|
+
mode: 'full',
|
|
783
|
+
force: true,
|
|
784
|
+
eventIds: [...causeEventIds],
|
|
785
|
+
...(repair ?? {}),
|
|
786
|
+
};
|
|
787
|
+
}
|
|
788
|
+
else {
|
|
789
|
+
idempotencyKey = (0, workorder_publishers_js_1.boardManualKey)(requestedAt);
|
|
790
|
+
payload = { mode: 'full', force: true, ...(repair ?? {}) };
|
|
791
|
+
}
|
|
792
|
+
}
|
|
793
|
+
else if (kind === 'wiki') {
|
|
794
|
+
idempotencyKey = (0, workorder_publishers_js_1.wikiBatchKey)('manual', requestedAt);
|
|
795
|
+
payload = { batchId: `${requestedAt}-manual`, events: ['manual'] };
|
|
796
|
+
}
|
|
797
|
+
else {
|
|
798
|
+
idempotencyKey = (0, workorder_publishers_js_1.promotionManualKey)(requestedAt);
|
|
799
|
+
payload = { scheduledAt: new Date(requestedAt).toISOString() };
|
|
800
|
+
}
|
|
801
|
+
(0, workorder_publishers_js_1.validateWorkOrderPayload)(kind, payload);
|
|
802
|
+
const wo = deps.taskLedger.enqueueWorkOrder({
|
|
803
|
+
workKind: kind,
|
|
804
|
+
idempotencyKey,
|
|
805
|
+
input: payload,
|
|
806
|
+
priority: 'high',
|
|
807
|
+
});
|
|
808
|
+
log(`[stage2] owner workorder enqueued: ${kind}#${wo.id}`);
|
|
809
|
+
return { accepted: true };
|
|
810
|
+
}
|
|
811
|
+
catch (err) {
|
|
812
|
+
logError(`[stage2] owner workorder enqueue failed (${kind}):`, err instanceof Error ? err.message : err);
|
|
813
|
+
return { accepted: false, reason: 'enqueue-failed' };
|
|
814
|
+
}
|
|
815
|
+
};
|
|
816
|
+
}
|
|
755
817
|
/**
|
|
756
818
|
* Execute start command
|
|
757
819
|
*/
|
|
@@ -1319,6 +1381,9 @@ async function runAgentLoop(config, options = {}) {
|
|
|
1319
1381
|
operatorDb.close();
|
|
1320
1382
|
throw err;
|
|
1321
1383
|
}
|
|
1384
|
+
// One host-owned gate spans owner workorder requests, route scheduling,
|
|
1385
|
+
// delta ingestion, and completion verification for this boot.
|
|
1386
|
+
const boardRefreshGate = process.env.MAMA_BOARD_RECONCILE === '1' ? new board_refresh_gate_js_1.BoardRefreshGate() : null;
|
|
1322
1387
|
// S1: durable conductor inbox - constructed UNCONDITIONALLY so drained
|
|
1323
1388
|
// batches persist before the cursor commits even while the conductor is
|
|
1324
1389
|
// disabled (that accumulation IS the shadow-mode data; retention inside
|
|
@@ -1401,7 +1466,6 @@ async function runAgentLoop(config, options = {}) {
|
|
|
1401
1466
|
ensureBriefs();
|
|
1402
1467
|
(0, console_brief_js_1.ensureConsoleBrief)();
|
|
1403
1468
|
const { logActivity: logWorkOrderActivity } = await import('../../db/agent-store.js');
|
|
1404
|
-
const { validateWorkOrderPayload, boardManualKey, boardBatchKey, wikiBatchKey, promotionManualKey, } = await import('../../operator/workorder-publishers.js');
|
|
1405
1469
|
// Ops alarm sink (plan D4/E1/G8): constructed OUTSIDE any trigger-loop
|
|
1406
1470
|
// block - the consumer runs with the loop off, so its terminal alarms
|
|
1407
1471
|
// must too. Chat id: MAMA_OPS_ALERT_CHAT, falling back to the loop's
|
|
@@ -1540,51 +1604,7 @@ async function runAgentLoop(config, options = {}) {
|
|
|
1540
1604
|
// (Consumer stop is folded into the operator-DB gateway above - ordering.)
|
|
1541
1605
|
// Owner-issued workorders (workorder_request tool): enqueue+ack only.
|
|
1542
1606
|
// Wired here - NOT inside any trigger-loop block (plan C11 class).
|
|
1543
|
-
toolExecutor.setWorkOrderRequestHandler((
|
|
1544
|
-
try {
|
|
1545
|
-
const now = Date.now();
|
|
1546
|
-
let idempotencyKey;
|
|
1547
|
-
let payload;
|
|
1548
|
-
if (kind === 'board') {
|
|
1549
|
-
if (causeEventIds && causeEventIds.length > 0) {
|
|
1550
|
-
// Batch-carrying delegation: FULL mode (reconcile requires
|
|
1551
|
-
// channelKey+deltaLines the requester does not have - proven by
|
|
1552
|
-
// review running the validator) with the batch riding as
|
|
1553
|
-
// eventIds, which the validator allows on full and
|
|
1554
|
-
// causeEventIdsFromPayload lifts as the worker's cause. The
|
|
1555
|
-
// batch-deterministic key dedups a redelivered judgment while
|
|
1556
|
-
// the first order is still open.
|
|
1557
|
-
idempotencyKey = boardBatchKey(causeEventIds);
|
|
1558
|
-
payload = { mode: 'full', force: true, eventIds: [...causeEventIds] };
|
|
1559
|
-
}
|
|
1560
|
-
else {
|
|
1561
|
-
idempotencyKey = boardManualKey(now);
|
|
1562
|
-
payload = { mode: 'full', force: true };
|
|
1563
|
-
}
|
|
1564
|
-
}
|
|
1565
|
-
else if (kind === 'wiki') {
|
|
1566
|
-
idempotencyKey = wikiBatchKey('manual', now);
|
|
1567
|
-
payload = { batchId: `${now}-manual`, events: ['manual'] };
|
|
1568
|
-
}
|
|
1569
|
-
else {
|
|
1570
|
-
idempotencyKey = promotionManualKey(now);
|
|
1571
|
-
payload = { scheduledAt: new Date(now).toISOString() };
|
|
1572
|
-
}
|
|
1573
|
-
validateWorkOrderPayload(kind, payload);
|
|
1574
|
-
const wo = taskLedger.enqueueWorkOrder({
|
|
1575
|
-
workKind: kind,
|
|
1576
|
-
idempotencyKey,
|
|
1577
|
-
input: payload,
|
|
1578
|
-
priority: 'high',
|
|
1579
|
-
});
|
|
1580
|
-
console.log(`[stage2] owner workorder enqueued: ${kind}#${wo.id}`);
|
|
1581
|
-
return { accepted: true };
|
|
1582
|
-
}
|
|
1583
|
-
catch (err) {
|
|
1584
|
-
console.error(`[stage2] owner workorder enqueue failed (${kind}):`, err instanceof Error ? err.message : err);
|
|
1585
|
-
return { accepted: false, reason: 'enqueue-failed' };
|
|
1586
|
-
}
|
|
1587
|
-
});
|
|
1607
|
+
toolExecutor.setWorkOrderRequestHandler(buildOwnerWorkOrderRequestHandler({ taskLedger, boardRefreshGate }));
|
|
1588
1608
|
}
|
|
1589
1609
|
const temporalTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
1590
1610
|
const temporalAssembly = (0, temporal_init_js_1.assembleDaemonTemporalRuntime)({
|
|
@@ -1965,7 +1985,7 @@ async function runAgentLoop(config, options = {}) {
|
|
|
1965
1985
|
privateConnectorPolicy,
|
|
1966
1986
|
});
|
|
1967
1987
|
channelDeltaSink.current = (channelKey, lines, eventIds) => eventBus.emit({ type: 'operator:channel-delta', channelKey, lines, eventIds });
|
|
1968
|
-
await (0, api_routes_init_js_1.registerApiRoutes)({
|
|
1988
|
+
const apiRoutesHandle = await (0, api_routes_init_js_1.registerApiRoutes)({
|
|
1969
1989
|
config,
|
|
1970
1990
|
apiServer,
|
|
1971
1991
|
eventBus,
|
|
@@ -1985,7 +2005,9 @@ async function runAgentLoop(config, options = {}) {
|
|
|
1985
2005
|
],
|
|
1986
2006
|
sessionsDb: db,
|
|
1987
2007
|
workOrderConsumer: workOrderConsumer ?? undefined,
|
|
2008
|
+
boardRefreshGate,
|
|
1988
2009
|
});
|
|
2010
|
+
gateways.push({ stop: async () => apiRoutesHandle.stop() });
|
|
1989
2011
|
// ── Stage-2 boot pass (plan S2-T3): runtime assembly registered hooks;
|
|
1990
2012
|
// recovery/cleanup run after routes are ready, then the consumer starts.
|
|
1991
2013
|
const temporalBoot = temporalAssembly.bootAfterRoutes();
|