@animalabs/agent-framework 0.6.6 → 0.6.7

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 (128) hide show
  1. package/README.md +78 -0
  2. package/dist/src/agent.d.ts +39 -2
  3. package/dist/src/agent.d.ts.map +1 -1
  4. package/dist/src/agent.js +172 -56
  5. package/dist/src/agent.js.map +1 -1
  6. package/dist/src/api/mcp-server.js +0 -0
  7. package/dist/src/api/server.d.ts.map +1 -1
  8. package/dist/src/api/server.js +7 -2
  9. package/dist/src/api/server.js.map +1 -1
  10. package/dist/src/canonical-json.d.ts +2 -0
  11. package/dist/src/canonical-json.d.ts.map +1 -0
  12. package/dist/src/canonical-json.js +23 -0
  13. package/dist/src/canonical-json.js.map +1 -0
  14. package/dist/src/framework.d.ts +147 -3
  15. package/dist/src/framework.d.ts.map +1 -1
  16. package/dist/src/framework.js +2719 -125
  17. package/dist/src/framework.js.map +1 -1
  18. package/dist/src/gate/event-gate.d.ts.map +1 -1
  19. package/dist/src/gate/event-gate.js +9 -2
  20. package/dist/src/gate/event-gate.js.map +1 -1
  21. package/dist/src/index.d.ts +4 -0
  22. package/dist/src/index.d.ts.map +1 -1
  23. package/dist/src/index.js +3 -0
  24. package/dist/src/index.js.map +1 -1
  25. package/dist/src/mcpl/channel-registry.d.ts +3 -1
  26. package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
  27. package/dist/src/mcpl/channel-registry.js +29 -15
  28. package/dist/src/mcpl/channel-registry.js.map +1 -1
  29. package/dist/src/mcpl/server-connection.d.ts +36 -3
  30. package/dist/src/mcpl/server-connection.d.ts.map +1 -1
  31. package/dist/src/mcpl/server-connection.js +142 -28
  32. package/dist/src/mcpl/server-connection.js.map +1 -1
  33. package/dist/src/modules/workspace/index.d.ts +12 -1
  34. package/dist/src/modules/workspace/index.d.ts.map +1 -1
  35. package/dist/src/modules/workspace/index.js +661 -2
  36. package/dist/src/modules/workspace/index.js.map +1 -1
  37. package/dist/src/modules/workspace/types.d.ts +4 -0
  38. package/dist/src/modules/workspace/types.d.ts.map +1 -1
  39. package/dist/src/modules/workspace/types.js.map +1 -1
  40. package/dist/src/recovery/discord-awareness-outbox.d.ts +99 -0
  41. package/dist/src/recovery/discord-awareness-outbox.d.ts.map +1 -0
  42. package/dist/src/recovery/discord-awareness-outbox.js +334 -0
  43. package/dist/src/recovery/discord-awareness-outbox.js.map +1 -0
  44. package/dist/src/recovery/offline-branch.d.ts +45 -0
  45. package/dist/src/recovery/offline-branch.d.ts.map +1 -0
  46. package/dist/src/recovery/offline-branch.js +362 -0
  47. package/dist/src/recovery/offline-branch.js.map +1 -0
  48. package/dist/src/recovery/recover-cli.d.ts +3 -0
  49. package/dist/src/recovery/recover-cli.d.ts.map +1 -0
  50. package/dist/src/recovery/recover-cli.js +129 -0
  51. package/dist/src/recovery/recover-cli.js.map +1 -0
  52. package/dist/src/types/agent.d.ts +22 -0
  53. package/dist/src/types/agent.d.ts.map +1 -1
  54. package/dist/src/types/framework.d.ts +14 -0
  55. package/dist/src/types/framework.d.ts.map +1 -1
  56. package/dist/src/types/module.d.ts +31 -0
  57. package/dist/src/types/module.d.ts.map +1 -1
  58. package/dist/src/types/trace.d.ts +2 -0
  59. package/dist/src/types/trace.d.ts.map +1 -1
  60. package/dist/test/agent-runtime-settings.test.js +200 -93
  61. package/dist/test/agent-runtime-settings.test.js.map +1 -1
  62. package/dist/test/busy-agent-scheduler.test.d.ts +2 -0
  63. package/dist/test/busy-agent-scheduler.test.d.ts.map +1 -0
  64. package/dist/test/busy-agent-scheduler.test.js +62 -0
  65. package/dist/test/busy-agent-scheduler.test.js.map +1 -0
  66. package/dist/test/channel-lifecycle-provenance.test.d.ts +2 -0
  67. package/dist/test/channel-lifecycle-provenance.test.d.ts.map +1 -0
  68. package/dist/test/channel-lifecycle-provenance.test.js +47 -0
  69. package/dist/test/channel-lifecycle-provenance.test.js.map +1 -0
  70. package/dist/test/discord-awareness-outbox.test.d.ts +2 -0
  71. package/dist/test/discord-awareness-outbox.test.d.ts.map +1 -0
  72. package/dist/test/discord-awareness-outbox.test.js +248 -0
  73. package/dist/test/discord-awareness-outbox.test.js.map +1 -0
  74. package/dist/test/helpers/mock-membrane.js +1 -1
  75. package/dist/test/helpers/mock-membrane.js.map +1 -1
  76. package/dist/test/maintenance-timer.test.js +100 -0
  77. package/dist/test/maintenance-timer.test.js.map +1 -1
  78. package/dist/test/mcpl-awareness-barrier.test.d.ts +2 -0
  79. package/dist/test/mcpl-awareness-barrier.test.d.ts.map +1 -0
  80. package/dist/test/mcpl-awareness-barrier.test.js +845 -0
  81. package/dist/test/mcpl-awareness-barrier.test.js.map +1 -0
  82. package/dist/test/mcpl-reconnect-reregistration.test.js +22 -3
  83. package/dist/test/mcpl-reconnect-reregistration.test.js.map +1 -1
  84. package/dist/test/mcpl-request-timeout.test.js +15 -0
  85. package/dist/test/mcpl-request-timeout.test.js.map +1 -1
  86. package/dist/test/offline-recovery-branch.test.d.ts +2 -0
  87. package/dist/test/offline-recovery-branch.test.d.ts.map +1 -0
  88. package/dist/test/offline-recovery-branch.test.js +226 -0
  89. package/dist/test/offline-recovery-branch.test.js.map +1 -0
  90. package/dist/test/present-while-acting.test.d.ts +3 -2
  91. package/dist/test/present-while-acting.test.d.ts.map +1 -1
  92. package/dist/test/present-while-acting.test.js +31 -3
  93. package/dist/test/present-while-acting.test.js.map +1 -1
  94. package/dist/test/primary-summary-refusal-fallback-integration.test.d.ts +2 -0
  95. package/dist/test/primary-summary-refusal-fallback-integration.test.d.ts.map +1 -0
  96. package/dist/test/primary-summary-refusal-fallback-integration.test.js +1955 -0
  97. package/dist/test/primary-summary-refusal-fallback-integration.test.js.map +1 -0
  98. package/dist/test/primary-summary-refusal-fallback.test.d.ts +2 -0
  99. package/dist/test/primary-summary-refusal-fallback.test.d.ts.map +1 -0
  100. package/dist/test/primary-summary-refusal-fallback.test.js +753 -0
  101. package/dist/test/primary-summary-refusal-fallback.test.js.map +1 -0
  102. package/dist/test/same-round-think-policy.test.d.ts +2 -0
  103. package/dist/test/same-round-think-policy.test.d.ts.map +1 -0
  104. package/dist/test/same-round-think-policy.test.js +853 -0
  105. package/dist/test/same-round-think-policy.test.js.map +1 -0
  106. package/dist/test/workspace-read-image.test.d.ts +2 -0
  107. package/dist/test/workspace-read-image.test.d.ts.map +1 -0
  108. package/dist/test/workspace-read-image.test.js +518 -0
  109. package/dist/test/workspace-read-image.test.js.map +1 -0
  110. package/dist/tsconfig.tsbuildinfo +1 -1
  111. package/package.json +5 -3
  112. package/src/agent.ts +265 -62
  113. package/src/api/server.ts +8 -2
  114. package/src/canonical-json.ts +22 -0
  115. package/src/framework.ts +3561 -145
  116. package/src/gate/event-gate.ts +15 -3
  117. package/src/index.ts +20 -0
  118. package/src/mcpl/channel-registry.ts +31 -16
  119. package/src/mcpl/server-connection.ts +163 -28
  120. package/src/modules/workspace/index.ts +759 -2
  121. package/src/modules/workspace/types.ts +5 -0
  122. package/src/recovery/discord-awareness-outbox.ts +459 -0
  123. package/src/recovery/offline-branch.ts +510 -0
  124. package/src/recovery/recover-cli.ts +130 -0
  125. package/src/types/agent.ts +26 -0
  126. package/src/types/framework.ts +17 -0
  127. package/src/types/module.ts +33 -0
  128. package/src/types/trace.ts +2 -0
