@yu_robotics/remote-cli 1.6.176 → 1.6.177

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 (34) hide show
  1. package/README.md +19 -2
  2. package/dist/client/MessageHandler.d.ts +1 -0
  3. package/dist/client/MessageHandler.d.ts.map +1 -1
  4. package/dist/client/MessageHandler.js +54 -15
  5. package/dist/client/MessageHandler.js.map +1 -1
  6. package/dist/delegation/DelegatedWorkerSessionStore.d.ts +11 -1
  7. package/dist/delegation/DelegatedWorkerSessionStore.d.ts.map +1 -1
  8. package/dist/delegation/DelegatedWorkerSessionStore.js +98 -51
  9. package/dist/delegation/DelegatedWorkerSessionStore.js.map +1 -1
  10. package/dist/delegation/DelegationManager.d.ts +2 -0
  11. package/dist/delegation/DelegationManager.d.ts.map +1 -1
  12. package/dist/delegation/DelegationManager.js +11 -0
  13. package/dist/delegation/DelegationManager.js.map +1 -1
  14. package/dist/executor/CodexAppServerClient.d.ts +2 -1
  15. package/dist/executor/CodexAppServerClient.d.ts.map +1 -1
  16. package/dist/executor/CodexAppServerClient.js +15 -11
  17. package/dist/executor/CodexAppServerClient.js.map +1 -1
  18. package/dist/executor/PiExecutor.d.ts.map +1 -1
  19. package/dist/executor/PiExecutor.js +2 -1
  20. package/dist/executor/PiExecutor.js.map +1 -1
  21. package/dist/maintenance/release-notes.json +1 -1
  22. package/dist/thread/ThreadContextReset.d.ts +12 -0
  23. package/dist/thread/ThreadContextReset.d.ts.map +1 -0
  24. package/dist/thread/ThreadContextReset.js +59 -0
  25. package/dist/thread/ThreadContextReset.js.map +1 -0
  26. package/dist/thread/ThreadExecutorPool.d.ts +8 -1
  27. package/dist/thread/ThreadExecutorPool.d.ts.map +1 -1
  28. package/dist/thread/ThreadExecutorPool.js +84 -1
  29. package/dist/thread/ThreadExecutorPool.js.map +1 -1
  30. package/dist/thread/ThreadManager.d.ts +2 -0
  31. package/dist/thread/ThreadManager.d.ts.map +1 -1
  32. package/dist/thread/ThreadManager.js +3 -0
  33. package/dist/thread/ThreadManager.js.map +1 -1
  34. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  import { type DelegationBackend } from './contract';
2
+ import { ThreadContextReset } from '../thread/ThreadContextReset';
2
3
  /** A persisted, isolated worker conversation owned by delegation rather than a direct thread. */
3
4
  export type DelegatedWorkerLaneState = 'preparing' | 'running' | 'ready' | 'dirty';
