@animalabs/agent-framework 0.30.0 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/README.md +71 -8
  2. package/dist/src/agent.d.ts +29 -9
  3. package/dist/src/agent.d.ts.map +1 -1
  4. package/dist/src/agent.js +82 -17
  5. package/dist/src/agent.js.map +1 -1
  6. package/dist/src/api/mcp-server-core.d.ts.map +1 -1
  7. package/dist/src/api/mcp-server-core.js +10 -3
  8. package/dist/src/api/mcp-server-core.js.map +1 -1
  9. package/dist/src/code-execution/isolate/render.d.ts.map +1 -1
  10. package/dist/src/code-execution/isolate/render.js +7 -6
  11. package/dist/src/code-execution/isolate/render.js.map +1 -1
  12. package/dist/src/code-execution/isolate/scripts.d.ts.map +1 -1
  13. package/dist/src/code-execution/isolate/scripts.js +5 -4
  14. package/dist/src/code-execution/isolate/scripts.js.map +1 -1
  15. package/dist/src/framework.d.ts +129 -92
  16. package/dist/src/framework.d.ts.map +1 -1
  17. package/dist/src/framework.js +1115 -704
  18. package/dist/src/framework.js.map +1 -1
  19. package/dist/src/gate/event-gate.d.ts +24 -17
  20. package/dist/src/gate/event-gate.d.ts.map +1 -1
  21. package/dist/src/gate/event-gate.js +198 -144
  22. package/dist/src/gate/event-gate.js.map +1 -1
  23. package/dist/src/gate/recipe-reconcile.d.ts.map +1 -1
  24. package/dist/src/gate/recipe-reconcile.js +6 -5
  25. package/dist/src/gate/recipe-reconcile.js.map +1 -1
  26. package/dist/src/host-presentation.d.ts.map +1 -1
  27. package/dist/src/host-presentation.js +5 -7
  28. package/dist/src/host-presentation.js.map +1 -1
  29. package/dist/src/index.d.ts +1 -0
  30. package/dist/src/index.d.ts.map +1 -1
  31. package/dist/src/index.js +1 -0
  32. package/dist/src/index.js.map +1 -1
  33. package/dist/src/inference-bounds.d.ts +37 -0
  34. package/dist/src/inference-bounds.d.ts.map +1 -0
  35. package/dist/src/inference-bounds.js +84 -0
  36. package/dist/src/inference-bounds.js.map +1 -0
  37. package/dist/src/line-reader.d.ts +7 -1
  38. package/dist/src/line-reader.d.ts.map +1 -1
  39. package/dist/src/line-reader.js +17 -6
  40. package/dist/src/line-reader.js.map +1 -1
  41. package/dist/src/mcpl/errors.d.ts +1 -0
  42. package/dist/src/mcpl/errors.d.ts.map +1 -1
  43. package/dist/src/mcpl/errors.js +3 -0
  44. package/dist/src/mcpl/errors.js.map +1 -1
  45. package/dist/src/mcpl/inbound-source.d.ts +2 -2
  46. package/dist/src/mcpl/inbound-source.js +2 -2
  47. package/dist/src/mcpl/inference-router.d.ts +11 -1
  48. package/dist/src/mcpl/inference-router.d.ts.map +1 -1
  49. package/dist/src/mcpl/inference-router.js +65 -9
  50. package/dist/src/mcpl/inference-router.js.map +1 -1
  51. package/dist/src/mcpl/modern-connection.d.ts +10 -7
  52. package/dist/src/mcpl/modern-connection.d.ts.map +1 -1
  53. package/dist/src/mcpl/modern-connection.js +85 -74
  54. package/dist/src/mcpl/modern-connection.js.map +1 -1
  55. package/dist/src/mcpl/protocol-family.d.ts +1 -1
  56. package/dist/src/mcpl/protocol-family.d.ts.map +1 -1
  57. package/dist/src/mcpl/protocol-family.js +45 -3
  58. package/dist/src/mcpl/protocol-family.js.map +1 -1
  59. package/dist/src/mcpl/push-coalescer.d.ts +2 -7
  60. package/dist/src/mcpl/push-coalescer.d.ts.map +1 -1
  61. package/dist/src/mcpl/push-coalescer.js.map +1 -1
  62. package/dist/src/mcpl/references.d.ts +1 -2
  63. package/dist/src/mcpl/references.d.ts.map +1 -1
  64. package/dist/src/mcpl/references.js +3 -3
  65. package/dist/src/mcpl/references.js.map +1 -1
  66. package/dist/src/mcpl/server-connection.d.ts +14 -0
  67. package/dist/src/mcpl/server-connection.d.ts.map +1 -1
  68. package/dist/src/mcpl/server-connection.js +26 -22
  69. package/dist/src/mcpl/server-connection.js.map +1 -1
  70. package/dist/src/mcpl/tool-signature.d.ts +1 -0
  71. package/dist/src/mcpl/tool-signature.d.ts.map +1 -1
  72. package/dist/src/mcpl/tool-signature.js +16 -11
  73. package/dist/src/mcpl/tool-signature.js.map +1 -1
  74. package/dist/src/mcpl/transport.d.ts +44 -21
  75. package/dist/src/mcpl/transport.d.ts.map +1 -1
  76. package/dist/src/mcpl/transport.js +283 -64
  77. package/dist/src/mcpl/transport.js.map +1 -1
  78. package/dist/src/mcpl/types.d.ts +17 -1
  79. package/dist/src/mcpl/types.d.ts.map +1 -1
  80. package/dist/src/mcpl/types.js.map +1 -1
  81. package/dist/src/module-registry.d.ts +32 -4
  82. package/dist/src/module-registry.d.ts.map +1 -1
  83. package/dist/src/module-registry.js +189 -25
  84. package/dist/src/module-registry.js.map +1 -1
  85. package/dist/src/modules/discord/discord-js-client.d.ts.map +1 -1
  86. package/dist/src/modules/discord/discord-js-client.js +24 -16
  87. package/dist/src/modules/discord/discord-js-client.js.map +1 -1
  88. package/dist/src/modules/sender-name.d.ts +5 -4
  89. package/dist/src/modules/sender-name.d.ts.map +1 -1
  90. package/dist/src/modules/sender-name.js +7 -5
  91. package/dist/src/modules/sender-name.js.map +1 -1
  92. package/dist/src/modules/workspace/disk-agreement.d.ts +16 -8
  93. package/dist/src/modules/workspace/disk-agreement.d.ts.map +1 -1
  94. package/dist/src/modules/workspace/disk-agreement.js +33 -12
  95. package/dist/src/modules/workspace/disk-agreement.js.map +1 -1
  96. package/dist/src/modules/workspace/index.d.ts +6 -3
  97. package/dist/src/modules/workspace/index.d.ts.map +1 -1
  98. package/dist/src/modules/workspace/index.js +61 -15
  99. package/dist/src/modules/workspace/index.js.map +1 -1
  100. package/dist/src/modules/workspace/observe.d.ts +9 -1
  101. package/dist/src/modules/workspace/observe.d.ts.map +1 -1
  102. package/dist/src/modules/workspace/observe.js +50 -10
  103. package/dist/src/modules/workspace/observe.js.map +1 -1
  104. package/dist/src/modules/workspace/reconcile.d.ts +11 -1
  105. package/dist/src/modules/workspace/reconcile.d.ts.map +1 -1
  106. package/dist/src/modules/workspace/reconcile.js +19 -8
  107. package/dist/src/modules/workspace/reconcile.js.map +1 -1
  108. package/dist/src/modules/workspace/types.d.ts +8 -0
  109. package/dist/src/modules/workspace/types.d.ts.map +1 -1
  110. package/dist/src/modules/workspace/types.js.map +1 -1
  111. package/dist/src/modules/workspace/watcher.d.ts +7 -0
  112. package/dist/src/modules/workspace/watcher.d.ts.map +1 -1
  113. package/dist/src/modules/workspace/watcher.js +7 -5
  114. package/dist/src/modules/workspace/watcher.js.map +1 -1
  115. package/dist/src/recovery/discord-awareness-outbox.d.ts.map +1 -1
  116. package/dist/src/recovery/discord-awareness-outbox.js +1 -9
  117. package/dist/src/recovery/discord-awareness-outbox.js.map +1 -1
  118. package/dist/src/supplied-text.d.ts +2 -0
  119. package/dist/src/supplied-text.d.ts.map +1 -1
  120. package/dist/src/supplied-text.js +16 -7
  121. package/dist/src/supplied-text.js.map +1 -1
  122. package/dist/src/tool-result-guard.js +1 -1
  123. package/dist/src/tool-result-guard.js.map +1 -1
  124. package/dist/src/tune-out/coordinator.d.ts +2 -20
  125. package/dist/src/tune-out/coordinator.d.ts.map +1 -1
  126. package/dist/src/tune-out/coordinator.js +175 -70
  127. package/dist/src/tune-out/coordinator.js.map +1 -1
  128. package/dist/src/tune-out/tools.d.ts +14 -2
  129. package/dist/src/tune-out/tools.d.ts.map +1 -1
  130. package/dist/src/tune-out/tools.js.map +1 -1
  131. package/dist/src/types/agent.d.ts +2 -1
  132. package/dist/src/types/agent.d.ts.map +1 -1
  133. package/dist/src/types/framework.d.ts +54 -15
  134. package/dist/src/types/framework.d.ts.map +1 -1
  135. package/dist/src/types/module.d.ts +42 -3
  136. package/dist/src/types/module.d.ts.map +1 -1
  137. package/dist/src/types/trace.d.ts +4 -3
  138. package/dist/src/types/trace.d.ts.map +1 -1
  139. package/package.json +3 -3
  140. package/src/agent.ts +90 -25
  141. package/src/api/mcp-server-core.ts +10 -3
  142. package/src/code-execution/isolate/render.ts +7 -6
  143. package/src/code-execution/isolate/scripts.ts +5 -4
  144. package/src/framework.ts +1145 -723
  145. package/src/gate/event-gate.ts +220 -145
  146. package/src/gate/recipe-reconcile.ts +7 -5
  147. package/src/host-presentation.ts +4 -7
  148. package/src/index.ts +1 -0
  149. package/src/inference-bounds.ts +111 -0
  150. package/src/line-reader.ts +22 -5
  151. package/src/mcpl/errors.ts +4 -0
  152. package/src/mcpl/inbound-source.ts +2 -2
  153. package/src/mcpl/inference-router.ts +67 -10
  154. package/src/mcpl/modern-connection.ts +83 -68
  155. package/src/mcpl/protocol-family.ts +37 -4
  156. package/src/mcpl/push-coalescer.ts +2 -7
  157. package/src/mcpl/references.ts +3 -4
  158. package/src/mcpl/server-connection.ts +30 -21
  159. package/src/mcpl/tool-signature.ts +18 -11
  160. package/src/mcpl/transport.ts +261 -60
  161. package/src/mcpl/types.ts +18 -1
  162. package/src/module-registry.ts +178 -25
  163. package/src/modules/discord/discord-js-client.ts +33 -29
  164. package/src/modules/sender-name.ts +8 -5
  165. package/src/modules/workspace/disk-agreement.ts +39 -15
  166. package/src/modules/workspace/index.ts +65 -14
  167. package/src/modules/workspace/observe.ts +51 -10
  168. package/src/modules/workspace/reconcile.ts +22 -8
  169. package/src/modules/workspace/types.ts +5 -0
  170. package/src/modules/workspace/watcher.ts +8 -6
  171. package/src/recovery/discord-awareness-outbox.ts +1 -11
  172. package/src/supplied-text.ts +17 -6
  173. package/src/tool-result-guard.ts +1 -1
  174. package/src/tune-out/coordinator.ts +187 -85
  175. package/src/tune-out/tools.ts +14 -2
  176. package/src/types/agent.ts +2 -1
  177. package/src/types/framework.ts +55 -15
  178. package/src/types/module.ts +42 -3
  179. package/src/types/trace.ts +4 -3
