nanobot-agent-sdk 0.3.2 → 0.4.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.
Files changed (61) hide show
  1. package/dist/core/agent.d.ts +1 -0
  2. package/dist/core/agent.d.ts.map +1 -1
  3. package/dist/core/agent.js +42 -46
  4. package/dist/core/agent.js.map +1 -1
  5. package/dist/core/engine.d.ts +3 -10
  6. package/dist/core/engine.d.ts.map +1 -1
  7. package/dist/core/engine.js +71 -365
  8. package/dist/core/engine.js.map +1 -1
  9. package/dist/core/event-queue.d.ts +17 -0
  10. package/dist/core/event-queue.d.ts.map +1 -0
  11. package/dist/core/event-queue.js +57 -0
  12. package/dist/core/event-queue.js.map +1 -0
  13. package/dist/core/message-utils.d.ts +23 -0
  14. package/dist/core/message-utils.d.ts.map +1 -0
  15. package/dist/core/message-utils.js +59 -0
  16. package/dist/core/message-utils.js.map +1 -0
  17. package/dist/core/retry.d.ts +14 -0
  18. package/dist/core/retry.d.ts.map +1 -0
  19. package/dist/core/retry.js +32 -0
  20. package/dist/core/retry.js.map +1 -0
  21. package/dist/core/tool-orchestrator.d.ts +36 -0
  22. package/dist/core/tool-orchestrator.d.ts.map +1 -0
  23. package/dist/core/tool-orchestrator.js +293 -0
  24. package/dist/core/tool-orchestrator.js.map +1 -0
  25. package/dist/index.d.ts +6 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +6 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/mcp/client.d.ts +6 -0
  30. package/dist/mcp/client.d.ts.map +1 -1
  31. package/dist/mcp/client.js +163 -76
  32. package/dist/mcp/client.js.map +1 -1
  33. package/dist/mcp/errors.d.ts +10 -0
  34. package/dist/mcp/errors.d.ts.map +1 -0
  35. package/dist/mcp/errors.js +38 -0
  36. package/dist/mcp/errors.js.map +1 -0
  37. package/dist/providers/openai-compatible.js +18 -1
  38. package/dist/providers/openai-compatible.js.map +1 -1
  39. package/dist/runtime/compaction.d.ts +26 -0
  40. package/dist/runtime/compaction.d.ts.map +1 -0
  41. package/dist/runtime/compaction.js +137 -0
  42. package/dist/runtime/compaction.js.map +1 -0
  43. package/dist/runtime/config.d.ts +48 -0
  44. package/dist/runtime/config.d.ts.map +1 -0
  45. package/dist/runtime/config.js +89 -0
  46. package/dist/runtime/config.js.map +1 -0
  47. package/dist/runtime/recovery.d.ts +17 -0
  48. package/dist/runtime/recovery.d.ts.map +1 -0
  49. package/dist/runtime/recovery.js +82 -0
  50. package/dist/runtime/recovery.js.map +1 -0
  51. package/dist/runtime/tool-execution.d.ts +10 -0
  52. package/dist/runtime/tool-execution.d.ts.map +1 -0
  53. package/dist/runtime/tool-execution.js +70 -0
  54. package/dist/runtime/tool-execution.js.map +1 -0
  55. package/dist/runtime/usage.d.ts +34 -0
  56. package/dist/runtime/usage.d.ts.map +1 -0
  57. package/dist/runtime/usage.js +76 -0
  58. package/dist/runtime/usage.js.map +1 -0
  59. package/dist/types.d.ts +58 -3
  60. package/dist/types.d.ts.map +1 -1
  61. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  import { randomUUID } from 'crypto';
