agent-gear 1.1.0 → 1.1.1

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.
@@ -29,6 +29,7 @@ export declare class AcpSessionBridge extends EventEmitter implements acp.Client
29
29
  private textChunkTimer;
30
30
  private initializing;
31
31
  private stopped;
32
+ private pendingPermissions;
32
33
  constructor(socket: Socket, options: AcpBridgeOptions, spawner?: AcpSpawner);
33
34
  start(): Promise<void>;
34
35
  resume(externalSessionId: string): Promise<void>;
@@ -48,6 +49,7 @@ export declare class AcpSessionBridge extends EventEmitter implements acp.Client
48
49
  private extractAvailableModels;
49
50
  sessionUpdate(params: acp.SessionNotification): Promise<void>;
50
51
  requestPermission(params: acp.RequestPermissionRequest): Promise<acp.RequestPermissionResponse>;
52
+ handlePermissionResponse(requestId: string, outcome: acp.RequestPermissionOutcome): void;
51
53
  private scheduleTextFlush;
52
54
  private flushTextBuffer;
53
55
  private sendUpdate;
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/acp/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CACtH;AAgBD,qBAAa,gBAAiB,SAAQ,YAAa,YAAW,GAAG,CAAC,MAAM;IACtE,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,UAAU,CAAyC;IAC3D,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,UAAU;IASrE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BtB,MAAM,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkDhD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B,MAAM,IAAI,IAAI;IAMR,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9C,SAAS,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;YAQ7C,aAAa;YA8Bb,cAAc;IAe5B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,sBAAsB;IAUxB,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB7D,iBAAiB,CACrB,MAAM,EAAE,GAAG,CAAC,wBAAwB,GACnC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAWzC,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,WAAW;CAepB"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/acp/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CACtH;AAgBD,qBAAa,gBAAiB,SAAQ,YAAa,YAAW,GAAG,CAAC,MAAM;IACtE,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,UAAU,CAAyC;IAC3D,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,kBAAkB,CAGrB;gBAEO,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,UAAU;IASrE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BtB,MAAM,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkDhD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B,MAAM,IAAI,IAAI;IAMR,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9C,SAAS,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;YAQ7C,aAAa;YA8Bb,cAAc;IAe5B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,sBAAsB;IAUxB,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB7D,iBAAiB,CACrB,MAAM,EAAE,GAAG,CAAC,wBAAwB,GACnC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAsBzC,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,wBAAwB,GAAG,IAAI;IAcxF,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,WAAW;CAepB"}
@@ -24,6 +24,7 @@ export class AcpSessionBridge extends EventEmitter {
24
24
  textChunkTimer = null;
25
25
  initializing = false;
26
26
  stopped = false;
27
+ pendingPermissions = new Map();
27
28
  constructor(socket, options, spawner) {
28
29
  super();
29
30
  this.socket = socket;
@@ -250,12 +251,31 @@ export class AcpSessionBridge extends EventEmitter {
250
251
  }
251
252
  }
252
253
  async requestPermission(params) {
253
- return {
254
- outcome: {
255
- outcome: 'selected',
256
- optionId: params.options.find((o) => o.kind === 'allow_once')?.optionId ?? params.options[0]?.optionId ?? 'reject',
257
- },
258
- };
254
+ const requestId = `perm_${Date.now()}_${Math.random().toString(36).slice(2)}`;
255
+ return new Promise((resolve) => {
256
+ const timeout = setTimeout(() => {
257
+ this.pendingPermissions.delete(requestId);
258
+ resolve({ outcome: { outcome: 'cancelled' } });
259
+ }, 65_000);
260
+ this.pendingPermissions.set(requestId, { resolve, timeout });
261
+ this.socket.emit('acp:permission', {
262
+ requestId,
263
+ sessionId: this.sessionId,
264
+ toolCall: params.toolCall,
265
+ options: params.options,
266
+ });
267
+ this.emit('permission:sent', requestId);
268
+ });
269
+ }
270
+ handlePermissionResponse(requestId, outcome) {
271
+ const pending = this.pendingPermissions.get(requestId);
272
+ if (!pending) {
273
+ console.warn(`Permission request ${requestId} not found`);
274
+ return;
275
+ }
276
+ clearTimeout(pending.timeout);
277
+ this.pendingPermissions.delete(requestId);
278
+ pending.resolve({ outcome });
259
279
  }
260
280
  // ── text buffering ──
261
281
  scheduleTextFlush() {
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/acp/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAa/B,SAAS,YAAY,CAAC,OAAuC;IAC3D,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;QAClB,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE;KACjB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IACxC,OAAO,CAAa;IACpB,MAAM,CAAS;IACf,SAAS,CAAS;IAClB,GAAG,CAAS;IACZ,UAAU,CAAiC;IAC3C,UAAU,GAAoC,IAAI,CAAC;IACnD,YAAY,GAAkB,IAAI,CAAC;IACnC,YAAY,GAAuC,IAAI,CAAC;IACxD,UAAU,GAAkB,EAAE,CAAC;IAC/B,eAAe,GAAG,EAAE,CAAC;IACrB,cAAc,GAAyC,IAAI,CAAC;IAC5D,YAAY,GAAG,KAAK,CAAC;IACrB,OAAO,GAAG,KAAK,CAAC;IAExB,YAAY,MAAc,EAAE,OAAyB,EAAE,OAAoB;QACzE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,UAAU,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAW,CAAC,UAAU,CAAC;gBAC/C,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;aAC1C,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;YACrC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAE1B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtC,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,IAAI,IAAI;gBAClD,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC;gBACrD,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC3D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,IAAI,IAAI;aACtD,CAAC,CAAC;YAEH,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,iBAAyB;QACpC,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC;gBAClD,SAAS,EAAE,iBAAiB;gBAC5B,GAAG,EAAE,IAAI,CAAC,GAAG;aACd,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC;YACtC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAE1B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtC,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,IAAI,IAAI;gBAClD,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC;gBACrD,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC3D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,IAAI,IAAI;aACtD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iEAAiE;YACjE,yBAAyB;YACzB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAW,CAAC,UAAU,CAAC;oBAC/C,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;iBAC1C,CAAC,CAAC;gBACH,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;gBACrC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAE1B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC;oBACtC,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,IAAI,IAAI;oBAClD,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC;oBACvD,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC;oBAC3D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,IAAI,IAAI;iBACpD,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACzC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC/D,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACjC,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QACnD,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YACnC,SAAS,EAAE,IAAI,CAAC,YAAY;YAC5B,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QACnD,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC;YAC7C,SAAS,EAAE,IAAI,CAAC,YAAY;YAC5B,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,OAA0C;QAClD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,OAAoB;QAC9C,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAEnE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACzC,SAAS,EAAE,IAAI,CAAC,YAAY;YAC5B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;SAC3D,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAEpE,IAAI,UAAU,GAAG,UAAU,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;YACvC,UAAU,GAAG,MAAM,EAAE,UAAU,IAAI,UAAU,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,UAAU,GAAG,OAAO,CAAC;QACvB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;oBACtC,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,UAAU;iBACX,CAAC,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAG,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACnC,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnE,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAC/B,eAAe,EAAE,oBAAoB;YACrC,kBAAkB,EAAE,EAAE;YACtB,UAAU,EAAE;gBACV,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,OAAO;aACjB;SACF,CAAC,CAAC;IACL,CAAC;IAEO,eAAe;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAG,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,KAA8C;QACjE,IAAI,CAAC,KAAK,EAAE,cAAc;YAAE,OAAO,IAAI,CAAC;QACxC,OAAO,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS;SACxC,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,mBAAmB,CAAC,MAAgD;QAC1E,IAAI,CAAC,MAAM,EAAE,eAAe,IAAI,CAAC,MAAM,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QACpE,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,cAAc,CAAC,CAAC;QACtF,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IACjD,CAAC;IAEO,sBAAsB,CAAC,MAAgD;QAC7E,IAAI,CAAC,MAAM,EAAE,eAAe;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,EAAE,EAAE,CAAC,CAAC,OAAO;YACb,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAC,CAAC,CAAC;IACN,CAAC;IAED,kCAAkC;IAElC,KAAK,CAAC,aAAa,CAAC,MAA+B;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,QAAQ,MAAM,CAAC,aAAa,EAAE,CAAC;YAC7B,KAAK,qBAAqB;gBACxB,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACnC,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;oBAC5C,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,CAAC;gBACD,MAAM;YACR,KAAK,WAAW,CAAC;YACjB,KAAK,kBAAkB,CAAC;YACxB,KAAK,MAAM,CAAC;YACZ,KAAK,qBAAqB;gBACxB,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACxB,MAAM;YACR,KAAK,oBAAoB;gBACvB,MAAM;YACR;gBACE,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACxB,MAAM;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,MAAoC;QAEpC,OAAO;YACL,OAAO,EAAE;gBACP,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,QAAQ;aACnH;SACF,CAAC;IACJ,CAAC;IAED,uBAAuB;IAEf,iBAAiB;QACvB,IAAI,IAAI,CAAC,cAAc;YAAE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAEO,eAAe;QACrB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC;gBACd,aAAa,EAAE,qBAA8B;gBAC7C,OAAO,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE;aAC1C,CAAC,CAAC;YACxB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,0BAA0B;IAElB,UAAU,CAAC,MAAyB;QAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE;YAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;IACL,CAAC;IAEO,WAAW,CAAC,MAAc,EAAE,QAAiB;QACnD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5E,CAAC;IAEO,WAAW,CAAC,KAAc;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE;YAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,GAAG;SACX,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,GAAG;SACX,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/acp/bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bridge.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.test.d.ts","sourceRoot":"","sources":["../../src/acp/bridge.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,149 @@
1
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
2
+ vi.mock('@agentclientprotocol/sdk', () => ({
3
+ ndJsonStream: vi.fn(() => ({})),
4
+ ClientSideConnection: vi.fn(function () {
5
+ return {
6
+ initialize: vi.fn().mockResolvedValue({ protocolVersion: 1 }),
7
+ newSession: vi.fn().mockResolvedValue({ sessionId: 'acp-sess-abc' }),
8
+ resumeSession: vi.fn().mockResolvedValue({}),
9
+ prompt: vi.fn().mockResolvedValue({ stopReason: 'end_turn' }),
10
+ cancel: vi.fn().mockResolvedValue(undefined),
11
+ closeSession: vi.fn().mockResolvedValue({}),
12
+ setSessionMode: vi.fn().mockResolvedValue({}),
13
+ unstable_setSessionModel: vi.fn().mockResolvedValue({}),
14
+ };
15
+ }),
16
+ }));
17
+ import { AcpSessionBridge } from './bridge.js';
18
+ class MockAcpSpawner {
19
+ start = vi.fn();
20
+ stop = vi.fn();
21
+ isRunning = vi.fn().mockReturnValue(true);
22
+ _stdin = new WritableStream();
23
+ _stdout = new ReadableStream();
24
+ get stdin() { return this._stdin; }
25
+ get stdout() { return this._stdout; }
26
+ get closed() { return Promise.resolve(); }
27
+ }
28
+ function createMockSocket() {
29
+ return { emit: vi.fn(), on: vi.fn(), off: vi.fn() };
30
+ }
31
+ describe('AcpSessionBridge - requestPermission', () => {
32
+ let mockSocket;
33
+ let mockSpawner;
34
+ function createBridge() {
35
+ return new AcpSessionBridge(mockSocket, { sessionId: 'sess-1', cwd: '/home/user' }, mockSpawner);
36
+ }
37
+ beforeEach(() => {
38
+ vi.clearAllMocks();
39
+ vi.useFakeTimers();
40
+ mockSocket = createMockSocket();
41
+ mockSpawner = new MockAcpSpawner();
42
+ });
43
+ afterEach(() => {
44
+ vi.useRealTimers();
45
+ vi.restoreAllMocks();
46
+ });
47
+ it('should emit acp:permission and wait for response', async () => {
48
+ const bridge = createBridge();
49
+ const options = [
50
+ { optionId: 'opt-1', name: 'Allow', kind: 'allow_once' },
51
+ { optionId: 'opt-2', name: 'Reject', kind: 'reject_once' },
52
+ ];
53
+ const promise = bridge.requestPermission({
54
+ toolCall: { toolCallId: 'tc-1' },
55
+ options,
56
+ });
57
+ expect(mockSocket.emit).toHaveBeenCalledWith('acp:permission', expect.objectContaining({
58
+ sessionId: 'sess-1',
59
+ toolCall: { toolCallId: 'tc-1' },
60
+ options,
61
+ }));
62
+ const emitCall = mockSocket.emit.mock.calls.find((c) => c[0] === 'acp:permission');
63
+ const requestId = emitCall[1].requestId;
64
+ expect(requestId).toMatch(/^perm_\d+_/);
65
+ bridge.handlePermissionResponse(requestId, { outcome: 'selected', optionId: 'opt-1' });
66
+ const result = await promise;
67
+ expect(result).toEqual({ outcome: { outcome: 'selected', optionId: 'opt-1' } });
68
+ });
69
+ it('should resolve with cancelled after 65s timeout', async () => {
70
+ const bridge = createBridge();
71
+ const promise = bridge.requestPermission({
72
+ toolCall: { toolCallId: 'tc-1' },
73
+ options: [{ optionId: 'opt-1', name: 'Allow', kind: 'allow_once' }],
74
+ });
75
+ await vi.advanceTimersByTimeAsync(65_000);
76
+ const result = await promise;
77
+ expect(result).toEqual({ outcome: { outcome: 'cancelled' } });
78
+ });
79
+ it('should not resolve with cancelled if response arrives before timeout', async () => {
80
+ const bridge = createBridge();
81
+ const promise = bridge.requestPermission({
82
+ toolCall: { toolCallId: 'tc-1' },
83
+ options: [{ optionId: 'opt-1', name: 'Allow', kind: 'allow_once' }],
84
+ });
85
+ const emitCall = mockSocket.emit.mock.calls.find((c) => c[0] === 'acp:permission');
86
+ const requestId = emitCall[1].requestId;
87
+ await vi.advanceTimersByTimeAsync(30_000);
88
+ bridge.handlePermissionResponse(requestId, { outcome: 'selected', optionId: 'opt-1' });
89
+ const result = await promise;
90
+ expect(result).toEqual({ outcome: { outcome: 'selected', optionId: 'opt-1' } });
91
+ await vi.advanceTimersByTimeAsync(35_000);
92
+ });
93
+ it('should warn and ignore invalid requestId in handlePermissionResponse', () => {
94
+ const bridge = createBridge();
95
+ const warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => { });
96
+ bridge.handlePermissionResponse('invalid-id', { outcome: 'selected', optionId: 'opt-1' });
97
+ expect(warnSpy).toHaveBeenCalledWith('Permission request invalid-id not found');
98
+ warnSpy.mockRestore();
99
+ });
100
+ it('should handle cancelled outcome from user', async () => {
101
+ const bridge = createBridge();
102
+ const promise = bridge.requestPermission({
103
+ toolCall: { toolCallId: 'tc-1' },
104
+ options: [{ optionId: 'opt-1', name: 'Allow', kind: 'allow_once' }],
105
+ });
106
+ const emitCall = mockSocket.emit.mock.calls.find((c) => c[0] === 'acp:permission');
107
+ const requestId = emitCall[1].requestId;
108
+ bridge.handlePermissionResponse(requestId, { outcome: 'cancelled' });
109
+ const result = await promise;
110
+ expect(result).toEqual({ outcome: { outcome: 'cancelled' } });
111
+ });
112
+ it('should handle concurrent permission requests independently', async () => {
113
+ const bridge = createBridge();
114
+ const promise1 = bridge.requestPermission({
115
+ toolCall: { toolCallId: 'tc-1' },
116
+ options: [{ optionId: 'opt-1', name: 'Allow', kind: 'allow_once' }],
117
+ });
118
+ const promise2 = bridge.requestPermission({
119
+ toolCall: { toolCallId: 'tc-2' },
120
+ options: [{ optionId: 'opt-2', name: 'Reject', kind: 'reject_once' }],
121
+ });
122
+ const calls = mockSocket.emit.mock.calls.filter((c) => c[0] === 'acp:permission');
123
+ expect(calls).toHaveLength(2);
124
+ const requestId1 = calls[0][1].requestId;
125
+ const requestId2 = calls[1][1].requestId;
126
+ expect(requestId1).not.toBe(requestId2);
127
+ bridge.handlePermissionResponse(requestId2, { outcome: 'selected', optionId: 'opt-2' });
128
+ bridge.handlePermissionResponse(requestId1, { outcome: 'selected', optionId: 'opt-1' });
129
+ const [result1, result2] = await Promise.all([promise1, promise2]);
130
+ expect(result1).toEqual({ outcome: { outcome: 'selected', optionId: 'opt-1' } });
131
+ expect(result2).toEqual({ outcome: { outcome: 'selected', optionId: 'opt-2' } });
132
+ });
133
+ it('should clean up pending entry after timeout', async () => {
134
+ const bridge = createBridge();
135
+ const promise = bridge.requestPermission({
136
+ toolCall: { toolCallId: 'tc-1' },
137
+ options: [{ optionId: 'opt-1', name: 'Allow', kind: 'allow_once' }],
138
+ });
139
+ await vi.advanceTimersByTimeAsync(65_000);
140
+ await promise;
141
+ const warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => { });
142
+ const emitCall = mockSocket.emit.mock.calls.find((c) => c[0] === 'acp:permission');
143
+ const requestId = emitCall[1].requestId;
144
+ bridge.handlePermissionResponse(requestId, { outcome: 'selected', optionId: 'opt-1' });
145
+ expect(warnSpy).toHaveBeenCalled();
146
+ warnSpy.mockRestore();
147
+ });
148
+ });
149
+ //# sourceMappingURL=bridge.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.test.js","sourceRoot":"","sources":["../../src/acp/bridge.test.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -8,6 +8,9 @@ export interface ConfigData {
8
8
  controller?: {
9
9
  name: string;
10
10
  };