@@ -42,10 +42,14 @@ export declare class McplServerConnection extends EventEmitter {
42
42
  get isConnected(): boolean;
43
43
  private nextRequestId;
44
44
  private pendingRequests;
45
+ /** Metadata retained after selected request deadlines so a late response is
46
+ * observable even though its original promise has already been rejected. */
47
+ private orphanedRequests;
45
48
  private closed;
46
49
  /** Per-request timeout in ms (0 disables). See McplServerConfig.requestTimeoutMs. */
47
50
  private requestTimeoutMs;
48
- private readyFlag;
51
+ private controlPlaneReady;
52
+ private dataPlaneReady;
49
53
  private bufferedEvents;
50
54
  private config;
51
55
  private hostCapabilities;
@@ -70,10 +74,26 @@ export declare class McplServerConnection extends EventEmitter {
70
74
  */
71
75
  ready(): void;
72
76
  /**
73
- * Override emit to buffer server→host events until ready() is called.
74
- * Lifecycle events ('close', 'error', 'reconnect') always pass through.
77
+ * Release only server-establishment and lifecycle/control traffic. Responses
78
+ * to host requests are never event-buffered, so tools/list and tools/call
79
+ * responses remain live as well. Inference-bearing requests stay queued in
80
+ * their original relative order until {@link ready} is called.
81
+ */
82
+ readyControlPlane(): void;
83
+ /**
84
+ * Close the data plane synchronously while leaving an already-released
85
+ * control plane live. Used before reconnect adoption and list-change
86
+ * reconciliation so no new inference event can beat barrier installation.
87
+ */
88
+ pauseDataPlane(): void;
89
+ /**
90
+ * Override emit to buffer server→host events until the corresponding plane
91
+ * is ready. Lifecycle events always pass through so reconnect can install a
92
+ * new data-plane gate before the fresh transport is exposed.
75
93
  */
76
94
  emit(event: string | symbol, ...args: unknown[]): boolean;
95
+ private static isControlPlaneEvent;
96
+ private static isLifecycleEvent;
77
97
  /**
78
98
  * Open the transport, perform the MCP initialize handshake with MCPL
79
99
  * capability negotiation, and return a ready-to-use connection.
@@ -153,8 +173,21 @@ export declare class McplServerConnection extends EventEmitter {
153
173
  state?: unknown;
154
174
  checkpoint?: string;
155
175
  }): Promise<McpToolCallResult>;
176
+ /**
177
+ * Send a tools/call with a mandatory request-local deadline. This is used by
178
+ * durable external-side-effect accounting, whose safety bound must remain in
179
+ * force even when the server's general requestTimeoutMs is configured as 0.
180
+ */
181
+ sendToolsCallWithDeadline(name: string, args: Record<string, unknown>, timeoutMs: number): Promise<McpToolCallResult>;
156
182
  /** Close the connection: disable reconnect, kill the child process, and clean up resources. */
157
183
  close(): Promise<void>;
184
+ /**
185
+ * Tear down a live transport after an awareness-accounting failure without
186
+ * disabling configured auto-reconnect. The normal transport close handler
187
+ * rejects requests, emits lifecycle state, and schedules the next bounded
188
+ * reconnect attempt. With reconnect disabled this leaves the server closed.
189
+ */
190
+ reconnectAfterFailure(): Promise<void>;
158
191
  /**
159
192
  * Schedule a background reconnection attempt.
160
193
  *
@@ -1 +1 @@
1
- {"version":3,"file":"server-connection.d.ts","sourceRoot":"","sources":["../../../src/mcpl/server-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-connection.d.ts","sourceRoot":"","sources":["../../../src/mcpl/server-connection.ts"],"names":[],"mappings":"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"}
@@ -56,11 +56,18 @@ export class McplServerConnection extends EventEmitter {
56
56
  }
57
57
  nextRequestId = 1;
58
58
  pendingRequests = new Map();
59
+ /** Metadata retained after selected request deadlines so a late response is
60
+ * observable even though its original promise has already been rejected. */
61
+ orphanedRequests = new Map();
59
62
  closed = false;
60
63
  /** Per-request timeout in ms (0 disables). See McplServerConfig.requestTimeoutMs. */
61
64
  requestTimeoutMs = DEFAULT_REQUEST_TIMEOUT_MS;
62
- // Event buffering: events emitted before ready() are queued, not lost
63
- readyFlag = false;
65
+ // Event buffering: control-plane traffic can be released independently from
66
+ // inference-bearing data-plane traffic. This lets a server finish its own
67
+ // registration (and answer host tools/call requests) while startup/reconnect
68
+ // reconciliation keeps agent wakes behind a durable barrier.
69
+ controlPlaneReady = false;
70
+ dataPlaneReady = false;
64
71
  bufferedEvents = [];
65
72
  // Reconnect state (adapted from Anarchid/agent-framework@mcpl-module-proto)
66
73
  config = null;
@@ -99,24 +106,80 @@ export class McplServerConnection extends EventEmitter {
99
106
  * the caller has attached listeners via wireMcplEvents).
100
107
  */
101
108
  ready() {
102
- this.readyFlag = true;
103
- for (const { event, args } of this.bufferedEvents) {
104
- super.emit(event, ...args);
109
+ this.controlPlaneReady = true;
110
+ this.dataPlaneReady = true;
111
+ const pending = this.bufferedEvents;
112
+ this.bufferedEvents = [];
113
+ for (const { event, args } of pending) {
114
+ // Re-enter the gate for every buffered item. A control handler (notably
115
+ // tools/list_changed) may install a newer data-plane barrier while this
116
+ // snapshot is being flushed; later data items must observe that pause.
117
+ this.emit(event, ...args);
105
118
  }
119
+ }
120
+ /**
121
+ * Release only server-establishment and lifecycle/control traffic. Responses
122
+ * to host requests are never event-buffered, so tools/list and tools/call
123
+ * responses remain live as well. Inference-bearing requests stay queued in
124
+ * their original relative order until {@link ready} is called.
125
+ */
126
+ readyControlPlane() {
127
+ this.controlPlaneReady = true;
128
+ const pending = this.bufferedEvents;
129
+ const deferred = [];
106
130
  this.bufferedEvents = [];
131
+ for (const item of pending) {
132
+ if (McplServerConnection.isControlPlaneEvent(item.event)) {
133
+ super.emit(item.event, ...item.args);
134
+ }
135
+ else {
136
+ deferred.push(item);
137
+ }
138
+ }
139
+ // Data events emitted by control handlers while the snapshot was flushing
140
+ // were appended to the new buffer. Preserve their order behind older data.
141
+ this.bufferedEvents = [...deferred, ...this.bufferedEvents];
142
+ }
143
+ /**
144
+ * Close the data plane synchronously while leaving an already-released
145
+ * control plane live. Used before reconnect adoption and list-change
146
+ * reconciliation so no new inference event can beat barrier installation.
147
+ */
148
+ pauseDataPlane() {
149
+ this.dataPlaneReady = false;
107
150
  }
108
151
  /**
109
- * Override emit to buffer server→host events until ready() is called.
110
- * Lifecycle events ('close', 'error', 'reconnect') always pass through.
152
+ * Override emit to buffer server→host events until the corresponding plane
153
+ * is ready. Lifecycle events always pass through so reconnect can install a
154
+ * new data-plane gate before the fresh transport is exposed.
111
155
  */
112
156
  emit(event, ...args) {
113
157
  const name = typeof event === 'string' ? event : '';
114
- if (this.readyFlag || name === 'close' || name === 'error' || name === 'reconnect') {
158
+ if (McplServerConnection.isLifecycleEvent(name)
159
+ || (McplServerConnection.isControlPlaneEvent(name)
160
+ ? this.controlPlaneReady
161
+ : this.dataPlaneReady)) {
115
162
  return super.emit(event, ...args);
116
163
  }
117
164
  this.bufferedEvents.push({ event: name, args });
118
165
  return true;
119
166
  }
167
+ static isControlPlaneEvent(event) {
168
+ return event === 'stderr'
169
+ || event === 'scope-elevate'
170
+ || event === 'channels-register'
171
+ || event === 'channels-changed'
172
+ || event === 'feature-sets-changed'
173
+ || event === 'tools-list-changed'
174
+ || event === 'connect-failed'
175
+ || event === 'reconnect-failed'
176
+ || event === 'orphaned-response';
177
+ }
178
+ static isLifecycleEvent(event) {
179
+ return event === 'close'
180
+ || event === 'error'
181
+ || event === 'reconnect';
182
+ }
120
183
  // ==========================================================================
121
184
  // Static factory
122
185
  // ==========================================================================
@@ -359,6 +422,21 @@ export class McplServerConnection extends EventEmitter {
359
422
  params.checkpoint = stateParams.checkpoint;
360
423
  return this.sendRequest('tools/call', params);
361
424
  }
425
+ /**
426
+ * Send a tools/call with a mandatory request-local deadline. This is used by
427
+ * durable external-side-effect accounting, whose safety bound must remain in
428
+ * force even when the server's general requestTimeoutMs is configured as 0.
429
+ */
430
+ sendToolsCallWithDeadline(name, args, timeoutMs) {
431
+ const params = { name, arguments: args };
432
+ const mandatoryTimeoutMs = Number.isFinite(timeoutMs) && timeoutMs > 0
433
+ ? Math.max(1, Math.floor(timeoutMs))
434
+ : 1;
435
+ return this.sendRequest('tools/call', params, {
436
+ timeoutMs: mandatoryTimeoutMs,
437
+ surfaceOrphanedResponse: true,
438
+ });
439
+ }
362
440
  // ==========================================================================
363
441
  // Lifecycle
364
442
  // ==========================================================================
@@ -381,6 +459,7 @@ export class McplServerConnection extends EventEmitter {
381
459
  pending.reject(new Error(`Connection to MCPL server "${this.id}" closed while awaiting response for ${pending.method} (id=${id})`));
382
460
  }
383
461
  this.pendingRequests.clear();
462
+ this.orphanedRequests.clear();
384
463
  // Tear down the transport (kills the child / closes the socket). The
385
464
  // transport's own 'close' event is short-circuited by `this.closed` in
386
465
  // setupLifecycle, so this is the single source of the connection 'close'.
@@ -389,6 +468,26 @@ export class McplServerConnection extends EventEmitter {
389
468
  }
390
469
  this.emit('close');
391
470
  }
471
+ /**
472
+ * Tear down a live transport after an awareness-accounting failure without
473
+ * disabling configured auto-reconnect. The normal transport close handler
474
+ * rejects requests, emits lifecycle state, and schedules the next bounded
475
+ * reconnect attempt. With reconnect disabled this leaves the server closed.
476
+ */
477
+ async reconnectAfterFailure() {
478
+ this.pauseDataPlane();
479
+ if (this.closed) {
480
+ this.scheduleReconnect();
481
+ return;
482
+ }
483
+ if (this.transport) {
484
+ await this.transport.close();
485
+ return;
486
+ }
487
+ this.closed = true;
488
+ this.emit('close');
489
+ this.scheduleReconnect();
490
+ }
392
491
  /**
393
492
  * Schedule a background reconnection attempt.
394
493
  *
@@ -425,16 +524,17 @@ export class McplServerConnection extends EventEmitter {
425
524
  const attempt = Math.max(1, this.reconnectAttempts);
426
525
  try {
427
526
  const { transport, capabilities } = await McplServerConnection.handshake(this.config, this.hostCapabilities);
428
- // Adopt the new transport. Listeners were attached to external consumers
429
- // on the first wire, so mark ready immediately (re-wire re-binds the
430
- // transport-level handlers below).
527
+ // Close the data plane before the new transport can emit. The reconnect
528
+ // lifecycle event bypasses buffering; its framework listener installs the
529
+ // awareness barrier synchronously, then releases control traffic needed
530
+ // to establish the server while data remains held.
531
+ this.pauseDataPlane();
431
532
  this.transport = transport;
432
533
  this.capabilities = capabilities;
433
534
  this.closed = false;
434
535
  this.nextRequestId = 1;
435
536
  this.pendingRequests.clear();
436
537
  this.wireTransport(transport);
437
- this.readyFlag = true;
438
538
  console.error(`MCPL server "${this.id}" reconnected successfully`);
439
539
  this.reconnectAttempts = 0;
440
540
  this.emit('reconnect', { attempts: attempt });
@@ -460,7 +560,7 @@ export class McplServerConnection extends EventEmitter {
460
560
  * the framework maps the rejection to an isError tool_result, so a hung tool
461
561
  * surfaces as a normal tool error and the turn completes.
462
562
  */
463
- sendRequest(method, params) {
563
+ sendRequest(method, params, options = {}) {
464
564
  if (this.closed) {
465
565
  return Promise.reject(new Error(`Cannot send request: connection to "${this.id}" is closed`));
466
566
  }
@@ -473,16 +573,20 @@ export class McplServerConnection extends EventEmitter {
473
573
  };
474
574
  return new Promise((resolve, reject) => {
475
575
  const pending = { resolve, reject, method };
476
- if (this.requestTimeoutMs > 0) {
576
+ const timeoutMs = options.timeoutMs ?? this.requestTimeoutMs;
577
+ if (timeoutMs > 0) {
477
578
  pending.timer = setTimeout(() => {
478
579
  this.pendingRequests.delete(id);
580
+ if (options.surfaceOrphanedResponse) {
581
+ this.orphanedRequests.set(id, { method });
582
+ }
479
583
  reject(new Error(`MCPL server "${this.id}" did not respond to ${method} (id=${id}) ` +
480
- `within ${this.requestTimeoutMs}ms — the server may be hung. ` +
481
- `The request was abandoned; the connection remains open. Note the ` +
482
- `tool may still have completed server-side (this is only a response ` +
483
- `timeout, not a cancellation) — verify state before retrying, as a ` +
484
- `blind retry of a stateful/side-effecting tool may duplicate it.`));
485
- }, this.requestTimeoutMs);
584
+ `within ${timeoutMs}ms — the server may be hung. The response ` +
585
+ `outcome is unknown: the request was abandoned locally but was not ` +
586
+ `cancelled, so the tool may still have completed server-side; verify ` +
587
+ `state before retrying; a blind retry of a stateful/side-effecting ` +
588
+ `tool may duplicate it.`));
589
+ }, timeoutMs);
486
590
  // Don't hold the event loop open for the watchdog alone.
487
591
  pending.timer.unref?.();
488
592
  }
@@ -581,24 +685,33 @@ export class McplServerConnection extends EventEmitter {
581
685
  const pending = this.pendingRequests.get(response.id);
582
686
  if (!pending) {
583
687
  // Orphaned response — the request already timed out (or was settled) and
584
- // was removed from pendingRequests. Stateless late results are harmless to
585
- // drop, but a late STATEFUL result carries a `state`/`checkpoint` the
586
- // server has already advanced to: dropping it silently diverges the host's
587
- // checkpoint tree from the server's, and every subsequent call then sends
588
- // stale state. We can't safely re-inject it here (the dispatch context is
589
- // gone), but we surface it so the divergence is greppable instead of
590
- // invisible.
688
+ // was removed from pendingRequests. A late STATEFUL result must be
689
+ // surfaced because dropping it silently diverges the checkpoint tree.
690
+ // Selected side-effecting calls are also surfaced even without state so
691
+ // their outcome-unknown receipt remains visible. We cannot safely
692
+ // re-inject either result because the original dispatch context is gone.
693
+ const orphaned = this.orphanedRequests.get(response.id);
694
+ this.orphanedRequests.delete(response.id);
591
695
  const result = response.result;
592
696
  if (result && typeof result === 'object') {
593
697
  const r = result;
594
- if (r.state !== undefined || r.checkpoint !== undefined) {
698
+ if (orphaned || r.state !== undefined || r.checkpoint !== undefined) {
595
699
  this.emit('orphaned-response', {
596
700
  id: response.id,
701
+ method: orphaned?.method,
597
702
  hadState: r.state !== undefined,
598
703
  hadCheckpoint: r.checkpoint !== undefined,
599
704
  });
600
705
  }
601
706
  }
707
+ else if (orphaned) {
708
+ this.emit('orphaned-response', {
709
+ id: response.id,
710
+ method: orphaned.method,
711
+ hadState: false,
712
+ hadCheckpoint: false,
713
+ });
714
+ }
602
715
  return; // Orphaned response — ignore
603
716
  }
604
717
  this.pendingRequests.delete(response.id);
@@ -655,6 +768,7 @@ export class McplServerConnection extends EventEmitter {
655
768
  pending.reject(new Error(`MCPL server "${this.id}" disconnected unexpectedly (code=${info.code ?? 'n/a'}, signal=${info.signal ?? 'n/a'}, reason=${info.reason ?? 'unknown'}) while awaiting ${pending.method} (id=${id})`));
656
769
  }
657
770
  this.pendingRequests.clear();
771
+ this.orphanedRequests.clear();
658
772
  this.emit('close', info.code ?? null, info.signal ?? null);
659
773
  // Schedule reconnect if enabled (unexpected disconnect triggers auto-reconnect)
660
774
  if (this.reconnectEnabled) {
@@ -1 +1 @@
1
- {"version":3,"file":"server-connection.js","sourceRoot":"","sources":["../../../src/mcpl/server-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-connection.js","sourceRoot":"","sources":["../../../src/mcpl/server-connection.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import type { JsStore } from '@animalabs/chronicle';
8
8
  import type { Module, ModuleContext, ProcessState, EventResponse } from '../../types/module.js';
9
9
  import type { ProcessEvent, ToolDefinition, ToolCall, ToolResult } from '../../types/events.js';
10
10
  import type { WorkspaceConfig } from './types.js';
11
- export type { WorkspaceConfig, MountConfig, MountState, WorkspaceModuleState, ReadInput, WriteInput, EditInput, DeleteInput, LsInput, GlobInput, GrepInput, StatusInput, MaterializeInput, SyncInput, } from './types.js';
11
+ export type { WorkspaceConfig, MountConfig, MountState, WorkspaceModuleState, ReadInput, ReadImageInput, WriteInput, EditInput, DeleteInput, LsInput, GlobInput, GrepInput, StatusInput, MaterializeInput, SyncInput, } from './types.js';
12
12
  export declare class WorkspaceModule implements Module {
13
13
  readonly name = "workspace";
14
14
  private ctx;
@@ -46,11 +46,21 @@ export declare class WorkspaceModule implements Module {
46
46
  * for peer modules that need to read workspace files directly.
47
47
  */
48
48
  resolveAbsolutePath(mountPrefixedPath: string): string | null;
49
+ /**
50
+ * Write binary content (e.g. an image pulled from the agent's context) to a
51
+ * mount, through the same Chronicle-tree + auto-materialize path as the
52
+ * `write` tool. Public API for the framework's synthesized `save_image`
53
+ * tool and other peer callers that hold bytes rather than text.
54
+ */
55
+ writeBinary(mountPrefixedPath: string, data: Buffer, mimeType: string): Promise<ToolResult>;
49
56
  /**
50
57
  * Parse a mount-prefixed path into (mountName, relativePath).
51
58
  */
52
59
  private parsePath;
53
60
  private getStore;
61
+ private validateImageBytes;
62
+ private tryReadImageFromTree;
63
+ private readImageFromFilesystem;
54
64
  /**
55
65
  * Persist a single write/edit/delete to disk when the mount opts in via
56
66
  * `autoMaterialize`. Required for cross-agent pipelines — another agent's
@@ -69,6 +79,7 @@ export declare class WorkspaceModule implements Module {
69
79
  */
70
80
  private ensureSynced;
71
81
  private handleRead;
82
+ private handleReadImage;
72
83
  private handleWrite;
73
84
  private handleEdit;
74
85
  private handleDelete;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAChG,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAChG,OAAO,KAAK,EACV,eAAe,EAkBhB,MAAM,YAAY,CAAC;AAKpB,YAAY,EACV,eAAe,EACf,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,OAAO,EACP,SAAS,EACT,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,SAAS,GACV,MAAM,YAAY,CAAC;AAEpB,qBAAa,eAAgB,YAAW,MAAM;IAC5C,QAAQ,CAAC,IAAI,eAAe;IAE5B,OAAO,CAAC,GAAG,CAA8B;IACzC,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,QAAQ,CAAmC;gBAEvC,MAAM,EAAE,eAAe;IA2BnC;;;;;;;;OAQG;IACH,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAkCzB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB9C;;;;OAIG;IACH,OAAO,CAAC,aAAa;YAiDP,WAAW;IAmBnB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B3B,QAAQ,IAAI,cAAc,EAAE;IAiItB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAsBnD,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAsElF;;;;;OAKG;IACH,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAS7D;;OAEG;IACH,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,QAAQ;IAKhB;;;;;;;;;;;OAWG;YACW,eAAe;IA4C7B;;OAEG;YACW,YAAY;YA8BZ,UAAU;YAyCV,WAAW;YAsCX,UAAU;YAiEV,YAAY;YAyBZ,QAAQ;YAmER,UAAU;YAqCV,UAAU;YAwEV,YAAY;YA8BZ,iBAAiB;IAgE/B;;;;OAIG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAoB9C,UAAU;IAmDxB;;;;;;;OAOG;YACW,eAAe;IA0B7B;;OAEG;IACH,OAAO,CAAC,YAAY;CAuCrB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAChG,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAChG,OAAO,KAAK,EACV,eAAe,EAmBhB,MAAM,YAAY,CAAC;AAKpB,YAAY,EACV,eAAe,EACf,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,cAAc,EACd,UAAU,EACV,SAAS,EACT,WAAW,EACX,OAAO,EACP,SAAS,EACT,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,SAAS,GACV,MAAM,YAAY,CAAC;AAidpB,qBAAa,eAAgB,YAAW,MAAM;IAC5C,QAAQ,CAAC,IAAI,eAAe;IAE5B,OAAO,CAAC,GAAG,CAA8B;IACzC,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,QAAQ,CAAmC;gBAEvC,MAAM,EAAE,eAAe;IA2BnC;;;;;;;;OAQG;IACH,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAkCzB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB9C;;;;OAIG;IACH,OAAO,CAAC,aAAa;YAiDP,WAAW;IAmBnB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B3B,QAAQ,IAAI,cAAc,EAAE;IA4ItB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAuBnD,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAsElF;;;;;OAKG;IACH,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAS7D;;;;;OAKG;IACG,WAAW,CACf,iBAAiB,EAAE,MAAM,EACzB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC;IAwCtB;;OAEG;IACH,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,oBAAoB;YAkBd,uBAAuB;IAuHrC;;;;;;;;;;;OAWG;YACW,eAAe;IA4C7B;;OAEG;YACW,YAAY;YA8BZ,UAAU;YAyCV,eAAe;YAwEf,WAAW;YAsCX,UAAU;YAiEV,YAAY;YAyBZ,QAAQ;YAmER,UAAU;YAqCV,UAAU;YAwEV,YAAY;YA8BZ,iBAAiB;IAgE/B;;;;OAIG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAoB9C,UAAU;IAmDxB;;;;;;;OAOG;YACW,eAAe;IA0B7B;;OAEG;IACH,OAAO,CAAC,YAAY;CAuCrB"}