@@ -56,6 +56,9 @@ export function boundedForLog(text, max = 200) {
56
56
  const points = [...text.replace(/[\p{Cc}\p{Cf}\u2028\u2029]/gu, '?')];
57
57
  return points.length > max ? `${points.slice(0, max).join('')}…` : points.join('');
58
58
  }
59
+ export function hostStoppedWhileHandling() {
60
+ return { code: -32000, message: 'the host stopped while handling this request' };
61
+ }
59
62
  /**
60
63
  * Create a "feature set not enabled" error.
61
64
  * Returned when a server sends a message tagged with a feature set
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/mcpl/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/mcpl/errors.ts"],"names":[],"mappings":"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"}
@@ -119,8 +119,8 @@ export declare function conversationKey(source: InboundSource): string | undefin
119
119
  * well-formed is dropped (the store doesn't keep it). An `undefined` array
120
120
  * element is written as `null`, as JSON writes it: the store's append
121
121
  * refuses a body holding one, so no stored copy does. So a value
122
- * hashes alike however its keys were ordered (content read back from the
123
- * store has them in a different order than it was written), and alike
122
+ * hashes alike however its keys were ordered (a store on chronicle before
123
+ * 0.5.1 hands content back with its keys sorted), and alike
124
124
  * before and after the store. editMessage writes JSON instead, so an edited
125
125
  * copy can keep what an append wouldn't; it has changed anyway.
126
126
  *
@@ -91,8 +91,8 @@ export function conversationKey(source) {
91
91
  * well-formed is dropped (the store doesn't keep it). An `undefined` array
92
92
  * element is written as `null`, as JSON writes it: the store's append
93
93
  * refuses a body holding one, so no stored copy does. So a value
94
- * hashes alike however its keys were ordered (content read back from the
95
- * store has them in a different order than it was written), and alike
94
+ * hashes alike however its keys were ordered (a store on chronicle before
95
+ * 0.5.1 hands content back with its keys sorted), and alike
96
96
  * before and after the store. editMessage writes JSON instead, so an edited
97
97
  * copy can keep what an append wouldn't; it has changed anyway.
98
98
  *
@@ -11,6 +11,7 @@ import type { Membrane } from '@animalabs/membrane';
11
11
  import type { McplInferenceRequestParams, McplInferenceRequestResult, InferenceChunkParams, InferenceRoutingPolicy } from './types.js';
12
12
  import type { FeatureSetManager } from './feature-set-manager.js';
13
13
  import type { HookOrchestrator } from './hook-orchestrator.js';
14
+ import { type InferenceBounds } from '../inference-bounds.js';
14
15
  /** Minimal responder interface for sending JSON-RPC results back. */