11
+ resumeToken?: {
12
+ value: string;
13
+ };
11
14
  }
12
15
  export declare function readConfig(): ConfigData;
13
16
  export declare function writeConfig(data: ConfigData): void;
@@ -19,4 +22,7 @@ export declare function saveKeyToConfig(key: string): void;
19
22
  export declare function saveEndpointToConfig(endpoint: string): void;
20
23
  export declare function resolveKey(cliKey?: string): string | undefined;
21
24
  export declare function resolveEndpoint(cliEndpoint?: string): string | undefined;
25
+ export declare function getResumeTokenFromConfig(): string | undefined;
26
+ export declare function saveResumeTokenToConfig(token: string): void;
27
+ export declare function clearResumeTokenFromConfig(): void;
22
28
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxB,MAAM,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/B;AAED,wBAAgB,UAAU,IAAI,UAAU,CAMvC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAKlD;AAED,wBAAgB,cAAc,IAAI,IAAI,CAIrC;AAED,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAGrD;AAED,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,SAAS,CAG1D;AAED,wBAAgB,2BAA2B,IAAI,MAAM,GAAG,SAAS,CAGhE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAIjD;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI3D;AAED,wBAAgB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK9D;AAED,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKxE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxB,MAAM,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACjC;AAED,wBAAgB,UAAU,IAAI,UAAU,CAMvC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAKlD;AAED,wBAAgB,cAAc,IAAI,IAAI,CAIrC;AAED,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAGrD;AAED,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,SAAS,CAG1D;AAED,wBAAgB,2BAA2B,IAAI,MAAM,GAAG,SAAS,CAGhE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAIjD;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI3D;AAED,wBAAgB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK9D;AAED,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKxE;AAED,wBAAgB,wBAAwB,IAAI,MAAM,GAAG,SAAS,CAG7D;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAI3D;AAED,wBAAgB,0BAA0B,IAAI,IAAI,CAIjD"}
package/dist/config.js CHANGED
@@ -60,4 +60,18 @@ export function resolveEndpoint(cliEndpoint) {
60
60
  return envEndpoint;
61
61
  return getEndpointFromConfig();
62
62
  }
