@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.
Files changed (91) hide show
  1. package/dist/acp/adapter/pi/agent-connection.d.ts.map +1 -1
  2. package/dist/acp/adapter/pi/agent-connection.js +5 -0
  3. package/dist/acp/adapter/pi/agent-connection.js.map +1 -1
  4. package/dist/acp/harness/pi/endpoint.d.ts +1 -0
  5. package/dist/acp/harness/pi/endpoint.d.ts.map +1 -1
  6. package/dist/acp/harness/pi/endpoint.js +1 -1
  7. package/dist/acp/harness/pi/endpoint.js.map +1 -1
  8. package/dist/cli.js +311 -349
  9. package/dist/cli.js.map +4 -4
  10. package/dist/daemon/control/local-client.d.ts +3 -2
  11. package/dist/daemon/control/local-client.d.ts.map +1 -1
  12. package/dist/daemon/control/local-client.js.map +1 -1
  13. package/dist/daemon/control/local-server.d.ts +2 -1
  14. package/dist/daemon/control/local-server.d.ts.map +1 -1
  15. package/dist/daemon/control/local-server.js.map +1 -1
  16. package/dist/daemon/control/switch-status.d.ts +2 -1
  17. package/dist/daemon/control/switch-status.d.ts.map +1 -1
  18. package/dist/daemon/control/switch-status.js.map +1 -1
  19. package/dist/daemon/lifecycle/manager-client.d.ts +4 -3
  20. package/dist/daemon/lifecycle/manager-client.d.ts.map +1 -1
  21. package/dist/daemon/lifecycle/manager-client.js.map +1 -1
  22. package/dist/daemon/lifecycle/manager.d.ts +2 -1
  23. package/dist/daemon/lifecycle/manager.d.ts.map +1 -1
  24. package/dist/daemon/lifecycle/manager.js.map +1 -1
  25. package/dist/daemon/lifecycle/unhandled-rejection.d.ts +2 -1
  26. package/dist/daemon/lifecycle/unhandled-rejection.d.ts.map +1 -1
  27. package/dist/daemon/lifecycle/unhandled-rejection.js.map +1 -1
  28. package/dist/daemon/lifecycle/worker-lifecycle-log.d.ts +2 -1
  29. package/dist/daemon/lifecycle/worker-lifecycle-log.d.ts.map +1 -1
  30. package/dist/daemon/lifecycle/worker-lifecycle-log.js.map +1 -1
  31. package/dist/daemon/lifecycle/worker.d.ts +2 -1
  32. package/dist/daemon/lifecycle/worker.d.ts.map +1 -1
  33. package/dist/daemon/lifecycle/worker.js.map +1 -1
  34. package/dist/daemon/upgrades/data.d.ts +2 -1
  35. package/dist/daemon/upgrades/data.d.ts.map +1 -1
  36. package/dist/daemon/upgrades/data.js.map +1 -1
  37. package/dist/daemon/upgrades/upgrade.d.ts +3 -2
  38. package/dist/daemon/upgrades/upgrade.d.ts.map +1 -1
  39. package/dist/daemon/upgrades/upgrade.js.map +1 -1
  40. package/dist/runtime/command/registry/session.d.ts +1 -1
  41. package/dist/runtime/command/registry/session.d.ts.map +1 -1
  42. package/dist/runtime/command/registry/session.js +14 -3
  43. package/dist/runtime/command/registry/session.js.map +1 -1
  44. package/dist/runtime/connection/runtime-installation-store.d.ts +2 -1
  45. package/dist/runtime/connection/runtime-installation-store.d.ts.map +1 -1
  46. package/dist/runtime/connection/runtime-installation-store.js.map +1 -1
  47. package/dist/runtime.js +130 -172
  48. package/dist/runtime.js.map +3 -3
  49. package/dist/schema/acp-session-store/execution-receipt.d.ts.map +1 -1
  50. package/dist/schema/acp-session-store/execution-receipt.js +1 -0
  51. package/dist/schema/acp-session-store/execution-receipt.js.map +1 -1
  52. package/dist/session/manager/session-manager.d.ts +5 -5
  53. package/dist/session/manager/session-manager.d.ts.map +1 -1
  54. package/dist/session/manager/session-manager.js +10 -12
  55. package/dist/session/manager/session-manager.js.map +1 -1
  56. package/dist/session/prompt/apply-session-configuration.d.ts +0 -1
  57. package/dist/session/prompt/apply-session-configuration.d.ts.map +1 -1
  58. package/dist/session/prompt/apply-session-configuration.js +1 -1
  59. package/dist/session/prompt/apply-session-configuration.js.map +1 -1
  60. package/dist/session/prompt/execute-prompt.d.ts.map +1 -1
  61. package/dist/session/prompt/execute-prompt.js +10 -17
  62. package/dist/session/prompt/execute-prompt.js.map +1 -1
  63. package/dist/session/prompt/prompt-lifecycle.d.ts.map +1 -1
  64. package/dist/session/prompt/prompt-lifecycle.js +0 -1
  65. package/dist/session/prompt/prompt-lifecycle.js.map +1 -1
  66. package/dist/session/turn/execution-receipts.d.ts +1 -5
  67. package/dist/session/turn/execution-receipts.d.ts.map +1 -1
  68. package/dist/session/turn/execution-receipts.js +20 -75
  69. package/dist/session/turn/execution-receipts.js.map +1 -1
  70. package/dist/storage/daemon/control-token.d.ts +2 -1
  71. package/dist/storage/daemon/control-token.d.ts.map +1 -1
  72. package/dist/storage/daemon/control-token.js.map +1 -1
  73. package/dist/storage/daemon/manager-lock.d.ts +3 -2
  74. package/dist/storage/daemon/manager-lock.d.ts.map +1 -1
  75. package/dist/storage/daemon/manager-lock.js.map +1 -1
  76. package/dist/storage/daemon/version-data.d.ts +6 -5
  77. package/dist/storage/daemon/version-data.d.ts.map +1 -1
  78. package/dist/storage/daemon/version-data.js.map +1 -1
  79. package/dist/storage/installation/installation-files.d.ts +6 -1
  80. package/dist/storage/installation/installation-files.d.ts.map +1 -1
  81. package/dist/storage/installation/installation-files.js +3 -1
  82. package/dist/storage/installation/installation-files.js.map +1 -1
  83. package/dist/storage/session/execution-receipt-table.d.ts +3 -26
  84. package/dist/storage/session/execution-receipt-table.d.ts.map +1 -1
  85. package/dist/storage/session/execution-receipt-table.js +47 -36
  86. package/dist/storage/session/execution-receipt-table.js.map +1 -1
  87. package/dist/storage/state-directory.d.ts +9 -1
  88. package/dist/storage/state-directory.d.ts.map +1 -1
  89. package/dist/storage/state-directory.js +3 -4
  90. package/dist/storage/state-directory.js.map +1 -1
  91. 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 (!isTerminal(row.state)) {
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
- if (!this.#closing) {
32
- this.#table.save({ ...receipt, commandId, updatedAt: new Date().toISOString() });
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 !== undefined && !isTerminal(previous.state);
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
- this.#activeCount += Number(!isTerminal(receipt.state)) - Number(wasActive);
41
- this.#onCount(this.#activeCount);
42
- if (isTerminal(receipt.state) && (previous === undefined || !isTerminal(previous.state))) {
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 && isTerminal(existing.state) ? this.outcome(commandId) : undefined;
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 (!isTerminal(receipt.state)) {
138
- const state = event.type === "lifecycle-metadata" && event.payload.kind === "prompt.completed"
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", state: "dispatching" };
166
+ return { attemptId, commandId, kind: "accepted" };
191
167
  };
192
- transitionExecution = (commandId, state) => {
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.state === state) {
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 (state === "running") {
206
- this.#save(commandId, { ...current, state, started: true });
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 && !isTerminal(receipt.state) ? receipt.attemptId : null;
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 && isTerminal(receipt.state);
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: string): Promise<string>;
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":"AASA,gHAAgH;AAChH,wBAAsB,wBAAwB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBtF"}
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;AAEvD,SAAS,gBAAgB,CAAC,cAAsB;IAC5C,OAAO,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;AACjD,CAAC;AAED,gHAAgH;AAChH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,cAAsB;IACjE,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
+ {"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: string, name?: string): Promise<(() => Promise<void>) | null>;
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: string): Promise<boolean>;
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":"AAIA;;;GAGG;AACH,wBAAsB,kBAAkB,CACpC,cAAc,EAAE,MAAM,EACtB,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,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUhF"}
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;AAEvD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,cAAsB,EACtB,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,cAAsB;IAC1D,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
+ {"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: string, signal: AbortSignal): Promise<string | null>;
6
- export declare function versionDataExists(root: string, version: string, signal: AbortSignal): Promise<boolean>;
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: string, sourceVersion: string, targetVersion: string, signal: AbortSignal): Promise<readonly string[]>;
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: string, version: string, signal: AbortSignal): Promise<void>;
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: string, version: string, signal: AbortSignal): Promise<void>;
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":"AAWA,qBAAa,oBAAqB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,6BAA6B;CAC7C;AAED,oFAAoF;AACpF,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgBtG;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAU5G;AAeD;;;GAGG;AACH,wBAAsB,eAAe,CACjC,IAAI,EAAE,MAAM,EACZ,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,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB1G;AAED,gFAAgF;AAChF,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAW/G"}
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":"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"}
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
- export declare function installationDirectory(applicationDirectory: string, installationId: string): string;
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":"AAYA,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED,wBAAgB,uBAAuB,CAAC,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED,wBAAgB,qBAAqB,CAAC,oBAAoB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAElG;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
+ {"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":"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"}
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.ZodDiscriminatedUnion<[z.ZodObject<{
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>], "state">>;
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) => void;
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":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAS9E,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAUJ,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,KAAG,IAAI,CAmCxD;IACF,QAAQ,CAAC,MAAM,cAAe,MAAM,KAAG,IAAI,CAEzC;CAuBL"}
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 { and, asc, desc, eq, inArray, notInArray } from "drizzle-orm";
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 receiptFields = z.object({
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
- const receiptSchema = z
12
- .discriminatedUnion("state", [
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
- this.#database.transaction(() => {
46
- this.#database.orm
47
- .insert(executionReceipt)
48
- .values(receipt)
49
- .onConflictDoUpdate({ target: executionReceipt.commandId, set: receipt })
50
- .run();
51
- if (receipt.state === "dispatching" || receipt.state === "running") {
52
- return;
53
- }
54
- const retained = this.#database.orm
55
- .select({ commandId: executionReceipt.commandId })
56
- .from(executionReceipt)
57
- .where(and(eq(executionReceipt.sessionId, receipt.sessionId), inArray(executionReceipt.state, ["succeeded", "failed", "cancelled"])))
58
- .orderBy(desc(executionReceipt.updatedAt), desc(executionReceipt.commandId))
59
- .limit(1024)
60
- .all();
61
- if (retained.length === 1024) {
62
- this.#remove(and(eq(executionReceipt.sessionId, receipt.sessionId), inArray(executionReceipt.state, ["succeeded", "failed", "cancelled"]), notInArray(executionReceipt.commandId, retained.map((row) => row.commandId))));
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.delete(executionReceipt).where(condition).run();
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":"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"}
1
+ {"version":3,"file":"execution-receipt-table.js","sourceRoot":"","sources":["../../../src/storage/session/execution-receipt-table.ts"],"names":[],"mappings":"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"}