2
+ import { classifyMcpError, isRecoverableError } from './errors.js';
3
+ const DEFAULT_RECONNECT_INTERVAL_MS = 5_000;
4
+ const DEFAULT_TOOL_CALL_TIMEOUT_MS = 120_000;
2
5
  export async function connectMCPServer(name, config, options = {}) {
3
6
  const connection = new ManagedMCPConnection(name, config, options);
4
7
  await connection.initialize();
@@ -20,6 +23,7 @@ export class ManagedMCPConnection {
20
23
  lastConnectedAt;
21
24
  lastCheckedAt;
22
25
  reconnectAttempts = 0;
26
+ healthCheckFailures = 0;
23
27
  connectPromise;
24
28
  static MAX_RECONNECT_ATTEMPTS = 50;
25
29
  connector;
@@ -43,6 +47,7 @@ export class ManagedMCPConnection {
43
47
  this.closed = true;
44
48
  this.clearReconnectTimer();
45
49
  this.clearHealthCheckTimer();
50
+ this.tools = [];
46
51
  await this.disposeClient();
47
52
  this.status = 'disconnected';
48
53
  this.emitState('MCP connection closed.');
@@ -51,6 +56,8 @@ export class ManagedMCPConnection {
51
56
  this.clearReconnectTimer();
52
57
  this.clearHealthCheckTimer();
53
58
  this.closed = false;
59
+ this.reconnectAttempts = 0;
60
+ this.healthCheckFailures = 0;
54
61
  await this.connectInternal('manual');
55
62
  this.startHealthCheckLoop();
56
63
  }
@@ -95,15 +102,28 @@ export class ManagedMCPConnection {
95
102
  this.lastConnectedAt = new Date().toISOString();
96
103
  this.status = 'connected';
97
104
  this.reconnectAttempts = 0;
105
+ this.healthCheckFailures = 0;
98
106
  this.emitState(`MCP connected with ${this.tools.length} tools.`);
99
107
  }
100
108
  catch (error) {
101
- this.lastError = error?.message || String(error);
109
+ await this.handleConnectionFailure(error);
110
+ }
111
+ }
112
+ async handleConnectionFailure(error) {
113
+ const category = classifyMcpError(error);
114
+ this.lastError = formatErrorMessage(error);
115
+ this.tools = [];
116
+ await this.disposeClient();
117
+ if (this.reconnectAttempts >= 2) {
118
+ this.status = 'degraded';
119
+ this.emitState(`MCP connection degraded after repeated failures (${category}): ${this.lastError}`);
120
+ }
121
+ else {
102
122
  this.status = 'error';
103
- this.tools = [];
104
- await this.disposeClient();
105
- this.emitState(`MCP connection failed: ${this.lastError}`);
106
- this.scheduleReconnect();
123
+ this.emitState(`MCP connection failed (${category}): ${this.lastError}`);
124
+ }
125
+ if (isRecoverableError(category)) {
126
+ this.scheduleReconnect(category);
107
127
  }
108
128
  }
109
129
  async refreshTools(forceEmit) {
@@ -111,9 +131,10 @@ export class ManagedMCPConnection {
111
131
  throw new Error(`MCP client for ${this.name} is not connected.`);
112
132
  }
113
133
  const toolList = await this.client.listTools();
114
- const nextTools = (toolList.tools || []).map((tool) => createMcpToolDefinition(this.name, tool, () => this.client));
115
- this.lastCheckedAt = new Date().toISOString();
134
+ const nextTools = (toolList.tools || []).map((tool) => this.createToolDefinition(tool));
116
135
  const toolCountChanged = nextTools.length !== this.tools.length;
136
+ this.lastCheckedAt = new Date().toISOString();
137
+ this.healthCheckFailures = 0;
117
138
  this.tools = nextTools;
118
139
  if (this.status !== 'connected') {
119
140
  this.status = 'connected';
@@ -122,7 +143,7 @@ export class ManagedMCPConnection {
122
143
  this.emitState(`MCP tool catalog refreshed (${this.tools.length} tools).`);
123
144
  }
124
145
  }
125
- scheduleReconnect() {
146
+ scheduleReconnect(category) {
126
147
  if (this.closed)
127
148
  return;
128
149
  if (this.config.autoReconnect === false)
@@ -131,12 +152,15 @@ export class ManagedMCPConnection {
131
152
  return;
132
153
  this.reconnectAttempts += 1;
133
154
  if (this.reconnectAttempts >= ManagedMCPConnection.MAX_RECONNECT_ATTEMPTS) {
134
- this.status = 'error';
155
+ this.status = 'degraded';
135
156
  this.emitState(`MCP reconnect aborted after ${this.reconnectAttempts} attempts.`);
136
157
  return;
137
158
  }
138
- const delay = Math.max(10, this.config.reconnectIntervalMs || 5_000);
139
- this.emitState(`Scheduling MCP reconnect in ${delay}ms (attempt ${this.reconnectAttempts}/${ManagedMCPConnection.MAX_RECONNECT_ATTEMPTS}).`);
159
+ const delay = computeReconnectDelay(this.reconnectAttempts, this.config.reconnectIntervalMs);
160
+ if (this.reconnectAttempts >= 3) {
161
+ this.status = 'degraded';
162
+ }
163
+ this.emitState(`Scheduling MCP reconnect in ${delay}ms (attempt ${this.reconnectAttempts}/${ManagedMCPConnection.MAX_RECONNECT_ATTEMPTS}, category=${category}).`);
140
164
  this.reconnectTimer = setTimeout(() => {
141
165
  this.reconnectTimer = undefined;
142
166
  void this.connectInternal('reconnect');
@@ -149,18 +173,40 @@ export class ManagedMCPConnection {
149
173
  if (!intervalMs)
150
174
  return;
151
175
  this.healthCheckTimer = setInterval(() => {
152
- if (this.closed || !this.client || this.status !== 'connected')
176
+ if (this.closed || !this.client)
177
+ return;
178
+ if (this.status !== 'connected' && this.status !== 'degraded')
153
179
  return;
154
- void this.refreshTools(false).catch(async (error) => {
155
- this.lastError = error?.message || String(error);
156
- this.status = 'error';
157
- this.emitState(`MCP health check failed: ${this.lastError}`);
158
- await this.disposeClient();
159
- this.scheduleReconnect();
160
- });
180
+ void this.runHealthCheck();
161
181
  }, intervalMs);
162
182
  this.healthCheckTimer.unref?.();
163
183
  }
184
+ async runHealthCheck() {
185
+ try {
186
+ await this.refreshTools(false);
187
+ }
188
+ catch (error) {
189
+ await this.handleHealthCheckFailure(error);
190
+ }
191
+ }
192
+ async handleHealthCheckFailure(error) {
193
+ this.lastError = formatErrorMessage(error);
194
+ this.lastCheckedAt = new Date().toISOString();
195
+ this.healthCheckFailures += 1;
196
+ if (this.healthCheckFailures === 1) {
197
+ this.emitState(`MCP health check warning: ${this.lastError}`);
198
+ return;
199
+ }
200
+ if (this.healthCheckFailures === 2) {
201
+ this.status = 'degraded';
202
+ this.emitState(`MCP server degraded after repeated health check failures: ${this.lastError}`);
203
+ return;
204
+ }
205
+ this.status = 'error';
206
+ this.emitState(`MCP health check failed permanently: ${this.lastError}`);
207
+ await this.disposeClient();
208
+ this.scheduleReconnect('health_check_failed');
209
+ }
164
210
  async disposeClient() {
165
211
  const close = this.closeClient;
166
212
  this.client = undefined;
@@ -171,19 +217,74 @@ export class ManagedMCPConnection {
171
217
  await close();
172
218
  }
173
219
  catch {
174
- // ignore client close failures
220
+ // Ignore client close failures during teardown/reconnect.
175
221
  }
176
222
  }
177
223
  clearReconnectTimer() {
178
- if (this.reconnectTimer) {
179
- clearTimeout(this.reconnectTimer);
180
- this.reconnectTimer = undefined;
181
- }
224
+ if (!this.reconnectTimer)
225
+ return;
226
+ clearTimeout(this.reconnectTimer);
227
+ this.reconnectTimer = undefined;
182
228
  }
183
229
  clearHealthCheckTimer() {
184
- if (this.healthCheckTimer) {
185
- clearInterval(this.healthCheckTimer);
186
- this.healthCheckTimer = undefined;
230
+ if (!this.healthCheckTimer)
231
+ return;
232
+ clearInterval(this.healthCheckTimer);
233
+ this.healthCheckTimer = undefined;
234
+ }
235
+ createToolDefinition(mcpTool) {
236
+ return {
237
+ name: `mcp__${this.name}__${mcpTool.name}`,
238
+ description: mcpTool.description || `MCP tool ${mcpTool.name} from ${this.name}`,
239
+ inputSchema: mcpTool.inputSchema || { type: 'object', properties: {} },
240
+ isMcp: true,
241
+ isReadOnly: () => false,
242
+ isConcurrencySafe: () => false,
243
+ isEnabled: () => true,
244
+ async prompt() {
245
+ return mcpTool.description || '';
246
+ },
247
+ call: async (input, context) => this.callTool(mcpTool.name, input, context),
248
+ };
249
+ }
250
+ async callTool(toolName, input, context) {
251
+ const toolUseId = context.toolUseId || randomUUID();
252
+ if (!this.client || this.status === 'degraded' || this.status === 'error' || this.status === 'disconnected') {
253
+ return unavailableToolResult(toolUseId, this.name, toolName);
254
+ }
255
+ try {
256
+ const timeoutMs = Math.max(1, this.config.toolCallTimeoutMs || DEFAULT_TOOL_CALL_TIMEOUT_MS);
257
+ const result = await withTimeout(this.client.callTool({ name: toolName, arguments: input }), timeoutMs, new Error(`MCP tool ${this.name}/${toolName} timed out after ${timeoutMs}ms`));
258
+ const content = result.content?.length
259
+ ? result.content.map((block) => block.type === 'text'
260
+ ? { type: 'text', text: block.text }
261
+ : { type: 'text', text: JSON.stringify(block) })
262
+ : JSON.stringify(result);
263
+ return {
264
+ type: 'tool_result',
265
+ tool_use_id: toolUseId,
266
+ content,
267
+ is_error: result.isError || false,
268
+ };
269
+ }
270
+ catch (error) {
271
+ const category = classifyMcpError(error);
272
+ this.lastError = formatErrorMessage(error);
273
+ if (category === 'process_crashed' || category === 'connection_refused' || category === 'health_check_failed') {
274
+ this.status = 'degraded';
275
+ this.emitState(`MCP tool path degraded (${category}): ${this.lastError}`);
276
+ this.scheduleReconnect(category);
277
+ return unavailableToolResult(toolUseId, this.name, toolName);
278
+ }
279
+ if (category === 'tool_timeout') {
280
+ this.emitState(`MCP tool timeout: ${this.lastError}`);
281
+ }
282
+ return {
283
+ type: 'tool_result',
284
+ tool_use_id: toolUseId,
285
+ content: `MCP tool error (${category}): ${this.lastError}`,
286
+ is_error: true,
287
+ };
187
288
  }
188
289
  }
189
290
  emitState(message) {
@@ -202,53 +303,6 @@ export class ManagedMCPConnection {
202
303
  })).catch(() => { });
203
304
  }
204
305
  }
205
- function createMcpToolDefinition(serverName, mcpTool, getClient) {
206
- return {
207
- name: `mcp__${serverName}__${mcpTool.name}`,
208
- description: mcpTool.description || `MCP tool ${mcpTool.name} from ${serverName}`,
209
- inputSchema: mcpTool.inputSchema || { type: 'object', properties: {} },
210
- isMcp: true,
211
- isReadOnly: () => false,
212
- isConcurrencySafe: () => false,
213
- isEnabled: () => true,
214
- async prompt() {
215
- return mcpTool.description || '';
216
- },
217
- async call(input, context) {
218
- const client = getClient();
219
- if (!client) {
220
- return {
221
- type: 'tool_result',
222
- tool_use_id: context.toolUseId || randomUUID(),
223
- content: `MCP tool unavailable: ${serverName}/${mcpTool.name} is not connected`,
224
- is_error: true,
225
- };
226
- }
227
- try {
228
- const result = await client.callTool({ name: mcpTool.name, arguments: input });
229
- const content = result.content?.length
230
- ? result.content.map((block) => block.type === 'text'
231
- ? { type: 'text', text: block.text }
232
- : { type: 'text', text: JSON.stringify(block) })
233
- : JSON.stringify(result);
234
- return {
235
- type: 'tool_result',
236
- tool_use_id: context.toolUseId || randomUUID(),
237
- content,
238
- is_error: result.isError || false,
239
- };
240
- }
241
- catch (error) {
242
- return {
243
- type: 'tool_result',
244
- tool_use_id: context.toolUseId || randomUUID(),
245
- content: `MCP tool error: ${error.message}`,
246
- is_error: true,
247
- };
248
- }
249
- },
250
- };
251
- }
252
306
  export async function closeAllConnections(connections) {
253
307
  await Promise.allSettled(connections.map((connection) => connection.close()));
254
308
  }
@@ -276,7 +330,7 @@ async function createLiveMcpConnector(name, config) {
276
330
  });
277
331
  }
278
332
  const rawClient = new Client({ name: `nanobot-sdk-${name}`, version: '0.1.0' }, { capabilities: {} });
279
- const timeoutMs = Math.max(1000, config.startupTimeoutMs || 30_000);
333
+ const timeoutMs = Math.max(1_000, config.startupTimeoutMs || 30_000);
280
334
  await Promise.race([
281
335
  rawClient.connect(transport),
282
336
  new Promise((_, reject) => setTimeout(() => reject(new Error(`MCP connection to ${name} timed out`)), timeoutMs)),
@@ -288,7 +342,7 @@ async function createLiveMcpConnector(name, config) {
288
342
  await rawClient.close();
289
343
  }
290
344
  catch {
291
- // ignore close failures
345
+ // Ignore client close failures.
292
346
  }
293
347
  },
294
348
  };
@@ -296,4 +350,37 @@ async function createLiveMcpConnector(name, config) {
296
350
  function isStdioConfig(config) {
297
351
  return !config.type || config.type === 'stdio';
298
352
  }
353
+ function computeReconnectDelay(attempt, baseDelayMs) {
354
+ const base = Math.max(10, baseDelayMs || DEFAULT_RECONNECT_INTERVAL_MS);
355
+ const exponential = Math.min(base * 2 ** Math.max(0, attempt - 1), 60_000);
356
+ const jitter = Math.round(Math.random() * 0.25 * exponential);
357
+ return exponential + jitter;
358
+ }
359
+ async function withTimeout(promise, timeoutMs, error) {
360
+ let timeout;
361
+ try {
362
+ return await Promise.race([
363
+ promise,
364
+ new Promise((_, reject) => {
365
+ timeout = setTimeout(() => reject(error), timeoutMs);
366
+ timeout.unref?.();
367
+ }),
368
+ ]);
369
+ }
370
+ finally {
371
+ if (timeout)
372
+ clearTimeout(timeout);
373
+ }
374
+ }
375
+ function unavailableToolResult(toolUseId, serverName, toolName) {
376
+ return {
377
+ type: 'tool_result',
378
+ tool_use_id: toolUseId,
379
+ content: `[MCP Server '${serverName}' is temporarily unavailable. Tool '${toolName}' is disabled until the connection recovers. Do not retry these tools until notified.]`,
380
+ is_error: true,
381
+ };
382
+ }
383
+ function formatErrorMessage(error) {
384
+ return String(error?.message || error || 'Unknown MCP error');
385
+ }
299
386
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export type McpErrorCategory = 'connection_refused' | 'handshake_timeout' | 'process_crashed' | 'tool_timeout' | 'health_check_failed' | 'protocol_error' | 'unknown';
2
+ /**
3
+ * Best-effort MCP error classification used for recovery and degraded mode.
4
+ */
5
+ export declare function classifyMcpError(error: unknown): McpErrorCategory;
6
+ /**
7
+ * Indicates whether the SDK should attempt an automatic reconnect/retry path.
8
+ */
9
+ export declare function isRecoverableError(category: McpErrorCategory): boolean;
10
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/mcp/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACxB,oBAAoB,GACpB,mBAAmB,GACnB,iBAAiB,GACjB,cAAc,GACd,qBAAqB,GACrB,gBAAgB,GAChB,SAAS,CAAA;AAEb;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CA2BjE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAQtE"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Best-effort MCP error classification used for recovery and degraded mode.
3
+ */
4
+ export function classifyMcpError(error) {
5
+ const message = String(error?.message || error || '').toLowerCase();
6
+ const code = String(error?.code || '').toUpperCase();
7
+ if (message.includes('timed out') || message.includes('timeout')) {
8
+ return message.includes('handshake') || message.includes('connect')
9
+ ? 'handshake_timeout'
10
+ : 'tool_timeout';
11
+ }
12
+ if (['ECONNREFUSED', 'ECONNRESET', 'ENOTFOUND', 'EPIPE'].includes(code) || message.includes('connection refused') || message.includes('boot failed') || message.includes('spawn')) {
13
+ return 'connection_refused';
14
+ }
15
+ if (message.includes('process exited') || message.includes('process crashed') || message.includes('broken pipe')) {
16
+ return 'process_crashed';
17
+ }
18
+ if (message.includes('health check')) {
19
+ return 'health_check_failed';
20
+ }
21
+ if (message.includes('json-rpc') || message.includes('protocol') || message.includes('parse error')) {
22
+ return 'protocol_error';
23
+ }
24
+ return 'unknown';
25
+ }
26
+ /**
27
+ * Indicates whether the SDK should attempt an automatic reconnect/retry path.
28
+ */
29
+ export function isRecoverableError(category) {
30
+ return [
31
+ 'connection_refused',
32
+ 'handshake_timeout',
33
+ 'process_crashed',
34
+ 'tool_timeout',
35
+ 'health_check_failed',
36
+ ].includes(category);
37
+ }
38
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/mcp/errors.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAE,KAA8B,EAAE,OAAO,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;IAC7F,MAAM,IAAI,GAAG,MAAM,CAAE,KAA2B,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;IAE3E,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YACjE,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,cAAc,CAAA;IACpB,CAAC;IAED,IAAI,CAAC,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAClL,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACjH,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACrC,OAAO,qBAAqB,CAAA;IAC9B,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACpG,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAA0B;IAC3D,OAAO;QACL,oBAAoB;QACpB,mBAAmB;QACnB,iBAAiB;QACjB,cAAc;QACd,qBAAqB;KACtB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AACtB,CAAC"}
@@ -128,7 +128,24 @@ function toOpenAIMessages(systemPrompt, messages) {
128
128
  tool_calls: toolCalls.length ? toolCalls : undefined,
129
129
  });
130
130
  }
131
- return output;
131
+ return coalesceConsecutiveAssistantMessages(output);
132
+ }
133
+ function coalesceConsecutiveAssistantMessages(messages) {
134
+ for (let index = messages.length - 1; index > 0; index -= 1) {
135
+ const current = messages[index];
136
+ const previous = messages[index - 1];
137
+ if (current.role !== 'assistant' || previous.role !== 'assistant') {
138
+ continue;
139
+ }
140
+ const previousText = typeof previous.content === 'string' ? previous.content : '';
141
+ const currentText = typeof current.content === 'string' ? current.content : '';
142
+ previous.content = [previousText, currentText].filter(Boolean).join('\n') || null;
143
+ if (current.tool_calls?.length) {
144
+ previous.tool_calls = [...(previous.tool_calls || []), ...current.tool_calls];
145
+ }
146
+ messages.splice(index, 1);
147
+ }
148
+ return messages;
132
149
  }
133
150
  async function readOpenAIStream(response, request) {
134
151
  const reader = response.body?.getReader();
@@ -1 +1 @@
1
- {"version":3,"file":"openai-compatible.js","sourceRoot":"","sources":["../../src/providers/openai-compatible.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-compatible.js","sourceRoot":"","sources":["../../src/providers/openai-compatible.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type Anthropic from '@anthropic-ai/sdk';
2
+ import type { CompactionConfig } from '../types.js';
3
+ export declare const DEFAULT_COMPACTION: CompactionConfig;
4
+ /**
5
+ * Resolves partial compaction options and keeps compatibility with the legacy
6
+ * maxHistoryTurns setting by treating it as the default preserveRecentTurns
7
+ * window and a message-count fallback threshold.
8
+ */
9
+ export declare function resolveCompactionConfig(input?: Partial<CompactionConfig>, legacyMaxHistoryTurns?: number): CompactionConfig;
10
+ /**
11
+ * Rough token estimation used for compaction triggering only.
12
+ */
13
+ export declare function estimateMessageTokens(messages: Anthropic.MessageParam[]): number;
14
+ /**
15
+ * Compacts historical messages using the truncate strategy from Phase 1.
16
+ * A truncation marker is injected so the model knows earlier context was dropped.
17
+ */
18
+ export declare function compactMessages(messages: Anthropic.MessageParam[], config: CompactionConfig, options?: {
19
+ summarizer?: (oldMessages: Anthropic.MessageParam[]) => Promise<string>;
20
+ }): Promise<{
21
+ messages: Anthropic.MessageParam[];
22
+ compacted: boolean;
23
+ removedCount: number;
24
+ summary?: string;
25
+ } | null>;
26
+ //# sourceMappingURL=compaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../../src/runtime/compaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD,eAAO,MAAM,kBAAkB,EAAE,gBAKhC,CAAA;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,EACjC,qBAAqB,CAAC,EAAE,MAAM,GAC7B,gBAAgB,CAYlB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE,GAAG,MAAM,CAShF;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE,EAClC,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE;IACR,UAAU,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,YAAY,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CACxE,GACA,OAAO,CAAC;IACT,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE,CAAA;IAClC,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GAAG,IAAI,CAAC,CAsCR"}