concevent-ai-agent-sdk 1.0.5 → 2.0.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 (63) hide show
  1. package/README.md +516 -2
  2. package/dist/core/agent.d.ts.map +1 -1
  3. package/dist/core/agent.js +151 -66
  4. package/dist/core/agent.js.map +1 -1
  5. package/dist/core/errors.d.ts +1 -1
  6. package/dist/core/errors.d.ts.map +1 -1
  7. package/dist/core/errors.js +4 -1
  8. package/dist/core/errors.js.map +1 -1
  9. package/dist/core/index.d.ts +2 -0
  10. package/dist/core/index.d.ts.map +1 -1
  11. package/dist/core/index.js +1 -0
  12. package/dist/core/index.js.map +1 -1
  13. package/dist/core/logger.d.ts +2 -0
  14. package/dist/core/logger.d.ts.map +1 -1
  15. package/dist/core/logger.js +8 -0
  16. package/dist/core/logger.js.map +1 -1
  17. package/dist/core/middleware.d.ts +55 -0
  18. package/dist/core/middleware.d.ts.map +1 -0
  19. package/dist/core/middleware.js +125 -0
  20. package/dist/core/middleware.js.map +1 -0
  21. package/dist/core/orchestrator.d.ts +31 -0
  22. package/dist/core/orchestrator.d.ts.map +1 -0
  23. package/dist/core/orchestrator.js +206 -0
  24. package/dist/core/orchestrator.js.map +1 -0
  25. package/dist/core/response-format.d.ts +44 -0
  26. package/dist/core/response-format.d.ts.map +1 -0
  27. package/dist/core/response-format.js +107 -0
  28. package/dist/core/response-format.js.map +1 -0
  29. package/dist/core/retry.d.ts +76 -0
  30. package/dist/core/retry.d.ts.map +1 -0
  31. package/dist/core/retry.js +164 -0
  32. package/dist/core/retry.js.map +1 -0
  33. package/dist/core/summarization.d.ts.map +1 -1
  34. package/dist/core/summarization.js +21 -3
  35. package/dist/core/summarization.js.map +1 -1
  36. package/dist/core/tool-executor.d.ts +6 -5
  37. package/dist/core/tool-executor.d.ts.map +1 -1
  38. package/dist/core/tool-executor.js +36 -11
  39. package/dist/core/tool-executor.js.map +1 -1
  40. package/dist/index.d.ts +4 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +2 -0
  43. package/dist/index.js.map +1 -1
  44. package/dist/types/config.d.ts +88 -1
  45. package/dist/types/config.d.ts.map +1 -1
  46. package/dist/types/config.js +4 -0
  47. package/dist/types/config.js.map +1 -1
  48. package/dist/types/events.d.ts +24 -1
  49. package/dist/types/events.d.ts.map +1 -1
  50. package/dist/types/events.js.map +1 -1
  51. package/dist/types/index.d.ts +5 -3
  52. package/dist/types/index.d.ts.map +1 -1
  53. package/dist/types/index.js +1 -1
  54. package/dist/types/index.js.map +1 -1
  55. package/dist/types/middleware.d.ts +115 -0
  56. package/dist/types/middleware.d.ts.map +1 -0
  57. package/dist/types/middleware.js +2 -0
  58. package/dist/types/middleware.js.map +1 -0
  59. package/dist/types/orchestrator.d.ts +61 -0
  60. package/dist/types/orchestrator.d.ts.map +1 -0
  61. package/dist/types/orchestrator.js +2 -0
  62. package/dist/types/orchestrator.js.map +1 -0
  63. package/package.json +1 -1