4
5
  export interface DelegatedWorkerLane {
@@ -17,6 +18,8 @@ export interface DelegatedWorkerLane {
17
18
  contextGeneration?: number;
18
19
  contextResetPending?: boolean;
19
20
  lastClearedGeneration?: number;
21
+ /** Confirmed cleared and superseded; retained for stale cards but never reused. */
22
+ contextRetired?: boolean;
20
23
  pooled?: boolean;
21
24
  }
22
25
  export interface DelegatedWorkerLaneIdentity {
@@ -41,10 +44,12 @@ export declare function isWorkerLaneExecutorId(value: string): boolean;
41
44
  */
42
45
  export declare class DelegatedWorkerSessionStore {
43
46
  private readonly directory;
47
+ private readonly contextResets;
44
48
  private initialized?;
45
49
  private readonly lanes;
46
50
  private writes;
47
- constructor(directory?: string);
51
+ constructor(directory?: string, contextResets?: ThreadContextReset);
52
+ assertContextReady(threadId: string): void;
48
53
  initialize(): Promise<void>;
49
54
  acquire(identity: DelegatedWorkerLaneIdentity, options?: {
50
55
  pooled?: boolean;
@@ -61,6 +66,11 @@ export declare class DelegatedWorkerSessionStore {
61
66
  remove(id: string): Promise<void>;
62
67
  private transition;
63
68
  clearContext(id: string, generation: number, identity: Omit<DelegatedWorkerLaneIdentity, 'backend'>, clear: (lane: DelegatedWorkerLane) => Promise<void>): Promise<void>;
69
+ assertThreadContextResettable(threadId: string): Promise<void>;
70
+ /** The thread-level barrier covers all lanes, including a later lane that fails to clear. */
71
+ clearThreadContexts(threadId: string, clear: (lane: DelegatedWorkerLane) => Promise<void>): Promise<void>;
72
+ private resettableLanes;
73
+ private clearContextLocked;
64
74
  private load;
65
75
  private assertIdentity;
66
76
  private mutate;
@@ -1 +1 @@
1
- {"version":3,"file":"DelegatedWorkerSessionStore.d.ts","sourceRoot":"","sources":["../../src/delegation/DelegatedWorkerSessionStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DelegatedWorkerSessionStore.d.ts","sourceRoot":"","sources":["../../src/delegation/DelegatedWorkerSessionStore.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ const promises_1 = __importDefault(require("fs/promises"));
11
11
  const os_1 = __importDefault(require("os"));
12
12
  const path_1 = __importDefault(require("path"));
13
13
  const contract_1 = require("./contract");
14
+ const ThreadContextReset_1 = require("../thread/ThreadContextReset");
14
15
  const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
15
16
  const STATES = new Set(['preparing', 'running', 'ready', 'dirty']);
16
17
  /**
@@ -64,6 +65,9 @@ function validateLane(value) {
64
65
  && (lane.contextGeneration === undefined || validGeneration(lane.contextGeneration))
65
66
  && (lane.lastClearedGeneration === undefined || validGeneration(lane.lastClearedGeneration))
66
67
  && (lane.contextResetPending === undefined || typeof lane.contextResetPending === 'boolean')
68
+ && (lane.contextRetired === undefined || typeof lane.contextRetired === 'boolean')
69
+ && (lane.contextRetired !== true || (lane.state === 'dirty' && lane.contextResetPending === false
70
+ && validGeneration(lane.lastClearedGeneration) && lane.contextGeneration === lane.lastClearedGeneration + 1))
67
71
  && (lane.pooled === undefined || typeof lane.pooled === 'boolean')
68
72
  && (lane.cleanupError === undefined || typeof lane.cleanupError === 'string');
69
73
  }
@@ -73,21 +77,31 @@ function validateLane(value) {
73
77
  */
74
78
  class DelegatedWorkerSessionStore {
75
79
  directory;
80
+ contextResets;
76
81
  initialized;
77
82
  lanes = new Map();
78
83
  writes = Promise.resolve();
79
- constructor(directory = path_1.default.join(os_1.default.homedir(), '.remote-cli', 'delegation-workers')) {
84
+ constructor(directory = path_1.default.join(os_1.default.homedir(), '.remote-cli', 'delegation-workers'), contextResets = new ThreadContextReset_1.ThreadContextReset()) {
80
85
  this.directory = directory;
86
+ this.contextResets = contextResets;
81
87
  }
88
+ assertContextReady(threadId) { this.contextResets.assertReady(threadId); }
82
89
  initialize() {
83
- return this.initialized ??= this.load();
90
+ return this.initialized ??= this.load().catch(error => {
91
+ // Storage failures must block admission, but a repaired inventory can be
92
+ // retried in this process instead of caching a rejected initialization.
93
+ this.initialized = undefined;
94
+ throw error;
95
+ });
84
96
  }
85
97
  async acquire(identity, options = {}) {
86
98
  this.assertIdentity(identity);
87
99
  await this.initialize();
88
100
  return this.mutate(async () => {
101
+ this.assertContextReady(identity.threadId);
89
102
  const ready = [...this.lanes.values()]
90
- .filter(lane => lane.state === 'ready' && sameIdentity(lane, identity) && !options.excluded?.has(lane.id))
103
+ .filter(lane => lane.state === 'ready' && !lane.contextRetired
104
+ && sameIdentity(lane, identity) && !options.excluded?.has(lane.id))
91
105
  .sort((a, b) => b.updatedAt - a.updatedAt);
92
106
  // Shared-directory lanes keep the legacy single-ready invariant. Isolated
93
107
  // worktree pools legitimately contain multiple ready conversations.
@@ -203,6 +217,8 @@ class DelegatedWorkerSessionStore {
203
217
  const lane = this.lanes.get(id);
204
218
  if (!lane)
205
219
  throw new Error('Delegated worker lane not found');
220
+ if (lane.contextRetired)
221
+ throw new Error('The Worker context has been retired and cannot be reused.');
206
222
  const next = { ...lane, ...extra, state, updatedAt: Date.now() };
207
223
  await this.writeAndRemember(next);
208
224
  return clone(next);
@@ -213,70 +229,101 @@ class DelegatedWorkerSessionStore {
213
229
  throw new Error('Invalid worker context reference');
214
230
  await this.initialize();
215
231
  await this.mutate(async () => {
216
- const lane = this.lanes.get(id);
217
- if (!lane || lane.threadId !== identity.threadId || lane.workingDirectory !== identity.workingDirectory
218
- || lane.workspaceGeneration !== identity.workspaceGeneration) {
219
- throw new Error('This Worker card has expired. Use the latest Worker card.');
220
- }
221
- const current = lane.contextGeneration ?? 0;
222
- if (current !== generation) {
223
- if (lane.lastClearedGeneration === generation)
224
- return;
225
- throw new Error('The Worker context has changed. Use the latest Worker card.');
226
- }
227
- if (lane.cleanupPending || (lane.state !== 'ready' && !(lane.state === 'dirty' && lane.contextResetPending))) {
228
- throw new Error('The Worker is active or its shutdown is unconfirmed. Wait before clearing context.');
232
+ this.assertContextReady(identity.threadId);
233
+ await this.clearContextLocked(id, generation, identity, clear);
234
+ });
235
+ }
236
+ async assertThreadContextResettable(threadId) {
237
+ await this.initialize();
238
+ await this.mutate(async () => { this.resettableLanes(threadId); });
239
+ }
240
+ /** The thread-level barrier covers all lanes, including a later lane that fails to clear. */
241
+ async clearThreadContexts(threadId, clear) {
242
+ await this.initialize();
243
+ await this.mutate(async () => {
244
+ if (!this.contextResets.isPending(threadId))
245
+ throw new Error('Thread context reset intent is missing');
246
+ for (const lane of this.resettableLanes(threadId)) {
247
+ await this.clearContextLocked(lane.id, lane.contextGeneration ?? 0, lane, clear);
229
248
  }
230
- // Persist intent before unlinking. A crash or partial failure must never resume old context.
231
- const pending = { ...lane, state: 'dirty', contextResetPending: true, updatedAt: Date.now() };
232
- await this.writeAndRemember(pending);
233
- await clear(clone(pending));
234
- // A failed reset can be superseded by a new shared-directory lane. Clearing
235
- // the old pointer must not revive it or authorize deleting its replacement.
236
- // Legacy lanes have no mode; preserve them conservatively when ambiguous.
237
- const superseded = lane.pooled !== true && [...this.lanes.values()].some(other => other.id !== lane.id && sameIdentity(other, lane) && other.state !== 'dirty');
238
- await this.writeAndRemember({ ...pending, state: superseded ? 'dirty' : 'ready', contextGeneration: current + 1,
239
- contextResetPending: false, lastClearedGeneration: generation,
240
- cleanupError: superseded ? 'Worker context cleared; a replacement lane remains active.' : undefined,
241
- updatedAt: Date.now() });
242
249
  });
243
250
  }
244
- async load() {
245
- await promises_1.default.mkdir(this.directory, { recursive: true, mode: 0o700 });
246
- let names = [];
247
- try {
248
- names = await promises_1.default.readdir(this.directory);
251
+ resettableLanes(threadId) {
252
+ const lanes = [...this.lanes.values()].filter(lane => lane.threadId === threadId);
253
+ if (lanes.some(lane => lane.cleanupPending || (lane.state !== 'ready'
254
+ && !(lane.state === 'dirty' && (lane.contextResetPending || lane.contextRetired))))) {
255
+ throw new Error('Cannot clear thread context: a Worker is active or its shutdown is unconfirmed. Wait for confirmed exit before retrying /clear.');
256
+ }
257
+ return lanes.filter(lane => !lane.contextRetired);
258
+ }
259
+ async clearContextLocked(id, generation, identity, clear) {
260
+ const lane = this.lanes.get(id);
261
+ if (!lane || lane.threadId !== identity.threadId || lane.workingDirectory !== identity.workingDirectory
262
+ || lane.workspaceGeneration !== identity.workspaceGeneration) {
263
+ throw new Error('This Worker card has expired. Use the latest Worker card.');
249
264
  }
250
- catch {
251
- return;
265
+ const current = lane.contextGeneration ?? 0;
266
+ if (current !== generation) {
267
+ if (lane.lastClearedGeneration === generation)
268
+ return;
269
+ throw new Error('The Worker context has changed. Use the latest Worker card.');
270
+ }
271
+ if (lane.cleanupPending || (lane.state !== 'ready' && !(lane.state === 'dirty' && lane.contextResetPending))) {
272
+ throw new Error('The Worker is active or its shutdown is unconfirmed. Wait before clearing context.');
252
273
  }
253
- for (const name of names) {
254
- if (!UUID_RE.test(name.replace(/\.json$/, '')) || !name.endsWith('.json'))
255
- continue;
256
- const file = path_1.default.join(this.directory, name);
257
- try {
258
- const stat = await promises_1.default.stat(file);
259
- if (stat.size > 64 * 1024)
274
+ // Persist intent before unlinking. A crash or partial failure must never resume old context.
275
+ const pending = { ...lane, state: 'dirty', contextResetPending: true, updatedAt: Date.now() };
276
+ await this.writeAndRemember(pending);
277
+ await clear(clone(pending));
278
+ // A failed reset can be superseded by a new shared-directory lane. Clearing
279
+ // the old pointer must not revive it or authorize deleting its replacement.
280
+ // Legacy lanes have no mode; preserve them conservatively when ambiguous.
281
+ const superseded = lane.pooled !== true && [...this.lanes.values()].some(other => other.id !== lane.id && sameIdentity(other, lane) && other.state !== 'dirty');
282
+ await this.writeAndRemember({ ...pending, state: superseded ? 'dirty' : 'ready', contextGeneration: current + 1,
283
+ contextResetPending: false, lastClearedGeneration: generation,
284
+ contextRetired: superseded ? true : undefined,
285
+ cleanupError: superseded ? 'Worker context cleared; a replacement lane remains active.' : undefined,
286
+ updatedAt: Date.now() });
287
+ }
288
+ async load() {
289
+ // Publish only a complete inventory. Silently omitting even one unreadable
290
+ // record could allow a thread reset to finish with its old pointer intact.
291
+ const loaded = new Map();
292
+ try {
293
+ await promises_1.default.mkdir(this.directory, { recursive: true, mode: 0o700 });
294
+ const names = await promises_1.default.readdir(this.directory);
295
+ for (const name of names) {
296
+ if (!name.endsWith('.json'))
260
297
  continue;
298
+ if (!UUID_RE.test(name.slice(0, -5)))
299
+ throw new Error('Invalid worker lane filename');
300
+ const file = path_1.default.join(this.directory, name);
301
+ const stat = await promises_1.default.lstat(file);
302
+ if (!stat.isFile() || stat.size > 64 * 1024)
303
+ throw new Error('Invalid worker lane file');
261
304
  const parsed = JSON.parse(await promises_1.default.readFile(file, 'utf8'));
262
- if (!validateLane(parsed))
263
- continue;
264
- const lane = parsed;
305
+ if (!validateLane(parsed) || name !== `${parsed.id}.json`)
306
+ throw new Error('Invalid worker lane record');
307
+ loaded.set(parsed.id, parsed);
308
+ }
309
+ for (const [id, lane] of loaded) {
265
310
  // A process may have died between any write and terminal confirmation.
266
311
  // Only a ready lane is resumable after a CLI restart.
267
312
  if (lane.state !== 'ready') {
268
313
  const dirty = { ...lane, state: 'dirty', cleanupPending: lane.cleanupPending === true,
269
314
  cleanupError: lane.cleanupError ?? 'The CLI stopped before worker cleanup was confirmed.', updatedAt: Date.now() };
270
315
  await this.writeRecord(dirty);
271
- this.lanes.set(dirty.id, dirty);
316
+ loaded.set(id, dirty);
272
317
  }
273
- else
274
- this.lanes.set(lane.id, lane);
275
- }
276
- catch {
277
- // A corrupt lane cannot become resumable.
278
318
  }
279
319
  }
320
+ catch (cause) {
321
+ // Missing records during enumeration are also uncertain. Retry a fresh
322
+ // inventory rather than accepting a partial snapshot or rewriting it.
323
+ throw new Error('Cannot load delegated worker inventory. Check local CLI storage and repair unreadable or invalid lane records before retrying /clear.', { cause });
324
+ }
325
+ for (const [id, lane] of loaded)
326
+ this.lanes.set(id, lane);
280
327
  }
281
328
  assertIdentity(identity) {
282
329
  if (!identity.threadId || identity.threadId.length > 200
@@ -1 +1 @@
1
- {"version":3,"file":"DelegatedWorkerSessionStore.js","sourceRoot":"","sources":["../../src/delegation/DelegatedWorkerSessionStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DelegatedWorkerSessionStore.js","sourceRoot":"","sources":["../../src/delegation/DelegatedWorkerSessionStore.ts"],"names":[],"mappings":"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"}
@@ -120,6 +120,8 @@ export declare class DelegationManager {
120
120
  }>;
121
121
  /** Reset exactly one idle lane without changing its workspace or configuration. */
122
122
  resetWorkerContext(thread: Thread, laneId: string, generation: number): Promise<void>;
123
+ assertThreadContextResettable(threadId: string): Promise<void>;
124
+ clearThreadContexts(threadId: string): Promise<void>;
123
125
  /** Forget one backend lane or all lanes for an idle parent thread. */
124
126
  resetWorkerLanes(threadId: string, backend?: DelegationBackend): Promise<number>;
125
127
  /** Thread deletion is executor-free so it works whether delegation is currently enabled or not. */
@@ -1 +1 @@
1
- {"version":3,"file":"DelegationManager.d.ts","sourceRoot":"","sources":["../../src/delegation/DelegationManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DelegationManager.d.ts","sourceRoot":"","sources":["../../src/delegation/DelegationManager.ts"],"names":[],"mappings":"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"}
@@ -147,6 +147,7 @@ class DelegationManager {
147
147
  this.timeouts = timeoutPolicy(timeoutInput);
148
148
  }
149
149
  begin(parent) {
150
+ this.laneStore.assertContextReady(parent.thread.id);
150
151
  if (this.scopes.has(parent.thread.id))
151
152
  throw new Error('This thread already owns a delegation turn');
152
153
  // Fail with recovery guidance before realpathSync reports a raw ENOENT.
@@ -1304,6 +1305,16 @@ ${prompt}`));
1304
1305
  await this.laneStore.clearContext(laneId, generation, { threadId: thread.id,
1305
1306
  workingDirectory: cwd, workspaceGeneration: thread.delegationWorkspaceGeneration ?? 0 }, DelegatedWorkerLaneCleanup_1.clearDelegatedWorkerContext);
1306
1307
  }
1308
+ async assertThreadContextResettable(threadId) {
1309
+ if (this.hasActiveTasks(threadId) || [...this.workspaces.values()].some(owner => owner.threadId === threadId)) {
1310
+ throw new Error('Cannot clear thread context while delegated work is queued, active, or awaiting confirmed shutdown. Wait before retrying /clear.');
1311
+ }
1312
+ await this.laneStore.assertThreadContextResettable(threadId);
1313
+ }
1314
+ async clearThreadContexts(threadId) {
1315
+ await this.assertThreadContextResettable(threadId);
1316
+ await this.laneStore.clearThreadContexts(threadId, DelegatedWorkerLaneCleanup_1.clearDelegatedWorkerContext);
1317
+ }
1307
1318
  /** Forget one backend lane or all lanes for an idle parent thread. */
1308
1319
  async resetWorkerLanes(threadId, backend) {
1309
1320
  if (this.hasActiveTasks(threadId)) {