@codetreker/daynight 0.29.0 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/README.md +93 -30
  2. package/dist/api/index.d.ts +1 -1
  3. package/dist/api/index.js +1 -1
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/task-properties.d.ts +1 -0
  6. package/dist/api/task-properties.js +5 -0
  7. package/dist/api/task-properties.js.map +1 -1
  8. package/dist/commands/controller/independent.js +31 -15
  9. package/dist/commands/controller/independent.js.map +1 -1
  10. package/dist/commands/controller/journal-format.d.ts +4 -0
  11. package/dist/commands/controller/journal-format.js +42 -0
  12. package/dist/commands/controller/journal-format.js.map +1 -0
  13. package/dist/commands/controller/lifecycle-store.d.ts +7 -5
  14. package/dist/commands/controller/lifecycle-store.js +114 -85
  15. package/dist/commands/controller/lifecycle-store.js.map +1 -1
  16. package/dist/commands/controller/local-content.d.ts +10 -5
  17. package/dist/commands/controller/local-content.js +8 -2
  18. package/dist/commands/controller/local-content.js.map +1 -1
  19. package/dist/commands/controller/resume-lease-format.d.ts +4 -0
  20. package/dist/commands/controller/resume-lease-format.js +35 -0
  21. package/dist/commands/controller/resume-lease-format.js.map +1 -0
  22. package/dist/commands/controller/resume.js +85 -21
  23. package/dist/commands/controller/resume.js.map +1 -1
  24. package/dist/commands/controller/sqlite/journal/001-baseline.sql +17 -0
  25. package/dist/commands/controller/sqlite/journal/002-projection.sql +8 -0
  26. package/dist/commands/controller/sqlite/journal/003-operation-acknowledgements.sql +1 -0
  27. package/dist/commands/controller/sqlite/journal/004-projection-gap.sql +1 -0
  28. package/dist/commands/controller/sqlite/journal/005-resources.sql +7 -0
  29. package/dist/commands/controller/sqlite/resume-lease/001-baseline.sql +7 -0
  30. package/dist/commands/review/listing.js +1 -1
  31. package/dist/commands/review/listing.js.map +1 -1
  32. package/dist/commands/review/runtime.js +3 -1
  33. package/dist/commands/review/runtime.js.map +1 -1
  34. package/dist/commands/review/sqlite/001-baseline.sql +65 -0
  35. package/dist/commands/review/sqlite/002-publications.sql +15 -0
  36. package/dist/commands/review/store-format.d.ts +2 -0
  37. package/dist/commands/review/store-format.js +35 -0
  38. package/dist/commands/review/store-format.js.map +1 -0
  39. package/dist/commands/review/store.d.ts +8 -1
  40. package/dist/commands/review/store.js +46 -176
  41. package/dist/commands/review/store.js.map +1 -1
  42. package/dist/commands/skill/skills/using-daynight/references/autopilot-managed-task.md +19 -7
  43. package/dist/commands/worker/backends/sqlite/001-baseline.sql +4 -0
  44. package/dist/commands/worker/backends/web-process.js +6 -3
  45. package/dist/commands/worker/backends/web-process.js.map +1 -1
  46. package/dist/commands/worker/backends/web-record.d.ts +11 -0
  47. package/dist/commands/worker/backends/web-record.js +151 -0
  48. package/dist/commands/worker/backends/web-record.js.map +1 -0
  49. package/dist/commands/worker/backends/web-store-format.d.ts +2 -0
  50. package/dist/commands/worker/backends/web-store-format.js +33 -0
  51. package/dist/commands/worker/backends/web-store-format.js.map +1 -0
  52. package/dist/commands/worker/backends/web-store.d.ts +4 -1
  53. package/dist/commands/worker/backends/web-store.js +43 -170
  54. package/dist/commands/worker/backends/web-store.js.map +1 -1
  55. package/dist/commands/worker/backends/web.js +5 -4
  56. package/dist/commands/worker/backends/web.js.map +1 -1
  57. package/dist/commands/worker/cleanup.d.ts +1 -1
  58. package/dist/commands/worker/cleanup.js.map +1 -1
  59. package/dist/commands/worker/coordinator.js +1 -1
  60. package/dist/commands/worker/coordinator.js.map +1 -1
  61. package/dist/commands/worker/diagnostics.d.ts +3 -0
  62. package/dist/commands/worker/diagnostics.js +15 -0
  63. package/dist/commands/worker/diagnostics.js.map +1 -1
  64. package/dist/commands/worker/execution.d.ts +2 -0
  65. package/dist/commands/worker/execution.js +17 -4
  66. package/dist/commands/worker/execution.js.map +1 -1
  67. package/dist/commands/worker/herdr/agents.d.ts +6 -1
  68. package/dist/commands/worker/herdr/agents.js +8 -3
  69. package/dist/commands/worker/herdr/agents.js.map +1 -1
  70. package/dist/commands/worker/herdr.d.ts +2 -2
  71. package/dist/commands/worker/herdr.js.map +1 -1
  72. package/dist/commands/worker/prompts.js +7 -2
  73. package/dist/commands/worker/prompts.js.map +1 -1
  74. package/dist/commands/worker/runtime.js +8 -3
  75. package/dist/commands/worker/runtime.js.map +1 -1
  76. package/dist/commands/worker/sqlite/005-baseline.sql +18 -0
  77. package/dist/commands/worker/store-format.d.ts +2 -0
  78. package/dist/commands/worker/store-format.js +35 -0
  79. package/dist/commands/worker/store-format.js.map +1 -0
  80. package/dist/commands/worker/store.d.ts +2 -0
  81. package/dist/commands/worker/store.js +36 -69
  82. package/dist/commands/worker/store.js.map +1 -1
  83. package/dist/platform/diagnostics.js +3 -0
  84. package/dist/platform/diagnostics.js.map +1 -1
  85. package/dist/platform/instance-lock.d.ts +15 -0
  86. package/dist/platform/instance-lock.js +45 -3
  87. package/dist/platform/instance-lock.js.map +1 -1
  88. package/dist/platform/sqlite-access.d.ts +40 -0
  89. package/dist/platform/sqlite-access.js +333 -0
  90. package/dist/platform/sqlite-access.js.map +1 -0
  91. package/dist/platform/sqlite-error.d.ts +39 -0
  92. package/dist/platform/sqlite-error.js +36 -0
  93. package/dist/platform/sqlite-error.js.map +1 -0
  94. package/dist/platform/sqlite-format.d.ts +31 -0
  95. package/dist/platform/sqlite-format.js +98 -0
  96. package/dist/platform/sqlite-format.js.map +1 -0
  97. package/dist/platform/sqlite-sql.d.ts +12 -0
  98. package/dist/platform/sqlite-sql.js +61 -0
  99. package/dist/platform/sqlite-sql.js.map +1 -0
  100. package/package.json +3 -3
