@just-every/ensemble 0.2.212 → 0.2.213

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 (86) hide show
  1. package/README.md +152 -91
  2. package/dist/cjs/core/ensemble_request.cjs +734 -333
  3. package/dist/cjs/core/ensemble_request.d.ts.map +1 -1
  4. package/dist/cjs/core/ensemble_request.js.map +1 -1
  5. package/dist/cjs/model_providers/base_provider.d.ts.map +1 -1
  6. package/dist/cjs/model_providers/base_provider.js.map +1 -1
  7. package/dist/cjs/model_providers/claude.cjs +72 -72
  8. package/dist/cjs/model_providers/claude.d.ts.map +1 -1
  9. package/dist/cjs/model_providers/claude.js.map +1 -1
  10. package/dist/cjs/model_providers/gemini.cjs +3 -0
  11. package/dist/cjs/model_providers/gemini.d.ts.map +1 -1
  12. package/dist/cjs/model_providers/gemini.js.map +1 -1
  13. package/dist/cjs/model_providers/openai.cjs +41 -112
  14. package/dist/cjs/model_providers/openai.d.ts.map +1 -1
  15. package/dist/cjs/model_providers/openai.js.map +1 -1
  16. package/dist/cjs/model_providers/openai_chat.cjs +55 -24
  17. package/dist/cjs/model_providers/openai_chat.d.ts.map +1 -1
  18. package/dist/cjs/model_providers/openai_chat.js.map +1 -1
  19. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  20. package/dist/cjs/types/types.d.ts +20 -2
  21. package/dist/cjs/types/types.d.ts.map +1 -1
  22. package/dist/cjs/utils/agent.cjs +4 -6
  23. package/dist/cjs/utils/agent.d.ts.map +1 -1
  24. package/dist/cjs/utils/agent.js.map +1 -1
  25. package/dist/cjs/utils/ensemble_result.cjs +43 -4
  26. package/dist/cjs/utils/ensemble_result.d.ts +10 -1
  27. package/dist/cjs/utils/ensemble_result.d.ts.map +1 -1
  28. package/dist/cjs/utils/ensemble_result.js.map +1 -1
  29. package/dist/cjs/utils/failure_detection.cjs +292 -0
  30. package/dist/cjs/utils/failure_detection.d.ts +51 -0
  31. package/dist/cjs/utils/failure_detection.d.ts.map +1 -0
  32. package/dist/cjs/utils/failure_detection.js.map +1 -0
  33. package/dist/cjs/utils/json_schema.cjs +490 -0
  34. package/dist/cjs/utils/json_schema.d.ts +10 -0
  35. package/dist/cjs/utils/json_schema.d.ts.map +1 -0
  36. package/dist/cjs/utils/json_schema.js.map +1 -0
  37. package/dist/cjs/utils/tool_execution_manager.cjs +28 -4
  38. package/dist/cjs/utils/tool_execution_manager.d.ts +1 -1
  39. package/dist/cjs/utils/tool_execution_manager.d.ts.map +1 -1
  40. package/dist/cjs/utils/tool_execution_manager.js.map +1 -1
  41. package/dist/cjs/utils/verification.cjs +26 -13
  42. package/dist/cjs/utils/verification.d.ts.map +1 -1
  43. package/dist/cjs/utils/verification.js.map +1 -1
  44. package/dist/core/ensemble_request.d.ts.map +1 -1
  45. package/dist/core/ensemble_request.js +734 -333
  46. package/dist/core/ensemble_request.js.map +1 -1
  47. package/dist/model_providers/base_provider.d.ts.map +1 -1
  48. package/dist/model_providers/base_provider.js.map +1 -1
  49. package/dist/model_providers/claude.d.ts.map +1 -1
  50. package/dist/model_providers/claude.js +72 -72
  51. package/dist/model_providers/claude.js.map +1 -1
  52. package/dist/model_providers/gemini.d.ts.map +1 -1
  53. package/dist/model_providers/gemini.js +3 -0
  54. package/dist/model_providers/gemini.js.map +1 -1
  55. package/dist/model_providers/openai.d.ts.map +1 -1
  56. package/dist/model_providers/openai.js +41 -112
  57. package/dist/model_providers/openai.js.map +1 -1
  58. package/dist/model_providers/openai_chat.d.ts.map +1 -1
  59. package/dist/model_providers/openai_chat.js +55 -24
  60. package/dist/model_providers/openai_chat.js.map +1 -1
  61. package/dist/tsconfig.tsbuildinfo +1 -1
  62. package/dist/types/types.d.ts +20 -2
  63. package/dist/types/types.d.ts.map +1 -1
  64. package/dist/utils/agent.d.ts.map +1 -1
  65. package/dist/utils/agent.js +4 -6
  66. package/dist/utils/agent.js.map +1 -1
  67. package/dist/utils/ensemble_result.d.ts +10 -1
  68. package/dist/utils/ensemble_result.d.ts.map +1 -1
  69. package/dist/utils/ensemble_result.js +43 -4
  70. package/dist/utils/ensemble_result.js.map +1 -1
  71. package/dist/utils/failure_detection.d.ts +51 -0
  72. package/dist/utils/failure_detection.d.ts.map +1 -0
  73. package/dist/utils/failure_detection.js +280 -0
  74. package/dist/utils/failure_detection.js.map +1 -0
  75. package/dist/utils/json_schema.d.ts +10 -0
  76. package/dist/utils/json_schema.d.ts.map +1 -0
  77. package/dist/utils/json_schema.js +486 -0
  78. package/dist/utils/json_schema.js.map +1 -0
  79. package/dist/utils/tool_execution_manager.d.ts +1 -1
  80. package/dist/utils/tool_execution_manager.d.ts.map +1 -1
  81. package/dist/utils/tool_execution_manager.js +28 -4
  82. package/dist/utils/tool_execution_manager.js.map +1 -1
  83. package/dist/utils/verification.d.ts.map +1 -1
  84. package/dist/utils/verification.js +26 -13
  85. package/dist/utils/verification.js.map +1 -1
  86. package/package.json +1 -1