15
16
  interface Responder {
16
17
  respond(result: McplInferenceRequestResult): void;
@@ -20,8 +21,10 @@ interface Responder {
20
21
  /** Sends a streamed chunk on the transport the request came on, as its
21
22
  * answer is sent. */
22
23
  sendChunk?(params: InferenceChunkParams): void;
24
+ signal?: AbortSignal;
23
25
  }
24
26
  export declare class InferenceRouter {
27
+ private readonly inferenceBounds;
25
28
  private membrane;
26
29
  private hookOrchestrator;
27
30
  private featureSetManager;
@@ -31,10 +34,11 @@ export declare class InferenceRouter {
31
34
  * server with no policy, and per server and feature set with one, so a
32
35
  * server that keeps asking doesn't flood the operator's log. */
33
36
  private loggedRefusals;
37
+ private running;
34
38
  constructor(membrane: Membrane, hookOrchestrator: HookOrchestrator, featureSetManager: FeatureSetManager, routingPolicy: InferenceRoutingPolicy | null, emitTraceFn: (event: {
35
39
  type: string;
36
40
  [key: string]: unknown;
37
- }) => void);
41
+ }) => void, inferenceBounds?: () => InferenceBounds | null);
38
42
  /**
39
43
  * Handle an inference/request from an MCPL server.
40
44
  *
@@ -47,6 +51,11 @@ export declare class InferenceRouter {
47
51
  * a completion
48
52
  */
