@agents-ensemble/core 0.14.2 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/acp/resolve-acp-spawn.d.ts +1 -1
  2. package/dist/acp/resolve-acp-spawn.d.ts.map +1 -1
  3. package/dist/acp/resolve-acp-spawn.js +2 -2
  4. package/dist/acp/resolve-acp-spawn.js.map +1 -1
  5. package/dist/conductor/conductor-session-driver.d.ts +5 -2
  6. package/dist/conductor/conductor-session-driver.d.ts.map +1 -1
  7. package/dist/conductor/conductor-session-driver.js +6 -4
  8. package/dist/conductor/conductor-session-driver.js.map +1 -1
  9. package/dist/conductor/conductor-session.d.ts +2 -0
  10. package/dist/conductor/conductor-session.d.ts.map +1 -1
  11. package/dist/conductor/conductor-session.js +186 -67
  12. package/dist/conductor/conductor-session.js.map +1 -1
  13. package/dist/conductor/index.d.ts +2 -0
  14. package/dist/conductor/index.d.ts.map +1 -1
  15. package/dist/conductor/index.js +1 -0
  16. package/dist/conductor/index.js.map +1 -1
  17. package/dist/conductor/pi-conductor-agent.d.ts.map +1 -1
  18. package/dist/conductor/pi-conductor-agent.js +18 -1
  19. package/dist/conductor/pi-conductor-agent.js.map +1 -1
  20. package/dist/conductor/session/dispatch-hold-reminder-monitor.d.ts +28 -0
  21. package/dist/conductor/session/dispatch-hold-reminder-monitor.d.ts.map +1 -0
  22. package/dist/conductor/session/dispatch-hold-reminder-monitor.js +88 -0
  23. package/dist/conductor/session/dispatch-hold-reminder-monitor.js.map +1 -0
  24. package/dist/conductor/session/dispatch-hold.d.ts +1 -1
  25. package/dist/conductor/session/dispatch-hold.d.ts.map +1 -1
  26. package/dist/config/defaults.d.ts.map +1 -1
  27. package/dist/config/defaults.js +3 -0
  28. package/dist/config/defaults.js.map +1 -1
  29. package/dist/config/index.d.ts +1 -1
  30. package/dist/config/index.d.ts.map +1 -1
  31. package/dist/config/load-ensemble-config.d.ts +2 -0
  32. package/dist/config/load-ensemble-config.d.ts.map +1 -1
  33. package/dist/config/load-ensemble-config.js +18 -5
  34. package/dist/config/load-ensemble-config.js.map +1 -1
  35. package/dist/config/parse-config.d.ts.map +1 -1
  36. package/dist/config/parse-config.js +12 -0
  37. package/dist/config/parse-config.js.map +1 -1
  38. package/dist/config/types.d.ts +5 -0
  39. package/dist/config/types.d.ts.map +1 -1
  40. package/dist/dispatch/worker-acp-session.d.ts +2 -2
  41. package/dist/dispatch/worker-acp-session.d.ts.map +1 -1
  42. package/dist/dispatch/worker-acp-session.js +1 -1
  43. package/dist/dispatch/worker-acp-session.js.map +1 -1
  44. package/dist/github/github-monitor-cursor.d.ts +10 -10
  45. package/dist/github/github-monitor-cursor.d.ts.map +1 -1
  46. package/dist/github/github-monitor-cursor.js +1 -1
  47. package/dist/github/github-monitor-cursor.js.map +1 -1
  48. package/dist/mcp/load-mcp-config.d.ts +1 -1
  49. package/dist/mcp/load-mcp-config.js +1 -1
  50. package/dist/operator-runtime.d.ts +8 -4
  51. package/dist/operator-runtime.d.ts.map +1 -1
  52. package/dist/operator-runtime.js +4 -2
  53. package/dist/operator-runtime.js.map +1 -1
  54. package/dist/prompt/modules/ensemble/worker-base-module.d.ts.map +1 -1
  55. package/dist/prompt/modules/ensemble/worker-base-module.js +1 -0
  56. package/dist/prompt/modules/ensemble/worker-base-module.js.map +1 -1
  57. package/dist/session/index.d.ts +8 -4
  58. package/dist/session/index.d.ts.map +1 -1
  59. package/dist/session/index.js +4 -2
  60. package/dist/session/index.js.map +1 -1
  61. package/dist/session/open-question-control.d.ts +26 -2
  62. package/dist/session/open-question-control.d.ts.map +1 -1
  63. package/dist/session/open-question-control.js +96 -10
  64. package/dist/session/open-question-control.js.map +1 -1
  65. package/dist/session/session-resume-store.d.ts +119 -0
  66. package/dist/session/session-resume-store.d.ts.map +1 -0
  67. package/dist/session/session-resume-store.js +354 -0
  68. package/dist/session/session-resume-store.js.map +1 -0
  69. package/dist/session/tool-call-snapshot-history.d.ts +1 -1
  70. package/dist/session/tool-call-snapshot-history.js +4 -4
  71. package/dist/session/tool-call-snapshot-history.js.map +1 -1
  72. package/package.json +1 -1
  73. package/dist/session/session-sidecar.d.ts +0 -76
  74. package/dist/session/session-sidecar.d.ts.map +0 -1
  75. package/dist/session/session-sidecar.js +0 -261
  76. package/dist/session/session-sidecar.js.map +0 -1