@@ -1,12 +1,43 @@
1
1
  import { sessionDisplayEntry } from "./wire-display.js";
2
2
  import Database from "better-sqlite3";
3
+ import { closeSqliteDatabase, openSqliteDatabase, readSqliteDatabase, runSqliteImmediate, sqliteTransactionOutcome } from "../../platform/sqlite-access.js";
4
+ import { assertCurrentSqlite } from "../../platform/sqlite-format.js";
5
+ import { SqliteAccessError } from "../../platform/sqlite-error.js";
6
+ import { assertJournalMigrationAllowed, controllerJournalFormat } from "./journal-format.js";
3
7
  import { createLocalSessionContent } from "./local-content.js";
4
8
  import { chmodSync } from "node:fs";
5
9
  import { sessionBinding } from "../../session/protocol.js";
6
10
  import { controllerPayloadHash, parseLaunchTicket } from "./launch-ticket.js";
7
11
  import { parseSourceEvent } from "../../session/controller-protocol.js";
8
12
  import { confirmControllerProcessesStopped } from "./process-proof.js";
9
- const json = (value) => JSON.parse(String(value));
13
+ const json = (value) => {
14
+ try {
15
+ return JSON.parse(String(value));
16
+ }
17
+ catch (cause) {
18
+ throw new SqliteAccessError("invalid-format", { database: controllerJournalFormat.name, phase: "decode" }, { cause });
19
+ }
20
+ };
21
+ const closeJournal = (db, file, operation) => {
22
+ let failed = false, failure;
23
+ try {
24
+ operation();
25
+ }
26
+ catch (cause) {
27
+ failed = true;
28
+ failure = cause;
29
+ }
30
+ try {
31
+ closeSqliteDatabase(db, { file, format: controllerJournalFormat }, failed ? sqliteTransactionOutcome(failure) : "committed");
32
+ }
33
+ catch (close) {
34
+ if (failed)
35
+ throw new AggregateError([failure, close], "Controller journal operation and shutdown failed.");
36
+ throw close;
37
+ }
38
+ if (failed)
39
+ throw failure;
40
+ };
10
41
  const validSequence = (value) => { if (!/^(0|[1-9][0-9]{0,18})$/.test(value) || BigInt(value) > 9223372036854775807n)
11
42
  throw new Error("Invalid controller outbox sequence."); return BigInt(value); };