49
53
  handleInferenceRequest(serverId: string, params: McplInferenceRequestParams, responder: Responder): Promise<void>;
54
+ stopAll(): Array<{
55
+ label: string;
56
+ promise: Promise<void>;
57
+ }>;
58
+ private answer;
50
59
  /**
51
60
  * Resolve the model to use for an inference request based on routing policy.
52
61
  *
@@ -66,6 +75,7 @@ export declare class InferenceRouter {
66
75
  * request is then refused.
67
76
  */
68
77
  private resolveModel;
78
+ private wholeCallBound;
69
79
  /**
70
80
  * Run the inference as a stream, sending each visible text delta to the
71
81
  * server as an inference/chunk, and return membrane's response once the
@@ -1 +1 @@
1
- {"version":3,"file":"inference-router.d.ts","sourceRoot":"","sources":["../../../src/mcpl/inference-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,QAAQ,EAMT,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EACV,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAO/D,qEAAqE;AACrE,UAAU,SAAS;IACjB,OAAO,CAAC,MAAM,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAClD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAClE,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B;0BACsB;IACtB,SAAS,CAAC,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAChD;AAuID,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,WAAW,CAA4D;IAC/E;;qEAEiE;IACjE,OAAO,CAAC,cAAc,CAAqB;IAE3C,YACE,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,sBAAsB,GAAG,IAAI,EAC5C,WAAW,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,KAAK,IAAI,EAOvE;IAED;;;;;;;;;;OAUG;IACG,sBAAsB,CAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,0BAA0B,EAClC,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,IAAI,CAAC,CAiJf;IAMD;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,YAAY;IAsBpB;;;;;;;;;;;;OAYG;YACW,cAAc;CAiC7B"}
1
+ {"version":3,"file":"inference-router.d.ts","sourceRoot":"","sources":["../../../src/mcpl/inference-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,QAAQ,EAMT,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EACV,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAA8C,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAM1G,qEAAqE;AACrE,UAAU,SAAS;IACjB,OAAO,CAAC,MAAM,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAClD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAClE,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B;0BACsB;IACtB,SAAS,CAAC,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC/C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAuID,qBAAa,eAAe;IAkBxB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAjBlC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,WAAW,CAA4D;IAC/E;;qEAEiE;IACjE,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,OAAO,CAAmF;IAElG,YACE,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,sBAAsB,GAAG,IAAI,EAC5C,WAAW,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,KAAK,IAAI,EACrD,eAAe,GAAE,MAAM,eAAe,GAAG,IAAiB,EAO5E;IAED;;;;;;;;;;OAUG;IACG,sBAAsB,CAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,0BAA0B,EAClC,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,IAAI,CAAC,CAWf;IAED,OAAO,IAAI,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC,CAK1D;YAEa,MAAM;IAiLpB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,cAAc;IAKtB;;;;;;;;;;;;OAYG;YACW,cAAc;CAkC7B"}
@@ -8,7 +8,9 @@
8
8
  * Spec reference: Section 11 (Server-Initiated Inference).
9
9
  */
