@agents-ensemble/core 0.15.0 → 0.17.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.
- package/dist/acp/acp-client.d.ts +2 -0
- package/dist/acp/acp-client.d.ts.map +1 -1
- package/dist/acp/acp-client.js +2 -0
- package/dist/acp/acp-client.js.map +1 -1
- package/dist/acp/index.d.ts +1 -1
- package/dist/acp/index.d.ts.map +1 -1
- package/dist/acp/index.js +1 -1
- package/dist/acp/index.js.map +1 -1
- package/dist/acp/resolve-acp-spawn.d.ts +16 -3
- package/dist/acp/resolve-acp-spawn.d.ts.map +1 -1
- package/dist/acp/resolve-acp-spawn.js +89 -21
- package/dist/acp/resolve-acp-spawn.js.map +1 -1
- package/dist/acp/resolve-bundled-acp-bin.d.ts.map +1 -1
- package/dist/acp/resolve-bundled-acp-bin.js +9 -3
- package/dist/acp/resolve-bundled-acp-bin.js.map +1 -1
- package/dist/acp/testing/fake-acp-server.d.ts +6 -0
- package/dist/acp/testing/fake-acp-server.d.ts.map +1 -1
- package/dist/acp/testing/fake-acp-server.js +4 -1
- package/dist/acp/testing/fake-acp-server.js.map +1 -1
- package/dist/conductor/conductor-agent.d.ts +9 -0
- package/dist/conductor/conductor-agent.d.ts.map +1 -1
- package/dist/conductor/conductor-auth.d.ts +2 -0
- package/dist/conductor/conductor-auth.d.ts.map +1 -1
- package/dist/conductor/conductor-auth.js +3 -1
- package/dist/conductor/conductor-auth.js.map +1 -1
- package/dist/conductor/conductor-history.d.ts +30 -0
- package/dist/conductor/conductor-history.d.ts.map +1 -0
- package/dist/conductor/conductor-history.js +200 -0
- package/dist/conductor/conductor-history.js.map +1 -0
- package/dist/conductor/conductor-send-reconnect.d.ts.map +1 -1
- package/dist/conductor/conductor-send-reconnect.js +1 -0
- package/dist/conductor/conductor-send-reconnect.js.map +1 -1
- package/dist/conductor/conductor-session-driver.js +4 -0
- package/dist/conductor/conductor-session-driver.js.map +1 -1
- package/dist/conductor/conductor-session.d.ts +2 -2
- package/dist/conductor/conductor-session.d.ts.map +1 -1
- package/dist/conductor/conductor-session.js +64 -6
- package/dist/conductor/conductor-session.js.map +1 -1
- package/dist/conductor/pi-conductor-agent.d.ts +1 -0
- package/dist/conductor/pi-conductor-agent.d.ts.map +1 -1
- package/dist/conductor/pi-conductor-agent.js +97 -4
- package/dist/conductor/pi-conductor-agent.js.map +1 -1
- package/dist/config/ensemble-config-digest.d.ts +10 -0
- package/dist/config/ensemble-config-digest.d.ts.map +1 -0
- package/dist/config/ensemble-config-digest.js +28 -0
- package/dist/config/ensemble-config-digest.js.map +1 -0
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/load-ensemble-config.d.ts +6 -1
- package/dist/config/load-ensemble-config.d.ts.map +1 -1
- package/dist/config/load-ensemble-config.js +25 -4
- package/dist/config/load-ensemble-config.js.map +1 -1
- package/dist/config/parse-config.d.ts.map +1 -1
- package/dist/config/parse-config.js +39 -1
- package/dist/config/parse-config.js.map +1 -1
- package/dist/config/types.d.ts +7 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/dispatch/get-tool-call-tool.d.ts.map +1 -1
- package/dist/dispatch/get-tool-call-tool.js +9 -1
- package/dist/dispatch/get-tool-call-tool.js.map +1 -1
- package/dist/ensemble-paths.d.ts +44 -0
- package/dist/ensemble-paths.d.ts.map +1 -0
- package/dist/ensemble-paths.js +51 -0
- package/dist/ensemble-paths.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/load-mcp-config.d.ts.map +1 -1
- package/dist/mcp/load-mcp-config.js +4 -3
- package/dist/mcp/load-mcp-config.js.map +1 -1
- package/dist/operator-runtime.d.ts +8 -2
- package/dist/operator-runtime.d.ts.map +1 -1
- package/dist/operator-runtime.js +7 -2
- package/dist/operator-runtime.js.map +1 -1
- package/dist/profile/team-profile-resolution.d.ts.map +1 -1
- package/dist/profile/team-profile-resolution.js +4 -2
- package/dist/profile/team-profile-resolution.js.map +1 -1
- package/dist/profile/types.d.ts +7 -1
- package/dist/profile/types.d.ts.map +1 -1
- package/dist/profile/types.js +34 -13
- package/dist/profile/types.js.map +1 -1
- package/dist/profiles/implementer-and-reviewer-v2/profile.yaml +2 -0
- package/dist/prompt/load-user-instructions.d.ts.map +1 -1
- package/dist/prompt/load-user-instructions.js +4 -3
- package/dist/prompt/load-user-instructions.js.map +1 -1
- package/dist/prompt/modules/ensemble/conductor-base-module.d.ts.map +1 -1
- package/dist/prompt/modules/ensemble/conductor-base-module.js +3 -1
- package/dist/prompt/modules/ensemble/conductor-base-module.js.map +1 -1
- package/dist/resolve-user-ensemble-root.d.ts +16 -0
- package/dist/resolve-user-ensemble-root.d.ts.map +1 -0
- package/dist/resolve-user-ensemble-root.js +24 -0
- package/dist/resolve-user-ensemble-root.js.map +1 -0
- package/dist/session/index.d.ts +2 -2
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +2 -2
- package/dist/session/index.js.map +1 -1
- package/dist/session/open-questions-store.d.ts +4 -0
- package/dist/session/open-questions-store.d.ts.map +1 -1
- package/dist/session/open-questions-store.js +8 -2
- package/dist/session/open-questions-store.js.map +1 -1
- package/dist/session/session-resume-store.d.ts +12 -2
- package/dist/session/session-resume-store.d.ts.map +1 -1
- package/dist/session/session-resume-store.js +168 -31
- package/dist/session/session-resume-store.js.map +1 -1
- package/dist/session/session-state-store.d.ts +2 -1
- package/dist/session/session-state-store.d.ts.map +1 -1
- package/dist/session/session-state-store.js +20 -7
- package/dist/session/session-state-store.js.map +1 -1
- package/dist/session/tool-call-snapshot-history.d.ts.map +1 -1
- package/dist/session/tool-call-snapshot-history.js +61 -34
- package/dist/session/tool-call-snapshot-history.js.map +1 -1
- package/dist/worktree/worktree.d.ts.map +1 -1
- package/dist/worktree/worktree.js +5 -2
- package/dist/worktree/worktree.js.map +1 -1
- package/package.json +3 -4
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { chmod, mkdir, readdir, readFile, rename, writeFile } from 'node:fs/promises';
|
|
2
2
|
import { dirname, join } from 'node:path';
|
|
3
|
+
import { computeAcpSpawnEnvDigest, } from '../acp/resolve-acp-spawn.js';
|
|
4
|
+
import { resolveEnsemblePaths } from '../ensemble-paths.js';
|
|
3
5
|
export const SESSION_RESUME_STORE_VERSION = 1;
|
|
4
6
|
/** @deprecated Use SESSION_RESUME_STORE_VERSION; supported for one release only. */
|
|
5
7
|
export const SESSION_SIDECAR_VERSION = SESSION_RESUME_STORE_VERSION;
|
|
@@ -35,15 +37,34 @@ export class SessionSidecarNotFoundError extends SessionResumeStoreNotFoundError
|
|
|
35
37
|
}
|
|
36
38
|
}
|
|
37
39
|
export function sessionResumeStoreDir(repoRoot) {
|
|
38
|
-
return
|
|
40
|
+
return resolveEnsemblePaths({ repoRoot }).sessionsDir;
|
|
41
|
+
}
|
|
42
|
+
export function legacySessionResumeStoreDir(repoRoot) {
|
|
43
|
+
return resolveEnsemblePaths({ repoRoot }).legacySessionsDir;
|
|
44
|
+
}
|
|
45
|
+
export function legacySessionResumeStorePath(options) {
|
|
46
|
+
return resolveEnsemblePaths({
|
|
47
|
+
repoRoot: options.repoRoot,
|
|
48
|
+
}).legacySessionResumeStorePath(options.conductorAgentId);
|
|
39
49
|
}
|
|
40
50
|
export function sessionResumeStorePath(options) {
|
|
41
|
-
return
|
|
51
|
+
return resolveEnsemblePaths({
|
|
52
|
+
repoRoot: options.repoRoot,
|
|
53
|
+
}).sessionResumeStorePath(options.conductorAgentId);
|
|
42
54
|
}
|
|
43
55
|
export async function loadSessionResumeStore(path) {
|
|
56
|
+
const loaded = await readSessionResumeStore(path);
|
|
57
|
+
return loaded?.resumeStore;
|
|
58
|
+
}
|
|
59
|
+
async function readSessionResumeStore(path) {
|
|
44
60
|
try {
|
|
45
61
|
const raw = await readFile(path, 'utf8');
|
|
46
|
-
|
|
62
|
+
const value = JSON.parse(raw);
|
|
63
|
+
return {
|
|
64
|
+
resumeStore: parseSessionResumeStore(value),
|
|
65
|
+
hasLegacyAcpSpawnEnv: containsLegacyAcpSpawnEnv(value),
|
|
66
|
+
rawValue: value,
|
|
67
|
+
};
|
|
47
68
|
}
|
|
48
69
|
catch (error) {
|
|
49
70
|
if (isEnoent(error))
|
|
@@ -54,11 +75,24 @@ export async function loadSessionResumeStore(path) {
|
|
|
54
75
|
/** `resumeAgentId` 指定時に SessionResumeStore が無い場合は起動失敗とする。 */
|
|
55
76
|
export async function requireSessionResumeStoreForResume(input) {
|
|
56
77
|
const path = sessionResumeStorePath(input);
|
|
57
|
-
|
|
58
|
-
|
|
78
|
+
let loaded = await readSessionResumeStore(path);
|
|
79
|
+
let sourcePath = path;
|
|
80
|
+
if (!loaded) {
|
|
81
|
+
sourcePath = legacySessionResumeStorePath(input);
|
|
82
|
+
loaded = await readSessionResumeStore(sourcePath);
|
|
83
|
+
}
|
|
84
|
+
if (!loaded) {
|
|
59
85
|
throw new SessionResumeStoreNotFoundError(input.conductorAgentId, path);
|
|
60
86
|
}
|
|
61
|
-
|
|
87
|
+
if (loaded.hasLegacyAcpSpawnEnv) {
|
|
88
|
+
// Scrub pre-digest env values before resume validation can reject the
|
|
89
|
+
// session and bypass its normal first write.
|
|
90
|
+
await writeSessionResumeStoreFile(sourcePath, redactLegacyAcpSpawnEnv(loaded.rawValue, loaded.resumeStore));
|
|
91
|
+
}
|
|
92
|
+
if (sourcePath !== path) {
|
|
93
|
+
await writeSessionResumeStoreFile(path, loaded.resumeStore);
|
|
94
|
+
}
|
|
95
|
+
return loaded.resumeStore;
|
|
62
96
|
}
|
|
63
97
|
/** @deprecated Use requireSessionResumeStoreForResume; supported for one release only. */
|
|
64
98
|
export async function requireSessionSidecarForResume(input) {
|
|
@@ -87,36 +121,41 @@ export async function saveSessionResumeStore(path, resumeStore) {
|
|
|
87
121
|
? { modifiedAt: updatedAt }
|
|
88
122
|
: {}),
|
|
89
123
|
});
|
|
124
|
+
await writeSessionResumeStoreFile(path, parsed);
|
|
125
|
+
}
|
|
126
|
+
async function writeSessionResumeStoreFile(path, value) {
|
|
90
127
|
const directory = dirname(path);
|
|
91
128
|
await mkdir(directory, { recursive: true, mode: 0o700 });
|
|
92
129
|
await chmod(directory, 0o700);
|
|
93
130
|
const tempPath = `${path}.tmp`;
|
|
94
|
-
await writeFile(tempPath, `${JSON.stringify(
|
|
131
|
+
await writeFile(tempPath, `${JSON.stringify(value, null, 2)}\n`, { encoding: 'utf8', mode: 0o600 });
|
|
95
132
|
await chmod(tempPath, 0o600);
|
|
96
133
|
await rename(tempPath, path);
|
|
97
134
|
}
|
|
98
135
|
/** @deprecated Use saveSessionResumeStore; supported for one release only. */
|
|
99
136
|
export const saveSessionSidecar = saveSessionResumeStore;
|
|
100
137
|
export async function listSessionResumeStores(repoRoot) {
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
entries
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
138
|
+
const paths = resolveEnsemblePaths({ repoRoot });
|
|
139
|
+
const byAgentId = new Map();
|
|
140
|
+
for (const dir of [paths.legacySessionsDir, paths.sessionsDir]) {
|
|
141
|
+
let entries;
|
|
142
|
+
try {
|
|
143
|
+
entries = await readdir(dir);
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
if (isEnoent(error))
|
|
147
|
+
continue;
|
|
148
|
+
throw error;
|
|
149
|
+
}
|
|
150
|
+
for (const entry of entries) {
|
|
151
|
+
if (!entry.endsWith('.json') || entry.endsWith('.tmp'))
|
|
152
|
+
continue;
|
|
153
|
+
const resumeStore = await loadSessionResumeStore(join(dir, entry));
|
|
154
|
+
if (resumeStore)
|
|
155
|
+
byAgentId.set(resumeStore.conductorAgentId, resumeStore);
|
|
156
|
+
}
|
|
118
157
|
}
|
|
119
|
-
return
|
|
158
|
+
return [...byAgentId.values()];
|
|
120
159
|
}
|
|
121
160
|
/** @deprecated Use listSessionResumeStores; supported for one release only. */
|
|
122
161
|
export const listSessionSidecars = listSessionResumeStores;
|
|
@@ -170,6 +209,11 @@ export function assertSessionResumeStoreMatches(resumeStore, input) {
|
|
|
170
209
|
throw new Error(`Session resume store MCP config digest mismatch: ${resumeStore.mcpConfigDigest} !== ${input.mcpConfigDigest}`);
|
|
171
210
|
}
|
|
172
211
|
}
|
|
212
|
+
if (input.ensembleConfigDigest !== undefined &&
|
|
213
|
+
resumeStore.ensembleConfigDigest !== undefined &&
|
|
214
|
+
resumeStore.ensembleConfigDigest !== input.ensembleConfigDigest) {
|
|
215
|
+
throw new Error(`Session resume store ensemble config digest mismatch: ${resumeStore.ensembleConfigDigest} !== ${input.ensembleConfigDigest}`);
|
|
216
|
+
}
|
|
173
217
|
}
|
|
174
218
|
/** @deprecated Use assertSessionResumeStoreMatches; supported for one release only. */
|
|
175
219
|
export const assertSessionSidecarMatches = assertSessionResumeStoreMatches;
|
|
@@ -213,6 +257,10 @@ function parseSessionResumeStore(value) {
|
|
|
213
257
|
typeof record.mcpConfigDigest !== 'string') {
|
|
214
258
|
throw new Error('Invalid session resume store: mcpConfigDigest');
|
|
215
259
|
}
|
|
260
|
+
if (record.ensembleConfigDigest !== undefined &&
|
|
261
|
+
typeof record.ensembleConfigDigest !== 'string') {
|
|
262
|
+
throw new Error('Invalid session resume store: ensembleConfigDigest');
|
|
263
|
+
}
|
|
216
264
|
if (record.lazyWorkers !== undefined &&
|
|
217
265
|
typeof record.lazyWorkers !== 'boolean') {
|
|
218
266
|
throw new Error('Invalid session resume store: lazyWorkers');
|
|
@@ -222,6 +270,16 @@ function parseSessionResumeStore(value) {
|
|
|
222
270
|
record.harnessSocketPath.length === 0)) {
|
|
223
271
|
throw new Error('Invalid session resume store: harnessSocketPath');
|
|
224
272
|
}
|
|
273
|
+
if (record.conductorCwd !== undefined &&
|
|
274
|
+
(typeof record.conductorCwd !== 'string' ||
|
|
275
|
+
record.conductorCwd.trim() === '')) {
|
|
276
|
+
throw new Error('Invalid session resume store: conductorCwd');
|
|
277
|
+
}
|
|
278
|
+
if (record.cursorBootstrapRunId !== undefined &&
|
|
279
|
+
(typeof record.cursorBootstrapRunId !== 'string' ||
|
|
280
|
+
record.cursorBootstrapRunId.trim() === '')) {
|
|
281
|
+
throw new Error('Invalid session resume store: cursorBootstrapRunId');
|
|
282
|
+
}
|
|
225
283
|
if (record.lifecycle !== undefined &&
|
|
226
284
|
record.lifecycle !== 'closed' &&
|
|
227
285
|
record.lifecycle !== 'exited' &&
|
|
@@ -268,6 +326,12 @@ function parseSessionResumeStore(value) {
|
|
|
268
326
|
version: SESSION_RESUME_STORE_VERSION,
|
|
269
327
|
conductorAgentId: record.conductorAgentId,
|
|
270
328
|
conductorBackend,
|
|
329
|
+
...(typeof record.conductorCwd === 'string'
|
|
330
|
+
? { conductorCwd: record.conductorCwd }
|
|
331
|
+
: {}),
|
|
332
|
+
...(typeof record.cursorBootstrapRunId === 'string'
|
|
333
|
+
? { cursorBootstrapRunId: record.cursorBootstrapRunId }
|
|
334
|
+
: {}),
|
|
271
335
|
...(typeof record.lazyWorkers === 'boolean'
|
|
272
336
|
? { lazyWorkers: record.lazyWorkers }
|
|
273
337
|
: {}),
|
|
@@ -287,6 +351,9 @@ function parseSessionResumeStore(value) {
|
|
|
287
351
|
...(typeof record.mcpConfigDigest === 'string'
|
|
288
352
|
? { mcpConfigDigest: record.mcpConfigDigest }
|
|
289
353
|
: {}),
|
|
354
|
+
...(typeof record.ensembleConfigDigest === 'string'
|
|
355
|
+
? { ensembleConfigDigest: record.ensembleConfigDigest }
|
|
356
|
+
: {}),
|
|
290
357
|
...(record.lifecycle !== undefined
|
|
291
358
|
? { lifecycle: record.lifecycle }
|
|
292
359
|
: {}),
|
|
@@ -315,6 +382,47 @@ function isEnoent(error) {
|
|
|
315
382
|
'code' in error &&
|
|
316
383
|
error.code === 'ENOENT');
|
|
317
384
|
}
|
|
385
|
+
function containsLegacyAcpSpawnEnv(value) {
|
|
386
|
+
if (!value || typeof value !== 'object' || !('workers' in value))
|
|
387
|
+
return false;
|
|
388
|
+
const workers = value.workers;
|
|
389
|
+
if (!workers || typeof workers !== 'object' || Array.isArray(workers)) {
|
|
390
|
+
return false;
|
|
391
|
+
}
|
|
392
|
+
return Object.values(workers).some((worker) => {
|
|
393
|
+
if (!worker || typeof worker !== 'object' || !('acpSpawn' in worker)) {
|
|
394
|
+
return false;
|
|
395
|
+
}
|
|
396
|
+
const acpSpawn = worker.acpSpawn;
|
|
397
|
+
if (!acpSpawn || typeof acpSpawn !== 'object' || !('env' in acpSpawn)) {
|
|
398
|
+
return false;
|
|
399
|
+
}
|
|
400
|
+
const env = acpSpawn.env;
|
|
401
|
+
return (!!env &&
|
|
402
|
+
typeof env === 'object' &&
|
|
403
|
+
!Array.isArray(env) &&
|
|
404
|
+
Object.keys(env).length > 0);
|
|
405
|
+
});
|
|
406
|
+
}
|
|
407
|
+
function redactLegacyAcpSpawnEnv(value, parsed) {
|
|
408
|
+
const record = value;
|
|
409
|
+
const rawWorkers = record.workers;
|
|
410
|
+
const workers = { ...rawWorkers };
|
|
411
|
+
for (const [name, rawWorker] of Object.entries(rawWorkers)) {
|
|
412
|
+
const worker = rawWorker;
|
|
413
|
+
if (!worker.acpSpawn || typeof worker.acpSpawn !== 'object')
|
|
414
|
+
continue;
|
|
415
|
+
const acpSpawn = { ...worker.acpSpawn };
|
|
416
|
+
if (!('env' in acpSpawn))
|
|
417
|
+
continue;
|
|
418
|
+
delete acpSpawn.env;
|
|
419
|
+
const envDigest = parsed.workers[name]?.acpSpawn?.envDigest;
|
|
420
|
+
if (envDigest)
|
|
421
|
+
acpSpawn.envDigest = envDigest;
|
|
422
|
+
workers[name] = { ...worker, acpSpawn };
|
|
423
|
+
}
|
|
424
|
+
return { ...record, workers };
|
|
425
|
+
}
|
|
318
426
|
function parseAcpSpawnFingerprint(raw, workerName) {
|
|
319
427
|
if (raw === undefined || raw === null)
|
|
320
428
|
return undefined;
|
|
@@ -328,27 +436,56 @@ function parseAcpSpawnFingerprint(raw, workerName) {
|
|
|
328
436
|
if (!Array.isArray(record.args) || record.args.some((arg) => typeof arg !== 'string')) {
|
|
329
437
|
throw new Error(`Invalid session resume store worker acpSpawn args: ${workerName}`);
|
|
330
438
|
}
|
|
331
|
-
|
|
439
|
+
const validModelTags = ['high', 'default', 'low', 'fast'];
|
|
440
|
+
let modelTag;
|
|
441
|
+
if (record.modelTag !== undefined) {
|
|
442
|
+
if (typeof record.modelTag !== 'string' ||
|
|
443
|
+
!validModelTags.includes(record.modelTag)) {
|
|
444
|
+
throw new Error(`Invalid session resume store worker acpSpawn modelTag: ${workerName}`);
|
|
445
|
+
}
|
|
446
|
+
modelTag = record.modelTag;
|
|
447
|
+
}
|
|
448
|
+
let model;
|
|
449
|
+
if (record.model !== undefined) {
|
|
450
|
+
if (typeof record.model !== 'string' || record.model.length === 0) {
|
|
451
|
+
throw new Error(`Invalid session resume store worker acpSpawn model: ${workerName}`);
|
|
452
|
+
}
|
|
453
|
+
model = record.model;
|
|
454
|
+
}
|
|
455
|
+
let envDigest;
|
|
456
|
+
if (record.envDigest !== undefined) {
|
|
457
|
+
if (typeof record.envDigest !== 'string' ||
|
|
458
|
+
!/^[a-f0-9]{64}$/.test(record.envDigest)) {
|
|
459
|
+
throw new Error(`Invalid session resume store worker acpSpawn envDigest: ${workerName}`);
|
|
460
|
+
}
|
|
461
|
+
envDigest = record.envDigest;
|
|
462
|
+
}
|
|
332
463
|
if (record.env !== undefined) {
|
|
333
464
|
if (!record.env || typeof record.env !== 'object' || Array.isArray(record.env)) {
|
|
334
465
|
throw new Error(`Invalid session resume store worker acpSpawn env: ${workerName}`);
|
|
335
466
|
}
|
|
336
|
-
|
|
467
|
+
const legacyEnv = {};
|
|
337
468
|
for (const [key, value] of Object.entries(record.env)) {
|
|
338
469
|
if (typeof value !== 'string') {
|
|
339
470
|
throw new Error(`Invalid session resume store worker acpSpawn env.${key}: ${workerName}`);
|
|
340
471
|
}
|
|
341
|
-
|
|
472
|
+
legacyEnv[key] = value;
|
|
342
473
|
}
|
|
343
|
-
if (Object.keys(
|
|
344
|
-
|
|
474
|
+
if (Object.keys(legacyEnv).length > 0) {
|
|
475
|
+
if (envDigest !== undefined) {
|
|
476
|
+
throw new Error(`Invalid session resume store worker acpSpawn env: duplicate env and envDigest for ${workerName}`);
|
|
477
|
+
}
|
|
478
|
+
// Redact values from legacy records while keeping resume comparison possible.
|
|
479
|
+
envDigest = computeAcpSpawnEnvDigest(legacyEnv);
|
|
345
480
|
}
|
|
346
481
|
}
|
|
347
482
|
return {
|
|
348
483
|
preset: record.preset,
|
|
349
484
|
command: record.command,
|
|
350
485
|
args: record.args,
|
|
351
|
-
...(
|
|
486
|
+
...(modelTag !== undefined ? { modelTag } : {}),
|
|
487
|
+
...(model !== undefined ? { model } : {}),
|
|
488
|
+
...(envDigest ? { envDigest } : {}),
|
|
352
489
|
};
|
|
353
490
|
}
|
|
354
491
|
//# sourceMappingURL=session-resume-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-resume-store.js","sourceRoot":"","sources":["../../src/session/session-resume-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAO1C,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAE9C,oFAAoF;AACpF,MAAM,CAAC,MAAM,uBAAuB,GAAG,4BAA4B,CAAC;AAUpE,MAAM,UAAU,+BAA+B,CAC7C,SAAuC;IAEvC,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,OAAO,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC;QAChB,KAAK,aAAa;YAChB,OAAO,OAAO,CAAC;QACjB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAItC;IACA;IAJT,IAAI,GAAW,gCAAgC,CAAC;IAEzD,YACkB,gBAAwB,EACxB,IAAY;QAE5B,KAAK,CACH,sDAAsD,gBAAgB,UAAU,IAAI,GAAG,CACxF,CAAC;QALc,qBAAgB,GAAhB,gBAAgB,CAAQ;QACxB,SAAI,GAAJ,IAAI,CAAQ;QAK5B,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;IAChD,CAAC;CACF;AAED,uFAAuF;AACvF,MAAM,OAAO,2BAA4B,SAAQ,+BAA+B;IAC5D,IAAI,GAAG,2BAA2B,CAAC;IAErD,YAAY,gBAAwB,EAAE,IAAY;QAChD,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF;AA8DD,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,OAAO,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAsC;IAC3E,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,gBAAgB,OAAO,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAY;IAEZ,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzC,OAAO,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACtC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,kCAAkC,CAAC,KAGxD;IACC,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,+BAA+B,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,0FAA0F;AAC1F,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,KAGpD;IACC,IAAI,CAAC;QACH,OAAO,MAAM,kCAAkC,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,+BAA+B,EAAE,CAAC;YACrD,MAAM,IAAI,2BAA2B,CACnC,KAAK,CAAC,gBAAgB,EACtB,sBAAsB,CAAC,KAAK,CAAC,CAC9B,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAY,EACZ,WAA+B;IAE/B,MAAM,SAAS,GACb,WAAW,CAAC,YAAY,KAAK,SAAS;QACtC,WAAW,CAAC,YAAY,KAAK,SAAS;QACtC,WAAW,CAAC,YAAY,KAAK,MAAM;QACnC,WAAW,CAAC,UAAU,KAAK,SAAS;QAClC,CAAC,CAAC,WAAW,CAAC,UAAU;QACxB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACjB,MAAM,MAAM,GAAG,uBAAuB,CAAC;QACrC,GAAG,WAAW;QACd,SAAS;QACT,GAAG,CAAC,WAAW,CAAC,YAAY,KAAK,SAAS;YAC1C,WAAW,CAAC,YAAY,KAAK,MAAM;YACjC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE;YAC3B,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,MAAM,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,GAAG,IAAI,MAAM,CAAC;IAC/B,MAAM,SAAS,CACb,QAAQ,EACR,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EACtC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAClC,CAAC;IACF,MAAM,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC7B,MAAM,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAEzD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAgB;IAEhB,MAAM,GAAG,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC/B,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAyB,EAAE,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS;QACjE,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QACnE,IAAI,WAAW;YAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AAE3D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACxD,KAAwC;IAExC,MAAM,OAAO,GAAG,CAAC,MAAM,uBAAuB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CACpE,CAAC,WAAW,EAAE,EAAE,CACd,WAAW,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;QACvC,WAAW,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;QACvC,CAAC,WAAW,CAAC,YAAY;YACvB,+BAA+B,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,KAAK,MAAM,CACvE,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE3C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE;QAC9C,MAAM,aAAa,GACjB,QAAQ,CAAC,YAAY;YACrB,+BAA+B,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,gBAAgB,GACpB,WAAW,CAAC,YAAY;YACxB,+BAA+B,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,gBAAgB,GACpB,aAAa,KAAK,OAAO,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,mBAAmB,GACvB,gBAAgB,KAAK,OAAO,IAAI,gBAAgB,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,mBAAmB,KAAK,gBAAgB,EAAE,CAAC;YAC7C,OAAO,mBAAmB,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzE,CAAC;QACD,OAAO,WAAW,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,4FAA4F;AAC5F,MAAM,CAAC,MAAM,gCAAgC,GAC3C,oCAAoC,CAAC;AAEvC,MAAM,UAAU,+BAA+B,CAC7C,WAA+B,EAC/B,KASC;IAED,IAAI,WAAW,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CACb,mDAAmD,WAAW,CAAC,gBAAgB,QAAQ,KAAK,CAAC,gBAAgB,EAAE,CAChH,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,2CAA2C,WAAW,CAAC,QAAQ,QAAQ,KAAK,CAAC,QAAQ,EAAE,CACxF,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,2CAA2C,WAAW,CAAC,QAAQ,QAAQ,KAAK,CAAC,QAAQ,EAAE,CACxF,CAAC;IACJ,CAAC;IACD,IACE,KAAK,CAAC,gBAAgB,KAAK,SAAS;QACpC,CAAC,WAAW,CAAC,gBAAgB,IAAI,QAAQ,CAAC,KAAK,KAAK,CAAC,gBAAgB,EACrE,CAAC;QACD,MAAM,IAAI,KAAK,CACb,mDAAmD,WAAW,CAAC,gBAAgB,IAAI,QAAQ,QAAQ,KAAK,CAAC,gBAAgB,EAAE,CAC5H,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACxC,IAAI,WAAW,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAC9C,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CACb,8FAA8F,CAC/F,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,CAAC,eAAe,KAAK,KAAK,CAAC,eAAe,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CACb,oDAAoD,WAAW,CAAC,eAAe,QAAQ,KAAK,CAAC,eAAe,EAAE,CAC/G,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,uFAAuF;AACvF,MAAM,CAAC,MAAM,2BAA2B,GAAG,+BAA+B,CAAC;AAE3E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEvD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAEzD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAEzD,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IAAI,MAAM,CAAC,OAAO,KAAK,4BAA4B,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,6CAA6C,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACxE,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,IACE,MAAM,CAAC,eAAe,KAAK,SAAS;QACpC,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,EAC1C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,IACE,MAAM,CAAC,WAAW,KAAK,SAAS;QAChC,OAAO,MAAM,CAAC,WAAW,KAAK,SAAS,EACvC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,IACE,MAAM,CAAC,iBAAiB,KAAK,SAAS;QACtC,CAAC,OAAO,MAAM,CAAC,iBAAiB,KAAK,QAAQ;YAC3C,MAAM,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,CAAC,EACxC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,IACE,MAAM,CAAC,SAAS,KAAK,SAAS;QAC9B,MAAM,CAAC,SAAS,KAAK,QAAQ;QAC7B,MAAM,CAAC,SAAS,KAAK,QAAQ;QAC7B,MAAM,CAAC,SAAS,KAAK,aAAa;QAClC,MAAM,CAAC,SAAS,KAAK,SAAS,EAC9B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,IACE,MAAM,CAAC,YAAY,KAAK,SAAS;QACjC,MAAM,CAAC,YAAY,KAAK,SAAS;QACjC,MAAM,CAAC,YAAY,KAAK,MAAM;QAC9B,MAAM,CAAC,YAAY,KAAK,OAAO;QAC/B,MAAM,CAAC,YAAY,KAAK,OAAO;QAC/B,MAAM,CAAC,YAAY,KAAK,MAAM,EAC9B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,IACE,MAAM,CAAC,UAAU,KAAK,SAAS;QAC/B,CAAC,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;YACpC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EACtC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,SAAS,GACb,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9D,IAAI,aAA8C,CAAC;IACnD,IAAI,MAAM,CAAC,aAAa,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QACrE,aAAa,GAAG,MAAM,CAAC,aAAoC,CAAC;IAC9D,CAAC;IAED,MAAM,OAAO,GAA6C,EAAE,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CACxC,MAAM,CAAC,OAAkC,CAC1C,EAAE,CAAC;QACF,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,MAAM,GAAG,KAAgC,CAAC;QAChD,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,qDAAqD,IAAI,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG;YACd,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,wBAAwB,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;gBACjD,CAAC,CAAC,EAAE,QAAQ,EAAE,wBAAwB,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE;gBAC/D,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,4BAA4B;QACrC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,gBAAgB;QAChB,GAAG,CAAC,OAAO,MAAM,CAAC,WAAW,KAAK,SAAS;YACzC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,MAAM,CAAC,iBAAiB,KAAK,QAAQ;YAC9C,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE;YACjD,CAAC,CAAC,EAAE,CAAC;QACP,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAA0B;QAC1C,GAAG,CAAC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;YACxC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;QACP,aAAa,EAAE,MAAM,CAAC,aAA+B;QACrD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO;QACP,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ;YAC5C,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE;YAC7C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;YAChC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAA6B,EAAE;YACrD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS;YACnC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAA4B,EAAE;YACvD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;YACvC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE;YACnC,CAAC,CAAC,EAAE,CAAC;QACP,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,oEAAoE;QACpE,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACd,KAA+B,CAAC,IAAI,KAAK,QAAQ,CACnD,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,GAAY,EACZ,UAAkB;IAElB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACxD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,iDAAiD,UAAU,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,MAAM,GAAG,GAA8B,CAAC;IAC9C,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,iDAAiD,UAAU,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,EAAE,CAAC;QACtF,MAAM,IAAI,KAAK,CAAC,sDAAsD,UAAU,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,GAAuC,CAAC;IAC5C,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/E,MAAM,IAAI,KAAK,CAAC,qDAAqD,UAAU,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,GAAG,GAAG,EAAE,CAAC;QACT,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,oDAAoD,GAAG,KAAK,UAAU,EAAE,CAAC,CAAC;YAC5F,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACnB,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,GAAG,GAAG,SAAS,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAuC;QACtD,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"session-resume-store.js","sourceRoot":"","sources":["../../src/session/session-resume-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ export interface SessionStateStore {
|
|
|
16
16
|
history: SessionStatusLine[];
|
|
17
17
|
}
|
|
18
18
|
export declare function sessionStateStorePath(options: SessionStatePathOptions): string;
|
|
19
|
+
export declare function legacySessionStateStorePath(options: SessionStatePathOptions): string;
|
|
19
20
|
export declare function loadSessionStateStore(path: string): Promise<SessionStateStore | undefined>;
|
|
20
|
-
export declare function saveSessionStatusLine(path: string, statusLine: string, reportedAt?: number): Promise<void>;
|
|
21
|
+
export declare function saveSessionStatusLine(path: string, statusLine: string, reportedAt?: number, legacyPath?: string): Promise<void>;
|
|
21
22
|
//# sourceMappingURL=session-state-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-state-store.d.ts","sourceRoot":"","sources":["../../src/session/session-state-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-state-store.d.ts","sourceRoot":"","sources":["../../src/session/session-state-store.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAC7C,eAAO,MAAM,8BAA8B,KAAK,CAAC;AACjD,eAAO,MAAM,kCAAkC,KAAK,CAAC;AACrD,eAAO,MAAM,6BAA6B,QAAY,CAAC;AAEvD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,4EAA4E;IAC5E,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,uBAAuB,GAC/B,MAAM,CAIR;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,uBAAuB,GAC/B,MAAM,CAIR;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAaxC;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,UAAU,SAAa,EACvB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAgCf"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
|
-
import { mkdir, readFile, rename, unlink, writeFile } from 'node:fs/promises';
|
|
3
|
-
import { dirname
|
|
2
|
+
import { chmod, mkdir, readFile, rename, unlink, writeFile } from 'node:fs/promises';
|
|
3
|
+
import { dirname } from 'node:path';
|
|
4
4
|
import yaml from 'js-yaml';
|
|
5
|
+
import { resolveEnsemblePaths } from '../ensemble-paths.js';
|
|
5
6
|
export const SESSION_STATE_STORE_VERSION = 2;
|
|
6
7
|
export const SESSION_STATUS_LINE_MAX_LENGTH = 80;
|
|
7
8
|
export const SESSION_STATUS_HISTORY_MAX_ENTRIES = 50;
|
|
8
9
|
export const SESSION_STATE_STORE_MAX_BYTES = 16 * 1024;
|
|
9
10
|
export function sessionStateStorePath(options) {
|
|
10
|
-
return
|
|
11
|
+
return resolveEnsemblePaths({ repoRoot: options.repoRoot }).sessionStatePath(options.conductorAgentId);
|
|
12
|
+
}
|
|
13
|
+
export function legacySessionStateStorePath(options) {
|
|
14
|
+
return resolveEnsemblePaths({
|
|
15
|
+
repoRoot: options.repoRoot,
|
|
16
|
+
}).legacySessionStatePath(options.conductorAgentId);
|
|
11
17
|
}
|
|
12
18
|
export async function loadSessionStateStore(path) {
|
|
13
19
|
let raw;
|
|
@@ -24,9 +30,10 @@ export async function loadSessionStateStore(path) {
|
|
|
24
30
|
}
|
|
25
31
|
return parseSessionStateStore(yaml.load(raw));
|
|
26
32
|
}
|
|
27
|
-
export async function saveSessionStatusLine(path, statusLine, reportedAt = Date.now()) {
|
|
33
|
+
export async function saveSessionStatusLine(path, statusLine, reportedAt = Date.now(), legacyPath) {
|
|
28
34
|
const current = parseSessionStatusLine({ statusLine, reportedAt });
|
|
29
|
-
const existing = await loadSessionStateStore(path)
|
|
35
|
+
const existing = (await loadSessionStateStore(path)) ??
|
|
36
|
+
(legacyPath ? await loadSessionStateStore(legacyPath) : undefined);
|
|
30
37
|
const next = {
|
|
31
38
|
current,
|
|
32
39
|
history: boundHistory([
|
|
@@ -34,10 +41,16 @@ export async function saveSessionStatusLine(path, statusLine, reportedAt = Date.
|
|
|
34
41
|
...(existing ? [existing.current] : []),
|
|
35
42
|
], current),
|
|
36
43
|
};
|
|
37
|
-
|
|
44
|
+
const directory = dirname(path);
|
|
45
|
+
await mkdir(directory, { recursive: true, mode: 0o700 });
|
|
46
|
+
await chmod(directory, 0o700);
|
|
38
47
|
const tempPath = `${path}.${process.pid}.${randomUUID()}.tmp`;
|
|
39
48
|
try {
|
|
40
|
-
await writeFile(tempPath, serializeSessionStateStore(next),
|
|
49
|
+
await writeFile(tempPath, serializeSessionStateStore(next), {
|
|
50
|
+
encoding: 'utf8',
|
|
51
|
+
mode: 0o600,
|
|
52
|
+
});
|
|
53
|
+
await chmod(tempPath, 0o600);
|
|
41
54
|
await rename(tempPath, path);
|
|
42
55
|
}
|
|
43
56
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-state-store.js","sourceRoot":"","sources":["../../src/session/session-state-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-state-store.js","sourceRoot":"","sources":["../../src/session/session-state-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AACjD,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,CAAC;AACrD,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,GAAG,IAAI,CAAC;AAkBvD,MAAM,UAAU,qBAAqB,CACnC,OAAgC;IAEhC,OAAO,oBAAoB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,gBAAgB,CAC1E,OAAO,CAAC,gBAAgB,CACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAAgC;IAEhC,OAAO,oBAAoB,CAAC;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAY;IAEZ,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACtC,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,6BAA6B,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAY,EACZ,UAAkB,EAClB,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,EACvB,UAAmB;IAEnB,MAAM,OAAO,GAAG,sBAAsB,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IACnE,MAAM,QAAQ,GACZ,CAAC,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG;QACX,OAAO;QACP,OAAO,EAAE,YAAY,CACnB;YACE,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;YAC5B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,EACD,OAAO,CACR;KACF,CAAC;IAEF,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,MAAM,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,MAAM,CAAC;IAC9D,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,QAAQ,EAAE,0BAA0B,CAAC,IAAI,CAAC,EAAE;YAC1D,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7B,MAAM,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,0EAA0E;QAC1E,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACvC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAEhD,0EAA0E;IAC1E,kEAAkE;IAClE,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,sBAAsB,CAAC,MAAM,CAAC;YACvC,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,2BAA2B,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,2CAA2C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CACpE,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,kCAAkC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACpC,IAAI,MAAM,CAAC,UAAU,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAC/D,6BAA6B,EAC7B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,8BAA8B,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,0DAA0D,8BAA8B,aAAa,CACtG,CAAC;IACJ,CAAC;IACD,IACE,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QACrC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EACnC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO;QACL,UAAU;QACV,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,OAA4B,EAC5B,OAA0B;IAE1B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,kCAAkC,CAAC,CAAC;IACnE,OACE,OAAO,CAAC,MAAM,GAAG,CAAC;QAClB,MAAM,CAAC,UAAU,CACf,0BAA0B,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EACzD,MAAM,CACP,GAAG,6BAA6B,EACjC,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IACD,IACE,MAAM,CAAC,UAAU,CACf,0BAA0B,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EACzD,MAAM,CACP,GAAG,6BAA6B,EACjC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAwB;IAC1D,OAAO,GAAG,IAAI,CAAC,IAAI,CACjB;QACE,OAAO,EAAE,2BAA2B;QACpC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,EACD,EAAE,SAAS,EAAE,GAAG,EAAE,CACnB,IAAI,CAAC;AACR,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACd,KAA+B,CAAC,IAAI,KAAK,QAAQ,CACnD,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-call-snapshot-history.d.ts","sourceRoot":"","sources":["../../src/session/tool-call-snapshot-history.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool-call-snapshot-history.d.ts","sourceRoot":"","sources":["../../src/session/tool-call-snapshot-history.ts"],"names":[],"mappings":"AAWA,OAAO,EAKL,KAAK,sBAAsB,EAC5B,MAAM,2CAA2C,CAAC;AAMnD,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,+EAA+E;IAC/E,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kCAAkC;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GAAG,MAAM,CAIT;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAAC,KAAK,EAAE;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAuH7C;AAED,mEAAmE;AACnE,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,sBAAsB,EAAE,GAC3C,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAED;;;GAGG;AACH,wBAAsB,wCAAwC,CAC5D,QAAQ,EAAE,MAAM,EAChB,GAAG,SAAa,GACf,OAAO,CAAC,kCAAkC,CAAC,CAiC7C"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { mkdir, readdir, readFile, rename, rm, stat, writeFile, } from 'node:fs/promises';
|
|
1
|
+
import { chmod, mkdir, readdir, readFile, rename, rm, stat, writeFile, } from 'node:fs/promises';
|
|
2
2
|
import { dirname, join } from 'node:path';
|
|
3
3
|
import { encodedHistorySize, TOOL_CALL_SNAPSHOT_HISTORY_MAX_BYTES, TOOL_CALL_SNAPSHOT_HISTORY_MAX_ENTRIES, TOOL_CALL_SNAPSHOT_HISTORY_TTL_MS, } from '../runtime/tool-call-snapshot-registry.js';
|
|
4
|
-
import {
|
|
4
|
+
import { resolveEnsemblePaths } from '../ensemble-paths.js';
|
|
5
5
|
const TOOL_CALL_SNAPSHOT_HISTORY_VERSION = 1;
|
|
6
6
|
const TOOL_CALL_SNAPSHOT_HISTORY_SUFFIX = '.tool-calls';
|
|
7
7
|
export function toolCallSnapshotHistoryPath(input) {
|
|
8
|
-
return
|
|
8
|
+
return resolveEnsemblePaths({ repoRoot: input.repoRoot }).toolCallHistoryPath(input.conductorAgentId);
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* Read the optional history independently from the required session resume store.
|
|
@@ -13,18 +13,30 @@ export function toolCallSnapshotHistoryPath(input) {
|
|
|
13
13
|
*/
|
|
14
14
|
export async function loadToolCallSnapshotHistory(input) {
|
|
15
15
|
const path = toolCallSnapshotHistoryPath(input);
|
|
16
|
+
const paths = resolveEnsemblePaths({ repoRoot: input.repoRoot });
|
|
17
|
+
const legacyPath = paths.legacyToolCallHistoryPath(input.conductorAgentId);
|
|
18
|
+
let sourcePath = path;
|
|
16
19
|
let raw;
|
|
17
20
|
try {
|
|
18
|
-
|
|
21
|
+
let fileInfo;
|
|
22
|
+
try {
|
|
23
|
+
fileInfo = await stat(path);
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
if (!isEnoent(error))
|
|
27
|
+
throw error;
|
|
28
|
+
sourcePath = legacyPath;
|
|
29
|
+
fileInfo = await stat(sourcePath);
|
|
30
|
+
}
|
|
19
31
|
if (fileInfo.size > TOOL_CALL_SNAPSHOT_HISTORY_MAX_BYTES) {
|
|
20
|
-
await removeHistoryFile(
|
|
32
|
+
await removeHistoryFile(sourcePath);
|
|
21
33
|
return {
|
|
22
34
|
entries: [],
|
|
23
35
|
needsRewrite: false,
|
|
24
36
|
warning: 'tool-call snapshot history exceeds the size limit and was discarded',
|
|
25
37
|
};
|
|
26
38
|
}
|
|
27
|
-
raw = await readFile(
|
|
39
|
+
raw = await readFile(sourcePath, 'utf8');
|
|
28
40
|
}
|
|
29
41
|
catch (error) {
|
|
30
42
|
if (isEnoent(error)) {
|
|
@@ -37,7 +49,7 @@ export async function loadToolCallSnapshotHistory(input) {
|
|
|
37
49
|
};
|
|
38
50
|
}
|
|
39
51
|
if (Buffer.byteLength(raw, 'utf8') > TOOL_CALL_SNAPSHOT_HISTORY_MAX_BYTES) {
|
|
40
|
-
await removeHistoryFile(
|
|
52
|
+
await removeHistoryFile(sourcePath);
|
|
41
53
|
return {
|
|
42
54
|
entries: [],
|
|
43
55
|
needsRewrite: false,
|
|
@@ -49,7 +61,7 @@ export async function loadToolCallSnapshotHistory(input) {
|
|
|
49
61
|
value = JSON.parse(raw);
|
|
50
62
|
}
|
|
51
63
|
catch {
|
|
52
|
-
await removeHistoryFile(
|
|
64
|
+
await removeHistoryFile(sourcePath);
|
|
53
65
|
return {
|
|
54
66
|
entries: [],
|
|
55
67
|
needsRewrite: false,
|
|
@@ -59,7 +71,7 @@ export async function loadToolCallSnapshotHistory(input) {
|
|
|
59
71
|
if (!isRecord(value) ||
|
|
60
72
|
value.version !== TOOL_CALL_SNAPSHOT_HISTORY_VERSION ||
|
|
61
73
|
!Array.isArray(value.snapshots)) {
|
|
62
|
-
await removeHistoryFile(
|
|
74
|
+
await removeHistoryFile(sourcePath);
|
|
63
75
|
return {
|
|
64
76
|
entries: [],
|
|
65
77
|
needsRewrite: false,
|
|
@@ -88,6 +100,15 @@ export async function loadToolCallSnapshotHistory(input) {
|
|
|
88
100
|
now - TOOL_CALL_SNAPSHOT_HISTORY_TTL_MS);
|
|
89
101
|
if (retained.length !== entries.length)
|
|
90
102
|
needsRewrite = true;
|
|
103
|
+
if (sourcePath !== path && retained.length > 0) {
|
|
104
|
+
try {
|
|
105
|
+
await saveToolCallSnapshotHistory(path, retained);
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
// Legacy history is optional; an unsuccessful migration must not make
|
|
109
|
+
// the session resume fail.
|
|
110
|
+
}
|
|
111
|
+
}
|
|
91
112
|
return {
|
|
92
113
|
entries: retained,
|
|
93
114
|
needsRewrite,
|
|
@@ -112,10 +133,13 @@ export async function saveToolCallSnapshotHistory(path, snapshots) {
|
|
|
112
133
|
version: TOOL_CALL_SNAPSHOT_HISTORY_VERSION,
|
|
113
134
|
snapshots,
|
|
114
135
|
});
|
|
115
|
-
|
|
136
|
+
const directory = dirname(path);
|
|
137
|
+
await mkdir(directory, { recursive: true, mode: 0o700 });
|
|
138
|
+
await chmod(directory, 0o700);
|
|
116
139
|
const tempPath = `${path}.tmp`;
|
|
117
140
|
try {
|
|
118
|
-
await writeFile(tempPath, serialized, 'utf8');
|
|
141
|
+
await writeFile(tempPath, serialized, { encoding: 'utf8', mode: 0o600 });
|
|
142
|
+
await chmod(tempPath, 0o600);
|
|
119
143
|
await rename(tempPath, path);
|
|
120
144
|
}
|
|
121
145
|
catch (error) {
|
|
@@ -128,35 +152,38 @@ export async function saveToolCallSnapshotHistory(path, snapshots) {
|
|
|
128
152
|
* prune individual expired snapshots in the registry as new updates arrive.
|
|
129
153
|
*/
|
|
130
154
|
export async function pruneExpiredToolCallSnapshotHistoryFiles(repoRoot, now = Date.now()) {
|
|
131
|
-
const dir = sessionResumeStoreDir(repoRoot);
|
|
132
|
-
let entries;
|
|
133
|
-
try {
|
|
134
|
-
entries = await readdir(dir);
|
|
135
|
-
}
|
|
136
|
-
catch (error) {
|
|
137
|
-
if (isEnoent(error))
|
|
138
|
-
return { removedCount: 0, failedCount: 0 };
|
|
139
|
-
return { removedCount: 0, failedCount: 1 };
|
|
140
|
-
}
|
|
141
155
|
let removedCount = 0;
|
|
142
156
|
let failedCount = 0;
|
|
143
157
|
const cutoff = now - TOOL_CALL_SNAPSHOT_HISTORY_TTL_MS;
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
continue;
|
|
148
|
-
}
|
|
149
|
-
const path = join(dir, entry);
|
|
158
|
+
const paths = resolveEnsemblePaths({ repoRoot });
|
|
159
|
+
for (const dir of [paths.sessionsDir, paths.legacySessionsDir]) {
|
|
160
|
+
let entries;
|
|
150
161
|
try {
|
|
151
|
-
|
|
152
|
-
if (!fileInfo.isFile() || fileInfo.mtimeMs > cutoff)
|
|
153
|
-
continue;
|
|
154
|
-
await rm(path, { force: true });
|
|
155
|
-
removedCount += 1;
|
|
162
|
+
entries = await readdir(dir);
|
|
156
163
|
}
|
|
157
164
|
catch (error) {
|
|
158
|
-
if (
|
|
159
|
-
|
|
165
|
+
if (isEnoent(error))
|
|
166
|
+
continue;
|
|
167
|
+
failedCount += 1;
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
for (const entry of entries) {
|
|
171
|
+
if (!entry.endsWith(TOOL_CALL_SNAPSHOT_HISTORY_SUFFIX) &&
|
|
172
|
+
!entry.endsWith(`${TOOL_CALL_SNAPSHOT_HISTORY_SUFFIX}.tmp`)) {
|
|
173
|
+
continue;
|
|
174
|
+
}
|
|
175
|
+
const path = join(dir, entry);
|
|
176
|
+
try {
|
|
177
|
+
const fileInfo = await stat(path);
|
|
178
|
+
if (!fileInfo.isFile() || fileInfo.mtimeMs > cutoff)
|
|
179
|
+
continue;
|
|
180
|
+
await rm(path, { force: true });
|
|
181
|
+
removedCount += 1;
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
if (!isEnoent(error))
|
|
185
|
+
failedCount += 1;
|
|
186
|
+
}
|
|
160
187
|
}
|
|
161
188
|
}
|
|
162
189
|
return { removedCount, failedCount };
|