@gkorepanov/ccodex 0.4.9 → 0.4.10

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 (211) hide show
  1. package/README.md +1 -1
  2. package/config/compatibility.json +3 -3
  3. package/dist/claude/goalTools.js +1 -1
  4. package/dist/claude/goalTools.js.map +1 -1
  5. package/dist/claude/hookMapper.d.ts +1 -0
  6. package/dist/claude/hookMapper.js +1 -0
  7. package/dist/claude/hookMapper.js.map +1 -1
  8. package/dist/claude/inputMapper.js +4 -1
  9. package/dist/claude/inputMapper.js.map +1 -1
  10. package/dist/claude/rateLimits.d.ts +1 -0
  11. package/dist/claude/rateLimits.js +2 -1
  12. package/dist/claude/rateLimits.js.map +1 -1
  13. package/dist/claude/service.d.ts +13 -1
  14. package/dist/claude/service.js +152 -19
  15. package/dist/claude/service.js.map +1 -1
  16. package/dist/claude/session/commands.d.ts +3 -0
  17. package/dist/claude/session/goalState.js +9 -0
  18. package/dist/claude/session/goalState.js.map +1 -1
  19. package/dist/claude/session/repository.d.ts +1 -1
  20. package/dist/claude/session/repository.js +2 -2
  21. package/dist/claude/session/repository.js.map +1 -1
  22. package/dist/claude/session/scopeState.js +3 -1
  23. package/dist/claude/session/scopeState.js.map +1 -1
  24. package/dist/claude/session/session.js +13 -2
  25. package/dist/claude/session/session.js.map +1 -1
  26. package/dist/claude/session/usage.js +1 -0
  27. package/dist/claude/session/usage.js.map +1 -1
  28. package/dist/claude/toolMapper.js +2 -2
  29. package/dist/claude/toolMapper.js.map +1 -1
  30. package/dist/codex/generated/ClientRequest.d.ts +20 -0
  31. package/dist/codex/generated/CodexResponseHandoffMode.d.ts +1 -0
  32. package/dist/codex/generated/CodexResponseHandoffMode.js +3 -0
  33. package/dist/codex/generated/CodexResponseHandoffMode.js.map +1 -0
  34. package/dist/codex/generated/ContentItem.d.ts +3 -0
  35. package/dist/codex/generated/FunctionCallOutputContentItem.d.ts +3 -0
  36. package/dist/codex/generated/InputModality.d.ts +1 -1
  37. package/dist/codex/generated/LegacyAppPathString.d.ts +7 -6
  38. package/dist/codex/generated/RealtimeConversationVersion.d.ts +1 -1
  39. package/dist/codex/generated/ResponseItem.d.ts +15 -14
  40. package/dist/codex/generated/ResponseItemId.d.ts +5 -0
  41. package/dist/codex/generated/ResponseItemId.js +3 -0
  42. package/dist/codex/generated/ResponseItemId.js.map +1 -0
  43. package/dist/codex/generated/ResponseItemRuntimeSchema.js +2 -2
  44. package/dist/codex/generated/ResponseItemRuntimeSchema.js.map +1 -1
  45. package/dist/codex/generated/ReviewDecision.d.ts +5 -1
  46. package/dist/codex/generated/ServerNotification.d.ts +11 -0
  47. package/dist/codex/generated/ServerNotificationEnvelope.d.ts +302 -0
  48. package/dist/codex/generated/ServerNotificationEnvelope.js +3 -0
  49. package/dist/codex/generated/ServerNotificationEnvelope.js.map +1 -0
  50. package/dist/codex/generated/SleepItem.d.ts +7 -0
  51. package/dist/codex/generated/SleepItem.js +3 -0
  52. package/dist/codex/generated/SleepItem.js.map +1 -0
  53. package/dist/codex/generated/WebSearchItem.d.ts +8 -0
  54. package/dist/codex/generated/index.d.ts +4 -1
  55. package/dist/codex/generated/index.js.map +1 -1
  56. package/dist/codex/generated/v2/Account.d.ts +1 -2
  57. package/dist/codex/generated/v2/AppToolSummary.d.ts +8 -0
  58. package/dist/codex/generated/v2/AppToolSummary.js +3 -0
  59. package/dist/codex/generated/v2/AppToolSummary.js.map +1 -0
  60. package/dist/codex/generated/v2/AppsInstalledParams.d.ts +14 -0
  61. package/dist/codex/generated/v2/AppsInstalledParams.js +3 -0
  62. package/dist/codex/generated/v2/AppsInstalledParams.js.map +1 -0
  63. package/dist/codex/generated/v2/AppsInstalledResponse.d.ts +7 -0
  64. package/dist/codex/generated/v2/AppsInstalledResponse.js +3 -0
  65. package/dist/codex/generated/v2/AppsInstalledResponse.js.map +1 -0
  66. package/dist/codex/generated/v2/AppsReadParams.d.ts +14 -0
  67. package/dist/codex/generated/v2/AppsReadParams.js +3 -0
  68. package/dist/codex/generated/v2/AppsReadParams.js.map +1 -0
  69. package/dist/codex/generated/v2/AppsReadResponse.d.ts +8 -0
  70. package/dist/codex/generated/v2/AppsReadResponse.js +3 -0
  71. package/dist/codex/generated/v2/AppsReadResponse.js.map +1 -0
  72. package/dist/codex/generated/v2/ConfiguredHookHandler.d.ts +7 -0
  73. package/dist/codex/generated/v2/ConnectorMetadata.d.ts +15 -0
  74. package/dist/codex/generated/v2/ConnectorMetadata.js +3 -0
  75. package/dist/codex/generated/v2/ConnectorMetadata.js.map +1 -0
  76. package/dist/codex/generated/v2/DynamicToolCallOutputContentItem.d.ts +3 -0
  77. package/dist/codex/generated/v2/EnvironmentConnectionNotification.d.ts +4 -0
  78. package/dist/codex/generated/v2/EnvironmentConnectionNotification.js +3 -0
  79. package/dist/codex/generated/v2/EnvironmentConnectionNotification.js.map +1 -0
  80. package/dist/codex/generated/v2/EnvironmentStatusKind.d.ts +7 -0
  81. package/dist/codex/generated/v2/EnvironmentStatusKind.js +3 -0
  82. package/dist/codex/generated/v2/EnvironmentStatusKind.js.map +1 -0
  83. package/dist/codex/generated/v2/EnvironmentStatusParams.d.ts +9 -0
  84. package/dist/codex/generated/v2/EnvironmentStatusParams.js +3 -0
  85. package/dist/codex/generated/v2/EnvironmentStatusParams.js.map +1 -0
  86. package/dist/codex/generated/v2/EnvironmentStatusResponse.d.ts +14 -0
  87. package/dist/codex/generated/v2/EnvironmentStatusResponse.js +3 -0
  88. package/dist/codex/generated/v2/EnvironmentStatusResponse.js.map +1 -0
  89. package/dist/codex/generated/v2/ExternalAgentConfigDetectParams.d.ts +9 -0
  90. package/dist/codex/generated/v2/ExternalAgentConfigImportHistoriesReadResponse.d.ts +2 -0
  91. package/dist/codex/generated/v2/ExternalAgentConfigImportItemTypeFailure.d.ts +1 -0
  92. package/dist/codex/generated/v2/ExternalAgentConfigImportParams.d.ts +6 -1
  93. package/dist/codex/generated/v2/ExternalAgentConfigMigrationItemType.d.ts +1 -1
  94. package/dist/codex/generated/v2/ExternalAgentImportedConnectorCandidate.d.ts +6 -0
  95. package/dist/codex/generated/v2/ExternalAgentImportedConnectorCandidate.js +3 -0
  96. package/dist/codex/generated/v2/ExternalAgentImportedConnectorCandidate.js.map +1 -0
  97. package/dist/codex/generated/v2/ExternalAgentImportedConnectorSource.d.ts +1 -0
  98. package/dist/codex/generated/v2/ExternalAgentImportedConnectorSource.js +3 -0
  99. package/dist/codex/generated/v2/ExternalAgentImportedConnectorSource.js.map +1 -0
  100. package/dist/codex/generated/v2/FileSystemSpecialPath.d.ts +3 -2
  101. package/dist/codex/generated/v2/HookEventName.d.ts +1 -1
  102. package/dist/codex/generated/v2/HookMetadata.d.ts +5 -0
  103. package/dist/codex/generated/v2/InstalledApp.d.ts +21 -0
  104. package/dist/codex/generated/v2/InstalledApp.js +3 -0
  105. package/dist/codex/generated/v2/InstalledApp.js.map +1 -0
  106. package/dist/codex/generated/v2/LoginAccountParams.d.ts +4 -0
  107. package/dist/codex/generated/v2/LoginAccountResponse.d.ts +2 -0
  108. package/dist/codex/generated/v2/ManagedHooksRequirements.d.ts +1 -0
  109. package/dist/codex/generated/v2/McpToolCallAppContext.d.ts +0 -1
  110. package/dist/codex/generated/v2/MigrationDetails.d.ts +1 -0
  111. package/dist/codex/generated/v2/PluginDetail.d.ts +2 -0
  112. package/dist/codex/generated/v2/PluginShareUpdateDiscoverability.d.ts +1 -1
  113. package/dist/codex/generated/v2/PluginSummary.d.ts +1 -0
  114. package/dist/codex/generated/v2/RateLimitSnapshot.d.ts +4 -0
  115. package/dist/codex/generated/v2/RawResponseCompletedNotification.d.ts +11 -0
  116. package/dist/codex/generated/v2/RawResponseCompletedNotification.js +3 -0
  117. package/dist/codex/generated/v2/RawResponseCompletedNotification.js.map +1 -0
  118. package/dist/codex/generated/v2/ScheduledTaskSchedule.d.ts +16 -0
  119. package/dist/codex/generated/v2/ScheduledTaskSchedule.js +3 -0
  120. package/dist/codex/generated/v2/ScheduledTaskSchedule.js.map +1 -0
  121. package/dist/codex/generated/v2/ScheduledTaskSummary.d.ts +7 -0
  122. package/dist/codex/generated/v2/ScheduledTaskSummary.js +3 -0
  123. package/dist/codex/generated/v2/ScheduledTaskSummary.js.map +1 -0
  124. package/dist/codex/generated/v2/ScheduledTaskWeekday.d.ts +1 -0
  125. package/dist/codex/generated/v2/ScheduledTaskWeekday.js +3 -0
  126. package/dist/codex/generated/v2/ScheduledTaskWeekday.js.map +1 -0
  127. package/dist/codex/generated/v2/Thread.d.ts +5 -0
  128. package/dist/codex/generated/v2/ThreadForkParams.d.ts +11 -0
  129. package/dist/codex/generated/v2/ThreadItem.d.ts +2 -3
  130. package/dist/codex/generated/v2/ThreadItemEntry.d.ts +8 -0
  131. package/dist/codex/generated/v2/ThreadItemEntry.js +3 -0
  132. package/dist/codex/generated/v2/ThreadItemEntry.js.map +1 -0
  133. package/dist/codex/generated/v2/ThreadItemsListResponse.d.ts +2 -2
  134. package/dist/codex/generated/v2/ThreadRealtimeInitialItem.d.ts +8 -0
  135. package/dist/codex/generated/v2/ThreadRealtimeInitialItem.js +3 -0
  136. package/dist/codex/generated/v2/ThreadRealtimeInitialItem.js.map +1 -0
  137. package/dist/codex/generated/v2/ThreadRealtimeStartParams.d.ts +11 -4
  138. package/dist/codex/generated/v2/ThreadResumeResponse.d.ts +14 -0
  139. package/dist/codex/generated/v2/ThreadSearchOccurrence.d.ts +17 -0
  140. package/dist/codex/generated/v2/ThreadSearchOccurrence.js +3 -0
  141. package/dist/codex/generated/v2/ThreadSearchOccurrence.js.map +1 -0
  142. package/dist/codex/generated/v2/ThreadSearchOccurrencesParams.d.ts +19 -0
  143. package/dist/codex/generated/v2/ThreadSearchOccurrencesParams.js +3 -0
  144. package/dist/codex/generated/v2/ThreadSearchOccurrencesParams.js.map +1 -0
  145. package/dist/codex/generated/v2/ThreadSearchOccurrencesResponse.d.ts +11 -0
  146. package/dist/codex/generated/v2/ThreadSearchOccurrencesResponse.js +3 -0
  147. package/dist/codex/generated/v2/ThreadSearchOccurrencesResponse.js.map +1 -0
  148. package/dist/codex/generated/v2/ThreadSearchTextRange.d.ts +13 -0
  149. package/dist/codex/generated/v2/ThreadSearchTextRange.js +3 -0
  150. package/dist/codex/generated/v2/ThreadSearchTextRange.js.map +1 -0
  151. package/dist/codex/generated/v2/TokenUsageBreakdown.d.ts +1 -0
  152. package/dist/codex/generated/v2/TurnEnvironmentParams.d.ts +4 -0
  153. package/dist/codex/generated/v2/UserInput.d.ts +6 -0
  154. package/dist/codex/generated/v2/index.d.ts +23 -0
  155. package/dist/daemon/daemon.js +5 -20
  156. package/dist/daemon/daemon.js.map +1 -1
  157. package/dist/daemon/probe.js +1 -1
  158. package/dist/daemon/settings.d.ts +6 -0
  159. package/dist/daemon/settings.js +23 -0
  160. package/dist/daemon/settings.js.map +1 -0
  161. package/dist/gateway/clientConnection.d.ts +3 -2
  162. package/dist/gateway/clientConnection.js +41 -44
  163. package/dist/gateway/clientConnection.js.map +1 -1
  164. package/dist/gateway/logicalThreadProjection.d.ts +5 -0
  165. package/dist/gateway/logicalThreadProjection.js +58 -1
  166. package/dist/gateway/logicalThreadProjection.js.map +1 -1
  167. package/dist/gateway/remoteControlController.d.ts +29 -0
  168. package/dist/gateway/remoteControlController.js +78 -0
  169. package/dist/gateway/remoteControlController.js.map +1 -0
  170. package/dist/gateway/remoteControlHub.js +2 -1
  171. package/dist/gateway/remoteControlHub.js.map +1 -1
  172. package/dist/gateway/remoteControlMode.js +2 -12
  173. package/dist/gateway/remoteControlMode.js.map +1 -1
  174. package/dist/gateway/server.js +42 -15
  175. package/dist/gateway/server.js.map +1 -1
  176. package/dist/gateway/subscriptions.d.ts +9 -2
  177. package/dist/gateway/subscriptions.js +40 -9
  178. package/dist/gateway/subscriptions.js.map +1 -1
  179. package/dist/gateway/threadList.d.ts +25 -0
  180. package/dist/gateway/threadList.js +112 -26
  181. package/dist/gateway/threadList.js.map +1 -1
  182. package/dist/handoff/lineageStore.d.ts +101 -0
  183. package/dist/handoff/lineageStore.js +502 -0
  184. package/dist/handoff/lineageStore.js.map +1 -0
  185. package/dist/handoff/providerEpochs.d.ts +19 -5
  186. package/dist/handoff/providerEpochs.js +119 -41
  187. package/dist/handoff/providerEpochs.js.map +1 -1
  188. package/dist/handoff/service.d.ts +16 -2
  189. package/dist/handoff/service.js +500 -139
  190. package/dist/handoff/service.js.map +1 -1
  191. package/dist/handoff/startupMigration.d.ts +22 -0
  192. package/dist/handoff/startupMigration.js +52 -0
  193. package/dist/handoff/startupMigration.js.map +1 -0
  194. package/dist/handoff/store.d.ts +10 -0
  195. package/dist/handoff/store.js +141 -28
  196. package/dist/handoff/store.js.map +1 -1
  197. package/dist/runtime/dependencies.js +1 -1
  198. package/dist/store/HybridStore.d.ts +3 -1
  199. package/dist/store/HybridStore.js.map +1 -1
  200. package/dist/store/memoryStore.d.ts +3 -2
  201. package/dist/store/memoryStore.js +18 -4
  202. package/dist/store/memoryStore.js.map +1 -1
  203. package/dist/store/sqliteStore.d.ts +1 -2
  204. package/dist/store/sqliteStore.js +57 -24
  205. package/dist/store/sqliteStore.js.map +1 -1
  206. package/legal/LICENSES.md +1 -1
  207. package/legal/THIRD_PARTY_NOTICES.md +136 -124
  208. package/package.json +5 -5
  209. package/dist/codex/generated/AmazonBedrockCredentialSource.d.ts +0 -1
  210. package/dist/codex/generated/AmazonBedrockCredentialSource.js +0 -3
  211. package/dist/codex/generated/AmazonBedrockCredentialSource.js.map +0 -1
