@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.
- package/README.md +1 -1
- package/config/compatibility.json +3 -3
- package/dist/claude/goalTools.js +1 -1
- package/dist/claude/goalTools.js.map +1 -1
- package/dist/claude/hookMapper.d.ts +1 -0
- package/dist/claude/hookMapper.js +1 -0
- package/dist/claude/hookMapper.js.map +1 -1
- package/dist/claude/inputMapper.js +4 -1
- package/dist/claude/inputMapper.js.map +1 -1
- package/dist/claude/rateLimits.d.ts +1 -0
- package/dist/claude/rateLimits.js +2 -1
- package/dist/claude/rateLimits.js.map +1 -1
- package/dist/claude/service.d.ts +13 -1
- package/dist/claude/service.js +152 -19
- package/dist/claude/service.js.map +1 -1
- package/dist/claude/session/commands.d.ts +3 -0
- package/dist/claude/session/goalState.js +9 -0
- package/dist/claude/session/goalState.js.map +1 -1
- package/dist/claude/session/repository.d.ts +1 -1
- package/dist/claude/session/repository.js +2 -2
- package/dist/claude/session/repository.js.map +1 -1
- package/dist/claude/session/scopeState.js +3 -1
- package/dist/claude/session/scopeState.js.map +1 -1
- package/dist/claude/session/session.js +13 -2
- package/dist/claude/session/session.js.map +1 -1
- package/dist/claude/session/usage.js +1 -0
- package/dist/claude/session/usage.js.map +1 -1
- package/dist/claude/toolMapper.js +2 -2
- package/dist/claude/toolMapper.js.map +1 -1
- package/dist/codex/generated/ClientRequest.d.ts +20 -0
- package/dist/codex/generated/CodexResponseHandoffMode.d.ts +1 -0
- package/dist/codex/generated/CodexResponseHandoffMode.js +3 -0
- package/dist/codex/generated/CodexResponseHandoffMode.js.map +1 -0
- package/dist/codex/generated/ContentItem.d.ts +3 -0
- package/dist/codex/generated/FunctionCallOutputContentItem.d.ts +3 -0
- package/dist/codex/generated/InputModality.d.ts +1 -1
- package/dist/codex/generated/LegacyAppPathString.d.ts +7 -6
- package/dist/codex/generated/RealtimeConversationVersion.d.ts +1 -1
- package/dist/codex/generated/ResponseItem.d.ts +15 -14
- package/dist/codex/generated/ResponseItemId.d.ts +5 -0
- package/dist/codex/generated/ResponseItemId.js +3 -0
- package/dist/codex/generated/ResponseItemId.js.map +1 -0
- package/dist/codex/generated/ResponseItemRuntimeSchema.js +2 -2
- package/dist/codex/generated/ResponseItemRuntimeSchema.js.map +1 -1
- package/dist/codex/generated/ReviewDecision.d.ts +5 -1
- package/dist/codex/generated/ServerNotification.d.ts +11 -0
- package/dist/codex/generated/ServerNotificationEnvelope.d.ts +302 -0
- package/dist/codex/generated/ServerNotificationEnvelope.js +3 -0
- package/dist/codex/generated/ServerNotificationEnvelope.js.map +1 -0
- package/dist/codex/generated/SleepItem.d.ts +7 -0
- package/dist/codex/generated/SleepItem.js +3 -0
- package/dist/codex/generated/SleepItem.js.map +1 -0
- package/dist/codex/generated/WebSearchItem.d.ts +8 -0
- package/dist/codex/generated/index.d.ts +4 -1
- package/dist/codex/generated/index.js.map +1 -1
- package/dist/codex/generated/v2/Account.d.ts +1 -2
- package/dist/codex/generated/v2/AppToolSummary.d.ts +8 -0
- package/dist/codex/generated/v2/AppToolSummary.js +3 -0
- package/dist/codex/generated/v2/AppToolSummary.js.map +1 -0
- package/dist/codex/generated/v2/AppsInstalledParams.d.ts +14 -0
- package/dist/codex/generated/v2/AppsInstalledParams.js +3 -0
- package/dist/codex/generated/v2/AppsInstalledParams.js.map +1 -0
- package/dist/codex/generated/v2/AppsInstalledResponse.d.ts +7 -0
- package/dist/codex/generated/v2/AppsInstalledResponse.js +3 -0
- package/dist/codex/generated/v2/AppsInstalledResponse.js.map +1 -0
- package/dist/codex/generated/v2/AppsReadParams.d.ts +14 -0
- package/dist/codex/generated/v2/AppsReadParams.js +3 -0
- package/dist/codex/generated/v2/AppsReadParams.js.map +1 -0
- package/dist/codex/generated/v2/AppsReadResponse.d.ts +8 -0
- package/dist/codex/generated/v2/AppsReadResponse.js +3 -0
- package/dist/codex/generated/v2/AppsReadResponse.js.map +1 -0
- package/dist/codex/generated/v2/ConfiguredHookHandler.d.ts +7 -0
- package/dist/codex/generated/v2/ConnectorMetadata.d.ts +15 -0
- package/dist/codex/generated/v2/ConnectorMetadata.js +3 -0
- package/dist/codex/generated/v2/ConnectorMetadata.js.map +1 -0
- package/dist/codex/generated/v2/DynamicToolCallOutputContentItem.d.ts +3 -0
- package/dist/codex/generated/v2/EnvironmentConnectionNotification.d.ts +4 -0
- package/dist/codex/generated/v2/EnvironmentConnectionNotification.js +3 -0
- package/dist/codex/generated/v2/EnvironmentConnectionNotification.js.map +1 -0
- package/dist/codex/generated/v2/EnvironmentStatusKind.d.ts +7 -0
- package/dist/codex/generated/v2/EnvironmentStatusKind.js +3 -0
- package/dist/codex/generated/v2/EnvironmentStatusKind.js.map +1 -0
- package/dist/codex/generated/v2/EnvironmentStatusParams.d.ts +9 -0
- package/dist/codex/generated/v2/EnvironmentStatusParams.js +3 -0
- package/dist/codex/generated/v2/EnvironmentStatusParams.js.map +1 -0
- package/dist/codex/generated/v2/EnvironmentStatusResponse.d.ts +14 -0
- package/dist/codex/generated/v2/EnvironmentStatusResponse.js +3 -0
- package/dist/codex/generated/v2/EnvironmentStatusResponse.js.map +1 -0
- package/dist/codex/generated/v2/ExternalAgentConfigDetectParams.d.ts +9 -0
- package/dist/codex/generated/v2/ExternalAgentConfigImportHistoriesReadResponse.d.ts +2 -0
- package/dist/codex/generated/v2/ExternalAgentConfigImportItemTypeFailure.d.ts +1 -0
- package/dist/codex/generated/v2/ExternalAgentConfigImportParams.d.ts +6 -1
- package/dist/codex/generated/v2/ExternalAgentConfigMigrationItemType.d.ts +1 -1
- package/dist/codex/generated/v2/ExternalAgentImportedConnectorCandidate.d.ts +6 -0
- package/dist/codex/generated/v2/ExternalAgentImportedConnectorCandidate.js +3 -0
- package/dist/codex/generated/v2/ExternalAgentImportedConnectorCandidate.js.map +1 -0
- package/dist/codex/generated/v2/ExternalAgentImportedConnectorSource.d.ts +1 -0
- package/dist/codex/generated/v2/ExternalAgentImportedConnectorSource.js +3 -0
- package/dist/codex/generated/v2/ExternalAgentImportedConnectorSource.js.map +1 -0
- package/dist/codex/generated/v2/FileSystemSpecialPath.d.ts +3 -2
- package/dist/codex/generated/v2/HookEventName.d.ts +1 -1
- package/dist/codex/generated/v2/HookMetadata.d.ts +5 -0
- package/dist/codex/generated/v2/InstalledApp.d.ts +21 -0
- package/dist/codex/generated/v2/InstalledApp.js +3 -0
- package/dist/codex/generated/v2/InstalledApp.js.map +1 -0
- package/dist/codex/generated/v2/LoginAccountParams.d.ts +4 -0
- package/dist/codex/generated/v2/LoginAccountResponse.d.ts +2 -0
- package/dist/codex/generated/v2/ManagedHooksRequirements.d.ts +1 -0
- package/dist/codex/generated/v2/McpToolCallAppContext.d.ts +0 -1
- package/dist/codex/generated/v2/MigrationDetails.d.ts +1 -0
- package/dist/codex/generated/v2/PluginDetail.d.ts +2 -0
- package/dist/codex/generated/v2/PluginShareUpdateDiscoverability.d.ts +1 -1
- package/dist/codex/generated/v2/PluginSummary.d.ts +1 -0
- package/dist/codex/generated/v2/RateLimitSnapshot.d.ts +4 -0
- package/dist/codex/generated/v2/RawResponseCompletedNotification.d.ts +11 -0
- package/dist/codex/generated/v2/RawResponseCompletedNotification.js +3 -0
- package/dist/codex/generated/v2/RawResponseCompletedNotification.js.map +1 -0
- package/dist/codex/generated/v2/ScheduledTaskSchedule.d.ts +16 -0
- package/dist/codex/generated/v2/ScheduledTaskSchedule.js +3 -0
- package/dist/codex/generated/v2/ScheduledTaskSchedule.js.map +1 -0
- package/dist/codex/generated/v2/ScheduledTaskSummary.d.ts +7 -0
- package/dist/codex/generated/v2/ScheduledTaskSummary.js +3 -0
- package/dist/codex/generated/v2/ScheduledTaskSummary.js.map +1 -0
- package/dist/codex/generated/v2/ScheduledTaskWeekday.d.ts +1 -0
- package/dist/codex/generated/v2/ScheduledTaskWeekday.js +3 -0
- package/dist/codex/generated/v2/ScheduledTaskWeekday.js.map +1 -0
- package/dist/codex/generated/v2/Thread.d.ts +5 -0
- package/dist/codex/generated/v2/ThreadForkParams.d.ts +11 -0
- package/dist/codex/generated/v2/ThreadItem.d.ts +2 -3
- package/dist/codex/generated/v2/ThreadItemEntry.d.ts +8 -0
- package/dist/codex/generated/v2/ThreadItemEntry.js +3 -0
- package/dist/codex/generated/v2/ThreadItemEntry.js.map +1 -0
- package/dist/codex/generated/v2/ThreadItemsListResponse.d.ts +2 -2
- package/dist/codex/generated/v2/ThreadRealtimeInitialItem.d.ts +8 -0
- package/dist/codex/generated/v2/ThreadRealtimeInitialItem.js +3 -0
- package/dist/codex/generated/v2/ThreadRealtimeInitialItem.js.map +1 -0
- package/dist/codex/generated/v2/ThreadRealtimeStartParams.d.ts +11 -4
- package/dist/codex/generated/v2/ThreadResumeResponse.d.ts +14 -0
- package/dist/codex/generated/v2/ThreadSearchOccurrence.d.ts +17 -0
- package/dist/codex/generated/v2/ThreadSearchOccurrence.js +3 -0
- package/dist/codex/generated/v2/ThreadSearchOccurrence.js.map +1 -0
- package/dist/codex/generated/v2/ThreadSearchOccurrencesParams.d.ts +19 -0
- package/dist/codex/generated/v2/ThreadSearchOccurrencesParams.js +3 -0
- package/dist/codex/generated/v2/ThreadSearchOccurrencesParams.js.map +1 -0
- package/dist/codex/generated/v2/ThreadSearchOccurrencesResponse.d.ts +11 -0
- package/dist/codex/generated/v2/ThreadSearchOccurrencesResponse.js +3 -0
- package/dist/codex/generated/v2/ThreadSearchOccurrencesResponse.js.map +1 -0
- package/dist/codex/generated/v2/ThreadSearchTextRange.d.ts +13 -0
- package/dist/codex/generated/v2/ThreadSearchTextRange.js +3 -0
- package/dist/codex/generated/v2/ThreadSearchTextRange.js.map +1 -0
- package/dist/codex/generated/v2/TokenUsageBreakdown.d.ts +1 -0
- package/dist/codex/generated/v2/TurnEnvironmentParams.d.ts +4 -0
- package/dist/codex/generated/v2/UserInput.d.ts +6 -0
- package/dist/codex/generated/v2/index.d.ts +23 -0
- package/dist/daemon/daemon.js +5 -20
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/probe.js +1 -1
- package/dist/daemon/settings.d.ts +6 -0
- package/dist/daemon/settings.js +23 -0
- package/dist/daemon/settings.js.map +1 -0
- package/dist/gateway/clientConnection.d.ts +3 -2
- package/dist/gateway/clientConnection.js +41 -44
- package/dist/gateway/clientConnection.js.map +1 -1
- package/dist/gateway/logicalThreadProjection.d.ts +5 -0
- package/dist/gateway/logicalThreadProjection.js +58 -1
- package/dist/gateway/logicalThreadProjection.js.map +1 -1
- package/dist/gateway/remoteControlController.d.ts +29 -0
- package/dist/gateway/remoteControlController.js +78 -0
- package/dist/gateway/remoteControlController.js.map +1 -0
- package/dist/gateway/remoteControlHub.js +2 -1
- package/dist/gateway/remoteControlHub.js.map +1 -1
- package/dist/gateway/remoteControlMode.js +2 -12
- package/dist/gateway/remoteControlMode.js.map +1 -1
- package/dist/gateway/server.js +42 -15
- package/dist/gateway/server.js.map +1 -1
- package/dist/gateway/subscriptions.d.ts +9 -2
- package/dist/gateway/subscriptions.js +40 -9
- package/dist/gateway/subscriptions.js.map +1 -1
- package/dist/gateway/threadList.d.ts +25 -0
- package/dist/gateway/threadList.js +112 -26
- package/dist/gateway/threadList.js.map +1 -1
- package/dist/handoff/lineageStore.d.ts +101 -0
- package/dist/handoff/lineageStore.js +502 -0
- package/dist/handoff/lineageStore.js.map +1 -0
- package/dist/handoff/providerEpochs.d.ts +19 -5
- package/dist/handoff/providerEpochs.js +119 -41
- package/dist/handoff/providerEpochs.js.map +1 -1
- package/dist/handoff/service.d.ts +16 -2
- package/dist/handoff/service.js +500 -139
- package/dist/handoff/service.js.map +1 -1
- package/dist/handoff/startupMigration.d.ts +22 -0
- package/dist/handoff/startupMigration.js +52 -0
- package/dist/handoff/startupMigration.js.map +1 -0
- package/dist/handoff/store.d.ts +10 -0
- package/dist/handoff/store.js +141 -28
- package/dist/handoff/store.js.map +1 -1
- package/dist/runtime/dependencies.js +1 -1
- package/dist/store/HybridStore.d.ts +3 -1
- package/dist/store/HybridStore.js.map +1 -1
- package/dist/store/memoryStore.d.ts +3 -2
- package/dist/store/memoryStore.js +18 -4
- package/dist/store/memoryStore.js.map +1 -1
- package/dist/store/sqliteStore.d.ts +1 -2
- package/dist/store/sqliteStore.js +57 -24
- package/dist/store/sqliteStore.js.map +1 -1
- package/legal/LICENSES.md +1 -1
- package/legal/THIRD_PARTY_NOTICES.md +136 -124
- package/package.json +5 -5
- package/dist/codex/generated/AmazonBedrockCredentialSource.d.ts +0 -1
- package/dist/codex/generated/AmazonBedrockCredentialSource.js +0 -3
- package/dist/codex/generated/AmazonBedrockCredentialSource.js.map +0 -1
package/dist/handoff/store.js
CHANGED
|
@@ -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
|
|
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(
|
|
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
|
|
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
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
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
|
|
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
|
-
|
|
304
|
-
|
|
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
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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(
|
|
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
|
|
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
|
|
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(
|
|
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,
|
|
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.
|
|
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":"
|
|
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) {
|
|
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
|
|
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);
|