10
10
  import { McplFeatureSetError } from './feature-set-manager.js';
11
+ import { hostStoppedWhileHandling } from './errors.js';
11
12
  import { logValue } from './log-value.js';
13
+ import { streamBounds, wholeCallMs, withHostSetting } from '../inference-bounds.js';
12
14
  // ============================================================================
13
15
  // Wildcard matching (same logic as feature-set-manager)
14
16
  // ============================================================================
@@ -128,6 +130,7 @@ const DEFAULT_MAX_TOKENS = 4096;
128
130
  // InferenceRouter
129
131
  // ============================================================================
130
132
  export class InferenceRouter {
133
+ inferenceBounds;
131
134
  membrane;
132
135
  hookOrchestrator;
133
136
  featureSetManager;
@@ -137,7 +140,9 @@ export class InferenceRouter {
137
140
  * server with no policy, and per server and feature set with one, so a
138
141
  * server that keeps asking doesn't flood the operator's log. */
139
142
  loggedRefusals = new Set();
140
- constructor(membrane, hookOrchestrator, featureSetManager, routingPolicy, emitTraceFn) {
143
+ running = new Set();
144
+ constructor(membrane, hookOrchestrator, featureSetManager, routingPolicy, emitTraceFn, inferenceBounds = () => null) {
145
+ this.inferenceBounds = inferenceBounds;
141
146
  this.membrane = membrane;
142
147
  this.hookOrchestrator = hookOrchestrator;
143
148
  this.featureSetManager = featureSetManager;
@@ -156,6 +161,25 @@ export class InferenceRouter {
156
161
  * a completion
157
162
  */
158
163
  async handleInferenceRequest(serverId, params, responder) {
164
+ const stop = new AbortController();
165
+ let ended;
166
+ const entry = { serverId, stop, answered: new Promise((resolve) => { ended = resolve; }) };
167
+ this.running.add(entry);
168
+ try {
169
+ await this.answer(serverId, params, responder, stop.signal);
170
+ }
171
+ finally {
172
+ this.running.delete(entry);
173
+ ended();
174
+ }
175
+ }
176
+ stopAll() {
177
+ return [...this.running].map(({ serverId, stop, answered }) => {
178
+ stop.abort();
179
+ return { label: `inference/request:${serverId}`, promise: answered };
180
+ });
181
+ }
182
+ async answer(serverId, params, responder, stopped) {
159
183
  // 1. Validate feature set
160
184
  try {
161
185
  this.featureSetManager.validateInbound(serverId, params.featureSet);
@@ -223,6 +247,25 @@ export class InferenceRouter {
223
247
  responder.respondError(-32603, message);
224
248
  return;
225
249
  }
250
+ const signal = responder.signal ? AbortSignal.any([stopped, responder.signal]) : stopped;
251
+ let stopAnswered = false;
252
+ const answerStop = () => {
253
+ if (responder.signal?.aborted)
254
+ return;
255
+ stopAnswered = true;
256
+ const answer = hostStoppedWhileHandling();
257
+ this.emitTraceFn({ type: 'mcpl:inference_fail', serverId, model, error: answer.message, streamed });
258
+ // A throw from an abort listener would be uncaught.
259
+ try {
260
+ responder.respondError(answer.code, answer.message);
261
+ }
262
+ catch { }
263
+ };
264
+ stopped.addEventListener('abort', answerStop, { once: true });
265
+ const settled = () => {
266
+ stopped.removeEventListener('abort', answerStop);
267
+ return stopAnswered;
268
+ };
226
269
  // Emit trace: inference start
227
270
  this.emitTraceFn({
228
271
  type: 'mcpl:inference_start',
@@ -244,12 +287,16 @@ export class InferenceRouter {
244
287
  temperature: params.preferences?.temperature,
245
288
  },
246
289
  };
290
+ if (stopAnswered)
291
+ return;
247
292
  try {
248
293
  // 5. Run inference. Both modes end in membrane's response, and one
249
294
  // builder makes the result from it.
250
295
  const response = chunkRequestId != null
251
- ? await this.streamResponse(request, chunkRequestId, sendChunk)
252
- : await this.membrane.complete(request);
296
+ ? await this.streamResponse(request, chunkRequestId, sendChunk, signal)
297
+ : await this.membrane.complete(request, { ...this.wholeCallBound(request), signal });
298
+ if (settled())
299
+ return;
253
300
  // 6. Answer
254
301
  const result = resultFrom(response, model);
255
302
  const actualModel = actualModelOf(response);
@@ -267,18 +314,23 @@ export class InferenceRouter {
267
314
  responder.respond(result);
268
315
  }
269
316
  catch (err) {
317
+ if (settled())
318
+ return;
270
319
  // Every ending that isn't a completion lands here, in either mode:
271
320
  // membrane's error, a stream that stopped early, a tool call, or a
272
321
  // stop FinishReason can't name. The answer is the JSON-RPC error, never
273
322
  // a result carrying what arrived.
323
+ const transportClosed = responder.signal?.aborted === true;
274
324
  this.emitTraceFn({
275
325
  type: 'mcpl:inference_fail',
276
326
  serverId,
277
327
  model,
278
- error: err instanceof Error ? err.message : String(err),
328
+ error: transportClosed ? 'the transport the request came on closed' : err instanceof Error ? err.message : String(err),
279
329
  streamed,
280
330
  });
281
- responder.respondError(-32603, err instanceof Error ? err.message : 'Inference failed');
331
+ if (!transportClosed) {
332
+ responder.respondError(-32603, err instanceof Error ? err.message : 'Inference failed');
333
+ }
282
334
  }
283
335
  }
284
336
  // ==========================================================================
@@ -317,6 +369,10 @@ export class InferenceRouter {
317
369
  // ==========================================================================
318
370
  // Private: Streaming
319
371
  // ==========================================================================
372
+ wholeCallBound(request) {
373
+ const bounds = this.inferenceBounds();
374
+ return bounds === null ? {} : { progressTimeoutMs: wholeCallMs(bounds, request.config.maxTokens) };
375
+ }
320
376
  /**
321
377
  * Run the inference as a stream, sending each visible text delta to the
322
378
  * server as an inference/chunk, and return membrane's response once the
@@ -330,8 +386,8 @@ export class InferenceRouter {
330
386
  * loop by return or throw calls the stream's return(), which cancels it,
331
387
  * so nothing keeps running once the request is answered.
332
388
  */
333
- async streamResponse(request, requestId, sendChunk) {
334
- const stream = this.membrane.streamYielding(request);
389
+ async streamResponse(request, requestId, sendChunk, signal) {
390
+ const stream = this.membrane.streamYielding(request, { ...streamBounds(this.inferenceBounds(), request.config.maxTokens), signal });
335
391
  let index = 0;
336
392
  for await (const event of stream) {
337
393
  switch (event.type) {
@@ -342,7 +398,7 @@ export class InferenceRouter {
342
398
  // XML tool mode the chunks can miss text the content holds: prose
343
399
  // naming a tag the stream parser opens a block for, or a thinking
344
400
  // block cut off before its close tag.
345
- if (event.meta.visible) {
401
+ if (event.meta.visible && !signal.aborted) {
346
402
  sendChunk({ requestId, index: index++, delta: event.content });
347
403
  }
348
404
  break;
@@ -353,7 +409,7 @@ export class InferenceRouter {
353
409
  case 'error':
354
410
  throw event.error;
355
411
  case 'aborted':
356
- throw new Error(`The inference stopped before it finished (${event.reason})`);
412
+ throw new Error(`The inference stopped before it finished (${event.reason}${event.message ? `: ${event.reason === 'timeout' ? withHostSetting(event.message) : event.message}` : ''})`);
357
413
  }
358
414
  }
359
415
  throw new Error('The inference stream ended without a result');
@@ -1 +1 @@
1
- {"version":3,"file":"inference-router.js","sourceRoot":"","sources":["../../../src/mcpl/inference-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkBH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAiB1C,+EAA+E;AAC/E,wDAAwD;AACxD,+EAA+E;AAE/E;;GAEG;AACH,SAAS,aAAa,CAAC,OAAe,EAAE,IAAY;IAClD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAElC,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,SAAS,UAAU,CAAC,QAA4B,EAAE,WAAmB;IACnE,0EAA0E;IAC1E,2EAA2E;IAC3E,8EAA8E;IAC9E,2EAA2E;IAC3E,8CAA8C;IAC9C,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,KAAK,OAAO,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IACD,wEAAwE;IACxE,6EAA6E;IAC7E,2EAA2E;IAC3E,gCAAgC;IAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAe,EAA4C,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC/H,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,MAAM,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrF,CAAC;IACD,wEAAwE;IACxE,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,kDAAkD;IAClD,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,mGAAmG,CAAC,CAAC;IACvH,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,KAAK,mBAAmB,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;aACtB,MAAM,CAAC,CAAC,CAAe,EAAwC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;aACpF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,CAAC,EAAE,CAAC;QACX,0EAA0E;QAC1E,0EAA0E;QAC1E,4CAA4C;QAC5C,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,WAAW;QAC7C,YAAY,EAAE,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC;QAClD,KAAK,EAAE;YACL,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW;YACvC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY;SAC1C;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,QAA4B;IACjD,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,UAAsB;IAC7C,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,UAAU,CAAC;QAChB,KAAK,YAAY,CAAC;QAClB,KAAK,eAAe;YAClB,OAAO,UAAU,CAAC;QACpB;YACE,MAAM,IAAI,KAAK,CACb,yCAAyC,UAAU,oDAAoD,CACxG,CAAC;IACN,CAAC;AACH,CAAC;AAED,uFAAuF;AACvF,SAAS,aAAa,CAAC,KAAoC;IACzD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,IAAI,KAAK,CAAC,4BAA4B,KAAK,sCAAsC,CAAC,CAAC;AAC5F,CAAC;AAED,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,4DAA4D;AAC5D,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,MAAM,OAAO,eAAe;IAClB,QAAQ,CAAW;IACnB,gBAAgB,CAAmB;IACnC,iBAAiB,CAAoB;IACrC,aAAa,CAAgC;IAC7C,WAAW,CAA4D;IAC/E;;qEAEiE;IACzD,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAE3C,YACE,QAAkB,EAClB,gBAAkC,EAClC,iBAAoC,EACpC,aAA4C,EAC5C,WAAsE;QAEtE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,sBAAsB,CAC1B,QAAgB,EAChB,MAAkC,EAClC,SAAoB;QAEpB,0BAA0B;QAC1B,IAAI,CAAC;YACH,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,mBAAmB;gBAChD,CAAC,CAAC,GAAG,CAAC,OAAO;gBACb,CAAC,CAAC,+BAA+B,CAAC;YACpC,MAAM,IAAI,GAAG,GAAG,YAAY,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACpE,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QAED,8CAA8C;QAC9C,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YACnC,SAAS,CAAC,YAAY,CACpB,CAAC,KAAK,EACN,wDAAwD,CACzD,CAAC;YACF,OAAO;QACT,CAAC;QAED,mEAAmE;QACnE,iDAAiD;QACjD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnF,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,MAAM,QAAQ,GAAG,cAAc,IAAI,IAAI,CAAC;QAExC,uEAAuE;QACvE,kEAAkE;QAClE,wEAAwE;QACxE,mEAAmE;QACnE,uEAAuE;QACvE,qEAAqE;QACrE,wEAAwE;QACxE,iEAAiE;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAC7B,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,cAAc,CACtB,CAAC;QACF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC3C,sEAAsE;YACtE,oBAAoB;YACpB,MAAM,MAAM,GAAG,CAAC,KAAgC,EAAE,EAAE,CAAC,MAAM;gBACzD,CAAC,CAAC,kFAAkF,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBAC9G,CAAC,CAAC,8DAA8D,CAAC;YACnE,MAAM,OAAO,GAAG,8BAA8B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,2CAA2C;gBAC7G,2DAA2D,CAAC;YAC9D,iEAAiE;YACjE,oEAAoE;YACpE,qEAAqE;YACrE,gCAAgC;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC7B,OAAO,CAAC,KAAK,CACX,UAAU,QAAQ,CAAC,QAAQ,CAAC,gCAAgC,MAAM,CAAC,QAAQ,CAAC,IAAI;oBAC9E,CAAC,MAAM;wBACL,CAAC,CAAC,6EAA6E;4BAC7E,kDAAkD;wBACpD,CAAC,CAAC,uGAAuG;4BACvG,kCAAkC,CAAC;oBACvC,0DAA0D,CAC7D,CAAC;YACJ,CAAC;YACD,kEAAkE;YAClE,gEAAgE;YAChE,IAAI,CAAC,WAAW,CAAC;gBACf,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ;gBACR,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,OAAO;gBACd,QAAQ;aACT,CAAC,CAAC;YACH,SAAS,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,WAAW,CAAC;YACf,IAAI,EAAE,sBAAsB;YAC5B,QAAQ;YACR,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,KAAK;YACL,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK;SAC/B,CAAC,CAAC;QAEH,uCAAuC;QACvC,MAAM,QAAQ,GAAkC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5E,WAAW,EAAE,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;YAC5D,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;SACxD,CAAC,CAAC,CAAC;QAEJ,MAAM,OAAO,GAAsB;YACjC,QAAQ;YACR,MAAM,EAAE;gBACN,KAAK;gBACL,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,SAAS,IAAI,kBAAkB;gBAC9D,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,WAAW;aAC7C;SACF,CAAC;QAEF,IAAI,CAAC;YACH,mEAAmE;YACnE,oCAAoC;YACpC,MAAM,QAAQ,GAAG,cAAc,IAAI,IAAI;gBACrC,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,SAAU,CAAC;gBAChE,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAE1C,YAAY;YACZ,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC3C,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YAE5C,IAAI,CAAC,WAAW,CAAC;gBACf,IAAI,EAAE,yBAAyB;gBAC/B,QAAQ;gBACR,sEAAsE;gBACtE,yDAAyD;gBACzD,KAAK;gBACL,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;gBACrC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY;gBACvC,QAAQ;aACT,CAAC,CAAC;YAEH,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mEAAmE;YACnE,mEAAmE;YACnE,wEAAwE;YACxE,kCAAkC;YAClC,IAAI,CAAC,WAAW,CAAC;gBACf,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ;gBACR,KAAK;gBACL,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACvD,QAAQ;aACT,CAAC,CAAC;YAEH,SAAS,CAAC,YAAY,CACpB,CAAC,KAAK,EACN,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CACxD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,4BAA4B;IAC5B,6EAA6E;IAE7E;;;;;;;;;;;;;;;;;OAiBG;IACK,YAAY,CAClB,UAAkB,EAClB,cAAuB;QAEvB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;QAClC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,KAAc,EAAsB,EAAE,CACnD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAEhE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;eAC1E,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,CAAC;YACxC,iDAAiD;eAC9C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;eAClH,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,6EAA6E;IAC7E,qBAAqB;IACrB,6EAA6E;IAE7E;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,cAAc,CAC1B,OAA0B,EAC1B,SAA0B,EAC1B,SAAiD;QAEjD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,QAAQ;oBACX,6DAA6D;oBAC7D,6DAA6D;oBAC7D,kEAAkE;oBAClE,kEAAkE;oBAClE,kEAAkE;oBAClE,sCAAsC;oBACtC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;wBACvB,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBACjE,CAAC;oBACD,MAAM;gBACR,KAAK,YAAY;oBACf,MAAM,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACnC,KAAK,UAAU;oBACb,OAAO,KAAK,CAAC,QAAQ,CAAC;gBACxB,KAAK,OAAO;oBACV,MAAM,KAAK,CAAC,KAAK,CAAC;gBACpB,KAAK,SAAS;oBACZ,MAAM,IAAI,KAAK,CAAC,6CAA6C,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;CACF"}
1
+ {"version":3,"file":"inference-router.js","sourceRoot":"","sources":["../../../src/mcpl/inference-router.ts"],"names":[],"mappings":"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"}
@@ -44,10 +44,7 @@ export declare class ModernMcpConnection extends EventEmitter {
44
44
  /** A lost session's reap in flight: the reconnect follows it, and
45
45
  * close() waits for it. */
46
46
  private losing;
47
- /** Child stderr from before anyone listens (the caller attaches only once
48
- * connect() returns), delivered to the first listener. Bounded: the
49
- * newest lines are kept. */
50
- private stderrBacklog;
47
+ private readonly heldStderr;
51
48
  private redactor?;
52
49
  /** The server's text with its configuration's credentials replaced, for
53
50
  * the errors this connection hands its caller and its records. */
@@ -59,6 +56,11 @@ export declare class ModernMcpConnection extends EventEmitter {
59
56
  get isConnected(): boolean;
60
57
  /** Whether a lost connection will be re-established in the background. */
61
58
  get willReconnect(): boolean;
59
+ /**
60
+ * Stop reconnecting, closing nothing, as the legacy engine's does.
61
+ * @internal For the framework's stop(); not a host API.
62
+ */
63
+ stopReconnecting(): void;
62
64
  /** Whether close() has been called: closed for good, or closing. A
63
65
  * connection lost on its own is not closed in this sense. */
64
66
  get isClosed(): boolean;
@@ -111,6 +113,9 @@ export declare class ModernMcpConnection extends EventEmitter {
111
113
  private isCurrent;
112
114
  /** One connect generation: a fresh client over a fresh transport. */
113
115
  private open;
116
+ /** `error` carrying the session's stderr tail as `stderrTail`, as a
117
+ * legacy connect's failure does, when the child wrote any. */
118
+ private static withStderrTail;
114
119
  /** Connect one generation's client, and adopt it if it's still current. */
115
120
  private establish;
116
121
  /**
@@ -133,9 +138,7 @@ export declare class ModernMcpConnection extends EventEmitter {
133
138
  private cancelRelisten;
134
139
  private scheduleRelisten;
135
140
  private reopenSubscription;
136
- /** The transport went away (child exit, or a closed HTTP client).
137
- * `unreaped`: the child's pipe failed and it outlived SIGKILL, so its
138
- * launch is already known unreaped. */
141
+ /** The transport went away (child exit, or a closed HTTP client). */
139
142
  private handleLost;
140
143
  /** The legacy engine's backoff: doubling from the base interval, capped,
141
144
  * with ±25% jitter, and never past the timer limit (a longer delay would
@@ -1 +1 @@
1
- {"version":3,"file":"modern-connection.d.ts","sourceRoot":"","sources":["../../../src/mcpl/modern-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modern-connection.d.ts","sourceRoot":"","sources":["../../../src/mcpl/modern-connection.ts"],"names":[],"mappings":"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"}