@@ -0,0 +1,164 @@
1
+ import { DEFAULT_RETRY_MAX_ATTEMPTS, DEFAULT_RETRY_BASE_DELAY_MS, DEFAULT_RETRY_MAX_DELAY_MS, DEFAULT_RETRY_BACKOFF_MULTIPLIER, } from '../types/index.js';
2
+ import { logger } from './logger.js';
3
+ /**
4
+ * Resolves retry configuration with defaults.
5
+ */
6
+ export function resolveRetryConfig(config) {
7
+ return {
8
+ maxAttempts: config?.maxAttempts ?? DEFAULT_RETRY_MAX_ATTEMPTS,
9
+ baseDelayMs: config?.baseDelayMs ?? DEFAULT_RETRY_BASE_DELAY_MS,
10
+ maxDelayMs: config?.maxDelayMs ?? DEFAULT_RETRY_MAX_DELAY_MS,
11
+ backoffMultiplier: config?.backoffMultiplier ?? DEFAULT_RETRY_BACKOFF_MULTIPLIER,
12
+ };
13
+ }
14
+ /**
15
+ * Calculates the delay for a retry attempt using exponential backoff with jitter.
16
+ * @param attempt - The attempt number (1-based, so first retry is attempt 2)
17
+ * @param config - Resolved retry configuration
18
+ * @returns Delay in milliseconds
19
+ */
20
+ export function calculateRetryDelay(attempt, config) {
21
+ // Exponential backoff: baseDelay * (multiplier ^ (attempt - 1))
22
+ const exponentialDelay = config.baseDelayMs * Math.pow(config.backoffMultiplier, attempt - 1);
23
+ // Cap at maxDelay
24
+ const cappedDelay = Math.min(exponentialDelay, config.maxDelayMs);
25
+ // Add jitter (±25% randomization to prevent thundering herd)
26
+ const jitter = cappedDelay * 0.25 * (Math.random() * 2 - 1);
27
+ return Math.max(0, Math.round(cappedDelay + jitter));
28
+ }
29
+ /**
30
+ * Extracts HTTP status code from an error if available.
31
+ * Works with OpenAI SDK errors and standard HTTP errors.
32
+ */
33
+ export function getErrorStatusCode(error) {
34
+ // OpenAI SDK errors have a status property
35
+ if ('status' in error && typeof error.status === 'number') {
36
+ return error.status;
37
+ }
38
+ // Some errors have statusCode
39
+ if ('statusCode' in error && typeof error.statusCode === 'number') {
40
+ return error.statusCode;
41
+ }
42
+ // Check for code property (some Node.js errors)
43
+ if ('code' in error && typeof error.code === 'number') {
44
+ return error.code;
45
+ }
46
+ return undefined;
47
+ }
48
+ /**
49
+ * Extracts Retry-After header value from an error if available.
50
+ * Returns the delay in milliseconds, or undefined if not present.
51
+ */
52
+ export function getRetryAfterMs(error) {
53
+ // OpenAI SDK includes headers in the error
54
+ const headers = error.headers;
55
+ if (!headers)
56
+ return undefined;
57
+ const retryAfter = headers['retry-after'] || headers['Retry-After'];
58
+ if (!retryAfter)
59
+ return undefined;
60
+ // Retry-After can be a number of seconds or an HTTP date
61
+ const seconds = parseInt(retryAfter, 10);
62
+ if (!isNaN(seconds)) {
63
+ return seconds * 1000;
64
+ }
65
+ // Try parsing as HTTP date
66
+ const date = new Date(retryAfter);
67
+ if (!isNaN(date.getTime())) {
68
+ return Math.max(0, date.getTime() - Date.now());
69
+ }
70
+ return undefined;
71
+ }
72
+ /**
73
+ * Sleeps for a specified duration, respecting abort signals.
74
+ * @param ms - Duration in milliseconds
75
+ * @param abortSignal - Optional abort signal to cancel the sleep
76
+ * @returns Promise that resolves after the delay or rejects if aborted
77
+ */
78
+ export async function sleep(ms, abortSignal) {
79
+ if (abortSignal?.aborted) {
80
+ throw new Error('Request aborted before processing');
81
+ }
82
+ return new Promise((resolve, reject) => {
83
+ let timeout;
84
+ let abortHandler;
85
+ const cleanup = () => {
86
+ clearTimeout(timeout);
87
+ if (abortHandler && abortSignal) {
88
+ abortSignal.removeEventListener('abort', abortHandler);
89
+ }
90
+ };
91
+ timeout = setTimeout(() => {
92
+ cleanup();
93
+ resolve();
94
+ }, ms);
95
+ if (abortSignal) {
96
+ abortHandler = () => {
97
+ cleanup();
98
+ reject(new Error('Request aborted before processing'));
99
+ };
100
+ abortSignal.addEventListener('abort', abortHandler, { once: true });
101
+ }
102
+ });
103
+ }
104
+ /**
105
+ * Executes an async function with retry logic using exponential backoff.
106
+ *
107
+ * @param fn - The async function to execute
108
+ * @param options - Retry options including config, abort signal, and callbacks
109
+ * @returns The result of the function if successful
110
+ * @throws The last error if all retry attempts fail
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * const result = await executeWithRetry(
115
+ * () => apiCall(),
116
+ * {
117
+ * config: { maxAttempts: 3, baseDelayMs: 1000 },
118
+ * onRetry: (info) => console.log(`Retry ${info.attempt}/${info.maxAttempts}`),
119
+ * }
120
+ * );
121
+ * ```
122
+ */
123
+ export async function executeWithRetry(fn, options = {}) {
124
+ const config = resolveRetryConfig(options.config);
125
+ const { abortSignal, onRetry, isRetryable } = options;
126
+ let lastError;
127
+ for (let attempt = 1; attempt <= config.maxAttempts; attempt++) {
128
+ try {
129
+ // Check for abort before each attempt
130
+ if (abortSignal?.aborted) {
131
+ throw new Error('Request aborted before processing');
132
+ }
133
+ return await fn();
134
+ }
135
+ catch (error) {
136
+ lastError = error instanceof Error ? error : new Error(String(error));
137
+ // Check if we should retry
138
+ const canRetry = attempt < config.maxAttempts;
139
+ // Use custom isRetryable if provided, otherwise retry all errors
140
+ const errorIsRetryable = isRetryable ? isRetryable(lastError) : true;
141
+ if (!canRetry || !errorIsRetryable) {
142
+ throw lastError;
143
+ }
144
+ // Calculate delay, honoring Retry-After header if present
145
+ const retryAfterMs = getRetryAfterMs(lastError);
146
+ const calculatedDelay = calculateRetryDelay(attempt, config);
147
+ const delayMs = retryAfterMs !== undefined ? Math.max(retryAfterMs, calculatedDelay) : calculatedDelay;
148
+ // Notify about retry
149
+ const retryInfo = {
150
+ attempt: attempt + 1,
151
+ maxAttempts: config.maxAttempts,
152
+ error: lastError,
153
+ delayMs,
154
+ };
155
+ onRetry?.(retryInfo);
156
+ logger.retry(attempt + 1, config.maxAttempts, lastError.message);
157
+ // Wait before retrying
158
+ await sleep(delayMs, abortSignal);
159
+ }
160
+ }
161
+ // This should never be reached, but TypeScript needs it
162
+ throw lastError ?? new Error('Retry failed with no error captured');
163
+ }
164
+ //# sourceMappingURL=retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/core/retry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"summarization.d.ts","sourceRoot":"","sources":["../../src/core/summarization.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AA0B3F,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,qBAAqB,CACzC,mBAAmB,EAAE,WAAW,EAAE,EAClC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,mBAAmB,EAC3B,eAAe,GAAE,eAAwB,EACzC,WAAW,GAAE,MAAY,EACzB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,mBAAmB,CAAC,CAwD9B;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAMjE;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAExF;AAED,eAAO,MAAM,4BAA4B,QAAa,CAAC"}
1
+ {"version":3,"file":"summarization.d.ts","sourceRoot":"","sources":["../../src/core/summarization.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AA6B3F,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,qBAAqB,CACzC,mBAAmB,EAAE,WAAW,EAAE,EAClC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,mBAAmB,EAC3B,eAAe,GAAE,eAAwB,EACzC,WAAW,GAAE,MAAY,EACzB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,mBAAmB,CAAC,CA0E9B;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAMjE;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAExF;AAED,eAAO,MAAM,4BAA4B,QAAa,CAAC"}
@@ -1,4 +1,7 @@
1
1
  import { createUserMessage } from './openrouter-utils.js';
2
+ import { executeWithRetry, resolveRetryConfig } from './retry.js';
3
+ import { isAbortError } from './errors.js';
4
+ import { logger } from './logger.js';
2
5
  const DEFAULT_SUMMARIZATION_PROMPT = `You are an AI assistant specialized in summarizing conversations.
3
6
 
4
7
  Your task is to summarize the conversation you received accurately and completely, preserving all important information.
@@ -36,11 +39,26 @@ export async function summarizeConversation(conversationHistory, client, model,
36
39
  const messages = [
37
40
  createUserMessage(`${prompt}\n\n--- Conversation to summarize ---\n${conversationText}`),
38
41
  ];
39
- const response = await client.chat.completions.create({
42
+ // Use retry mechanism for resilience against transient failures
43
+ const retryConfig = resolveRetryConfig(config.retry);
44
+ const response = await executeWithRetry(() => client.chat.completions.create({
40
45
  model,
41
46
  messages,
42
47
  temperature,
43
48
  reasoning_effort: reasoningEffort,
49
+ }), {
50
+ config: retryConfig,
51
+ abortSignal,
52
+ isRetryable: (error) => {
53
+ // Don't retry abort errors
54
+ if (isAbortError(error))
55
+ return false;
56
+ // Retry transient errors (network, rate limits, etc.)
57
+ return true;
58
+ },
59
+ onRetry: (info) => {
60
+ logger.retry(info.attempt, info.maxAttempts, `Summarization: ${info.error.message}`);
61
+ },
44
62
  });
45
63
  const responseMessage = response.choices[0]?.message;
46
64
  if (!responseMessage?.content) {
@@ -57,8 +75,8 @@ export async function summarizeConversation(conversationHistory, client, model,
57
75
  };
58
76
  }
59
77
  catch (error) {
60
- console.error('Error summarizing conversation:', error);
61
- if (error instanceof Error && error.name === 'AbortError') {
78
+ logger.error('Error summarizing conversation:', error);
79
+ if (isAbortError(error)) {
62
80
  throw error;
63
81
  }
64
82
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"summarization.js","sourceRoot":"","sources":["../../src/core/summarization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summarization.js","sourceRoot":"","sources":["../../src/core/summarization.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,4BAA4B,GAAG;;;;;;;;;;;;;;;;;;;;;sCAqBC,CAAC;AAUvC,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,mBAAkC,EAClC,MAAc,EACd,KAAa,EACb,MAA2B,EAC3B,kBAAmC,MAAM,EACzC,cAAsB,GAAG,EACzB,WAAyB;IAEzB,IAAI,CAAC;QACH,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,4BAA4B,CAAC;QAE7D,MAAM,gBAAgB,GAAG,mBAAmB;aACzC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;YACxD,OAAO,GAAG,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;QACnC,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,MAAM,QAAQ,GAAyD;YACrE,iBAAiB,CAAC,GAAG,MAAM,0CAA0C,gBAAgB,EAAE,CAAC;SACzF,CAAC;QAEF,gEAAgE;QAChE,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CACrC,GAAG,EAAE,CACH,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC7B,KAAK;YACL,QAAQ;YACR,WAAW;YACX,gBAAgB,EAAE,eAAe;SAClC,CAAC,EACJ;YACE,MAAM,EAAE,WAAW;YACnB,WAAW;YACX,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;gBACrB,2BAA2B;gBAC3B,IAAI,YAAY,CAAC,KAAK,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACtC,sDAAsD;gBACtD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,kBAAkB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACvF,CAAC;SACF,CACF,CAAC;QAEF,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;QACrD,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAE/C,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7E,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE1D,OAAO;YACL,OAAO;YACP,oBAAoB,EAAE,mBAAmB,CAAC,MAAM;YAChD,cAAc;YACd,SAAS,EAAE,QAAQ,CAAC,EAAE;SACvB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QAEvD,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO;YACL,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oCAAoC;YACpF,oBAAoB,EAAE,mBAAmB,CAAC,MAAM;YAChD,cAAc,EAAE,CAAC;SAClB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,qCAAqC,OAAO,EAAE;QACvD,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAAmB,EAAE,kBAA0B;IAC7E,OAAO,WAAW,IAAI,kBAAkB,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,GAAG,IAAI,CAAC"}
@@ -1,5 +1,6 @@
1
- import type { ToolDefinition, ToolExecutorContext, FunctionCallResult, ToolResultData, ExecutedToolCall } from '../types/index.js';
2
- interface ToolCall {
1
+ import type { ToolDefinition, ToolExecutorContext, FunctionCallResult, ToolResultData, ExecutedToolCall, ToolCall, ChatMessage } from '../types/index.js';
2
+ import type { MiddlewareExecutor } from './middleware.js';
3
+ interface ToolCallInternal {
3
4
  id: string;
4
5
  name: string;
5
6
  args: Record<string, unknown>;
@@ -13,12 +14,12 @@ export declare class ToolExecutor {
13
14
  * Check if a tool is marked as parallel-safe
14
15
  */
15
16
  isParallelSafe(name: string): boolean;
16
- executeToolCall(call: ToolCall, context: ToolExecutorContext): Promise<FunctionCallResult>;
17
+ executeToolCall(call: ToolCall | ToolCallInternal, context: ToolExecutorContext): Promise<FunctionCallResult>;
17
18
  /**
18
- * Execute a single tool call and handle result callback
19
+ * Execute a single tool call and handle result callback, with optional middleware
19
20
  */
20
21
  private executeAndNotify;
21
- executeToolCalls(calls: ToolCall[], context: ToolExecutorContext, onResult?: (result: ToolResultData) => void, maxConcurrency?: number): Promise<ExecutedToolCall[]>;
22
+ executeToolCalls(calls: ToolCall[], context: ToolExecutorContext, onResult?: (result: ToolResultData) => void, maxConcurrency?: number, middlewareExecutor?: MiddlewareExecutor, history?: ChatMessage[]): Promise<ExecutedToolCall[]>;
22
23
  formatToolResultForHistory(_callId: string, functionName: string, result: FunctionCallResult): {
23
24
  content: string;
24
25
  isError: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../src/core/tool-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAG3B,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAkCD,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAA8B;gBAEjC,KAAK,EAAE,cAAc,EAAE;IAOnC,mBAAmB;IAInB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI9B;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAK/B,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA2BhG;;OAEG;YACW,gBAAgB;IA4BxB,gBAAgB,CACpB,KAAK,EAAE,QAAQ,EAAE,EACjB,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,EAC3C,cAAc,GAAE,MAAU,GACzB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAyE9B,0BAA0B,CACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,kBAAkB,GACzB;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE;CAqBzC"}
1
+ {"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../src/core/tool-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAG1D,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAkCD,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAA8B;gBAEjC,KAAK,EAAE,cAAc,EAAE;IAOnC,mBAAmB;IAInB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI9B;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAK/B,eAAe,CACnB,IAAI,EAAE,QAAQ,GAAG,gBAAgB,EACjC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC;IA2B9B;;OAEG;YACW,gBAAgB;IA0DxB,gBAAgB,CACpB,KAAK,EAAE,QAAQ,EAAE,EACjB,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,EAC3C,cAAc,GAAE,MAAU,EAC1B,kBAAkB,CAAC,EAAE,kBAAkB,EACvC,OAAO,CAAC,EAAE,WAAW,EAAE,GACtB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA+E9B,0BAA0B,CACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,kBAAkB,GACzB;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE;CAqBzC"}
@@ -70,28 +70,53 @@ export class ToolExecutor {
70
70
  }
71
71
  }
72
72
  /**
73
- * Execute a single tool call and handle result callback
73
+ * Execute a single tool call and handle result callback, with optional middleware
74
74
  */
75
- async executeAndNotify(call, context, onResult) {
76
- const result = await this.executeToolCall(call, context);
77
- const executedCall = {
75
+ async executeAndNotify(call, context, onResult, middlewareExecutor, history) {
76
+ // Convert to ToolCall for middleware
77
+ let toolCall = {
78
78
  id: call.id,
79
- functionName: call.name,
79
+ name: call.name,
80
80
  args: call.args,
81
+ };
82
+ // Execute beforeToolCall middleware
83
+ if (middlewareExecutor?.hasMiddleware() && history) {
84
+ toolCall = await middlewareExecutor.executeBeforeToolCall({
85
+ message: '',
86
+ history,
87
+ toolContext: context,
88
+ toolCall,
89
+ });
90
+ }
91
+ let result = await this.executeToolCall(toolCall, context);
92
+ // Execute afterToolCall middleware
93
+ if (middlewareExecutor?.hasMiddleware() && history) {
94
+ result = await middlewareExecutor.executeAfterToolCall({
95
+ message: '',
96
+ history,
97
+ toolContext: context,
98
+ toolCall,
99
+ result,
100
+ });
101
+ }
102
+ const executedCall = {
103
+ id: toolCall.id,
104
+ functionName: toolCall.name,
105
+ args: toolCall.args,
81
106
  result,
82
107
  };
83
- logger.toolCallResult(call.name, result.result, result.error);
108
+ logger.toolCallResult(toolCall.name, result.result, result.error);
84
109
  if (onResult) {
85
110
  onResult({
86
- id: call.id,
87
- functionName: call.name,
111
+ id: toolCall.id,
112
+ functionName: toolCall.name,
88
113
  result: result.result,
89
114
  error: result.error,
90
115
  });
91
116
  }
92
117
  return executedCall;
93
118
  }
94
- async executeToolCalls(calls, context, onResult, maxConcurrency = 5) {
119
+ async executeToolCalls(calls, context, onResult, maxConcurrency = 5, middlewareExecutor, history) {
95
120
  // Partition calls into parallel-safe and sequential groups
96
121
  const parallelCalls = [];
97
122
  const sequentialCalls = [];
@@ -106,7 +131,7 @@ export class ToolExecutor {
106
131
  const executedCalls = [];
107
132
  // Execute parallel-safe tools concurrently with concurrency limit
108
133
  if (parallelCalls.length > 0 && !context.abortSignal?.aborted) {
109
- const parallelTasks = parallelCalls.map((call) => () => this.executeAndNotify(call, context, onResult));
134
+ const parallelTasks = parallelCalls.map((call) => () => this.executeAndNotify(call, context, onResult, middlewareExecutor, history));
110
135
  const parallelResults = await executeWithConcurrency(parallelTasks, maxConcurrency, context.abortSignal);
111
136
  // Collect successful results, handle failures gracefully
112
137
  for (let i = 0; i < parallelResults.length; i++) {
@@ -145,7 +170,7 @@ export class ToolExecutor {
145
170
  if (context.abortSignal?.aborted) {
146
171
  break;
147
172
  }
148
- const executedCall = await this.executeAndNotify(call, context, onResult);
173
+ const executedCall = await this.executeAndNotify(call, context, onResult, middlewareExecutor, history);
149
174
  executedCalls.push(executedCall);
150
175
  }
151
176
  return executedCalls;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../src/core/tool-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../src/core/tool-executor.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  export { createAgent } from './core/agent.js';
2
2
  export type { Agent } from './core/agent.js';
3
+ export { createOrchestratorAgent } from './core/orchestrator.js';
3
4
  export { createEvent } from './types/events.js';
4
5
  export { ENCRYPTED_REASONING_MARKER } from './core/openrouter-utils.js';
5
- export type { ReasoningDetail, ChatMessage, FunctionDeclaration, ToolExecutorContext, ToolDefinition, AgentConfig, ParallelExecutionConfig, UsageMetadata, AgentResult, ToolCallStartData, ToolResultData, AgentCallbacks, AgentEventType, ThinkingEventData, UsageUpdateEventData, ErrorEventData, CompleteEventData, MessageDeltaEventData, ReasoningDeltaEventData, AgentEvent, } from './types/index.js';
6
+ export { AgentError, formatErrorTrace, isAbortError } from './core/errors.js';
7
+ export type { AgentErrorCode } from './core/errors.js';
8
+ export type { ReasoningDetail, ChatMessage, FunctionDeclaration, ToolExecutorContext, ToolDefinition, AgentConfig, ParallelExecutionConfig, RetryConfig, UsageMetadata, AgentResult, ToolCallStartData, ToolResultData, AgentCallbacks, AgentEventType, ThinkingEventData, UsageUpdateEventData, RetryEventData, ErrorEventData, CompleteEventData, MessageDeltaEventData, ReasoningDeltaEventData, AgentEvent, ResponseFormatConfig, Middleware, MiddlewareContext, BeforeChatContext, AfterChatContext, BeforeToolCallContext, AfterToolCallContext, ErrorContext, AgentDefinition, OrchestratorConfig, OrchestratorAgent, SubAgentStartData, SubAgentCompleteData, OrchestratorCallbacks, } from './types/index.js';
6
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,YAAY,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAExE,YAAY,EACV,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,UAAU,GACX,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,YAAY,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC9E,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,YAAY,EACV,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,WAAW,EACX,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,UAAU,EACV,oBAAoB,EAEpB,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EAEZ,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,6 @@
1
1
  export { createAgent } from './core/agent.js';
2
+ export { createOrchestratorAgent } from './core/orchestrator.js';
2
3
  export { createEvent } from './types/events.js';
3
4
  export { ENCRYPTED_REASONING_MARKER } from './core/openrouter-utils.js';
5
+ export { AgentError, formatErrorTrace, isAbortError } from './core/errors.js';
4
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,5 +1,24 @@
1
1
  import type { JsonSchema7Type } from 'zod-to-json-schema';
2
+ import type { ZodType } from 'zod';
2
3
  import type { FunctionCallResult } from './messages.js';
4
+ import type { Middleware } from './middleware.js';
5
+ /**
6
+ * Configuration for structured output response format.
7
+ * Uses OpenAI's response_format API parameter.
8
+ */
9
+ export type ResponseFormatConfig = {
10
+ type: 'text';
11
+ } | {
12
+ type: 'json_object';
13
+ } | {
14
+ type: 'json_schema';
15
+ /** Zod schema for response validation */
16
+ schema: ZodType<unknown>;
17
+ /** Name for the schema (used in API request) */
18
+ name?: string;
19
+ /** Whether to use strict mode (default: true) */
20
+ strict?: boolean;
21
+ };
3
22
  export interface FunctionDeclaration {
4
23
  name: string;
5
24
  description: string;
@@ -31,12 +50,21 @@ export interface ErrorMessages {
31
50
  toolExecutionFailed?: string;
32
51
  summarizationFailed?: string;
33
52
  genericError?: string;
53
+ /** Error message when JSON parsing fails */
54
+ jsonParseError?: string;
55
+ /** Error message when response doesn't match schema */
56
+ responseSchemaValidationFailed?: string;
34
57
  }
35
58
  export type ReasoningEffort = 'low' | 'medium' | 'high';
36
59
  export interface SummarizationConfig {
37
60
  enabled: boolean;
38
61
  prompt?: string;
39
62
  contextLimitTokens?: number;
63
+ /**
64
+ * Retry configuration for summarization API calls.
65
+ * Uses exponential backoff with jitter for transient failures.
66
+ */
67
+ retry?: RetryConfig;
40
68
  }
41
69
  export interface ParallelExecutionConfig {
42
70
  /**
@@ -46,6 +74,35 @@ export interface ParallelExecutionConfig {
46
74
  maxConcurrency?: number;
47
75
  }
48
76
  export declare const DEFAULT_MAX_CONCURRENCY = 5;
77
+ /**
78
+ * Configuration for retry behavior on transient API failures.
79
+ */
80
+ export interface RetryConfig {
81
+ /**
82
+ * Maximum number of retry attempts (including the initial attempt).
83
+ * @default 3
84
+ */
85
+ maxAttempts?: number;
86
+ /**
87
+ * Base delay in milliseconds before the first retry.
88
+ * @default 1000
89
+ */
90
+ baseDelayMs?: number;
91
+ /**
92
+ * Maximum delay in milliseconds between retries.
93
+ * @default 30000
94
+ */
95
+ maxDelayMs?: number;
96
+ /**
97
+ * Multiplier for exponential backoff.
98
+ * @default 2
99
+ */
100
+ backoffMultiplier?: number;
101
+ }
102
+ export declare const DEFAULT_RETRY_MAX_ATTEMPTS = 3;
103
+ export declare const DEFAULT_RETRY_BASE_DELAY_MS = 1000;
104
+ export declare const DEFAULT_RETRY_MAX_DELAY_MS = 30000;
105
+ export declare const DEFAULT_RETRY_BACKOFF_MULTIPLIER = 2;
49
106
  export interface AgentConfig {
50
107
  apiKey: string;
51
108
  model: string;
@@ -59,6 +116,24 @@ export interface AgentConfig {
59
116
  parallelToolExecution?: ParallelExecutionConfig;
60
117
  errorMessages?: ErrorMessages;
61
118
  stream?: boolean;
119
+ /**
120
+ * Response format configuration for structured output.
121
+ * - 'text': Default free-form text response
122
+ * - 'json_object': Forces JSON response (no schema validation)
123
+ * - 'json_schema': Forces JSON response with Zod schema validation
124
+ */
125
+ responseFormat?: ResponseFormatConfig;
126
+ /**
127
+ * Retry configuration for handling transient API failures and response validation retries.
128
+ * Uses exponential backoff with jitter for API failures.
129
+ * The maxAttempts setting also controls retry attempts for schema validation failures.
130
+ */
131
+ retry?: RetryConfig;
132
+ /**
133
+ * Middleware array for intercepting and modifying agent behavior.
134
+ * Middleware is executed in registration order (first in array = first executed).
135
+ */
136
+ middleware?: Middleware[];
62
137
  }
63
138
  export interface UsageMetadata {
64
139
  promptTokenCount?: number;
@@ -67,8 +142,20 @@ export interface UsageMetadata {
67
142
  cachedContentTokenCount?: number;
68
143
  reasoningTokenCount?: number;
69
144
  }
70
- export interface AgentResult {
145
+ /**
146
+ * Result returned from agent.chat().
147
+ *
148
+ * @typeParam T - The type of the parsed response when using responseFormat with json_schema.
149
+ * Defaults to `unknown` when no schema is provided.
150
+ */
151
+ export interface AgentResult<T = unknown> {
152
+ /** Raw string response from the model */
71
153
  message: string;
154
+ /**
155
+ * Parsed and validated response when using responseFormat with json_schema.
156
+ * Only present when a schema is configured and validation succeeds.
157
+ */
158
+ parsedResponse?: T;
72
159
  reasoning?: {
73
160
  text?: string;
74
161
  details?: import('./messages.js').ReasoningDetail[];
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,6 @@
1
1
  export const DEFAULT_MAX_CONCURRENCY = 5;
2
+ export const DEFAULT_RETRY_MAX_ATTEMPTS = 3;
3
+ export const DEFAULT_RETRY_BASE_DELAY_MS = 1000;
4
+ export const DEFAULT_RETRY_MAX_DELAY_MS = 30000;
5
+ export const DEFAULT_RETRY_BACKOFF_MULTIPLIER = 2;
2
6
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AA2DA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAuFA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AA4BzC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAChD,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAChD,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC"}