63
+ export function getResumeTokenFromConfig() {
64
+ const config = readConfig();
65
+ return config.resumeToken?.value;
66
+ }
67
+ export function saveResumeTokenToConfig(token) {
68
+ const config = readConfig();
69
+ config.resumeToken = { value: token };
70
+ writeConfig(config);
71
+ }
72
+ export function clearResumeTokenFromConfig() {
73
+ const config = readConfig();
74
+ delete config.resumeToken;
75
+ writeConfig(config);
76
+ }
63
77
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;AAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAQpD,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACnD,OAAO,KAAK,CAAC,OAAO,CAAe,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAgB;IAC1C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,CAAC,GAAG,CAAC;IAClB,WAAW,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAC5B,WAAW,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,CAAC,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC;IAC7B,WAAW,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAe;IACxC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC9C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,OAAO,gBAAgB,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAAoB;IAClD,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACpD,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,OAAO,qBAAqB,EAAE,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;AAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AASpD,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACnD,OAAO,KAAK,CAAC,OAAO,CAAe,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAgB;IAC1C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,CAAC,GAAG,CAAC;IAClB,WAAW,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAC5B,WAAW,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,CAAC,MAAM,GAAG,EAAE,QAAQ,EAAE,CAAC;IAC7B,WAAW,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAe;IACxC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC9C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,OAAO,gBAAgB,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAAoB;IAClD,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACpD,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,OAAO,qBAAqB,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACtC,WAAW,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,CAAC,WAAW,CAAC;IAC1B,WAAW,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"socketio-client.d.ts","sourceRoot":"","sources":["../src/socketio-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AA4I3E,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAChC,MAAM,CAgcR;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE/C"}
1
+ {"version":3,"file":"socketio-client.d.ts","sourceRoot":"","sources":["../src/socketio-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AA+I3E,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAChC,MAAM,CA8dR;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE/C"}
@@ -4,7 +4,7 @@ import { readdir, access } from 'fs/promises';
4
4
  import { join } from 'path';
5
5
  import { homedir } from 'os';
6
6
  import { Heartbeat } from './heartbeat.js';
7
- import { clearConfigKey } from './config.js';
7
+ import { clearConfigKey, getResumeTokenFromConfig, saveResumeTokenToConfig, clearResumeTokenFromConfig } from './config.js';
8
8
  import { acpDetector } from './acp/detector.js';
9
9
  import { AcpSpawner } from './acp/spawner.js';
10
10
  import { AcpSessionBridge } from './acp/bridge.js';
@@ -13,8 +13,9 @@ import { gitHandler } from './git-handler.js';
13
13
  import { worktreeHandler } from './worktree-handler.js';
14
14
  import { fsHandler } from './fs-handler.js';
15
15
  import { portForwardManager } from './port-forward.js';
16
- const CONTROLLER_VERSION = '1.0.4';
16
+ const CONTROLLER_VERSION = '1.1.1';
17
17
  const acpBridges = new Map();
18
+ const permissionRequestBridge = new Map();
18
19
  function createSpawner(serverType, sessionId, cwd) {
19
20
  const config = acpDetector.getSpawnerConfig(serverType);
20
21
  return new AcpSpawner({ sessionId, cwd, command: config.command, args: config.args });
@@ -30,20 +31,30 @@ export function connectToServer(endpoint, key, options) {
30
31
  const controllerName = options?.serverName || hostname();
31
32
  socket.on('connect', () => {
32
33
  console.log(`Connected to ${endpoint}`);
34
+ const resumeToken = getResumeTokenFromConfig();
33
35
  socket.emit('register', {
34
36
  key,
35
37
  hostname: controllerName,
36
38
  version: CONTROLLER_VERSION,
39
+ resumeToken,
37
40
  });
38
41
  });
39
42
  socket.on('registered', (data) => {
40
43
  console.log(`Controller registered: ${data.controllerId}`);
44
+ if (data.resumeToken) {
45
+ saveResumeTokenToConfig(data.resumeToken);
46
+ console.log('Resume token saved to config');
47
+ }
41
48
  heartbeat.start(() => socket.emit('heartbeat'));
42
49
  });
43
50
  socket.on('error', (data) => {
44
51
  console.error(`Server error: ${data.code} - ${data.message}`);
45
52
  if (data.code === 'KEY_ALREADY_ONLINE') {
46
- console.error('This key is already in use on another machine.');
53
+ console.log('Clearing resume token and retrying connection...');
54
+ clearResumeTokenFromConfig();
55
+ // Don't exit, let the reconnection logic handle it
56
+ socket.disconnect();
57
+ return;
47
58
  }
48
59
  socket.disconnect();
49
60
  process.exit(1);
@@ -81,6 +92,9 @@ export function connectToServer(endpoint, key, options) {
81
92
  mcpServers: data.mcpServers,
82
93
  }, spawner);
83
94
  acpBridges.set(data.sessionId, bridge);
95
+ bridge.on('permission:sent', (requestId) => {
96
+ permissionRequestBridge.set(requestId, bridge);
97
+ });
84
98
  const onInitialized = (payload) => {
85
99
  if (payload.sessionId !== data.sessionId)
86
100
  return;
@@ -143,6 +157,9 @@ export function connectToServer(endpoint, key, options) {
143
157
  cwd: data.cwd,
144
158
  }, spawner);
145
159
  acpBridges.set(data.sessionId, bridge);
160
+ bridge.on('permission:sent', (requestId) => {
161
+ permissionRequestBridge.set(requestId, bridge);
162
+ });
146
163
  const onInitialized = (payload) => {
147
164
  if (payload.sessionId !== data.sessionId)
148
165
  return;
@@ -428,10 +445,18 @@ export function connectToServer(endpoint, key, options) {
428
445
  console.log(`Port forward close: tunnelId=${data.tunnelId}`);
429
446
  portForwardManager.closeTunnel(data.tunnelId);
430
447
  });
448
+ socket.on('acp:permission:response', (data) => {
449
+ const bridge = permissionRequestBridge.get(data.requestId);
450
+ if (bridge) {
451
+ permissionRequestBridge.delete(data.requestId);
452
+ bridge.handlePermissionResponse(data.requestId, data.outcome);
453
+ }
454
+ });
431
455
  socket.on('disconnect', (reason) => {
432
456
  console.log(`Disconnected: ${reason}`);
433
457
  heartbeat.stop();
434
458
  portForwardManager.closeAll();
459
+ permissionRequestBridge.clear();
435
460
  });
436
461
  socket.on('connect_error', (err) => {
437
462
  console.error(`Connection error: ${err.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"socketio-client.js","sourceRoot":"","sources":["../src/socketio-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socketio-client.js","sourceRoot":"","sources":["../src/socketio-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-gear",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "ZeroAsh Agent Gear - Agent controller daemon",
5
5
  "repository": {
6
6
  "type": "git",
@@ -0,0 +1,196 @@
1
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
2
+
3
+ vi.mock('@agentclientprotocol/sdk', () => ({
4
+ ndJsonStream: vi.fn(() => ({})),
5
+ ClientSideConnection: vi.fn(function () {
6
+ return {
7
+ initialize: vi.fn().mockResolvedValue({ protocolVersion: 1 }),
8
+ newSession: vi.fn().mockResolvedValue({ sessionId: 'acp-sess-abc' }),
9
+ resumeSession: vi.fn().mockResolvedValue({}),
10
+ prompt: vi.fn().mockResolvedValue({ stopReason: 'end_turn' }),
11
+ cancel: vi.fn().mockResolvedValue(undefined),
12
+ closeSession: vi.fn().mockResolvedValue({}),
13
+ setSessionMode: vi.fn().mockResolvedValue({}),
14
+ unstable_setSessionModel: vi.fn().mockResolvedValue({}),
15
+ };
16
+ }),
17
+ }));
18
+
19
+ import { AcpSessionBridge } from './bridge.js';
20
+
21
+ class MockAcpSpawner {
22
+ start = vi.fn();
23
+ stop = vi.fn();
24
+ isRunning = vi.fn().mockReturnValue(true);
25
+ _stdin = new WritableStream();
26
+ _stdout = new ReadableStream();
27
+ get stdin() { return this._stdin; }
28
+ get stdout() { return this._stdout; }
29
+ get closed() { return Promise.resolve(); }
30
+ }
31
+
32
+ function createMockSocket() {
33
+ return { emit: vi.fn(), on: vi.fn(), off: vi.fn() };
34
+ }
35
+
36
+ describe('AcpSessionBridge - requestPermission', () => {
37
+ let mockSocket: ReturnType<typeof createMockSocket>;
38
+ let mockSpawner: MockAcpSpawner;
39
+
40
+ function createBridge() {
41
+ return new AcpSessionBridge(
42
+ mockSocket as never,
43
+ { sessionId: 'sess-1', cwd: '/home/user' },
44
+ mockSpawner as never,
45
+ );
46
+ }
47
+
48
+ beforeEach(() => {
49
+ vi.clearAllMocks();
50
+ vi.useFakeTimers();
51
+ mockSocket = createMockSocket();
52
+ mockSpawner = new MockAcpSpawner();
53
+ });
54
+
55
+ afterEach(() => {
56
+ vi.useRealTimers();
57
+ vi.restoreAllMocks();
58
+ });
59
+
60
+ it('should emit acp:permission and wait for response', async () => {
61
+ const bridge = createBridge();
62
+ const options = [
63
+ { optionId: 'opt-1', name: 'Allow', kind: 'allow_once' as const },
64
+ { optionId: 'opt-2', name: 'Reject', kind: 'reject_once' as const },
65
+ ];
66
+
67
+ const promise = bridge.requestPermission({
68
+ toolCall: { toolCallId: 'tc-1' },
69
+ options,
70
+ } as never);
71
+
72
+ expect(mockSocket.emit).toHaveBeenCalledWith('acp:permission', expect.objectContaining({
73
+ sessionId: 'sess-1',
74
+ toolCall: { toolCallId: 'tc-1' },
75
+ options,
76
+ }));
77
+
78
+ const emitCall = mockSocket.emit.mock.calls.find((c: unknown[]) => c[0] === 'acp:permission');
79
+ const requestId = (emitCall![1] as { requestId: string }).requestId;
80
+ expect(requestId).toMatch(/^perm_\d+_/);
81
+
82
+ bridge.handlePermissionResponse(requestId, { outcome: 'selected', optionId: 'opt-1' });
83
+
84
+ const result = await promise;
85
+ expect(result).toEqual({ outcome: { outcome: 'selected', optionId: 'opt-1' } });
86
+ });
87
+
88
+ it('should resolve with cancelled after 65s timeout', async () => {
89
+ const bridge = createBridge();
90
+
91
+ const promise = bridge.requestPermission({
92
+ toolCall: { toolCallId: 'tc-1' },
93
+ options: [{ optionId: 'opt-1', name: 'Allow', kind: 'allow_once' }],
94
+ } as never);
95
+
96
+ await vi.advanceTimersByTimeAsync(65_000);
97
+
98
+ const result = await promise;
99
+ expect(result).toEqual({ outcome: { outcome: 'cancelled' } });
100
+ });
101
+
102
+ it('should not resolve with cancelled if response arrives before timeout', async () => {
103
+ const bridge = createBridge();
104
+
105
+ const promise = bridge.requestPermission({
106
+ toolCall: { toolCallId: 'tc-1' },
107
+ options: [{ optionId: 'opt-1', name: 'Allow', kind: 'allow_once' }],
108
+ } as never);
109
+
110
+ const emitCall = mockSocket.emit.mock.calls.find((c: unknown[]) => c[0] === 'acp:permission');
111
+ const requestId = (emitCall![1] as { requestId: string }).requestId;
112
+
113
+ await vi.advanceTimersByTimeAsync(30_000);
114
+ bridge.handlePermissionResponse(requestId, { outcome: 'selected', optionId: 'opt-1' });
115
+
116
+ const result = await promise;
117
+ expect(result).toEqual({ outcome: { outcome: 'selected', optionId: 'opt-1' } });
118
+
119
+ await vi.advanceTimersByTimeAsync(35_000);
120
+ });
121
+
122
+ it('should warn and ignore invalid requestId in handlePermissionResponse', () => {
123
+ const bridge = createBridge();
124
+ const warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => {});
125
+
126
+ bridge.handlePermissionResponse('invalid-id', { outcome: 'selected', optionId: 'opt-1' });
127
+
128
+ expect(warnSpy).toHaveBeenCalledWith('Permission request invalid-id not found');
129
+ warnSpy.mockRestore();
130
+ });
131
+
132
+ it('should handle cancelled outcome from user', async () => {
133
+ const bridge = createBridge();
134
+
135
+ const promise = bridge.requestPermission({
136
+ toolCall: { toolCallId: 'tc-1' },
137
+ options: [{ optionId: 'opt-1', name: 'Allow', kind: 'allow_once' }],
138
+ } as never);
139
+
140
+ const emitCall = mockSocket.emit.mock.calls.find((c: unknown[]) => c[0] === 'acp:permission');
141
+ const requestId = (emitCall![1] as { requestId: string }).requestId;
142
+
143
+ bridge.handlePermissionResponse(requestId, { outcome: 'cancelled' });
144
+
145
+ const result = await promise;
146
+ expect(result).toEqual({ outcome: { outcome: 'cancelled' } });
147
+ });
148
+
149
+ it('should handle concurrent permission requests independently', async () => {
150
+ const bridge = createBridge();
151
+
152
+ const promise1 = bridge.requestPermission({
153
+ toolCall: { toolCallId: 'tc-1' },
154
+ options: [{ optionId: 'opt-1', name: 'Allow', kind: 'allow_once' }],
155
+ } as never);
156
+
157
+ const promise2 = bridge.requestPermission({
158
+ toolCall: { toolCallId: 'tc-2' },
159
+ options: [{ optionId: 'opt-2', name: 'Reject', kind: 'reject_once' }],
160
+ } as never);
161
+
162
+ const calls = mockSocket.emit.mock.calls.filter((c: unknown[]) => c[0] === 'acp:permission');
163
+ expect(calls).toHaveLength(2);
164
+
165
+ const requestId1 = (calls[0][1] as { requestId: string }).requestId;
166
+ const requestId2 = (calls[1][1] as { requestId: string }).requestId;
167
+ expect(requestId1).not.toBe(requestId2);
168
+
169
+ bridge.handlePermissionResponse(requestId2, { outcome: 'selected', optionId: 'opt-2' });
170
+ bridge.handlePermissionResponse(requestId1, { outcome: 'selected', optionId: 'opt-1' });
171
+
172
+ const [result1, result2] = await Promise.all([promise1, promise2]);
173
+ expect(result1).toEqual({ outcome: { outcome: 'selected', optionId: 'opt-1' } });
174
+ expect(result2).toEqual({ outcome: { outcome: 'selected', optionId: 'opt-2' } });
175
+ });
176
+
177
+ it('should clean up pending entry after timeout', async () => {
178
+ const bridge = createBridge();
179
+
180
+ const promise = bridge.requestPermission({
181
+ toolCall: { toolCallId: 'tc-1' },
182
+ options: [{ optionId: 'opt-1', name: 'Allow', kind: 'allow_once' }],
183
+ } as never);
184
+
185
+ await vi.advanceTimersByTimeAsync(65_000);
186
+ await promise;
187
+
188
+ const warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => {});
189
+ const emitCall = mockSocket.emit.mock.calls.find((c: unknown[]) => c[0] === 'acp:permission');
190
+ const requestId = (emitCall![1] as { requestId: string }).requestId;
191
+
192
+ bridge.handlePermissionResponse(requestId, { outcome: 'selected', optionId: 'opt-1' });
193
+ expect(warnSpy).toHaveBeenCalled();
194
+ warnSpy.mockRestore();
195
+ });
196
+ });
package/src/acp/bridge.ts CHANGED
@@ -39,6 +39,10 @@ export class AcpSessionBridge extends EventEmitter implements acp.Client {
39
39
  private textChunkTimer: ReturnType<typeof setTimeout> | null = null;
40
40
  private initializing = false;
41
41
  private stopped = false;
42
+ private pendingPermissions = new Map<string, {
43
+ resolve: (response: acp.RequestPermissionResponse) => void;
44
+ timeout: NodeJS.Timeout;
45
+ }>();
42
46
 
43
47
  constructor(socket: Socket, options: AcpBridgeOptions, spawner?: AcpSpawner) {
44
48
  super();
@@ -278,12 +282,37 @@ export class AcpSessionBridge extends EventEmitter implements acp.Client {
278
282
  async requestPermission(
279
283
  params: acp.RequestPermissionRequest,
280
284
  ): Promise<acp.RequestPermissionResponse> {
281
- return {
282
- outcome: {
283
- outcome: 'selected',
284
- optionId: params.options.find((o) => o.kind === 'allow_once')?.optionId ?? params.options[0]?.optionId ?? 'reject',
285
- },
286
- };
285
+ const requestId = `perm_${Date.now()}_${Math.random().toString(36).slice(2)}`;
286
+
287
+ return new Promise((resolve) => {
288
+ const timeout = setTimeout(() => {
289
+ this.pendingPermissions.delete(requestId);
290
+ resolve({ outcome: { outcome: 'cancelled' } });
291
+ }, 65_000);
292
+
293
+ this.pendingPermissions.set(requestId, { resolve, timeout });
294
+
295
+ this.socket.emit('acp:permission', {
296
+ requestId,
297
+ sessionId: this.sessionId,
298
+ toolCall: params.toolCall,
299
+ options: params.options,
300
+ });
301
+
302
+ this.emit('permission:sent', requestId);
303
+ });
304
+ }
305
+
306
+ handlePermissionResponse(requestId: string, outcome: acp.RequestPermissionOutcome): void {
307
+ const pending = this.pendingPermissions.get(requestId);
308
+ if (!pending) {
309
+ console.warn(`Permission request ${requestId} not found`);
310
+ return;
311
+ }
312
+
313
+ clearTimeout(pending.timeout);
314
+ this.pendingPermissions.delete(requestId);
315
+ pending.resolve({ outcome });
287
316
  }
288
317
 
289
318
  // ── text buffering ──
package/src/config.ts CHANGED
@@ -10,6 +10,7 @@ export interface ConfigData {
10
10
  key?: { value: string };
11
11
  server?: { endpoint: string };
12
12
  controller?: { name: string };
13
+ resumeToken?: { value: string };
13
14
  }
14
15
 
15
16
  export function readConfig(): ConfigData {
@@ -73,3 +74,20 @@ export function resolveEndpoint(cliEndpoint?: string): string | undefined {
73
74
  if (envEndpoint) return envEndpoint;
74
75
  return getEndpointFromConfig();
75
76
  }
77
+
78
+ export function getResumeTokenFromConfig(): string | undefined {
79
+ const config = readConfig();
80
+ return config.resumeToken?.value;
81
+ }
82
+
83
+ export function saveResumeTokenToConfig(token: string): void {
84
+ const config = readConfig();
85
+ config.resumeToken = { value: token };
86
+ writeConfig(config);
87
+ }
88
+
89
+ export function clearResumeTokenFromConfig(): void {
90
+ const config = readConfig();
91
+ delete config.resumeToken;
92
+ writeConfig(config);
93
+ }
@@ -1,10 +1,11 @@
1
1
  import { io as createSocketIOClient, type Socket } from 'socket.io-client';
2
+ import * as acp from '@agentclientprotocol/sdk';
2
3
  import { hostname, platform } from 'os';
3
4
  import { readdir, access } from 'fs/promises';
4
5
  import { join } from 'path';
5
6
  import { homedir } from 'os';
6
7
  import { Heartbeat } from './heartbeat.js';
7
- import { clearConfigKey, saveKeyToConfig, saveEndpointToConfig } from './config.js';
8
+ import { clearConfigKey, saveKeyToConfig, saveEndpointToConfig, getResumeTokenFromConfig, saveResumeTokenToConfig, clearResumeTokenFromConfig } from './config.js';
8
9
  import { acpDetector } from './acp/detector.js';
9
10
  import { AcpSpawner } from './acp/spawner.js';
10
11
  import { AcpSessionBridge } from './acp/bridge.js';
@@ -14,8 +15,9 @@ import { worktreeHandler } from './worktree-handler.js';
14
15
  import { fsHandler } from './fs-handler.js';
15
16
  import { portForwardManager } from './port-forward.js';
16
17
 
17
- const CONTROLLER_VERSION = '1.0.4';
18
+ const CONTROLLER_VERSION = '1.1.1';
18
19
  const acpBridges = new Map<string, AcpSessionBridge>();
20
+ const permissionRequestBridge = new Map<string, AcpSessionBridge>();
19
21
 
20
22
  function createSpawner(serverType: string, sessionId: string, cwd: string): AcpSpawner {
21
23
  const config = acpDetector.getSpawnerConfig(serverType);
@@ -24,6 +26,7 @@ function createSpawner(serverType: string, sessionId: string, cwd: string): AcpS
24
26
 
25
27
  interface RegisteredPayload {
26
28
  controllerId: string;
29
+ resumeToken?: string;
27
30
  }
28
31
 
29
32
  interface ErrorPayload {
@@ -155,22 +158,32 @@ export function connectToServer(
155
158
 
156
159
  socket.on('connect', () => {
157
160
  console.log(`Connected to ${endpoint}`);
161
+ const resumeToken = getResumeTokenFromConfig();
158
162
  socket.emit('register', {
159
163
  key,
160
164
  hostname: controllerName,
161
165
  version: CONTROLLER_VERSION,
166
+ resumeToken,
162
167
  });
163
168
  });
164
169
 
165
170
  socket.on('registered', (data: RegisteredPayload) => {
166
171
  console.log(`Controller registered: ${data.controllerId}`);
172
+ if (data.resumeToken) {
173
+ saveResumeTokenToConfig(data.resumeToken);
174
+ console.log('Resume token saved to config');
175
+ }
167
176
  heartbeat.start(() => socket.emit('heartbeat'));
168
177
  });
169
178
 
170
179
  socket.on('error', (data: ErrorPayload) => {
171
180
  console.error(`Server error: ${data.code} - ${data.message}`);
172
181
  if (data.code === 'KEY_ALREADY_ONLINE') {
173
- console.error('This key is already in use on another machine.');
182
+ console.log('Clearing resume token and retrying connection...');
183
+ clearResumeTokenFromConfig();
184
+ // Don't exit, let the reconnection logic handle it
185
+ socket.disconnect();
186
+ return;
174
187
  }
175
188
  socket.disconnect();
176
189
  process.exit(1);
@@ -215,6 +228,10 @@ export function connectToServer(
215
228
 
216
229
  acpBridges.set(data.sessionId, bridge);
217
230
 
231
+ bridge.on('permission:sent', (requestId: string) => {
232
+ permissionRequestBridge.set(requestId, bridge);
233
+ });
234
+
218
235
  const onInitialized = (payload: Record<string, unknown>) => {
219
236
  if (payload.sessionId !== data.sessionId) return;
220
237
  bridge.off('acp:initialized', onInitialized);
@@ -276,6 +293,10 @@ export function connectToServer(
276
293
 
277
294
  acpBridges.set(data.sessionId, bridge);
278
295
 
296
+ bridge.on('permission:sent', (requestId: string) => {
297
+ permissionRequestBridge.set(requestId, bridge);
298
+ });
299
+
279
300
  const onInitialized = (payload: Record<string, unknown>) => {
280
301
  if (payload.sessionId !== data.sessionId) return;
281
302
  bridge.off('acp:initialized', onInitialized);
@@ -579,10 +600,22 @@ export function connectToServer(
579
600
  portForwardManager.closeTunnel(data.tunnelId);
580
601
  });
581
602
 
603
+ socket.on('acp:permission:response', (data: {
604
+ requestId: string;
605
+ outcome: { outcome: string; optionId?: string };
606
+ }) => {
607
+ const bridge = permissionRequestBridge.get(data.requestId);
608
+ if (bridge) {
609
+ permissionRequestBridge.delete(data.requestId);
610
+ bridge.handlePermissionResponse(data.requestId, data.outcome as acp.RequestPermissionOutcome);
611
+ }
612
+ });
613
+
582
614
  socket.on('disconnect', (reason) => {
583
615
  console.log(`Disconnected: ${reason}`);
584
616
  heartbeat.stop();
585
617
  portForwardManager.closeAll();
618
+ permissionRequestBridge.clear();
586
619
  });
587
620
 
588
621
  socket.on('connect_error', (err) => {
@@ -449,18 +449,45 @@ describe('AcpSessionBridge', () => {
449
449
  });
450
450
 
451
451
  describe('requestPermission', () => {
452
- it('should auto-accept with allow_once', async () => {
452
+ it('should emit acp:permission and wait for response', async () => {
453
453
  const bridge = createBridge();
454
- const result = await bridge.requestPermission({
455
- options: [
456
- { optionId: 'opt-1', kind: 'allow_once', label: 'Allow' },
457
- { optionId: 'opt-2', kind: 'reject', label: 'Reject' },
458
- ],
454
+ const options = [
455
+ { optionId: 'opt-1', kind: 'allow_once', label: 'Allow' },
456
+ { optionId: 'opt-2', kind: 'reject', label: 'Reject' },
457
+ ];
458
+
459
+ const promise = bridge.requestPermission({
460
+ options,
461
+ toolCall: { toolCallId: 'tc-1' },
459
462
  } as never);
460
463
 
461
- expect(result).toEqual({
462
- outcome: { outcome: 'selected', optionId: 'opt-1' },
463
- });
464
+ expect(mockSocket.emit).toHaveBeenCalledWith('acp:permission', expect.objectContaining({
465
+ sessionId: 'sess-1',
466
+ toolCall: { toolCallId: 'tc-1' },
467
+ options,
468
+ }));
469
+
470
+ const emitCall = mockSocket.emit.mock.calls.find((c: unknown[]) => c[0] === 'acp:permission');
471
+ const requestId = (emitCall![1] as { requestId: string }).requestId;
472
+
473
+ bridge.handlePermissionResponse(requestId, { outcome: 'selected', optionId: 'opt-1' });
474
+
475
+ const result = await promise;
476
+ expect(result).toEqual({ outcome: { outcome: 'selected', optionId: 'opt-1' } });
477
+ });
478
+
479
+ it('should resolve with cancelled on 65s timeout', async () => {
480
+ const bridge = createBridge();
481
+
482
+ const promise = bridge.requestPermission({
483
+ options: [{ optionId: 'opt-1', kind: 'allow_once', label: 'Allow' }],
484
+ toolCall: { toolCallId: 'tc-1' },
485
+ } as never);
486
+
487
+ await vi.advanceTimersByTimeAsync(65_000);
488
+
489
+ const result = await promise;
490
+ expect(result).toEqual({ outcome: { outcome: 'cancelled' } });
464
491
  });
465
492
  });
466
493
 
@@ -21,6 +21,9 @@ vi.mock('../src/config.js', () => ({
21
21
  clearConfigKey: vi.fn(),
22
22
  saveKeyToConfig: vi.fn(),
23
23
  saveEndpointToConfig: vi.fn(),
24
+ getResumeTokenFromConfig: vi.fn(),
25
+ saveResumeTokenToConfig: vi.fn(),
26
+ clearResumeTokenFromConfig: vi.fn(),
24
27
  }));
25
28
 
26
29
  vi.mock('os', () => ({
@@ -101,7 +104,8 @@ describe('SocketIO Client', () => {
101
104
  expect(mockSocket.emit).toHaveBeenCalledWith('register', {
102
105
  key: 'zag_k_1_abc123',
103
106
  hostname: 'my-machine',
104
- version: '1.0.4',
107
+ version: '1.1.1',
108
+ resumeToken: undefined,
105
109
  });
106
110
  });
107
111
 
@@ -116,7 +120,8 @@ describe('SocketIO Client', () => {
116
120
  expect(mockSocket.emit).toHaveBeenCalledWith('register', {
117
121
  key: 'zag_k_1_abc123',
118
122
  hostname: 'test-machine',
119
- version: '1.0.4',
123
+ version: '1.1.1',
124
+ resumeToken: undefined,
120
125
  });
121
126
  });
122
127