12
43
  export const openControllerLifecycleStore = (file, ticket, options = {}) => {
@@ -14,27 +45,12 @@ export const openControllerLifecycleStore = (file, ticket, options = {}) => {
14
45
  if (!Number.isSafeInteger(maxOutboxBytes) || maxOutboxBytes < 256)
15
46
  throw new Error("Invalid controller outbox capacity.");
16
47
  parseLaunchTicket(ticket);
17
- const db = new Database(file);
18
- chmodSync(file, 0o600);
19
- db.pragma("journal_mode = WAL");
20
- db.pragma("synchronous = FULL");
21
48
  const initial = { executionId: ticket.executionId, ...sessionBinding(ticket), sessionId: ticket.sessionId, executionGeneration: ticket.executionGeneration, controllerInstanceId: ticket.controllerInstanceId, lifecycle: "starting", nativeSessionId: ticket.resumeNativeSessionId, initialInputState: ticket.initialInput === "none" ? "not_required" : "not_submitted", activity: "initializing", currentTurnId: null, capabilities: { send: false, steer: false, cancel: false, respond: false }, controllerProcess: null, nativeProcesses: [], nativeStopped: false, stoppedAt: null, error: null };
22
- const atomic = (action) => db.transaction(action).immediate();
23
- try {
24
- atomic(() => {
25
- const version = db.pragma("user_version", { simple: true });
26
- if (version !== 0 && version !== 1 && version !== 2 && version !== 3 && version !== 4 && version !== 5)
27
- throw new Error("Unsupported controller journal version.");
28
- if (version === 0)
29
- db.exec("CREATE TABLE execution (id INTEGER PRIMARY KEY CHECK(id=1), ticket_hash TEXT NOT NULL, owner_pid INTEGER, snapshot TEXT NOT NULL, last_sequence INTEGER NOT NULL DEFAULT 0); CREATE TABLE operations (id TEXT PRIMARY KEY, value TEXT NOT NULL); CREATE TABLE outbox (sequence INTEGER PRIMARY KEY, value TEXT NOT NULL); PRAGMA user_version=1;");
30
- if (version < 2)
31
- db.exec("ALTER TABLE execution ADD COLUMN last_acknowledged INTEGER NOT NULL DEFAULT 0; CREATE TABLE projection (id TEXT PRIMARY KEY, content_hash TEXT NOT NULL, revision INTEGER NOT NULL, value TEXT NOT NULL); PRAGMA user_version=2;");
32
- if (version < 3)
33
- db.exec("ALTER TABLE operations ADD COLUMN acknowledged INTEGER NOT NULL DEFAULT 0; PRAGMA user_version=3;");
34
- if (version < 4)
35
- db.exec("ALTER TABLE execution ADD COLUMN projection_gap TEXT; PRAGMA user_version=4;");
36
- if (version < 5)
37
- db.exec("ALTER TABLE execution ADD COLUMN source_floor INTEGER NOT NULL DEFAULT 0; CREATE TABLE resources (id TEXT PRIMARY KEY, descriptor TEXT NOT NULL, content BLOB); PRAGMA user_version=5;");
49
+ const db = openSqliteDatabase({ file, format: controllerJournalFormat, allowCreate: true,
50
+ ...(options.onMigration === undefined ? {} : { onMigration: options.onMigration }),
51
+ assertMigrationAllowed: assertJournalMigrationAllowed,
52
+ onReady: (db) => {
53
+ chmodSync(file, 0o600);
38
54
  const existing = db.prepare("SELECT ticket_hash, owner_pid, snapshot FROM execution WHERE id=1").get();
39
55
  if (existing === undefined)
40
56
  db.prepare("INSERT INTO execution(id,ticket_hash,owner_pid,snapshot) VALUES(1,?,?,?)").run(controllerPayloadHash(ticket), process.pid, JSON.stringify(initial));
@@ -70,14 +86,33 @@ export const openControllerLifecycleStore = (file, ticket, options = {}) => {
70
86
  }
71
87
  db.prepare("UPDATE execution SET owner_pid=? WHERE id=1").run(process.pid);
72
88
  }
73
- });
74
- }
75
- catch (error) {
76
- db.close();
77
- throw error;
78
- }
79
- const getSnapshot = () => json(db.prepare("SELECT snapshot FROM execution WHERE id=1").get().snapshot);
80
- const getOperation = (operationId) => { const row = db.prepare("SELECT value FROM operations WHERE id=?").get(operationId); return row === undefined ? null : json(row.value); };
89
+ },
90
+ });
91
+ const transaction = (action, mode) => {
92
+ let failed = false, primary;
93
+ try {
94
+ return db.transaction(() => {
95
+ try {
96
+ assertCurrentSqlite(db, controllerJournalFormat);
97
+ return action();
98
+ }
99
+ catch (cause) {
100
+ failed = true;
101
+ primary = cause;
102
+ throw cause;
103
+ }
104
+ })[mode]();
105
+ }
106
+ catch (cause) {
107
+ if (failed && cause !== primary)
108
+ throw new AggregateError([primary, cause], "Controller journal operation and rollback failed.");
109
+ throw cause;
110
+ }
111
+ };
112
+ const atomic = (action) => transaction(action, "immediate");
113
+ const read = (action) => transaction(action, "deferred");
114
+ const getSnapshot = () => read(() => json(db.prepare("SELECT snapshot FROM execution WHERE id=1").get().snapshot));
115
+ const getOperation = (operationId) => read(() => { const row = db.prepare("SELECT value FROM operations WHERE id=?").get(operationId); return row === undefined ? null : json(row.value); });
81
116
  const writeOperation = (operation) => { db.prepare("INSERT INTO operations(id,value) VALUES(?,?) ON CONFLICT(id) DO UPDATE SET value=excluded.value,acknowledged=0").run(operation.operationId, JSON.stringify(operation)); return operation; };
82
117
  const patchSnapshot = (patch) => atomic(() => {
83
118
  const current = getSnapshot();
@@ -89,10 +124,10 @@ export const openControllerLifecycleStore = (file, ticket, options = {}) => {
89
124
  db.prepare("UPDATE execution SET snapshot=? WHERE id=1").run(JSON.stringify(value));
90
125
  return value;
91
126
  });
92
- const outboxBytes = () => db.prepare("SELECT COALESCE(SUM(length(CAST(value AS BLOB))),0) AS bytes FROM outbox").get().bytes;
127
+ const outboxBytes = () => read(() => db.prepare("SELECT COALESCE(SUM(length(CAST(value AS BLOB))),0) AS bytes FROM outbox").get().bytes);
93
128
  const assertInputCapacity = () => { if (!options.contentOwnedLocally && outboxBytes() >= maxOutboxBytes * 0.8)
94
129
  throw new Error("Controller outbox capacity reached; native input is paused until durable events are acknowledged."); };
95
- const localContent = createLocalSessionContent(db, ticket.sessionId);
130
+ const localContent = createLocalSessionContent(db, ticket.sessionId, { read, write: atomic });
96
131
  const appendEvent = (payload) => atomic(() => {
97
132
  if (options.contentOwnedLocally && payload && typeof payload === "object" && "kind" in payload && payload.kind === "resource" && "payload" in payload) {
98
133
  const event = parseSourceEvent({ sourceSeq: "1", ...payload });
@@ -121,9 +156,9 @@ export const openControllerLifecycleStore = (file, ticket, options = {}) => {
121
156
  return {
122
157
  getSnapshot, patchSnapshot, getOperation, assertInputCapacity,
123
158
  ...localContent,
124
- getSourceFloor: () => db.prepare("SELECT CAST(source_floor AS TEXT) AS sequence FROM execution WHERE id=1").get().sequence,
125
- getLastSourceSequence: () => db.prepare("SELECT CAST(last_sequence AS TEXT) AS sequence FROM execution WHERE id=1").get().sequence,
126
- markProjectionGap: (reason) => {
159
+ getSourceFloor: () => read(() => db.prepare("SELECT CAST(source_floor AS TEXT) AS sequence FROM execution WHERE id=1").get().sequence),
160
+ getLastSourceSequence: () => read(() => db.prepare("SELECT CAST(last_sequence AS TEXT) AS sequence FROM execution WHERE id=1").get().sequence),
161
+ markProjectionGap: (reason) => atomic(() => {
127
162
  if (typeof reason !== "string" || reason.trim() === "")
128
163
  throw new Error("Projection gap requires a reason.");
129
164
  // A single bounded marker survives outbox exhaustion and controller generations.
@@ -134,7 +169,7 @@ export const openControllerLifecycleStore = (file, ticket, options = {}) => {
134
169
  safeReason += character;
135
170
  }
136
171
  db.prepare("UPDATE execution SET projection_gap=COALESCE(projection_gap,?) WHERE id=1").run(safeReason);
137
- },
172
+ }),
138
173
  drainProjectionGap: () => atomic(() => {
139
174
  const row = db.prepare("SELECT projection_gap AS reason FROM execution WHERE id=1").get();
140
175
  if (row.reason === null)
@@ -147,16 +182,16 @@ export const openControllerLifecycleStore = (file, ticket, options = {}) => {
147
182
  db.prepare("UPDATE execution SET projection_gap=NULL WHERE id=1").run();
148
183
  return event;
149
184
  }),
150
- listOperations: () => db.prepare("SELECT value FROM operations ORDER BY rowid").all().map(row => json(row.value)),
151
- listUnacknowledgedOperations: (limit = 100, afterOperationId) => {
185
+ listOperations: () => read(() => db.prepare("SELECT value FROM operations ORDER BY rowid").all().map(row => json(row.value))),
186
+ listUnacknowledgedOperations: (limit = 100, afterOperationId) => read(() => {
152
187
  if (!Number.isSafeInteger(limit) || limit < 1 || limit > 100)
153
188
  throw new Error("Invalid operation reconciliation page size.");
154
189
  return db.prepare("SELECT value FROM operations WHERE acknowledged=0 AND rowid > COALESCE((SELECT rowid FROM operations WHERE id=?),0) ORDER BY rowid LIMIT ?").all(afterOperationId ?? null, limit).map(row => json(row.value));
155
- },
156
- markOperationAcknowledged: (id) => { const operation = getOperation(id); if (operation === null)
190
+ }),
191
+ markOperationAcknowledged: (id) => atomic(() => { const operation = getOperation(id); if (operation === null)
157
192
  throw new Error("Cannot acknowledge an unknown operation."); if (["confirmed", "failed", "rejected", "expired"].includes(operation.state))
158
- db.prepare("UPDATE operations SET acknowledged=1 WHERE id=?").run(id); },
159
- getLastAcknowledgedSequence: () => db.prepare("SELECT CAST(last_acknowledged AS TEXT) AS sequence FROM execution WHERE id=1").get().sequence,
193
+ db.prepare("UPDATE operations SET acknowledged=1 WHERE id=?").run(id); }),
194
+ getLastAcknowledgedSequence: () => read(() => db.prepare("SELECT CAST(last_acknowledged AS TEXT) AS sequence FROM execution WHERE id=1").get().sequence),
160
195
  projectTimeline: (entry) => atomic(() => {
161
196
  const { revision: ignored, entrySeq: ignoredSequence, ...content } = entry;
162
197
  void ignored;
@@ -207,11 +242,11 @@ export const openControllerLifecycleStore = (file, ticket, options = {}) => {
207
242
  return writeOperation({ ...operation, state, result, error, updatedAt: Date.now() });
208
243
  }),
209
244
  appendEvent,
210
- pendingEvents: (limit = 100) => {
245
+ pendingEvents: (limit = 100) => read(() => {
211
246
  if (!Number.isSafeInteger(limit) || limit < 1 || limit > 1000)
212
247
  throw new Error("Invalid controller outbox page size.");
213
248
  return db.prepare("SELECT CAST(sequence AS TEXT) AS sequence,value FROM outbox ORDER BY outbox.sequence LIMIT ?").all(limit).map((row) => ({ sequence: row.sequence, payload: json(row.value) }));
214
- },
249
+ }),
215
250
  acknowledgeEvents: (sequence) => atomic(() => {
216
251
  const value = validSequence(sequence);
217
252
  const row = db.prepare("SELECT CAST(last_sequence AS TEXT) AS sequence FROM execution WHERE id=1").get();
@@ -220,29 +255,25 @@ export const openControllerLifecycleStore = (file, ticket, options = {}) => {
220
255
  db.prepare("DELETE FROM outbox WHERE sequence<=?").run(value);
221
256
  db.prepare("UPDATE execution SET last_acknowledged=MAX(last_acknowledged,?) WHERE id=1").run(value);
222
257
  }),
223
- close: () => { if (closed)
224
- return; db.prepare("UPDATE execution SET owner_pid=NULL WHERE id=1 AND owner_pid=?").run(process.pid); db.close(); closed = true; },
258
+ close: () => {
259
+ if (closed)
260
+ return;
261
+ try {
262
+ closeJournal(db, file, () => { runSqliteImmediate(db, () => { assertCurrentSqlite(db, controllerJournalFormat); db.prepare("UPDATE execution SET owner_pid=NULL WHERE id=1 AND owner_pid=?").run(process.pid); }); });
263
+ }
264
+ finally {
265
+ closed = !db.open;
266
+ }
267
+ },
225
268
  };
226
269
  };
227
- /** Read-only recovery never acquires the native writer lease. */
228
- export const readControllerSnapshot = (file) => {
229
- let db;
230
- try {
231
- db = new Database(file, { readonly: true, fileMustExist: true });
232
- }
233
- catch (error) {
234
- if (error instanceof Error && "code" in error && error.code === "SQLITE_CANTOPEN")
235
- return null;
236
- throw error;
237
- }
238
- try {
239
- const row = db.prepare("SELECT snapshot FROM execution WHERE id=1").get();
240
- return row === undefined ? null : json(row.snapshot);
241
- }
242
- finally {
243
- db.close();
244
- }
245
- };
270
+ /** Recovery reads may upgrade the format without acquiring a native writer. */
271
+ export const readControllerSnapshot = (file) => readSqliteDatabase({
272
+ file, format: controllerJournalFormat, onMissing: () => null, assertMigrationAllowed: assertJournalMigrationAllowed,
273
+ }, db => {
274
+ const row = db.prepare("SELECT snapshot FROM execution WHERE id=1").get();
275
+ return row === undefined ? null : json(row.snapshot);
276
+ });
246
277
  /** Only an independent worker may commit complete process-tree stop after the writer exits. */
247
278
  export const recordStoppedControllerGeneration = async (file, ticket) => {
248
279
  const observed = readControllerSnapshot(file);
@@ -250,29 +281,27 @@ export const recordStoppedControllerGeneration = async (file, ticket) => {
250
281
  throw new Error("Original controller stop evidence is unavailable.");
251
282
  if (!await confirmControllerProcessesStopped(observed.controllerProcess, observed.nativeProcesses))
252
283
  throw new Error("The original controller or its descendants are still running.");
253
- const db = new Database(file);
254
- try {
255
- return db.transaction(() => {
284
+ const db = new Database(file, { fileMustExist: true });
285
+ let stopped;
286
+ closeJournal(db, file, () => {
287
+ stopped = runSqliteImmediate(db, () => {
288
+ assertCurrentSqlite(db, controllerJournalFormat);
256
289
  const row = db.prepare("SELECT snapshot FROM execution WHERE id=1").get();
257
290
  if (row.snapshot !== JSON.stringify(observed))
258
291
  throw new Error("The controller state changed during stop verification.");
259
- const stopped = { ...observed, lifecycle: "stopped", nativeStopped: true, stoppedAt: observed.stoppedAt ?? new Date().toISOString(), activity: "stopped", capabilities: { send: false, steer: false, cancel: false, respond: false } };
260
- db.prepare("UPDATE execution SET snapshot=?,owner_pid=NULL WHERE id=1").run(JSON.stringify(stopped));
261
- return stopped;
262
- }).immediate();
263
- }
264
- finally {
265
- db.close();
266
- }
267
- };
268
- export const readControllerOperation = (file, operationId) => {
269
- const db = new Database(file, { readonly: true, fileMustExist: true });
270
- try {
271
- const row = db.prepare("SELECT value FROM operations WHERE id=?").get(operationId);
272
- return row === undefined ? null : json(row.value);
273
- }
274
- finally {
275
- db.close();
276
- }
292
+ const value = { ...observed, lifecycle: "stopped", nativeStopped: true, stoppedAt: observed.stoppedAt ?? new Date().toISOString(), activity: "stopped", capabilities: { send: false, steer: false, cancel: false, respond: false } };
293
+ db.prepare("UPDATE execution SET snapshot=?,owner_pid=NULL WHERE id=1").run(JSON.stringify(value));
294
+ return value;
295
+ });
296
+ });
297
+ return stopped;
277
298
  };
299
+ export const readControllerOperation = (file, operationId) => readSqliteDatabase({
300
+ file, format: controllerJournalFormat,
301
+ onMissing: () => { throw new Error("The controller journal does not exist."); },
302
+ assertMigrationAllowed: assertJournalMigrationAllowed,
303
+ }, db => {
304
+ const row = db.prepare("SELECT value FROM operations WHERE id=?").get(operationId);
305
+ return row === undefined ? null : json(row.value);
306
+ });
278
307
  //# sourceMappingURL=lifecycle-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-store.js","sourceRoot":"","sources":["../../../src/commands/controller/lifecycle-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle-store.js","sourceRoot":"","sources":["../../../src/commands/controller/lifecycle-store.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,17 @@ export type LocalTimelineQuery = {
7
7
  cursor: string | null;
8
8
  limit: number;
9
9
  };
10
- export declare const createLocalSessionContent: (db: Database.Database, sessionId: string) => {
11
- readTimeline(query: LocalTimelineQuery): Omit<TimelinePage, "sessionId" | "lastEventSeq"> & {
10
+ type ContentTransactions = {
11
+ read: <T>(action: () => T) => T;
12
+ write: <T>(action: () => T) => T;
13
+ };
14
+ export declare const createLocalSessionContent: (db: Database.Database, sessionId: string, transactions: ContentTransactions) => {
15
+ readTimeline: (query: LocalTimelineQuery) => Omit<TimelinePage, "lastEventSeq" | "sessionId"> & {
12
16
  kind: "timeline";
13
17
  };
14
- pendingInteractions(): TimelineEntry[];
15
- saveResource(resource: SessionResource, content?: Uint8Array): void;
16
- readResource(resourceId: string, offset: string, limit: number): {
18
+ pendingInteractions: () => TimelineEntry[];
19
+ saveResource: (resource: SessionResource, bytes?: Uint8Array) => void;
20
+ readResource: (resourceId: string, offset: string, limit: number) => {
17
21
  kind: "resource";
18
22
  resource: SessionResource;
19
23
  offset: string;
@@ -21,3 +25,4 @@ export declare const createLocalSessionContent: (db: Database.Database, sessionI
21
25
  eof: boolean;
22
26
  };
23
27
  };
28
+ export {};
@@ -6,7 +6,7 @@ const sequence = (value) => {
6
6
  throw new Error("Invalid local content sequence.");
7
7
  return BigInt(value);
8
8
  };
9
- export const createLocalSessionContent = (db, sessionId) => {
9
+ export const createLocalSessionContent = (db, sessionId, transactions) => {
10
10
  const resourcesFor = (items) => {
11
11
  const ids = new Set();
12
12
  for (const item of items) {
@@ -20,7 +20,7 @@ export const createLocalSessionContent = (db, sessionId) => {
20
20
  return row ? [parseSessionResource(JSON.parse(row.descriptor))] : [];
21
21
  });
22
22
  };
23
- return {
23
+ const content = {
24
24
  readTimeline(query) {
25
25
  if (!Number.isSafeInteger(query.limit) || query.limit < 1 || query.limit > 200 || !["tail", "before", "after"].includes(query.direction))
26
26
  throw new Error("Invalid local timeline page.");
@@ -99,5 +99,11 @@ export const createLocalSessionContent = (db, sessionId) => {
99
99
  return { kind: "resource", resource, offset, data: row.content.subarray(Number(position), end).toString("base64"), eof: end === row.content.length };
100
100
  },
101
101
  };
102
+ return {
103
+ readTimeline: (query) => transactions.read(() => content.readTimeline(query)),
104
+ pendingInteractions: () => transactions.read(() => content.pendingInteractions()),
105
+ saveResource: (resource, bytes) => transactions.write(() => content.saveResource(resource, bytes)),
106
+ readResource: (resourceId, offset, limit) => transactions.read(() => content.readResource(resourceId, offset, limit)),
107
+ };
102
108
  };
103
109
  //# sourceMappingURL=local-content.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-content.js","sourceRoot":"","sources":["../../../src/commands/controller/local-content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-content.js","sourceRoot":"","sources":["../../../src/commands/controller/local-content.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type Database from "better-sqlite3";
2
+ import { type SqliteFormat, type SqliteSource } from "../../platform/sqlite-format.js";
3
+ export declare const nativeResumeLeaseFormat: SqliteFormat;
4
+ export declare const assertResumeLeaseMigrationAllowed: (db: Database.Database, source: SqliteSource) => undefined;
@@ -0,0 +1,35 @@
1
+ import { SqliteAccessError } from "../../platform/sqlite-error.js";
2
+ import { currentSqliteVersion } from "../../platform/sqlite-format.js";
3
+ import { loadSqliteSequence, sqliteSchemaSnapshots } from "../../platform/sqlite-sql.js";
4
+ const steps = loadSqliteSequence(new URL("./sqlite/resume-lease/", import.meta.url));
5
+ const [baseline, ...upgrades] = steps;
6
+ const schemas = sqliteSchemaSnapshots(steps);
7
+ const normalized = (sql) => sql.replace(/\s+/g, "").replace(/;$/, "").toLowerCase();
8
+ const validate = (db, expected) => {
9
+ const rows = db.prepare("SELECT name,type,sql FROM sqlite_schema WHERE name NOT GLOB 'sqlite_*' ORDER BY name").all();
10
+ if (rows.length !== expected.length || rows.some((row, index) => {
11
+ const known = expected[index];
12
+ return row.name !== known.name || row.type !== known.type || row.sql === null || known.sql === null || normalized(row.sql) !== normalized(known.sql);
13
+ }))
14
+ throw new Error("Native resume leases do not match the supported schema.");
15
+ };
16
+ export const nativeResumeLeaseFormat = {
17
+ name: "native-resume-leases",
18
+ baseline: { version: baseline.version, create: (db) => { db.exec(baseline.sql); } },
19
+ migrations: upgrades.map(step => ({ toVersion: step.version, up: (db) => { db.exec(step.sql); } })),
20
+ validateVersioned: (db, version) => {
21
+ const expected = schemas.get(version);
22
+ if (expected === undefined)
23
+ throw new Error("Unsupported native resume leases SQLite version.");
24
+ validate(db, expected);
25
+ },
26
+ };
27
+ export const assertResumeLeaseMigrationAllowed = (db, source) => {
28
+ if (source.kind === "empty")
29
+ return;
30
+ if (db.prepare("SELECT 1 FROM sqlite_schema WHERE type IN ('table','view') AND name='leases' COLLATE NOCASE").get() === undefined)
31
+ return;
32
+ if (db.prepare("SELECT 1 FROM leases LIMIT 1").get() !== undefined)
33
+ throw new SqliteAccessError("upgrade-blocked", { database: nativeResumeLeaseFormat.name, phase: "lease-admission", fromVersion: source.version, toVersion: currentSqliteVersion(nativeResumeLeaseFormat) });
34
+ };
35
+ //# sourceMappingURL=resume-lease-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resume-lease-format.js","sourceRoot":"","sources":["../../../src/commands/controller/resume-lease-format.ts"],"names":[],"mappings":"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"}