@@ -0,0 +1,354 @@
1
+ import { chmod, mkdir, readdir, readFile, rename, writeFile } from 'node:fs/promises';
2
+ import { dirname, join } from 'node:path';
3
+ export const SESSION_RESUME_STORE_VERSION = 1;
4
+ /** @deprecated Use SESSION_RESUME_STORE_VERSION; supported for one release only. */
5
+ export const SESSION_SIDECAR_VERSION = SESSION_RESUME_STORE_VERSION;
6
+ export function harnessPhaseFromLegacyLifecycle(lifecycle) {
7
+ switch (lifecycle) {
8
+ case 'closed':
9
+ return 'close';
10
+ case 'exited':
11
+ return 'exit';
12
+ case 'interrupted':
13
+ return 'abort';
14
+ default:
15
+ return null;
16
+ }
17
+ }
18
+ export class SessionResumeStoreNotFoundError extends Error {
19
+ conductorAgentId;
20
+ path;
21
+ code = 'SESSION_RESUME_STORE_NOT_FOUND';
22
+ constructor(conductorAgentId, path) {
23
+ super(`Session resume store not found for resume (agentId=${conductorAgentId}, path=${path})`);
24
+ this.conductorAgentId = conductorAgentId;
25
+ this.path = path;
26
+ this.name = 'SessionResumeStoreNotFoundError';
27
+ }
28
+ }
29
+ /** @deprecated Use SessionResumeStoreNotFoundError; supported for one release only. */
30
+ export class SessionSidecarNotFoundError extends SessionResumeStoreNotFoundError {
31
+ code = 'SESSION_SIDECAR_NOT_FOUND';
32
+ constructor(conductorAgentId, path) {
33
+ super(conductorAgentId, path);
34
+ this.name = 'SessionSidecarNotFoundError';
35
+ }
36
+ }
37
+ export function sessionResumeStoreDir(repoRoot) {
38
+ return join(repoRoot, '.ensemble', 'sessions');
39
+ }
40
+ export function sessionResumeStorePath(options) {
41
+ return join(sessionResumeStoreDir(options.repoRoot), `${options.conductorAgentId}.json`);
42
+ }
43
+ export async function loadSessionResumeStore(path) {
44
+ try {
45
+ const raw = await readFile(path, 'utf8');
46
+ return parseSessionResumeStore(JSON.parse(raw));
47
+ }
48
+ catch (error) {
49
+ if (isEnoent(error))
50
+ return undefined;
51
+ throw error;
52
+ }
53
+ }
54
+ /** `resumeAgentId` 指定時に SessionResumeStore が無い場合は起動失敗とする。 */
55
+ export async function requireSessionResumeStoreForResume(input) {
56
+ const path = sessionResumeStorePath(input);
57
+ const resumeStore = await loadSessionResumeStore(path);
58
+ if (!resumeStore) {
59
+ throw new SessionResumeStoreNotFoundError(input.conductorAgentId, path);
60
+ }
61
+ return resumeStore;
62
+ }
63
+ /** @deprecated Use requireSessionResumeStoreForResume; supported for one release only. */
64
+ export async function requireSessionSidecarForResume(input) {
65
+ try {
66
+ return await requireSessionResumeStoreForResume(input);
67
+ }
68
+ catch (error) {
69
+ if (error instanceof SessionResumeStoreNotFoundError) {
70
+ throw new SessionSidecarNotFoundError(input.conductorAgentId, sessionResumeStorePath(input));
71
+ }
72
+ throw error;
73
+ }
74
+ }
75
+ export async function saveSessionResumeStore(path, resumeStore) {
76
+ const updatedAt = resumeStore.harnessPhase !== undefined &&
77
+ resumeStore.harnessPhase !== 'running' &&
78
+ resumeStore.harnessPhase !== 'idle' &&
79
+ resumeStore.modifiedAt !== undefined
80
+ ? resumeStore.modifiedAt
81
+ : Date.now();
82
+ const parsed = parseSessionResumeStore({
83
+ ...resumeStore,
84
+ updatedAt,
85
+ ...(resumeStore.harnessPhase === 'running' ||
86
+ resumeStore.harnessPhase === 'idle'
87
+ ? { modifiedAt: updatedAt }
88
+ : {}),
89
+ });
90
+ const directory = dirname(path);
91
+ await mkdir(directory, { recursive: true, mode: 0o700 });
92
+ await chmod(directory, 0o700);
93
+ const tempPath = `${path}.tmp`;
94
+ await writeFile(tempPath, `${JSON.stringify(parsed, null, 2)}\n`, { encoding: 'utf8', mode: 0o600 });
95
+ await chmod(tempPath, 0o600);
96
+ await rename(tempPath, path);
97
+ }
98
+ /** @deprecated Use saveSessionResumeStore; supported for one release only. */
99
+ export const saveSessionSidecar = saveSessionResumeStore;
100
+ export async function listSessionResumeStores(repoRoot) {
101
+ const dir = sessionResumeStoreDir(repoRoot);
102
+ let entries;
103
+ try {
104
+ entries = await readdir(dir);
105
+ }
106
+ catch (error) {
107
+ if (isEnoent(error))
108
+ return [];
109
+ throw error;
110
+ }
111
+ const resumeStores = [];
112
+ for (const entry of entries) {
113
+ if (!entry.endsWith('.json') || entry.endsWith('.tmp'))
114
+ continue;
115
+ const resumeStore = await loadSessionResumeStore(join(dir, entry));
116
+ if (resumeStore)
117
+ resumeStores.push(resumeStore);
118
+ }
119
+ return resumeStores;
120
+ }
121
+ /** @deprecated Use listSessionResumeStores; supported for one release only. */
122
+ export const listSessionSidecars = listSessionResumeStores;
123
+ /**
124
+ * 同一 Issue では close / abort を優先し、exit を除外したうえで
125
+ * updatedAt が最も新しい SessionResumeStore を返す。
126
+ */
127
+ export async function findLatestSessionResumeStoreForIssue(input) {
128
+ const matches = (await listSessionResumeStores(input.repoRoot)).filter((resumeStore) => resumeStore.issueUrl === input.issueUrl &&
129
+ resumeStore.repoRoot === input.repoRoot &&
130
+ (resumeStore.harnessPhase ??
131
+ harnessPhaseFromLegacyLifecycle(resumeStore.lifecycle)) !== 'exit');
132
+ if (matches.length === 0)
133
+ return undefined;
134
+ return matches.reduce((selected, resumeStore) => {
135
+ const selectedPhase = selected.harnessPhase ??
136
+ harnessPhaseFromLegacyLifecycle(selected.lifecycle);
137
+ const resumeStorePhase = resumeStore.harnessPhase ??
138
+ harnessPhaseFromLegacyLifecycle(resumeStore.lifecycle);
139
+ const selectedPriority = selectedPhase === 'close' || selectedPhase === 'abort' ? 1 : 0;
140
+ const resumeStorePriority = resumeStorePhase === 'close' || resumeStorePhase === 'abort' ? 1 : 0;
141
+ if (resumeStorePriority !== selectedPriority) {
142
+ return resumeStorePriority > selectedPriority ? resumeStore : selected;
143
+ }
144
+ return resumeStore.updatedAt > selected.updatedAt ? resumeStore : selected;
145
+ });
146
+ }
147
+ /** @deprecated Use findLatestSessionResumeStoreForIssue; supported for one release only. */
148
+ export const findLatestSessionSidecarForIssue = findLatestSessionResumeStoreForIssue;
149
+ export function assertSessionResumeStoreMatches(resumeStore, input) {
150
+ if (resumeStore.conductorAgentId !== input.conductorAgentId) {
151
+ throw new Error(`Session resume store conductorAgentId mismatch: ${resumeStore.conductorAgentId} !== ${input.conductorAgentId}`);
152
+ }
153
+ if (resumeStore.issueUrl !== input.issueUrl) {
154
+ throw new Error(`Session resume store issueUrl mismatch: ${resumeStore.issueUrl} !== ${input.issueUrl}`);
155
+ }
156
+ if (resumeStore.repoRoot !== input.repoRoot) {
157
+ throw new Error(`Session resume store repoRoot mismatch: ${resumeStore.repoRoot} !== ${input.repoRoot}`);
158
+ }
159
+ if (input.conductorBackend !== undefined &&
160
+ (resumeStore.conductorBackend ?? 'cursor') !== input.conductorBackend) {
161
+ throw new Error(`Session resume store conductorBackend mismatch: ${resumeStore.conductorBackend ?? 'cursor'} !== ${input.conductorBackend}`);
162
+ }
163
+ if (input.mcpConfigDigest !== undefined) {
164
+ if (resumeStore.mcpConfigDigest === undefined) {
165
+ if (input.mcpConfigConfigured) {
166
+ throw new Error('Session resume store MCP config digest missing; cannot safely resume with MCP configuration.');
167
+ }
168
+ }
169
+ else if (resumeStore.mcpConfigDigest !== input.mcpConfigDigest) {
170
+ throw new Error(`Session resume store MCP config digest mismatch: ${resumeStore.mcpConfigDigest} !== ${input.mcpConfigDigest}`);
171
+ }
172
+ }
173
+ }
174
+ /** @deprecated Use assertSessionResumeStoreMatches; supported for one release only. */
175
+ export const assertSessionSidecarMatches = assertSessionResumeStoreMatches;
176
+ /** @deprecated Use sessionResumeStoreDir; supported for one release only. */
177
+ export const sessionSidecarDir = sessionResumeStoreDir;
178
+ /** @deprecated Use sessionResumeStorePath; supported for one release only. */
179
+ export const sessionSidecarPath = sessionResumeStorePath;
180
+ /** @deprecated Use loadSessionResumeStore; supported for one release only. */
181
+ export const loadSessionSidecar = loadSessionResumeStore;
182
+ function parseSessionResumeStore(value) {
183
+ if (!value || typeof value !== 'object') {
184
+ throw new Error('Invalid session resume store: not an object');
185
+ }
186
+ const record = value;
187
+ if (record.version !== SESSION_RESUME_STORE_VERSION) {
188
+ throw new Error(`Unsupported session resume store version: ${record.version}`);
189
+ }
190
+ if (typeof record.conductorAgentId !== 'string') {
191
+ throw new Error('Invalid session resume store: conductorAgentId');
192
+ }
193
+ const conductorBackend = parseConductorBackend(record.conductorBackend);
194
+ if (typeof record.issueUrl !== 'string') {
195
+ throw new Error('Invalid session resume store: issueUrl');
196
+ }
197
+ if (typeof record.repoRoot !== 'string') {
198
+ throw new Error('Invalid session resume store: repoRoot');
199
+ }
200
+ if (!record.profile || typeof record.profile !== 'object') {
201
+ throw new Error('Invalid session resume store: profile');
202
+ }
203
+ if (!Array.isArray(record.openQuestions)) {
204
+ throw new Error('Invalid session resume store: openQuestions');
205
+ }
206
+ if (typeof record.sequence !== 'number') {
207
+ throw new Error('Invalid session resume store: sequence');
208
+ }
209
+ if (!record.workers || typeof record.workers !== 'object') {
210
+ throw new Error('Invalid session resume store: workers');
211
+ }
212
+ if (record.mcpConfigDigest !== undefined &&
213
+ typeof record.mcpConfigDigest !== 'string') {
214
+ throw new Error('Invalid session resume store: mcpConfigDigest');
215
+ }
216
+ if (record.lazyWorkers !== undefined &&
217
+ typeof record.lazyWorkers !== 'boolean') {
218
+ throw new Error('Invalid session resume store: lazyWorkers');
219
+ }
220
+ if (record.harnessSocketPath !== undefined &&
221
+ (typeof record.harnessSocketPath !== 'string' ||
222
+ record.harnessSocketPath.length === 0)) {
223
+ throw new Error('Invalid session resume store: harnessSocketPath');
224
+ }
225
+ if (record.lifecycle !== undefined &&
226
+ record.lifecycle !== 'closed' &&
227
+ record.lifecycle !== 'exited' &&
228
+ record.lifecycle !== 'interrupted' &&
229
+ record.lifecycle !== 'unknown') {
230
+ throw new Error('Invalid session resume store: lifecycle');
231
+ }
232
+ if (record.harnessPhase !== undefined &&
233
+ record.harnessPhase !== 'running' &&
234
+ record.harnessPhase !== 'idle' &&
235
+ record.harnessPhase !== 'close' &&
236
+ record.harnessPhase !== 'abort' &&
237
+ record.harnessPhase !== 'exit') {
238
+ throw new Error('Invalid session resume store: harnessPhase');
239
+ }
240
+ if (record.modifiedAt !== undefined &&
241
+ (typeof record.modifiedAt !== 'number' ||
242
+ !Number.isFinite(record.modifiedAt))) {
243
+ throw new Error('Invalid session resume store: modifiedAt');
244
+ }
245
+ const updatedAt = typeof record.updatedAt === 'number' ? record.updatedAt : 0;
246
+ let githubMonitor;
247
+ if (record.githubMonitor && typeof record.githubMonitor === 'object') {
248
+ githubMonitor = record.githubMonitor;
249
+ }
250
+ const workers = {};
251
+ for (const [name, entry] of Object.entries(record.workers)) {
252
+ if (!entry || typeof entry !== 'object') {
253
+ throw new Error(`Invalid session resume store worker entry: ${name}`);
254
+ }
255
+ const worker = entry;
256
+ if (typeof worker.acpSessionId !== 'string') {
257
+ throw new Error(`Invalid session resume store worker acpSessionId: ${name}`);
258
+ }
259
+ workers[name] = {
260
+ acpSessionId: worker.acpSessionId,
261
+ ...(typeof worker.acpCwd === 'string' ? { acpCwd: worker.acpCwd } : {}),
262
+ ...(parseAcpSpawnFingerprint(worker.acpSpawn, name)
263
+ ? { acpSpawn: parseAcpSpawnFingerprint(worker.acpSpawn, name) }
264
+ : {}),
265
+ };
266
+ }
267
+ return {
268
+ version: SESSION_RESUME_STORE_VERSION,
269
+ conductorAgentId: record.conductorAgentId,
270
+ conductorBackend,
271
+ ...(typeof record.lazyWorkers === 'boolean'
272
+ ? { lazyWorkers: record.lazyWorkers }
273
+ : {}),
274
+ ...(typeof record.harnessSocketPath === 'string'
275
+ ? { harnessSocketPath: record.harnessSocketPath }
276
+ : {}),
277
+ issueUrl: record.issueUrl,
278
+ repoRoot: record.repoRoot,
279
+ profile: record.profile,
280
+ ...(typeof record.profilePath === 'string'
281
+ ? { profilePath: record.profilePath }
282
+ : {}),
283
+ openQuestions: record.openQuestions,
284
+ sequence: record.sequence,
285
+ workers,
286
+ ...(githubMonitor ? { githubMonitor } : {}),
287
+ ...(typeof record.mcpConfigDigest === 'string'
288
+ ? { mcpConfigDigest: record.mcpConfigDigest }
289
+ : {}),
290
+ ...(record.lifecycle !== undefined
291
+ ? { lifecycle: record.lifecycle }
292
+ : {}),
293
+ ...(record.harnessPhase !== undefined
294
+ ? { harnessPhase: record.harnessPhase }
295
+ : {}),
296
+ ...(typeof record.modifiedAt === 'number'
297
+ ? { modifiedAt: record.modifiedAt }
298
+ : {}),
299
+ updatedAt,
300
+ };
301
+ }
302
+ function parseConductorBackend(value) {
303
+ if (value === undefined) {
304
+ // Older SessionResumeStore records used Cursor SDK unconditionally.
305
+ return 'cursor';
306
+ }
307
+ if (value === 'cursor' || value === 'pi') {
308
+ return value;
309
+ }
310
+ throw new Error('Invalid session resume store: conductorBackend');
311
+ }
312
+ function isEnoent(error) {
313
+ return (typeof error === 'object' &&
314
+ error !== null &&
315
+ 'code' in error &&
316
+ error.code === 'ENOENT');
317
+ }
318
+ function parseAcpSpawnFingerprint(raw, workerName) {
319
+ if (raw === undefined || raw === null)
320
+ return undefined;
321
+ if (!raw || typeof raw !== 'object') {
322
+ throw new Error(`Invalid session resume store worker acpSpawn: ${workerName}`);
323
+ }
324
+ const record = raw;
325
+ if (typeof record.preset !== 'string' || typeof record.command !== 'string') {
326
+ throw new Error(`Invalid session resume store worker acpSpawn: ${workerName}`);
327
+ }
328
+ if (!Array.isArray(record.args) || record.args.some((arg) => typeof arg !== 'string')) {
329
+ throw new Error(`Invalid session resume store worker acpSpawn args: ${workerName}`);
330
+ }
331
+ let env;
332
+ if (record.env !== undefined) {
333
+ if (!record.env || typeof record.env !== 'object' || Array.isArray(record.env)) {
334
+ throw new Error(`Invalid session resume store worker acpSpawn env: ${workerName}`);
335
+ }
336
+ env = {};
337
+ for (const [key, value] of Object.entries(record.env)) {
338
+ if (typeof value !== 'string') {
339
+ throw new Error(`Invalid session resume store worker acpSpawn env.${key}: ${workerName}`);
340
+ }
341
+ env[key] = value;
342
+ }
343
+ if (Object.keys(env).length === 0) {
344
+ env = undefined;
345
+ }
346
+ }
347
+ return {
348
+ preset: record.preset,
349
+ command: record.command,
350
+ args: record.args,
351
+ ...(env ? { env } : {}),
352
+ };
353
+ }
354
+ //# sourceMappingURL=session-resume-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-resume-store.js","sourceRoot":"","sources":["../../src/session/session-resume-store.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export declare function toolCallSnapshotHistoryPath(input: {
14
14
  conductorAgentId: string;