@@ -2,8 +2,10 @@ import { chmodSync, mkdirSync } from "node:fs";
2
2
  import { dirname } from "node:path";
3
3
  import { DatabaseSync } from "node:sqlite";
4
4
  export class HandoffStore {
5
+ path;
5
6
  database;
6
7
  constructor(path) {
8
+ this.path = path;
7
9
  mkdirSync(dirname(path), { recursive: true, mode: 0o700 });
8
10
  this.database = new DatabaseSync(path);
9
11
  this.database.exec(`
@@ -64,6 +66,8 @@ export class HandoffStore {
64
66
  state TEXT NOT NULL CHECK(state IN ('current', 'sealed', 'provisional')),
65
67
  created_at INTEGER NOT NULL,
66
68
  sealed_at INTEGER,
69
+ archive_pending INTEGER NOT NULL DEFAULT 0,
70
+ delete_done INTEGER NOT NULL DEFAULT 0,
67
71
  UNIQUE(public_thread_id, ordinal),
68
72
  UNIQUE(provider, backend_thread_id)
69
73
  );
@@ -111,6 +115,30 @@ export class HandoffStore {
111
115
  WHERE status IN ('queued', 'running', 'targetCreated');
112
116
  CREATE INDEX IF NOT EXISTS provider_switch_jobs_recovery
113
117
  ON provider_switch_jobs(status, created_at);
118
+ CREATE TABLE IF NOT EXISTS provider_switch_jobs_v2 (
119
+ job_id TEXT PRIMARY KEY,
120
+ public_thread_id TEXT NOT NULL,
121
+ expected_epoch_id TEXT NOT NULL,
122
+ expected_thread_revision INTEGER NOT NULL,
123
+ pending_revision INTEGER NOT NULL,
124
+ target_provider TEXT NOT NULL CHECK(target_provider IN ('claude', 'stock')),
125
+ target_model TEXT NOT NULL,
126
+ settings_json TEXT NOT NULL,
127
+ turn_params_json TEXT NOT NULL,
128
+ compaction_turn_json TEXT NOT NULL,
129
+ status TEXT NOT NULL CHECK(status IN ('queued', 'running', 'targetCreated', 'committed', 'failed')),
130
+ summary TEXT,
131
+ target_backend_thread_id TEXT,
132
+ target_provider_turn_id TEXT,
133
+ error TEXT,
134
+ created_at INTEGER NOT NULL,
135
+ updated_at INTEGER NOT NULL
136
+ );
137
+ CREATE UNIQUE INDEX IF NOT EXISTS provider_switch_jobs_v2_active
138
+ ON provider_switch_jobs_v2(public_thread_id)
139
+ WHERE status IN ('queued', 'running', 'targetCreated');
140
+ CREATE INDEX IF NOT EXISTS provider_switch_jobs_v2_recovery
141
+ ON provider_switch_jobs_v2(status, created_at);
114
142
  CREATE TABLE IF NOT EXISTS fork_selections (
115
143
  target_public_thread_id TEXT PRIMARY KEY REFERENCES logical_threads(public_thread_id) ON DELETE CASCADE,
116
144
  source_public_thread_id TEXT NOT NULL REFERENCES logical_threads(public_thread_id) ON DELETE CASCADE,
@@ -121,6 +149,10 @@ export class HandoffStore {
121
149
  created_at INTEGER NOT NULL,
122
150
  updated_at INTEGER NOT NULL
123
151
  );
152
+ CREATE TABLE IF NOT EXISTS remote_catalog_tombstones (
153
+ thread_id TEXT PRIMARY KEY,
154
+ created_at INTEGER NOT NULL
155
+ );
124
156
  `);
125
157
  const pendingColumns = this.database.prepare("PRAGMA table_info(pending_provider_switches)")
126
158
  .all();
@@ -140,6 +172,26 @@ export class HandoffStore {
140
172
  if (!switchColumns.some((column) => column.name === "compaction_turn_json")) {
141
173
  this.database.exec("ALTER TABLE provider_switch_jobs ADD COLUMN compaction_turn_json TEXT");
142
174
  }
175
+ this.database.exec(`
176
+ INSERT OR IGNORE INTO provider_switch_jobs_v2 (
177
+ job_id, public_thread_id, expected_epoch_id, expected_thread_revision, pending_revision,
178
+ target_provider, target_model, settings_json, turn_params_json, compaction_turn_json,
179
+ status, summary, target_backend_thread_id, target_provider_turn_id, error, created_at, updated_at
180
+ )
181
+ SELECT job_id, public_thread_id, expected_epoch_id, expected_thread_revision, pending_revision,
182
+ target_provider, target_model, settings_json, turn_params_json,
183
+ COALESCE(compaction_turn_json, '{}'), status, summary, target_backend_thread_id,
184
+ target_provider_turn_id, error, created_at, updated_at
185
+ FROM provider_switch_jobs
186
+ `);
187
+ const epochColumns = this.database.prepare("PRAGMA table_info(provider_epochs)")
188
+ .all();
189
+ if (!epochColumns.some((column) => column.name === "archive_pending")) {
190
+ this.database.exec("ALTER TABLE provider_epochs ADD COLUMN archive_pending INTEGER NOT NULL DEFAULT 0");
191
+ }
192
+ if (!epochColumns.some((column) => column.name === "delete_done")) {
193
+ this.database.exec("ALTER TABLE provider_epochs ADD COLUMN delete_done INTEGER NOT NULL DEFAULT 0");
194
+ }
143
195
  chmodSync(path, 0o600);
144
196
  }
145
197
  setPending(pending) {
@@ -182,7 +234,7 @@ export class HandoffStore {
182
234
  cancelProviderSwitches(threadId, reason) {
183
235
  this.transaction(() => {
184
236
  this.database.prepare(`
185
- UPDATE provider_switch_jobs SET status = 'failed', error = ?, updated_at = ?
237
+ UPDATE provider_switch_jobs_v2 SET status = 'failed', error = ?, updated_at = ?
186
238
  WHERE public_thread_id = ? AND status IN ('queued', 'running', 'targetCreated')
187
239
  `).run(reason, Date.now(), threadId);
188
240
  this.database.prepare("DELETE FROM pending_provider_switches WHERE thread_id = ?").run(threadId);
@@ -195,7 +247,7 @@ export class HandoffStore {
195
247
  INSERT INTO logical_threads (
196
248
  public_thread_id, current_epoch_id, thread_json, revision, created_at, updated_at
197
249
  ) VALUES (?, ?, ?, 1, ?, ?)
198
- `).run(input.thread.id, input.epoch.id, JSON.stringify({ ...input.thread, turns: [] }), now, now);
250
+ `).run(input.thread.id, input.epoch.id, JSON.stringify(threadIdentity(input.thread)), now, now);
199
251
  this.insertEpoch(input.thread.id, 0, input.epoch, "current", now);
200
252
  return this.getLogicalThread(input.thread.id);
201
253
  });
@@ -209,7 +261,7 @@ export class HandoffStore {
209
261
  const result = this.database.prepare(`
210
262
  UPDATE logical_threads SET thread_json = ?, updated_at = ?
211
263
  WHERE public_thread_id = ? AND revision = ?
212
- `).run(JSON.stringify({ ...thread, id: publicThreadId, turns: [] }), Date.now(), publicThreadId, expectedRevision);
264
+ `).run(JSON.stringify(threadIdentity({ ...thread, id: publicThreadId })), Date.now(), publicThreadId, expectedRevision);
213
265
  return Number(result.changes) === 1 ? this.getLogicalThread(publicThreadId) : undefined;
214
266
  }
215
267
  deleteLogicalThread(publicThreadId) {
@@ -226,17 +278,50 @@ export class HandoffStore {
226
278
  SELECT * FROM provider_epochs WHERE public_thread_id = ? ORDER BY ordinal ASC
227
279
  `).all(publicThreadId).map((row) => this.epochFromRow(row));
228
280
  }
281
+ pendingStockArchives() {
282
+ return this.database.prepare(`
283
+ SELECT * FROM provider_epochs
284
+ WHERE provider = 'stock' AND state = 'sealed' AND archive_pending = 1
285
+ ORDER BY sealed_at ASC
286
+ `).all().map((row) => this.epochFromRow(row));
287
+ }
288
+ markStockArchived(epochId) {
289
+ return Number(this.database.prepare(`
290
+ UPDATE provider_epochs SET archive_pending = 0
291
+ WHERE epoch_id = ? AND provider = 'stock' AND state = 'sealed'
292
+ `).run(epochId).changes) === 1;
293
+ }
294
+ markEpochDeleted(epochId) {
295
+ return Number(this.database.prepare(`
296
+ UPDATE provider_epochs SET delete_done = 1 WHERE epoch_id = ?
297
+ `).run(epochId).changes) === 1;
298
+ }
299
+ addRemoteCatalogTombstone(threadId) {
300
+ this.database.prepare(`
301
+ INSERT INTO remote_catalog_tombstones(thread_id, created_at) VALUES (?, ?)
302
+ ON CONFLICT(thread_id) DO UPDATE SET created_at = excluded.created_at
303
+ `).run(threadId, Date.now());
304
+ this.database.prepare(`
305
+ DELETE FROM remote_catalog_tombstones WHERE thread_id IN (
306
+ SELECT thread_id FROM remote_catalog_tombstones ORDER BY created_at DESC LIMIT -1 OFFSET 4096
307
+ )
308
+ `).run();
309
+ }
310
+ remoteCatalogTombstones() {
311
+ return this.database.prepare(`
312
+ SELECT thread_id FROM remote_catalog_tombstones ORDER BY created_at ASC
313
+ `).all().map((row) => row.thread_id);
314
+ }
229
315
  updateCurrentEpoch(publicThreadId, expectedEpochId, patch) {
230
316
  return this.transaction(() => {
231
317
  const logical = this.getLogicalThread(publicThreadId);
232
318
  const epoch = logical && this.getEpoch(expectedEpochId);
233
319
  if (!logical || logical.currentEpochId !== expectedEpochId || epoch?.state !== "current")
234
320
  return undefined;
235
- const result = this.database.prepare(`
236
- UPDATE provider_epochs SET model = ?, settings_json = ?
237
- WHERE epoch_id = ? AND public_thread_id = ? AND state = 'current'
238
- `).run(patch.model ?? epoch.model, JSON.stringify({ ...epoch.settings, ...(patch.settings ?? {}) }), expectedEpochId, publicThreadId);
239
- return Number(result.changes) === 1 ? this.getEpoch(expectedEpochId) : undefined;
321
+ // Provider settings belong to the native provider stores. This legacy
322
+ // row only guards operational transactions; a copy here becomes stale.
323
+ void patch;
324
+ return epoch;
240
325
  });
241
326
  }
242
327
  findEpochByBackend(provider, backendThreadId) {
@@ -295,54 +380,67 @@ export class HandoffStore {
295
380
  return this.transaction(() => {
296
381
  const logical = this.getLogicalThread(input.publicThreadId);
297
382
  const pending = this.getPending(input.publicThreadId);
298
- const epoch = logical && this.getEpoch(logical.currentEpochId);
299
383
  const active = this.database.prepare(`
300
- SELECT 1 AS found FROM provider_switch_jobs
384
+ SELECT 1 AS found FROM provider_switch_jobs_v2
301
385
  WHERE public_thread_id = ? AND status IN ('queued', 'running', 'targetCreated')
302
386
  `).get(input.publicThreadId);
303
- if (!logical || logical.currentEpochId !== input.expectedEpochId || active
304
- || epoch?.provider !== pending?.sourceProvider
387
+ const expectedThreadRevision = input.expectedThreadRevision ?? logical?.revision;
388
+ if (expectedThreadRevision === undefined || active
305
389
  || pending?.revision !== input.pendingRevision || pending.expectedEpochId !== input.expectedEpochId
306
390
  || pending.targetProvider !== input.targetProvider || pending.targetModel !== input.targetModel)
307
391
  return undefined;
308
392
  const now = input.createdAt ?? Date.now();
309
393
  this.database.prepare(`
310
- INSERT INTO provider_switch_jobs (
394
+ INSERT INTO provider_switch_jobs_v2 (
311
395
  job_id, public_thread_id, expected_epoch_id, expected_thread_revision, pending_revision,
312
396
  target_provider, target_model, settings_json, turn_params_json, status, created_at, updated_at
313
397
  , compaction_turn_json
314
398
  ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, 'queued', ?, ?, ?)
315
- `).run(input.id, input.publicThreadId, input.expectedEpochId, logical.revision, input.pendingRevision, input.targetProvider, input.targetModel, JSON.stringify(input.settings), JSON.stringify(input.turnParams), now, now, JSON.stringify(input.compactionTurn));
399
+ `).run(input.id, input.publicThreadId, input.expectedEpochId, expectedThreadRevision, input.pendingRevision, input.targetProvider, input.targetModel, JSON.stringify(input.settings), JSON.stringify(input.turnParams), now, now, JSON.stringify(input.compactionTurn));
316
400
  return this.getProviderSwitchJob(input.id);
317
401
  });
318
402
  }
403
+ completeProviderSwitch(jobId) {
404
+ return this.transaction(() => {
405
+ const job = this.getProviderSwitchJob(jobId);
406
+ if (!job || job.status !== "targetCreated")
407
+ return job?.status === "committed";
408
+ this.database.prepare(`
409
+ DELETE FROM pending_provider_switches
410
+ WHERE thread_id = ? AND revision = ? AND expected_epoch_id = ?
411
+ `).run(job.publicThreadId, job.pendingRevision, job.expectedEpochId);
412
+ return Number(this.database.prepare(`
413
+ DELETE FROM provider_switch_jobs_v2 WHERE job_id = ? AND status = 'targetCreated'
414
+ `).run(jobId).changes) === 1;
415
+ });
416
+ }
319
417
  getProviderSwitchJob(jobId) {
320
- const row = this.database.prepare("SELECT * FROM provider_switch_jobs WHERE job_id = ?")
418
+ const row = this.database.prepare("SELECT * FROM provider_switch_jobs_v2 WHERE job_id = ?")
321
419
  .get(jobId);
322
420
  return row ? this.providerSwitchJobFromRow(row) : undefined;
323
421
  }
324
422
  recoverableProviderSwitchJobs() {
325
423
  return this.database.prepare(`
326
- SELECT * FROM provider_switch_jobs
424
+ SELECT * FROM provider_switch_jobs_v2
327
425
  WHERE status IN ('queued', 'running', 'targetCreated') ORDER BY created_at ASC
328
426
  `).all().map((row) => this.providerSwitchJobFromRow(row));
329
427
  }
330
428
  hiddenProviderSwitchTargetIds() {
331
429
  return this.database.prepare(`
332
- SELECT DISTINCT target_backend_thread_id AS thread_id FROM provider_switch_jobs
430
+ SELECT DISTINCT target_backend_thread_id AS thread_id FROM provider_switch_jobs_v2
333
431
  WHERE target_backend_thread_id IS NOT NULL AND status != 'committed'
334
432
  `).all().map((row) => row.thread_id);
335
433
  }
336
434
  claimProviderSwitchJob(jobId) {
337
435
  const result = this.database.prepare(`
338
- UPDATE provider_switch_jobs SET status = 'running', updated_at = ?
436
+ UPDATE provider_switch_jobs_v2 SET status = 'running', updated_at = ?
339
437
  WHERE job_id = ? AND status = 'queued'
340
438
  `).run(Date.now(), jobId);
341
439
  return Number(result.changes) === 1 ? this.getProviderSwitchJob(jobId) : undefined;
342
440
  }
343
441
  requeueProviderSwitchJob(jobId) {
344
442
  const result = this.database.prepare(`
345
- UPDATE provider_switch_jobs SET
443
+ UPDATE provider_switch_jobs_v2 SET
346
444
  status = 'queued', summary = NULL, target_backend_thread_id = NULL,
347
445
  target_provider_turn_id = NULL, error = NULL, updated_at = ?
348
446
  WHERE job_id = ? AND status IN ('running', 'targetCreated')
@@ -356,7 +454,7 @@ export class HandoffStore {
356
454
  || (job.targetBackendThreadId && job.targetBackendThreadId !== checkpoint.backendThreadId))
357
455
  return false;
358
456
  const result = this.database.prepare(`
359
- UPDATE provider_switch_jobs SET
457
+ UPDATE provider_switch_jobs_v2 SET
360
458
  status = 'targetCreated', target_backend_thread_id = ?,
361
459
  summary = COALESCE(?, summary), target_provider_turn_id = COALESCE(?, target_provider_turn_id),
362
460
  updated_at = ?
@@ -381,7 +479,8 @@ export class HandoffStore {
381
479
  SELECT COALESCE(MAX(ordinal), -1) + 1 AS ordinal FROM provider_epochs WHERE public_thread_id = ?
382
480
  `).get(job.publicThreadId).ordinal;
383
481
  this.database.prepare(`
384
- UPDATE provider_epochs SET state = 'sealed', sealed_at = ?
482
+ UPDATE provider_epochs SET state = 'sealed', sealed_at = ?,
483
+ archive_pending = CASE WHEN provider = 'stock' THEN 1 ELSE 0 END
385
484
  WHERE epoch_id = ? AND public_thread_id = ? AND state = 'current'
386
485
  `).run(committedAt, job.expectedEpochId, job.publicThreadId);
387
486
  this.insertEpoch(job.publicThreadId, ordinal, input.targetEpoch, "current", committedAt);
@@ -389,14 +488,14 @@ export class HandoffStore {
389
488
  const update = this.database.prepare(`
390
489
  UPDATE logical_threads SET current_epoch_id = ?, thread_json = ?, revision = revision + 1, updated_at = ?
391
490
  WHERE public_thread_id = ? AND current_epoch_id = ? AND revision = ?
392
- `).run(input.targetEpoch.id, JSON.stringify({ ...input.thread, turns: [] }), committedAt, job.publicThreadId, job.expectedEpochId, job.expectedThreadRevision);
491
+ `).run(input.targetEpoch.id, JSON.stringify(threadIdentity(input.thread)), committedAt, job.publicThreadId, job.expectedEpochId, job.expectedThreadRevision);
393
492
  if (Number(update.changes) !== 1)
394
493
  throw new Error("Provider switch lost its logical-thread CAS during commit.");
395
494
  this.database.prepare(`
396
495
  DELETE FROM pending_provider_switches WHERE thread_id = ? AND revision = ? AND expected_epoch_id = ?
397
496
  `).run(job.publicThreadId, job.pendingRevision, job.expectedEpochId);
398
497
  this.database.prepare(`
399
- UPDATE provider_switch_jobs SET status = 'committed', error = NULL, updated_at = ?
498
+ UPDATE provider_switch_jobs_v2 SET status = 'committed', error = NULL, updated_at = ?
400
499
  WHERE job_id = ? AND status = 'targetCreated'
401
500
  `).run(committedAt, job.id);
402
501
  return this.getLogicalThread(job.publicThreadId);
@@ -408,7 +507,9 @@ export class HandoffStore {
408
507
  if (!job || !["queued", "running", "targetCreated"].includes(job.status))
409
508
  return false;
410
509
  const result = this.database.prepare(`
411
- UPDATE provider_switch_jobs SET status = 'failed', error = ?, updated_at = ?
510
+ UPDATE provider_switch_jobs_v2 SET status = 'failed', error = ?,
511
+ settings_json = '{}', turn_params_json = '{}', compaction_turn_json = '{}',
512
+ summary = NULL, target_provider_turn_id = NULL, updated_at = ?
412
513
  WHERE job_id = ? AND status IN ('queued', 'running', 'targetCreated')
413
514
  `).run(error, Date.now(), jobId);
414
515
  if (Number(result.changes) !== 1)
@@ -505,7 +606,8 @@ export class HandoffStore {
505
606
  SELECT COALESCE(MAX(ordinal), -1) + 1 AS ordinal FROM provider_epochs WHERE public_thread_id = ?
506
607
  `).get(target.publicThreadId).ordinal;
507
608
  this.database.prepare(`
508
- UPDATE provider_epochs SET state = 'sealed', sealed_at = ?
609
+ UPDATE provider_epochs SET state = 'sealed', sealed_at = ?,
610
+ archive_pending = CASE WHEN provider = 'stock' THEN 1 ELSE 0 END
509
611
  WHERE epoch_id = ? AND public_thread_id = ? AND state = 'current'
510
612
  `).run(committedAt, current.id, target.publicThreadId);
511
613
  this.insertEpoch(target.publicThreadId, ordinal, input.targetEpoch, "current", committedAt);
@@ -513,7 +615,7 @@ export class HandoffStore {
513
615
  const updated = this.database.prepare(`
514
616
  UPDATE logical_threads SET current_epoch_id = ?, thread_json = ?, revision = revision + 1, updated_at = ?
515
617
  WHERE public_thread_id = ? AND current_epoch_id = ? AND revision = ?
516
- `).run(input.targetEpoch.id, JSON.stringify({ ...input.thread, turns: [] }), committedAt, target.publicThreadId, current.id, input.expectedThreadRevision);
618
+ `).run(input.targetEpoch.id, JSON.stringify(threadIdentity(input.thread)), committedAt, target.publicThreadId, current.id, input.expectedThreadRevision);
517
619
  if (Number(updated.changes) !== 1)
518
620
  throw new Error("Rollback lost its logical-thread CAS during commit.");
519
621
  if (pending) {
@@ -634,7 +736,7 @@ export class HandoffStore {
634
736
  epoch_id, public_thread_id, ordinal, provider, backend_thread_id,
635
737
  model, settings_json, state, created_at, sealed_at
636
738
  ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, NULL)
637
- `).run(epoch.id, publicThreadId, ordinal, epoch.provider, epoch.backendThreadId, epoch.model, JSON.stringify(epoch.settings), state, epoch.createdAt ?? defaultCreatedAt);
739
+ `).run(epoch.id, publicThreadId, ordinal, epoch.provider, epoch.backendThreadId, "", "{}", state, epoch.createdAt ?? defaultCreatedAt);
638
740
  }
639
741
  replaceTurns(publicThreadId, turns) {
640
742
  this.database.prepare("DELETE FROM logical_turns WHERE public_thread_id = ?").run(publicThreadId);
@@ -647,7 +749,7 @@ export class HandoffStore {
647
749
  if (turn.publicTurnId !== turn.turn.id) {
648
750
  throw new Error(`Logical turn id '${turn.publicTurnId}' does not match payload '${turn.turn.id}'.`);
649
751
  }
650
- insert.run(publicThreadId, position, turn.publicTurnId, turn.epochId ?? null, turn.providerTurnId ?? null, JSON.stringify(turn.turn), turn.kind);
752
+ insert.run(publicThreadId, position, turn.publicTurnId, turn.epochId ?? null, turn.providerTurnId ?? null, JSON.stringify(turn.kind === "provider" ? { id: turn.publicTurnId } : turn.turn), turn.kind);
651
753
  });
652
754
  }
653
755
  logicalThreadFromRow(row) {
@@ -672,6 +774,8 @@ export class HandoffStore {
672
774
  state: row.state,
673
775
  createdAt: row.created_at,
674
776
  ...(row.sealed_at === null ? {} : { sealedAt: row.sealed_at }),
777
+ archivePending: row.archive_pending === 1,
778
+ deleteDone: row.delete_done === 1,
675
779
  };
676
780
  }
677
781
  logicalTurnFromRow(row) {
@@ -736,4 +840,13 @@ export class HandoffStore {
736
840
  }
737
841
  }
738
842
  }
843
+ function threadIdentity(thread) {
844
+ return {
845
+ id: thread.id,
846
+ sessionId: thread.sessionId,
847
+ forkedFromId: thread.forkedFromId,
848
+ parentThreadId: thread.parentThreadId,
849
+ createdAt: thread.createdAt,
850
+ };
851
+ }
739
852
  //# sourceMappingURL=store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/handoff/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/handoff/store.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export function pinnedCodexExecutable() {
26
26
  return require.resolve("@openai/codex/bin/codex.js");
27
27
  }
28
28
  catch {
29
- throw new Error("Pinned @openai/codex@0.144.6 is missing. Reinstall @gkorepanov/ccodex.");
29
+ throw new Error("Pinned @openai/codex@0.145.0 is missing. Reinstall @gkorepanov/ccodex.");
30
30
  }
31
31
  }
32
32
  export function bundledClaudeExecutable() {
@@ -6,6 +6,7 @@ import type { TokenUsageBreakdown } from "../codex/generated/v2/TokenUsageBreakd
6
6
  import type { ApprovalsReviewer } from "../codex/generated/v2/ApprovalsReviewer.js";
7
7
  export interface InternalGoal extends ThreadGoal {
8
8
  readonly goalId: string;
9
+ readonly continuationDeferred?: boolean;
9
10
  }
10
11
  export interface GoalPatch {
11
12
  readonly objective?: string;
@@ -13,6 +14,7 @@ export interface GoalPatch {
13
14
  readonly tokenBudget?: number | null;
14
15
  readonly replace?: boolean;
15
16
  readonly now?: number;
17
+ readonly continuationDeferred?: boolean;
16
18
  }
17
19
  export interface GoalUsageInput {
18
20
  readonly threadId: string;
@@ -159,7 +161,7 @@ export interface HybridStore {
159
161
  setTurnClaudeMessageUuid(threadId: string, turnId: string, messageUuid: string): void;
160
162
  getTurnClaudeMessageUuid(threadId: string, turnId: string): string | undefined;
161
163
  truncateTurns(threadId: string, keepCount: number): void;
162
- commitForkedThread(record: ClaudeThreadRecord, turns: readonly Turn[], boundaries: readonly TurnProviderBoundary[]): void;
164
+ commitForkedThread(record: ClaudeThreadRecord, turns: readonly Turn[], boundaries: readonly TurnProviderBoundary[], inheritedGoal?: InternalGoal): void;
163
165
  commitThreadRollback(record: ClaudeThreadRecord, keepCount: number, boundaries: readonly TurnProviderBoundary[], removedThreadIds?: readonly string[]): void;
164
166
  commitThreadState(commit: ThreadStateCommit): number[];
165
167
  appendEvent(threadId: string, turnId: string | null, method: string, params: unknown, persistence?: EventPersistence): number;
@@ -1 +1 @@
1
- {"version":3,"file":"HybridStore.js","sourceRoot":"","sources":["../../src/store/HybridStore.ts"],"names":[],"mappings":"AAsDA,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,OAAO,MAAM,CAAC,kBAAkB,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,IAAwB,EACxB,QAA4B;IAE5B,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE;QACpD,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;QACrD,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,kBAAkB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KACjD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"HybridStore.js","sourceRoot":"","sources":["../../src/store/HybridStore.ts"],"names":[],"mappings":"AAwDA,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,OAAO,MAAM,CAAC,kBAAkB,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,IAAwB,EACxB,QAA4B;IAE5B,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE;QACpD,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;QACrD,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,kBAAkB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KACjD,CAAC;AACJ,CAAC"}
@@ -38,7 +38,7 @@ export declare class MemoryHybridStore implements HybridStore {
38
38
  setTurnClaudeMessageUuid(threadId: string, turnId: string, messageUuid: string): void;
39
39
  getTurnClaudeMessageUuid(threadId: string, turnId: string): string | undefined;
40
40
  truncateTurns(threadId: string, keepCount: number): void;
41
- commitForkedThread(record: ClaudeThreadRecord, turns: readonly Turn[], boundaries: readonly TurnProviderBoundary[]): void;
41
+ commitForkedThread(record: ClaudeThreadRecord, turns: readonly Turn[], boundaries: readonly TurnProviderBoundary[], inheritedGoal?: InternalGoal): void;
42
42
  commitThreadRollback(record: ClaudeThreadRecord, keepCount: number, boundaries: readonly TurnProviderBoundary[], removedThreadIds?: readonly string[]): void;
43
43
  commitThreadState(commit: ThreadStateCommit): number[];
44
44
  appendEvent(threadId: string, turnId: string | null, method: string, params: unknown, persistence?: EventPersistence): number;
@@ -72,6 +72,7 @@ export declare class LayeredHybridStore implements HybridStore {
72
72
  private readonly durable;
73
73
  private readonly ephemeral;
74
74
  constructor(durable: HybridStore);
75
+ private persistent;
75
76
  private owner;
76
77
  createThread(record: ClaudeThreadRecord): void;
77
78
  hasThread(threadId: string): boolean;
@@ -94,7 +95,7 @@ export declare class LayeredHybridStore implements HybridStore {
94
95
  setTurnClaudeMessageUuid(threadId: string, turnId: string, messageUuid: string): void;
95
96
  getTurnClaudeMessageUuid(threadId: string, turnId: string): string | undefined;
96
97
  truncateTurns(threadId: string, keepCount: number): void;
97
- commitForkedThread(record: ClaudeThreadRecord, turns: readonly Turn[], boundaries: readonly TurnProviderBoundary[]): void;
98
+ commitForkedThread(record: ClaudeThreadRecord, turns: readonly Turn[], boundaries: readonly TurnProviderBoundary[], inheritedGoal?: InternalGoal): void;
98
99
  commitThreadRollback(record: ClaudeThreadRecord, keepCount: number, boundaries: readonly TurnProviderBoundary[], removedThreadIds?: readonly string[]): void;
99
100
  commitThreadState(commit: ThreadStateCommit): number[];
100
101
  appendEvent(threadId: string, turnId: string | null, method: string, params: unknown, persistence?: EventPersistence): number;
@@ -174,12 +174,14 @@ export class MemoryHybridStore {
174
174
  this.turnMessages.delete(`${threadId}:${turn.id}`);
175
175
  this.turns.set(threadId, turns.slice(0, keepCount));
176
176
  }
177
- commitForkedThread(record, turns, boundaries) {
177
+ commitForkedThread(record, turns, boundaries, inheritedGoal) {
178
178
  this.createThread(record);
179
179
  for (const turn of turns)
180
180
  this.createTurn(record.thread.id, turn);
181
181
  for (const boundary of boundaries)
182
182
  this.setTurnClaudeMessageUuid(record.thread.id, boundary.turnId, boundary.messageUuid);
183
+ if (inheritedGoal)
184
+ this.goals.set(record.thread.id, copy(inheritedGoal));
183
185
  }
184
186
  commitThreadRollback(record, keepCount, boundaries, removedThreadIds = []) {
185
187
  for (const threadId of removedThreadIds)
@@ -347,6 +349,11 @@ export class MemoryHybridStore {
347
349
  timeUsedSeconds: replace ? 0 : previous.timeUsedSeconds,
348
350
  createdAt: replace ? now : previous.createdAt,
349
351
  updatedAt: now,
352
+ ...(patch.continuationDeferred !== undefined
353
+ ? { continuationDeferred: patch.continuationDeferred }
354
+ : previous?.continuationDeferred !== undefined
355
+ ? { continuationDeferred: previous.continuationDeferred }
356
+ : {}),
350
357
  };
351
358
  if (goal.status === "active" && goal.tokenBudget !== null && goal.tokensUsed >= goal.tokenBudget)
352
359
  goal.status = "budgetLimited";
@@ -398,8 +405,14 @@ export class LayeredHybridStore {
398
405
  constructor(durable) {
399
406
  this.durable = durable;
400
407
  }
408
+ persistent(record) {
409
+ return !record.thread.ephemeral
410
+ || (record.thread.threadSource === "user" && record.thread.parentThreadId === null);
411
+ }
401
412
  owner(threadId) { return this.ephemeral.hasThread(threadId) ? this.ephemeral : this.durable; }
402
- createThread(record) { (record.thread.ephemeral ? this.ephemeral : this.durable).createThread(record); }
413
+ createThread(record) {
414
+ (this.persistent(record) ? this.durable : this.ephemeral).createThread(record);
415
+ }
403
416
  hasThread(threadId) { return this.ephemeral.hasThread(threadId) || this.durable.hasThread(threadId); }
404
417
  getThreadRecord(threadId, includeTurns = false) { return this.owner(threadId).getThreadRecord(threadId, includeTurns); }
405
418
  allThreadRecords() { return [...this.durable.allThreadRecords(), ...this.ephemeral.allThreadRecords()]; }
@@ -446,8 +459,9 @@ export class LayeredHybridStore {
446
459
  return this.owner(threadId).getTurnClaudeMessageUuid(threadId, turnId);
447
460
  }
448
461
  truncateTurns(threadId, keepCount) { this.owner(threadId).truncateTurns(threadId, keepCount); }
449
- commitForkedThread(record, turns, boundaries) {
450
- (record.thread.ephemeral ? this.ephemeral : this.durable).commitForkedThread(record, turns, boundaries);
462
+ commitForkedThread(record, turns, boundaries, inheritedGoal) {
463
+ (this.persistent(record) ? this.durable : this.ephemeral)
464
+ .commitForkedThread(record, turns, boundaries, inheritedGoal);
451
465
  }
452
466
  commitThreadRollback(record, keepCount, boundaries, removedThreadIds = []) {
453
467
  this.owner(record.thread.id).commitThreadRollback(record, keepCount, boundaries, removedThreadIds);