@@ -0,0 +1,292 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestLifecycleController = void 0;
4
+ exports.createOperationStatusEvent = createOperationStatusEvent;
5
+ exports.normalizeFailure = normalizeFailure;
6
+ exports.selectMoreSevereFailure = selectMoreSevereFailure;
7
+ exports.toErrorEvent = toErrorEvent;
8
+ exports.createProviderErrorEvent = createProviderErrorEvent;
9
+ exports.isTerminalFailureEvent = isTerminalFailureEvent;
10
+ exports.createOperationGuard = createOperationGuard;
11
+ exports.streamWithAbortAndTimeout = streamWithAbortAndTimeout;
12
+ const RETRYABLE_ERROR_CODES = new Set([
13
+ 'ECONNRESET',
14
+ 'ETIMEDOUT',
15
+ 'ENOTFOUND',
16
+ 'ECONNREFUSED',
17
+ 'EPIPE',
18
+ 'EHOSTUNREACH',
19
+ 'EAI_AGAIN',
20
+ 'ENETUNREACH',
21
+ 'ECONNABORTED',
22
+ 'ESOCKETTIMEDOUT',
23
+ ]);
24
+ const RETRYABLE_STATUS_CODES = new Set([408, 429, 500, 502, 503, 504, 522, 524]);
25
+ const RETRYABLE_MESSAGE_SNIPPETS = [
26
+ 'fetch failed',
27
+ 'network error',
28
+ 'ECONNRESET',
29
+ 'ETIMEDOUT',
30
+ 'Incomplete JSON segment',
31
+ 'Connection error',
32
+ 'Request timeout',
33
+ ];
34
+ function createGuardError(operationName, kind, timeoutMs) {
35
+ const error = new Error(kind === 'aborted' ? `${operationName} aborted` : `${operationName} timed out after ${timeoutMs}ms`);
36
+ error.code = kind === 'aborted' ? 'ABORT_ERR' : 'ETIMEDOUT';
37
+ error.recoverable = false;
38
+ if (kind === 'aborted') {
39
+ error.name = 'AbortError';
40
+ }
41
+ return error;
42
+ }
43
+ function createOperationStatusEvent(event) {
44
+ return {
45
+ type: 'operation_status',
46
+ timestamp: new Date().toISOString(),
47
+ ...event,
48
+ };
49
+ }
50
+ function normalizeFailure(failure, overrides = {}) {
51
+ const candidate = failure;
52
+ const code = overrides.code ?? candidate?.code;
53
+ let recoverable = overrides.recoverable ?? candidate?.recoverable;
54
+ const message = overrides.error ??
55
+ candidate?.error ??
56
+ candidate?.message ??
57
+ (failure instanceof Error ? failure.message : String(failure));
58
+ if (recoverable === undefined &&
59
+ (code === 'ETIMEDOUT' ||
60
+ code === 'ABORT_ERR' ||
61
+ code === 'ABORT_ERROR' ||
62
+ candidate?.name === 'AbortError')) {
63
+ recoverable = false;
64
+ }
65
+ if (recoverable === undefined) {
66
+ const retryableErrors = overrides.retryableErrors !== undefined
67
+ ? new Set([...RETRYABLE_ERROR_CODES, ...overrides.retryableErrors])
68
+ : RETRYABLE_ERROR_CODES;
69
+ const retryableStatusCodes = overrides.retryableStatusCodes !== undefined
70
+ ? new Set([...RETRYABLE_STATUS_CODES, ...overrides.retryableStatusCodes])
71
+ : RETRYABLE_STATUS_CODES;
72
+ recoverable =
73
+ (typeof code === 'string' && retryableErrors.has(code)) ||
74
+ (typeof candidate?.status === 'number' && retryableStatusCodes.has(candidate.status)) ||
75
+ RETRYABLE_MESSAGE_SNIPPETS.some(snippet => message.includes(snippet));
76
+ }
77
+ return {
78
+ error: message,
79
+ recoverable,
80
+ terminal: !recoverable,
81
+ code,
82
+ details: overrides.details ?? candidate?.details,
83
+ reason: overrides.reason ?? candidate?.reason,
84
+ };
85
+ }
86
+ function selectMoreSevereFailure(current, next) {
87
+ if (!current) {
88
+ return next;
89
+ }
90
+ if (next.terminal && !current.terminal) {
91
+ return next;
92
+ }
93
+ return current;
94
+ }
95
+ function toErrorEvent(failure, event = {}) {
96
+ return {
97
+ type: 'error',
98
+ timestamp: new Date().toISOString(),
99
+ ...event,
100
+ error: failure.error,
101
+ code: failure.code,
102
+ details: failure.details,
103
+ recoverable: failure.recoverable,
104
+ };
105
+ }
106
+ function createProviderErrorEvent(error, options) {
107
+ const failure = normalizeFailure(error, {
108
+ recoverable: options.recoverable,
109
+ reason: options.reason,
110
+ details: options.details,
111
+ retryableErrors: options.retryableErrors,
112
+ retryableStatusCodes: options.retryableStatusCodes,
113
+ });
114
+ return toErrorEvent({
115
+ ...failure,
116
+ error: `${options.prefix}${failure.error}`,
117
+ }, {
118
+ request_id: options.request_id,
119
+ });
120
+ }
121
+ function isTerminalFailureEvent(event) {
122
+ if (event.type === 'operation_status') {
123
+ const statusEvent = event;
124
+ return statusEvent.status === 'failed' && statusEvent.terminal === true;
125
+ }
126
+ if (event.type === 'error') {
127
+ return event.recoverable === false;
128
+ }
129
+ return false;
130
+ }
131
+ class RequestLifecycleController {
132
+ state = 'idle';
133
+ requestId;
134
+ begin(requestId) {
135
+ if (this.isTerminal()) {
136
+ return null;
137
+ }
138
+ if (!this.requestId) {
139
+ this.requestId = requestId;
140
+ }
141
+ if (this.state !== 'idle') {
142
+ this.state = 'running';
143
+ return null;
144
+ }
145
+ this.state = 'running';
146
+ return createOperationStatusEvent({
147
+ operation: 'request',
148
+ request_id: this.requestId,
149
+ status: 'started',
150
+ terminal: false,
151
+ will_continue: true,
152
+ });
153
+ }
154
+ retrying(failure, attempt, maxAttempts) {
155
+ if (this.isTerminal() || !this.requestId) {
156
+ return null;
157
+ }
158
+ this.state = 'retrying';
159
+ return createOperationStatusEvent({
160
+ operation: 'request',
161
+ request_id: this.requestId,
162
+ status: 'retrying',
163
+ error: failure.error,
164
+ reason: failure.reason ?? 'retryable_failure',
165
+ recoverable: true,
166
+ terminal: false,
167
+ will_continue: true,
168
+ attempt,
169
+ max_attempts: maxAttempts,
170
+ });
171
+ }
172
+ complete() {
173
+ if (this.isTerminal() || !this.requestId) {
174
+ return null;
175
+ }
176
+ this.state = 'completed';
177
+ return createOperationStatusEvent({
178
+ operation: 'request',
179
+ request_id: this.requestId,
180
+ status: 'completed',
181
+ terminal: true,
182
+ recoverable: false,
183
+ will_continue: false,
184
+ });
185
+ }
186
+ fail(failure, attempt, maxAttempts) {
187
+ if (this.isTerminal() || !this.requestId) {
188
+ return null;
189
+ }
190
+ this.state = 'failed';
191
+ return createOperationStatusEvent({
192
+ operation: 'request',
193
+ request_id: this.requestId,
194
+ status: 'failed',
195
+ error: failure.error,
196
+ reason: failure.reason ?? 'terminal_failure',
197
+ recoverable: false,
198
+ terminal: true,
199
+ will_continue: false,
200
+ attempt,
201
+ max_attempts: maxAttempts,
202
+ });
203
+ }
204
+ getRequestId() {
205
+ return this.requestId;
206
+ }
207
+ isTerminal() {
208
+ return this.state === 'completed' || this.state === 'failed';
209
+ }
210
+ }
211
+ exports.RequestLifecycleController = RequestLifecycleController;
212
+ function createOperationGuard(options) {
213
+ const { operationName, abortSignal, timeoutMs } = options;
214
+ const controller = new AbortController();
215
+ const abortWith = (reason) => {
216
+ if (!controller.signal.aborted) {
217
+ controller.abort(reason);
218
+ }
219
+ };
220
+ if (abortSignal?.aborted) {
221
+ abortWith(createGuardError(operationName, 'aborted'));
222
+ }
223
+ let timeoutId;
224
+ let abortListener;
225
+ if (abortSignal) {
226
+ abortListener = () => abortWith(createGuardError(operationName, 'aborted'));
227
+ abortSignal.addEventListener('abort', abortListener, { once: true });
228
+ }
229
+ if (typeof timeoutMs === 'number' && timeoutMs > 0) {
230
+ timeoutId = setTimeout(() => {
231
+ abortWith(createGuardError(operationName, 'timed_out', timeoutMs));
232
+ }, timeoutMs);
233
+ }
234
+ return {
235
+ signal: controller.signal,
236
+ abort: (reason) => {
237
+ abortWith(reason ?? createGuardError(operationName, 'aborted'));
238
+ },
239
+ cleanup: () => {
240
+ if (abortSignal && abortListener) {
241
+ abortSignal.removeEventListener('abort', abortListener);
242
+ }
243
+ if (timeoutId) {
244
+ clearTimeout(timeoutId);
245
+ }
246
+ },
247
+ };
248
+ }
249
+ async function* streamWithAbortAndTimeout(stream, options) {
250
+ const { abortSignal } = options;
251
+ if (abortSignal?.aborted) {
252
+ throw abortSignal.reason ?? createGuardError('Operation', 'aborted');
253
+ }
254
+ let abortListener;
255
+ let streamCompleted = false;
256
+ const abortPromise = new Promise((_, reject) => {
257
+ if (!abortSignal) {
258
+ return;
259
+ }
260
+ abortListener = () => reject(abortSignal.reason ?? createGuardError('Operation', 'aborted'));
261
+ abortSignal.addEventListener('abort', abortListener, { once: true });
262
+ });
263
+ try {
264
+ while (true) {
265
+ const nextPromise = stream.next();
266
+ let iteration;
267
+ try {
268
+ iteration = abortSignal ? await Promise.race([nextPromise, abortPromise]) : await nextPromise;
269
+ }
270
+ catch (error) {
271
+ nextPromise.catch(() => {
272
+ });
273
+ throw error;
274
+ }
275
+ if (iteration.done) {
276
+ streamCompleted = true;
277
+ return;
278
+ }
279
+ yield iteration.value;
280
+ }
281
+ }
282
+ finally {
283
+ if (abortSignal && abortListener) {
284
+ abortSignal.removeEventListener('abort', abortListener);
285
+ }
286
+ if (!streamCompleted && typeof stream.return === 'function') {
287
+ void stream.return(undefined).catch(() => {
288
+ });
289
+ }
290
+ }
291
+ }
292
+ //# sourceMappingURL=failure_detection.js.map
@@ -0,0 +1,51 @@
1
+ import type { ErrorEvent, OperationStatusEvent, ProviderStreamEvent } from "../types/types.cjs";
2
+ export interface FailureClassification {
3
+ error: string;
4
+ recoverable: boolean;
5
+ terminal: boolean;
6
+ code?: string;
7
+ details?: unknown;
8
+ reason?: string;
9
+ }
10
+ export declare function createOperationStatusEvent(event: Omit<OperationStatusEvent, 'type' | 'timestamp'>): OperationStatusEvent;
11
+ interface FailureNormalizationOptions extends Partial<Omit<FailureClassification, 'terminal'>> {
12
+ retryableErrors?: Iterable<string>;
13
+ retryableStatusCodes?: Iterable<number>;
14
+ }
15
+ export declare function normalizeFailure(failure: unknown, overrides?: FailureNormalizationOptions): FailureClassification;
16
+ export declare function selectMoreSevereFailure(current: FailureClassification | undefined, next: FailureClassification): FailureClassification;
17
+ export declare function toErrorEvent(failure: FailureClassification, event?: Omit<ErrorEvent, 'type' | 'timestamp' | 'error' | 'recoverable' | 'code' | 'details'>): ErrorEvent;
18
+ export declare function createProviderErrorEvent(error: unknown, options: {
19
+ prefix: string;
20
+ request_id?: string;
21
+ reason?: string;
22
+ recoverable?: boolean;
23
+ details?: unknown;
24
+ retryableErrors?: Iterable<string>;
25
+ retryableStatusCodes?: Iterable<number>;
26
+ }): ErrorEvent;
27
+ export declare function isTerminalFailureEvent(event: ProviderStreamEvent): boolean;
28
+ export declare class RequestLifecycleController {
29
+ private state;
30
+ private requestId?;
31
+ begin(requestId: string): OperationStatusEvent | null;
32
+ retrying(failure: FailureClassification, attempt: number, maxAttempts: number): OperationStatusEvent | null;
33
+ complete(): OperationStatusEvent | null;
34
+ fail(failure: FailureClassification, attempt: number, maxAttempts: number): OperationStatusEvent | null;
35
+ getRequestId(): string | undefined;
36
+ isTerminal(): boolean;
37
+ }
38
+ export declare function createOperationGuard(options: {
39
+ operationName: string;
40
+ abortSignal?: AbortSignal;
41
+ timeoutMs?: number;
42
+ }): {
43
+ signal: AbortSignal;
44
+ abort: (reason?: Error) => void;
45
+ cleanup: () => void;
46
+ };
47
+ export declare function streamWithAbortAndTimeout<T>(stream: AsyncGenerator<T>, options: {
48
+ abortSignal?: AbortSignal;
49
+ }): AsyncGenerator<T>;
50
+ export {};
51
+ //# sourceMappingURL=failure_detection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failure_detection.d.ts","sourceRoot":"","sources":["../../../utils/failure_detection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failure_detection.js","sourceRoot":"","sources":["../../../utils/failure_detection.ts"],"names":[],"mappings":"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"}