@moxt-ai/mobius 0.0.329 → 0.0.332
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/acp/adapter/pi/agent-connection.d.ts.map +1 -1
- package/dist/acp/adapter/pi/agent-connection.js +5 -0
- package/dist/acp/adapter/pi/agent-connection.js.map +1 -1
- package/dist/acp/harness/pi/endpoint.d.ts +1 -0
- package/dist/acp/harness/pi/endpoint.d.ts.map +1 -1
- package/dist/acp/harness/pi/endpoint.js +1 -1
- package/dist/acp/harness/pi/endpoint.js.map +1 -1
- package/dist/cli.js +311 -349
- package/dist/cli.js.map +4 -4
- package/dist/daemon/control/local-client.d.ts +3 -2
- package/dist/daemon/control/local-client.d.ts.map +1 -1
- package/dist/daemon/control/local-client.js.map +1 -1
- package/dist/daemon/control/local-server.d.ts +2 -1
- package/dist/daemon/control/local-server.d.ts.map +1 -1
- package/dist/daemon/control/local-server.js.map +1 -1
- package/dist/daemon/control/switch-status.d.ts +2 -1
- package/dist/daemon/control/switch-status.d.ts.map +1 -1
- package/dist/daemon/control/switch-status.js.map +1 -1
- package/dist/daemon/lifecycle/manager-client.d.ts +4 -3
- package/dist/daemon/lifecycle/manager-client.d.ts.map +1 -1
- package/dist/daemon/lifecycle/manager-client.js.map +1 -1
- package/dist/daemon/lifecycle/manager.d.ts +2 -1
- package/dist/daemon/lifecycle/manager.d.ts.map +1 -1
- package/dist/daemon/lifecycle/manager.js.map +1 -1
- package/dist/daemon/lifecycle/unhandled-rejection.d.ts +2 -1
- package/dist/daemon/lifecycle/unhandled-rejection.d.ts.map +1 -1
- package/dist/daemon/lifecycle/unhandled-rejection.js.map +1 -1
- package/dist/daemon/lifecycle/worker-lifecycle-log.d.ts +2 -1
- package/dist/daemon/lifecycle/worker-lifecycle-log.d.ts.map +1 -1
- package/dist/daemon/lifecycle/worker-lifecycle-log.js.map +1 -1
- package/dist/daemon/lifecycle/worker.d.ts +2 -1
- package/dist/daemon/lifecycle/worker.d.ts.map +1 -1
- package/dist/daemon/lifecycle/worker.js.map +1 -1
- package/dist/daemon/upgrades/data.d.ts +2 -1
- package/dist/daemon/upgrades/data.d.ts.map +1 -1
- package/dist/daemon/upgrades/data.js.map +1 -1
- package/dist/daemon/upgrades/upgrade.d.ts +3 -2
- package/dist/daemon/upgrades/upgrade.d.ts.map +1 -1
- package/dist/daemon/upgrades/upgrade.js.map +1 -1
- package/dist/runtime/command/registry/session.d.ts +1 -1
- package/dist/runtime/command/registry/session.d.ts.map +1 -1
- package/dist/runtime/command/registry/session.js +14 -3
- package/dist/runtime/command/registry/session.js.map +1 -1
- package/dist/runtime/connection/runtime-installation-store.d.ts +2 -1
- package/dist/runtime/connection/runtime-installation-store.d.ts.map +1 -1
- package/dist/runtime/connection/runtime-installation-store.js.map +1 -1
- package/dist/runtime.js +130 -172
- package/dist/runtime.js.map +3 -3
- package/dist/schema/acp-session-store/execution-receipt.d.ts.map +1 -1
- package/dist/schema/acp-session-store/execution-receipt.js +1 -0
- package/dist/schema/acp-session-store/execution-receipt.js.map +1 -1
- package/dist/session/manager/session-manager.d.ts +5 -5
- package/dist/session/manager/session-manager.d.ts.map +1 -1
- package/dist/session/manager/session-manager.js +10 -12
- package/dist/session/manager/session-manager.js.map +1 -1
- package/dist/session/prompt/apply-session-configuration.d.ts +0 -1
- package/dist/session/prompt/apply-session-configuration.d.ts.map +1 -1
- package/dist/session/prompt/apply-session-configuration.js +1 -1
- package/dist/session/prompt/apply-session-configuration.js.map +1 -1
- package/dist/session/prompt/execute-prompt.d.ts.map +1 -1
- package/dist/session/prompt/execute-prompt.js +10 -17
- package/dist/session/prompt/execute-prompt.js.map +1 -1
- package/dist/session/prompt/prompt-lifecycle.d.ts.map +1 -1
- package/dist/session/prompt/prompt-lifecycle.js +0 -1
- package/dist/session/prompt/prompt-lifecycle.js.map +1 -1
- package/dist/session/turn/execution-receipts.d.ts +1 -5
- package/dist/session/turn/execution-receipts.d.ts.map +1 -1
- package/dist/session/turn/execution-receipts.js +20 -75
- package/dist/session/turn/execution-receipts.js.map +1 -1
- package/dist/storage/daemon/control-token.d.ts +2 -1
- package/dist/storage/daemon/control-token.d.ts.map +1 -1
- package/dist/storage/daemon/control-token.js.map +1 -1
- package/dist/storage/daemon/manager-lock.d.ts +3 -2
- package/dist/storage/daemon/manager-lock.d.ts.map +1 -1
- package/dist/storage/daemon/manager-lock.js.map +1 -1
- package/dist/storage/daemon/version-data.d.ts +6 -5
- package/dist/storage/daemon/version-data.d.ts.map +1 -1
- package/dist/storage/daemon/version-data.js.map +1 -1
- package/dist/storage/installation/installation-files.d.ts +6 -1
- package/dist/storage/installation/installation-files.d.ts.map +1 -1
- package/dist/storage/installation/installation-files.js +3 -1
- package/dist/storage/installation/installation-files.js.map +1 -1
- package/dist/storage/session/execution-receipt-table.d.ts +3 -26
- package/dist/storage/session/execution-receipt-table.d.ts.map +1 -1
- package/dist/storage/session/execution-receipt-table.js +47 -36
- package/dist/storage/session/execution-receipt-table.js.map +1 -1
- package/dist/storage/state-directory.d.ts +9 -1
- package/dist/storage/state-directory.d.ts.map +1 -1
- package/dist/storage/state-directory.js +3 -4
- package/dist/storage/state-directory.js.map +1 -1
- package/package.json +2 -2
|
@@ -2,13 +2,9 @@ import { createHash, randomUUID } from "node:crypto";
|
|
|
2
2
|
import { encodeSessionCancelBeforeStartCommand, sessionEventPayloadSchema, } from "@moxt-ai/mobius-sdk/protocol";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
const MAX_TERMINAL_RECEIPTS = 1_024;
|
|
5
|
-
function isTerminal(state) {
|
|
6
|
-
return state === "succeeded" || state === "failed" || state === "cancelled";
|
|
7
|
-
}
|
|
8
5
|
export class ExecutionReceipts {
|
|
9
6
|
#executions = new Map();
|
|
10
7
|
#recoveredCommands = new Set();
|
|
11
|
-
#terminalCountBySession = new Map();
|
|
12
8
|
#table;
|
|
13
9
|
#closing = false;
|
|
14
10
|
#activeCount = 0;
|
|
@@ -19,30 +15,24 @@ export class ExecutionReceipts {
|
|
|
19
15
|
for (const row of table.list()) {
|
|
20
16
|
this.#executions.set(row.commandId, row);
|
|
21
17
|
this.#recoveredCommands.add(row.commandId);
|
|
22
|
-
if (
|
|
18
|
+
if (row.outcome === null) {
|
|
23
19
|
this.#activeCount += 1;
|
|
24
20
|
}
|
|
25
|
-
if (isTerminal(row.state)) {
|
|
26
|
-
this.#terminalCountBySession.set(row.sessionId, (this.#terminalCountBySession.get(row.sessionId) ?? 0) + 1);
|
|
27
|
-
}
|
|
28
21
|
}
|
|
29
22
|
}
|
|
30
23
|
#save = (commandId, receipt) => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
24
|
+
const evicted = this.#closing
|
|
25
|
+
? []
|
|
26
|
+
: this.#table.save({ ...receipt, commandId, updatedAt: new Date().toISOString() }, MAX_TERMINAL_RECEIPTS);
|
|
34
27
|
const previous = this.#executions.get(commandId);
|
|
35
|
-
const wasActive = previous
|
|
36
|
-
if (isTerminal(receipt.state)) {
|
|
37
|
-
this.#executions.delete(commandId);
|
|
38
|
-
}
|
|
28
|
+
const wasActive = previous?.outcome === null;
|
|
39
29
|
this.#executions.set(commandId, receipt);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
this.#terminalCountBySession.set(receipt.sessionId, (this.#terminalCountBySession.get(receipt.sessionId) ?? 0) + 1);
|
|
44
|
-
this.pruneTerminalReceipts(receipt.sessionId);
|
|
30
|
+
for (const evictedCommandId of evicted) {
|
|
31
|
+
this.#executions.delete(evictedCommandId);
|
|
32
|
+
this.#recoveredCommands.delete(evictedCommandId);
|
|
45
33
|
}
|
|
34
|
+
this.#activeCount += Number(receipt.outcome === null) - Number(wasActive);
|
|
35
|
+
this.#onCount(this.#activeCount);
|
|
46
36
|
};
|
|
47
37
|
beginShutdown = () => {
|
|
48
38
|
this.#closing = true;
|
|
@@ -57,7 +47,7 @@ export class ExecutionReceipts {
|
|
|
57
47
|
recordCancellationBeforeAdmission = (commandId, sessionId) => {
|
|
58
48
|
const existing = this.#executions.get(commandId);
|
|
59
49
|
if (existing !== undefined) {
|
|
60
|
-
return existing.sessionId === sessionId
|
|
50
|
+
return existing.sessionId === sessionId ? this.outcome(commandId) : undefined;
|
|
61
51
|
}
|
|
62
52
|
const outcome = {
|
|
63
53
|
type: "lifecycle-metadata",
|
|
@@ -75,7 +65,6 @@ export class ExecutionReceipts {
|
|
|
75
65
|
attemptId: randomUUID(),
|
|
76
66
|
commandHash,
|
|
77
67
|
sessionId,
|
|
78
|
-
state: "cancelled",
|
|
79
68
|
started: false,
|
|
80
69
|
outcome: JSON.stringify({ ...outcome, recordedAt: new Date().toISOString() }),
|
|
81
70
|
});
|
|
@@ -100,11 +89,6 @@ export class ExecutionReceipts {
|
|
|
100
89
|
: { ...payload, message: "The local Agent could not complete the request" };
|
|
101
90
|
this.#save(payload.commandId, {
|
|
102
91
|
...receipt,
|
|
103
|
-
state: payload.kind === "prompt.completed"
|
|
104
|
-
? payload.stopReason === "cancelled"
|
|
105
|
-
? "cancelled"
|
|
106
|
-
: "succeeded"
|
|
107
|
-
: "failed",
|
|
108
92
|
outcome: JSON.stringify({ type: "lifecycle-metadata", payload: sanitized, recordedAt: event.recordedAt }),
|
|
109
93
|
});
|
|
110
94
|
};
|
|
@@ -134,13 +118,8 @@ export class ExecutionReceipts {
|
|
|
134
118
|
? new Date().toISOString()
|
|
135
119
|
: z.object({ recordedAt: z.string() }).parse(JSON.parse(receipt.outcome)).recordedAt;
|
|
136
120
|
recovered.push({ sessionId: receipt.sessionId, event, recordedAt });
|
|
137
|
-
if (
|
|
138
|
-
|
|
139
|
-
? event.payload.stopReason === "cancelled"
|
|
140
|
-
? "cancelled"
|
|
141
|
-
: "succeeded"
|
|
142
|
-
: "failed";
|
|
143
|
-
this.#save(commandId, { ...receipt, state, outcome: JSON.stringify({ ...event, recordedAt }) });
|
|
121
|
+
if (receipt.outcome === null) {
|
|
122
|
+
this.#save(commandId, { ...receipt, outcome: JSON.stringify({ ...event, recordedAt }) });
|
|
144
123
|
}
|
|
145
124
|
}
|
|
146
125
|
return recovered;
|
|
@@ -157,7 +136,6 @@ export class ExecutionReceipts {
|
|
|
157
136
|
this.#table.remove(commandId);
|
|
158
137
|
this.#executions.delete(commandId);
|
|
159
138
|
this.#recoveredCommands.delete(commandId);
|
|
160
|
-
this.#terminalCountBySession.set(sessionId, Math.max(0, (this.#terminalCountBySession.get(sessionId) ?? 1) - 1));
|
|
161
139
|
existing = undefined;
|
|
162
140
|
}
|
|
163
141
|
if (existing !== undefined) {
|
|
@@ -168,7 +146,6 @@ export class ExecutionReceipts {
|
|
|
168
146
|
attemptId: existing.attemptId,
|
|
169
147
|
commandId,
|
|
170
148
|
kind: "duplicate",
|
|
171
|
-
state: existing.state,
|
|
172
149
|
outcome: this.#recoveredCommands.has(commandId) ? this.outcome(commandId) : undefined,
|
|
173
150
|
};
|
|
174
151
|
}
|
|
@@ -183,68 +160,36 @@ export class ExecutionReceipts {
|
|
|
183
160
|
attemptId,
|
|
184
161
|
commandHash,
|
|
185
162
|
sessionId,
|
|
186
|
-
state: "dispatching",
|
|
187
163
|
started: false,
|
|
188
164
|
outcome: null,
|
|
189
165
|
});
|
|
190
|
-
return { attemptId, commandId, kind: "accepted"
|
|
166
|
+
return { attemptId, commandId, kind: "accepted" };
|
|
191
167
|
};
|
|
192
|
-
|
|
168
|
+
markExecutionStarted = (commandId) => {
|
|
193
169
|
const current = this.#executions.get(commandId);
|
|
194
170
|
if (current === undefined) {
|
|
195
171
|
throw new Error("The runtime execution receipt does not exist");
|
|
196
172
|
}
|
|
197
|
-
if (current.
|
|
198
|
-
return;
|
|
199
|
-
}
|
|
200
|
-
const allowed = (current.state === "dispatching" && (state === "running" || state === "failed" || state === "cancelled")) ||
|
|
201
|
-
(current.state === "running" && isTerminal(state));
|
|
202
|
-
if (!allowed) {
|
|
173
|
+
if (current.outcome !== null) {
|
|
203
174
|
throw new Error("The runtime execution transition is invalid");
|
|
204
175
|
}
|
|
205
|
-
if (
|
|
206
|
-
this.#save(commandId, { ...current,
|
|
207
|
-
}
|
|
208
|
-
else if (isTerminal(state)) {
|
|
209
|
-
this.#save(commandId, { ...current, state });
|
|
176
|
+
if (!current.started) {
|
|
177
|
+
this.#save(commandId, { ...current, started: true });
|
|
210
178
|
}
|
|
211
179
|
};
|
|
212
180
|
/** Only commands without a terminal result can still be cancelled. */
|
|
213
181
|
findUnsettledAttemptId = (commandId, sessionId) => {
|
|
214
182
|
const receipt = this.#executions.get(commandId);
|
|
215
|
-
return receipt?.sessionId === sessionId &&
|
|
183
|
+
return receipt?.sessionId === sessionId && receipt.outcome === null ? receipt.attemptId : null;
|
|
216
184
|
};
|
|
217
185
|
isTerminalExecution = (commandId, sessionId) => {
|
|
218
186
|
const receipt = this.#executions.get(commandId);
|
|
219
|
-
return receipt?.sessionId === sessionId &&
|
|
187
|
+
return receipt?.sessionId === sessionId && receipt.outcome !== null;
|
|
220
188
|
};
|
|
221
189
|
close = () => {
|
|
222
190
|
this.#executions.clear();
|
|
223
191
|
this.#recoveredCommands.clear();
|
|
224
|
-
this.#terminalCountBySession.clear();
|
|
225
192
|
this.#activeCount = 0;
|
|
226
193
|
};
|
|
227
|
-
pruneTerminalReceipts = (sessionId) => {
|
|
228
|
-
if ((this.#terminalCountBySession.get(sessionId) ?? 0) <= MAX_TERMINAL_RECEIPTS) {
|
|
229
|
-
return;
|
|
230
|
-
}
|
|
231
|
-
for (const [commandId, receipt] of this.#executions) {
|
|
232
|
-
if (receipt.sessionId === sessionId && isTerminal(receipt.state)) {
|
|
233
|
-
this.#table.remove(commandId);
|
|
234
|
-
this.#executions.delete(commandId);
|
|
235
|
-
this.#recoveredCommands.delete(commandId);
|
|
236
|
-
const remaining = (this.#terminalCountBySession.get(sessionId) ?? 1) - 1;
|
|
237
|
-
if (remaining > 0) {
|
|
238
|
-
this.#terminalCountBySession.set(sessionId, remaining);
|
|
239
|
-
}
|
|
240
|
-
else {
|
|
241
|
-
this.#terminalCountBySession.delete(sessionId);
|
|
242
|
-
}
|
|
243
|
-
if ((this.#terminalCountBySession.get(sessionId) ?? 0) <= MAX_TERMINAL_RECEIPTS) {
|
|
244
|
-
return;
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
};
|
|
249
194
|
}
|
|
250
195
|
//# sourceMappingURL=execution-receipts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-receipts.js","sourceRoot":"","sources":["../../../src/session/turn/execution-receipts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execution-receipts.js","sourceRoot":"","sources":["../../../src/session/turn/execution-receipts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { InstallationDirectory } from "../installation/installation-files.ts";
|
|
1
2
|
/** The secret local control clients present to the daemon, created on first use with owner-only permissions. */
|
|
2
|
-
export declare function readOrCreateControlToken(stateDirectory:
|
|
3
|
+
export declare function readOrCreateControlToken(stateDirectory: InstallationDirectory): Promise<string>;
|
|
3
4
|
//# sourceMappingURL=control-token.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-token.d.ts","sourceRoot":"","sources":["../../../src/storage/daemon/control-token.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"control-token.d.ts","sourceRoot":"","sources":["../../../src/storage/daemon/control-token.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAMnF,gHAAgH;AAChH,wBAAsB,wBAAwB,CAAC,cAAc,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBrG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-token.js","sourceRoot":"","sources":["../../../src/storage/daemon/control-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"control-token.js","sourceRoot":"","sources":["../../../src/storage/daemon/control-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,SAAS,gBAAgB,CAAC,cAAqC;IAC3D,OAAO,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;AACjD,CAAC;AAED,gHAAgH;AAChH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,cAAqC;IAChF,MAAM,IAAI,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAC9C,IAAI,CAAC;QACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpD,IAAI,CAAC;QACD,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,OAAO,KAAK,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,CAAC;QAChB,CAAC;QACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,CAAC;AACL,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import type { InstallationDirectory } from "../installation/installation-files.ts";
|
|
1
2
|
/**
|
|
2
3
|
* Takes the lock file that makes this process the only holder of a daemon role. A lock left by a
|
|
3
4
|
* process that is gone is replaced. Returns the release function, or null when a live process holds it.
|
|
4
5
|
*/
|
|
5
|
-
export declare function acquireManagerLock(stateDirectory:
|
|
6
|
+
export declare function acquireManagerLock(stateDirectory: InstallationDirectory, name?: string): Promise<(() => Promise<void>) | null>;
|
|
6
7
|
/** True while the manager lock file exists. */
|
|
7
|
-
export declare function managerLockExists(stateDirectory:
|
|
8
|
+
export declare function managerLockExists(stateDirectory: InstallationDirectory): Promise<boolean>;
|
|
8
9
|
//# sourceMappingURL=manager-lock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager-lock.d.ts","sourceRoot":"","sources":["../../../src/storage/daemon/manager-lock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manager-lock.d.ts","sourceRoot":"","sources":["../../../src/storage/daemon/manager-lock.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAEnF;;;GAGG;AACH,wBAAsB,kBAAkB,CACpC,cAAc,EAAE,qBAAqB,EACrC,IAAI,SAAiB,GACtB,OAAO,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CA0BvC;AAED,+CAA+C;AAC/C,wBAAsB,iBAAiB,CAAC,cAAc,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,CAU/F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager-lock.js","sourceRoot":"","sources":["../../../src/storage/daemon/manager-lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"manager-lock.js","sourceRoot":"","sources":["../../../src/storage/daemon/manager-lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,cAAqC,EACrC,IAAI,GAAG,cAAc;IAErB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACxC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC;YACD,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAClF,OAAO,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAChC,MAAM,KAAK,CAAC;YAChB,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACnC,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBACrB,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBAClB,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;wBACpC,OAAO,IAAI,CAAC;oBAChB,CAAC;gBACL,CAAC;YACL,CAAC;YACD,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,+CAA+C;AAC/C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,cAAqC;IACzE,IAAI,CAAC;QACD,MAAM,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC"}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
+
import type { StateRoot } from "../state-directory.ts";
|
|
1
2
|
export declare class DataInheritanceError extends Error {
|
|
2
3
|
readonly code = "data_inheritance_failed";
|
|
3
4
|
}
|
|
4
5
|
/** The version the current data pointer names, or null when there is no pointer. */
|
|
5
|
-
export declare function readCurrentDataVersion(root:
|
|
6
|
-
export declare function versionDataExists(root:
|
|
6
|
+
export declare function readCurrentDataVersion(root: StateRoot, signal: AbortSignal): Promise<string | null>;
|
|
7
|
+
export declare function versionDataExists(root: StateRoot, version: string, signal: AbortSignal): Promise<boolean>;
|
|
7
8
|
/**
|
|
8
9
|
* Copies one version's data into a new version's directory and returns the nested state root entries it left
|
|
9
10
|
* behind. Any other symbolic link is rejected.
|
|
10
11
|
*/
|
|
11
|
-
export declare function copyVersionData(root:
|
|
12
|
+
export declare function copyVersionData(root: StateRoot, sourceVersion: string, targetVersion: string, signal: AbortSignal): Promise<readonly string[]>;
|
|
12
13
|
/**
|
|
13
14
|
* Removes a version's data unless the current data pointer names it. The directory leaves in one rename, so a
|
|
14
15
|
* concurrent first use either finds it whole or inherits the current data.
|
|
15
16
|
*/
|
|
16
|
-
export declare function discardVersionData(root:
|
|
17
|
+
export declare function discardVersionData(root: StateRoot, version: string, signal: AbortSignal): Promise<void>;
|
|
17
18
|
/** Points the current data pointer at a version whose data directory exists. */
|
|
18
|
-
export declare function writeCurrentDataVersion(root:
|
|
19
|
+
export declare function writeCurrentDataVersion(root: StateRoot, version: string, signal: AbortSignal): Promise<void>;
|
|
19
20
|
//# sourceMappingURL=version-data.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-data.d.ts","sourceRoot":"","sources":["../../../src/storage/daemon/version-data.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"version-data.d.ts","sourceRoot":"","sources":["../../../src/storage/daemon/version-data.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAMvD,qBAAa,oBAAqB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,6BAA6B;CAC7C;AAED,oFAAoF;AACpF,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgBzG;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAU/G;AAeD;;;GAGG;AACH,wBAAsB,eAAe,CACjC,IAAI,EAAE,SAAS,EACf,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,WAAW,GACpB,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAyC5B;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB7G;AAED,gFAAgF;AAChF,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAWlH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-data.js","sourceRoot":"","sources":["../../../src/storage/daemon/version-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"version-data.js","sourceRoot":"","sources":["../../../src/storage/daemon/version-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
1
2
|
export declare function applicationDirectory(root: string, applicationId: string): string;
|
|
2
3
|
export declare function installationPointerPath(applicationDirectory: string): string;
|
|
3
|
-
|
|
4
|
+
declare const installationDirectorySchema: z.core.$ZodBranded<z.ZodString, "InstallationDirectory", "out">;
|
|
5
|
+
/** One installation's own directory, `<root or version data>/installations/<application>/<installation>`. */
|
|
6
|
+
export type InstallationDirectory = z.infer<typeof installationDirectorySchema>;
|
|
7
|
+
export declare function installationDirectory(applicationDirectory: string, installationId: string): InstallationDirectory;
|
|
4
8
|
export declare function connectionDirectory(installationDirectory: string): string;
|
|
5
9
|
export declare function connectionFilePath(connectionDirectory: string, connectionId: string): string;
|
|
6
10
|
/** Channel index files are named by a hash, so a channel ID never becomes part of a path. */
|
|
@@ -25,4 +29,5 @@ export declare function writeInstallationFile(path: string, text: string, signal
|
|
|
25
29
|
export declare function createInstallationFile(path: string, text: string): Promise<void>;
|
|
26
30
|
export declare function listInstallationFiles(directory: string): Promise<readonly string[]>;
|
|
27
31
|
export declare function removeInstallationFile(path: string): Promise<void>;
|
|
32
|
+
export {};
|
|
28
33
|
//# sourceMappingURL=installation-files.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installation-files.d.ts","sourceRoot":"","sources":["../../../src/storage/installation/installation-files.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"installation-files.d.ts","sourceRoot":"","sources":["../../../src/storage/installation/installation-files.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED,wBAAgB,uBAAuB,CAAC,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED,QAAA,MAAM,2BAA2B,iEAA8C,CAAC;AAEhF,6GAA6G;AAC7G,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,wBAAgB,qBAAqB,CAAC,oBAAoB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,qBAAqB,CAEjH;AAED,wBAAgB,mBAAmB,CAAC,qBAAqB,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wBAAgB,kBAAkB,CAAC,mBAAmB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAE5F;AAED,6FAA6F;AAC7F,wBAAgB,oBAAoB,CAAC,qBAAqB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7F;AAED,MAAM,MAAM,oBAAoB,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAE5C,2EAA2E;AAC3E,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAgBtF;AAED,yGAAyG;AACzG,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAc1G;AAED,8FAA8F;AAC9F,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtF;AAED,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAEzF;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAExE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createHash, randomUUID } from "node:crypto";
|
|
2
2
|
import { mkdir, open, readdir, rename, unlink, writeFile } from "node:fs/promises";
|
|
3
3
|
import { dirname, join } from "node:path";
|
|
4
|
+
import { z } from "zod";
|
|
4
5
|
import { isNodeError } from "../../util/node-error.js";
|
|
5
6
|
import { STATE_ROOT_LAYOUT } from "../state-root-layout.js";
|
|
6
7
|
// One application's installations live in `<root>/installations/<applicationId>/`. `current.json`
|
|
@@ -13,8 +14,9 @@ export function applicationDirectory(root, applicationId) {
|
|
|
13
14
|
export function installationPointerPath(applicationDirectory) {
|
|
14
15
|
return join(applicationDirectory, "current.json");
|
|
15
16
|
}
|
|
17
|
+
const installationDirectorySchema = z.string().brand();
|
|
16
18
|
export function installationDirectory(applicationDirectory, installationId) {
|
|
17
|
-
return join(applicationDirectory, installationId);
|
|
19
|
+
return installationDirectorySchema.parse(join(applicationDirectory, installationId));
|
|
18
20
|
}
|
|
19
21
|
export function connectionDirectory(installationDirectory) {
|
|
20
22
|
return join(installationDirectory, "connections");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installation-files.js","sourceRoot":"","sources":["../../../src/storage/installation/installation-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAmB,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,kGAAkG;AAClG,6FAA6F;AAC7F,sEAAsE;AAEtE,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC;AAErC,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,aAAqB;IACpE,OAAO,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,oBAA4B;IAChE,OAAO,IAAI,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,oBAA4B,EAAE,cAAsB;IACtF,OAAO,IAAI,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"installation-files.js","sourceRoot":"","sources":["../../../src/storage/installation/installation-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,14 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { LocalSqliteDatabase } from "../sqlite/local-sqlite-database.ts";
|
|
3
|
-
declare const receiptSchema: z.ZodReadonly<z.
|
|
3
|
+
declare const receiptSchema: z.ZodReadonly<z.ZodObject<{
|
|
4
4
|
commandId: z.ZodString;
|
|
5
5
|
sessionId: z.ZodString;
|
|
6
6
|
commandHash: z.ZodString;
|
|
7
7
|
attemptId: z.ZodString;
|
|
8
8
|
updatedAt: z.ZodString;
|
|
9
|
-
state: z.ZodLiteral<"dispatching">;
|
|
10
|
-
started: z.ZodLiteral<false>;
|
|
11
|
-
outcome: z.ZodNull;
|
|
12
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
13
|
-
commandId: z.ZodString;
|
|
14
|
-
sessionId: z.ZodString;
|
|
15
|
-
commandHash: z.ZodString;
|
|
16
|
-
attemptId: z.ZodString;
|
|
17
|
-
updatedAt: z.ZodString;
|
|
18
|
-
state: z.ZodLiteral<"running">;
|
|
19
|
-
started: z.ZodLiteral<true>;
|
|
20
|
-
outcome: z.ZodNullable<z.ZodString>;
|
|
21
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
22
|
-
commandId: z.ZodString;
|
|
23
|
-
sessionId: z.ZodString;
|
|
24
|
-
commandHash: z.ZodString;
|
|
25
|
-
attemptId: z.ZodString;
|
|
26
|
-
updatedAt: z.ZodString;
|
|
27
|
-
state: z.ZodEnum<{
|
|
28
|
-
cancelled: "cancelled";
|
|
29
|
-
failed: "failed";
|
|
30
|
-
succeeded: "succeeded";
|
|
31
|
-
}>;
|
|
32
9
|
started: z.ZodBoolean;
|
|
33
10
|
outcome: z.ZodNullable<z.ZodString>;
|
|
34
|
-
}, z.core.$strip
|
|
11
|
+
}, z.core.$strip>>;
|
|
35
12
|
export type PersistedExecutionReceipt = z.infer<typeof receiptSchema>;
|
|
36
13
|
declare const identitySchema: z.ZodReadonly<z.ZodObject<{
|
|
37
14
|
sessionId: z.ZodString;
|
|
@@ -43,7 +20,7 @@ export declare class ExecutionReceiptTable {
|
|
|
43
20
|
constructor(database: LocalSqliteDatabase);
|
|
44
21
|
readonly identity: (commandId: string) => z.infer<typeof identitySchema> | undefined;
|
|
45
22
|
readonly list: () => readonly PersistedExecutionReceipt[];
|
|
46
|
-
readonly save: (receipt: PersistedExecutionReceipt) =>
|
|
23
|
+
readonly save: (receipt: PersistedExecutionReceipt, terminalLimit: number) => readonly string[];
|
|
47
24
|
readonly remove: (commandId: string) => void;
|
|
48
25
|
}
|
|
49
26
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-receipt-table.d.ts","sourceRoot":"","sources":["../../../src/storage/session/execution-receipt-table.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"execution-receipt-table.d.ts","sourceRoot":"","sources":["../../../src/storage/session/execution-receipt-table.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAE9E,QAAA,MAAM,aAAa;;;;;;;;kBAUJ,CAAC;AAChB,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEtE,QAAA,MAAM,cAAc;;;kBAA0E,CAAC;AAe/F,2EAA2E;AAC3E,qBAAa,qBAAqB;;IAE9B,YAAY,QAAQ,EAAE,mBAAmB,EAExC;IACD,QAAQ,CAAC,QAAQ,cAAe,MAAM,KAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,GAAG,SAAS,CAOjF;IACF,QAAQ,CAAC,IAAI,QAAO,SAAS,yBAAyB,EAAE,CAS9C;IACV,QAAQ,CAAC,IAAI,YAAa,yBAAyB,iBAAiB,MAAM,KAAG,SAAS,MAAM,EAAE,CA+BvF;IACP,QAAQ,CAAC,MAAM,cAAe,MAAM,KAAG,IAAI,CAEzC;CA4BL"}
|
|
@@ -1,25 +1,31 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { sessionEventPayloadSchema } from "@moxt-ai/mobius-sdk/protocol";
|
|
2
|
+
import { and, asc, desc, eq, isNotNull, notInArray } from "drizzle-orm";
|
|
2
3
|
import { z } from "zod";
|
|
3
4
|
import { executionIdentity, executionReceipt } from "../../schema/acp-session-store/index.js";
|
|
4
|
-
const
|
|
5
|
+
const receiptSchema = z
|
|
6
|
+
.object({
|
|
5
7
|
commandId: z.string(),
|
|
6
8
|
sessionId: z.string(),
|
|
7
9
|
commandHash: z.string(),
|
|
8
10
|
attemptId: z.string(),
|
|
9
11
|
updatedAt: z.string(),
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
receiptFields.extend({ state: z.literal("dispatching"), started: z.literal(false), outcome: z.null() }),
|
|
14
|
-
receiptFields.extend({ state: z.literal("running"), started: z.literal(true), outcome: z.string().nullable() }),
|
|
15
|
-
receiptFields.extend({
|
|
16
|
-
state: z.enum(["succeeded", "failed", "cancelled"]),
|
|
17
|
-
started: z.boolean(),
|
|
18
|
-
outcome: z.string().nullable(),
|
|
19
|
-
}),
|
|
20
|
-
])
|
|
12
|
+
started: z.boolean(),
|
|
13
|
+
outcome: z.string().nullable(),
|
|
14
|
+
})
|
|
21
15
|
.readonly();
|
|
22
16
|
const identitySchema = z.object({ sessionId: z.string(), commandHash: z.string() }).readonly();
|
|
17
|
+
/** Keep rollback readers working without treating their state column as an independent fact. */
|
|
18
|
+
function legacyState(receipt) {
|
|
19
|
+
if (receipt.outcome === null) {
|
|
20
|
+
return receipt.started ? "running" : "dispatching";
|
|
21
|
+
}
|
|
22
|
+
const event = sessionEventPayloadSchema.parse(JSON.parse(receipt.outcome));
|
|
23
|
+
return event.type === "lifecycle-metadata" && event.payload.kind === "prompt.completed"
|
|
24
|
+
? event.payload.stopReason === "cancelled"
|
|
25
|
+
? "cancelled"
|
|
26
|
+
: "succeeded"
|
|
27
|
+
: "failed";
|
|
28
|
+
}
|
|
23
29
|
/** Prompt bodies and Agent error text never enter the execution ledger. */
|
|
24
30
|
export class ExecutionReceiptTable {
|
|
25
31
|
#database;
|
|
@@ -41,28 +47,28 @@ export class ExecutionReceiptTable {
|
|
|
41
47
|
.from(executionReceipt)
|
|
42
48
|
.orderBy(asc(executionReceipt.updatedAt), asc(executionReceipt.commandId))
|
|
43
49
|
.all());
|
|
44
|
-
save = (receipt) => {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
};
|
|
50
|
+
save = (receipt, terminalLimit) => this.#database.transaction(() => {
|
|
51
|
+
const row = { ...receipt, state: legacyState(receipt) };
|
|
52
|
+
this.#database.orm
|
|
53
|
+
.insert(executionReceipt)
|
|
54
|
+
.values(row)
|
|
55
|
+
.onConflictDoUpdate({ target: executionReceipt.commandId, set: row })
|
|
56
|
+
.run();
|
|
57
|
+
if (receipt.outcome === null) {
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
const retained = this.#database.orm
|
|
61
|
+
.select({ commandId: executionReceipt.commandId })
|
|
62
|
+
.from(executionReceipt)
|
|
63
|
+
.where(and(eq(executionReceipt.sessionId, receipt.sessionId), isNotNull(executionReceipt.outcome)))
|
|
64
|
+
.orderBy(desc(executionReceipt.updatedAt), desc(executionReceipt.commandId))
|
|
65
|
+
.limit(terminalLimit)
|
|
66
|
+
.all();
|
|
67
|
+
if (retained.length === terminalLimit) {
|
|
68
|
+
return this.#remove(and(eq(executionReceipt.sessionId, receipt.sessionId), isNotNull(executionReceipt.outcome), notInArray(executionReceipt.commandId, retained.map((row) => row.commandId))));
|
|
69
|
+
}
|
|
70
|
+
return [];
|
|
71
|
+
});
|
|
66
72
|
remove = (commandId) => {
|
|
67
73
|
this.#database.transaction(() => this.#remove(eq(executionReceipt.commandId, commandId)));
|
|
68
74
|
};
|
|
@@ -84,7 +90,12 @@ export class ExecutionReceiptTable {
|
|
|
84
90
|
.where(and(condition, eq(executionReceipt.started, true))))
|
|
85
91
|
.onConflictDoNothing()
|
|
86
92
|
.run();
|
|
87
|
-
this.#database.orm
|
|
93
|
+
return this.#database.orm
|
|
94
|
+
.delete(executionReceipt)
|
|
95
|
+
.where(condition)
|
|
96
|
+
.returning({ commandId: executionReceipt.commandId })
|
|
97
|
+
.all()
|
|
98
|
+
.map((row) => row.commandId);
|
|
88
99
|
};
|
|
89
100
|
}
|
|
90
101
|
//# sourceMappingURL=execution-receipt-table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-receipt-table.js","sourceRoot":"","sources":["../../../src/storage/session/execution-receipt-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"execution-receipt-table.js","sourceRoot":"","sources":["../../../src/storage/session/execution-receipt-table.ts"],"names":[],"mappings":"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"}
|