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.
- package/README.md +516 -2
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +151 -66
- package/dist/core/agent.js.map +1 -1
- package/dist/core/errors.d.ts +1 -1
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +4 -1
- package/dist/core/errors.js.map +1 -1
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/logger.d.ts +2 -0
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +8 -0
- package/dist/core/logger.js.map +1 -1
- package/dist/core/middleware.d.ts +55 -0
- package/dist/core/middleware.d.ts.map +1 -0
- package/dist/core/middleware.js +125 -0
- package/dist/core/middleware.js.map +1 -0
- package/dist/core/orchestrator.d.ts +31 -0
- package/dist/core/orchestrator.d.ts.map +1 -0
- package/dist/core/orchestrator.js +206 -0
- package/dist/core/orchestrator.js.map +1 -0
- package/dist/core/response-format.d.ts +44 -0
- package/dist/core/response-format.d.ts.map +1 -0
- package/dist/core/response-format.js +107 -0
- package/dist/core/response-format.js.map +1 -0
- package/dist/core/retry.d.ts +76 -0
- package/dist/core/retry.d.ts.map +1 -0
- package/dist/core/retry.js +164 -0
- package/dist/core/retry.js.map +1 -0
- package/dist/core/summarization.d.ts.map +1 -1
- package/dist/core/summarization.js +21 -3
- package/dist/core/summarization.js.map +1 -1
- package/dist/core/tool-executor.d.ts +6 -5
- package/dist/core/tool-executor.d.ts.map +1 -1
- package/dist/core/tool-executor.js +36 -11
- package/dist/core/tool-executor.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/types/config.d.ts +88 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +4 -0
- package/dist/types/config.js.map +1 -1
- package/dist/types/events.d.ts +24 -1
- package/dist/types/events.d.ts.map +1 -1
- package/dist/types/events.js.map +1 -1
- package/dist/types/index.d.ts +5 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/middleware.d.ts +115 -0
- package/dist/types/middleware.d.ts.map +1 -0
- package/dist/types/middleware.js +2 -0
- package/dist/types/middleware.js.map +1 -0
- package/dist/types/orchestrator.d.ts +61 -0
- package/dist/types/orchestrator.d.ts.map +1 -0
- package/dist/types/orchestrator.js +2 -0
- package/dist/types/orchestrator.js.map +1 -0
- 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;
|
|
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
|
-
|
|
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
|
-
|
|
61
|
-
if (error
|
|
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":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"summarization.js","sourceRoot":"","sources":["../../src/core/summarization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { ToolDefinition, ToolExecutorContext, FunctionCallResult, ToolResultData, ExecutedToolCall } from '../types/index.js';
|
|
2
|
-
|
|
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,
|
|
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
|
-
|
|
77
|
-
|
|
75
|
+
async executeAndNotify(call, context, onResult, middlewareExecutor, history) {
|
|
76
|
+
// Convert to ToolCall for middleware
|
|
77
|
+
let toolCall = {
|
|
78
78
|
id: call.id,
|
|
79
|
-
|
|
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(
|
|
108
|
+
logger.toolCallResult(toolCall.name, result.result, result.error);
|
|
84
109
|
if (onResult) {
|
|
85
110
|
onResult({
|
|
86
|
-
id:
|
|
87
|
-
functionName:
|
|
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":"
|
|
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
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/types/config.d.ts
CHANGED
|
@@ -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
|
-
|
|
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":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
|
package/dist/types/config.js
CHANGED
|
@@ -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
|
package/dist/types/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"
|
|
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"}
|