15
15
  }): string;
16
16
  /**
17
- * Read the optional history independently from the required resume sidecar.
17
+ * Read the optional history independently from the required session resume store.
18
18
  * Invalid history is discarded locally so it cannot prevent session resume.
19
19
  */
20
20
  export declare function loadToolCallSnapshotHistory(input: {
@@ -1,14 +1,14 @@
1
1
  import { 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 { sessionSidecarDir } from './session-sidecar.js';
4
+ import { sessionResumeStoreDir } from './session-resume-store.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 join(sessionSidecarDir(input.repoRoot), `${input.conductorAgentId}${TOOL_CALL_SNAPSHOT_HISTORY_SUFFIX}`);
8
+ return join(sessionResumeStoreDir(input.repoRoot), `${input.conductorAgentId}${TOOL_CALL_SNAPSHOT_HISTORY_SUFFIX}`);
9
9
  }
10
10
  /**
11
- * Read the optional history independently from the required resume sidecar.
11
+ * Read the optional history independently from the required session resume store.
12
12
  * Invalid history is discarded locally so it cannot prevent session resume.
13
13
  */
14
14
  export async function loadToolCallSnapshotHistory(input) {
@@ -128,7 +128,7 @@ export async function saveToolCallSnapshotHistory(path, snapshots) {
128
128
  * prune individual expired snapshots in the registry as new updates arrive.
129
129
  */
130
130
  export async function pruneExpiredToolCallSnapshotHistoryFiles(repoRoot, now = Date.now()) {
131
- const dir = sessionSidecarDir(repoRoot);
131
+ const dir = sessionResumeStoreDir(repoRoot);
132
132
  let entries;
133
133
  try {
134
134
  entries = await readdir(dir);
@@ -1 +1 @@
1
- {"version":3,"file":"tool-call-snapshot-history.js","sourceRoot":"","sources":["../../src/session/tool-call-snapshot-history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-call-snapshot-history.js","sourceRoot":"","sources":["../../src/session/tool-call-snapshot-history.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agents-ensemble/core",
3
- "version": "0.14.2",
3
+ "version": "0.15.0",
4
4
  "type": "module",
5
5
  "description": "Core types and orchestration logic for agents-ensemble",
6
6
  "main": "dist/index.js",
@@ -1,76 +0,0 @@
1
- import type { OpenQuestion } from '../escalation/open-question.js';
2
- import type { GitHubMonitorCursor } from '../github/github-monitor-cursor.js';
3
- import type { AcpSpawnFingerprint } from '../acp/resolve-acp-spawn.js';
4
- import type { ConductorBackend } from '../config/types.js';
5
- import type { ResolvedProfile } from '../profile/types.js';
6
- export declare const SESSION_SIDECAR_VERSION = 1;
7
- export type SessionLifecycle = 'closed' | 'exited' | 'interrupted' | 'unknown';
8
- export declare class SessionSidecarNotFoundError extends Error {
9
- readonly conductorAgentId: string;
10
- readonly path: string;
11
- readonly code = "SESSION_SIDECAR_NOT_FOUND";
12
- constructor(conductorAgentId: string, path: string);
13
- }
14
- export interface WorkerSessionSidecar {
15
- acpSessionId: string;
16
- /** ACP `session/new` / `session/load` に渡した cwd(resume 検証用)。 */
17
- acpCwd?: string;
18
- /** resume 時の ACP spawn フィンガープリント(preset + command + args)。 */
19
- acpSpawn?: AcpSpawnFingerprint;
20
- }
21
- export interface SessionSidecar {
22
- version: typeof SESSION_SIDECAR_VERSION;
23
- conductorAgentId: string;
24
- /** 起動時に選択した conductor backend。旧 sidecar の欠落値は cursor。 */
25
- conductorBackend?: ConductorBackend;
26
- /** 初回 `prompt_worker` まで ACP attach を遅延する。旧 sidecar は eager。 */
27
- lazyWorkers?: boolean;
28
- /** 稼働中 session の local control socket。teardown 時に除去する。 */
29
- harnessSocketPath?: string;
30
- issueUrl: string;
31
- repoRoot: string;
32
- profile: ResolvedProfile;
33
- profilePath?: string;
34
- openQuestions: OpenQuestion[];
35
- sequence: number;
36
- workers: Record<string, WorkerSessionSidecar>;
37
- /** GitHub 監視カーソルと未配送更新(#39)。 */
38
- githubMonitor?: GitHubMonitorCursor;
39
- /** Harness-resolved MCP map digest used to reject unsafe resume. */
40
- mcpConfigDigest?: string;
41
- /** Last completed process lifecycle; absent legacy values are unknown. */
42
- lifecycle?: SessionLifecycle;
43
- /** flush 時刻(Unix ms)。`--continue` で最新セッションを選ぶために使う。 */
44
- updatedAt: number;
45
- }
46
- export interface FindLatestSessionSidecarInput {
47
- repoRoot: string;
48
- issueUrl: string;
49
- }
50
- export interface SessionSidecarPathOptions {
51
- repoRoot: string;
52
- conductorAgentId: string;
53
- }
54
- export declare function sessionSidecarDir(repoRoot: string): string;
55
- export declare function sessionSidecarPath(options: SessionSidecarPathOptions): string;
56
- export declare function loadSessionSidecar(path: string): Promise<SessionSidecar | undefined>;
57
- /** `resumeAgentId` 指定時に sidecar が無い場合は起動失敗とする。 */
58
- export declare function requireSessionSidecarForResume(input: {
59
- repoRoot: string;
60
- conductorAgentId: string;
61
- }): Promise<SessionSidecar>;
62
- export declare function saveSessionSidecar(path: string, sidecar: SessionSidecar): Promise<void>;
63
- export declare function listSessionSidecars(repoRoot: string): Promise<SessionSidecar[]>;
64
- /** 同一 Issue の sidecar のうち `updatedAt` が最新のものを返す。 */
65
- export declare function findLatestSessionSidecarForIssue(input: FindLatestSessionSidecarInput): Promise<SessionSidecar | undefined>;
66
- export declare function assertSessionSidecarMatches(sidecar: SessionSidecar, input: {
67
- issueUrl: string;
68
- repoRoot: string;
69
- conductorAgentId: string;
70
- conductorBackend?: ConductorBackend;
71
- /** Current harness-resolved MCP map digest. */
72
- mcpConfigDigest?: string;
73
- /** Whether the current resolved map contains at least one server. */
74
- mcpConfigConfigured?: boolean;
75
- }): void;
76
- //# sourceMappingURL=session-sidecar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-sidecar.d.ts","sourceRoot":"","sources":["../../src/session/session-sidecar.ts"],"names":[],"mappings":"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"}