@just-every/ensemble 0.1.34 → 0.2.2

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 (205) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +62 -190
  3. package/dist/config/tool_execution.d.ts +11 -0
  4. package/dist/config/tool_execution.d.ts.map +1 -0
  5. package/dist/config/tool_execution.js +31 -0
  6. package/dist/config/tool_execution.js.map +1 -0
  7. package/dist/core/ensemble_embed.d.ts +3 -0
  8. package/dist/core/ensemble_embed.d.ts.map +1 -0
  9. package/dist/core/ensemble_embed.js +24 -0
  10. package/dist/core/ensemble_embed.js.map +1 -0
  11. package/dist/core/ensemble_image.d.ts +3 -0
  12. package/dist/core/ensemble_image.d.ts.map +1 -0
  13. package/dist/core/ensemble_image.js +10 -0
  14. package/dist/core/ensemble_image.js.map +1 -0
  15. package/dist/core/ensemble_request.d.ts +4 -0
  16. package/dist/core/ensemble_request.d.ts.map +1 -0
  17. package/dist/core/ensemble_request.js +240 -0
  18. package/dist/core/ensemble_request.js.map +1 -0
  19. package/dist/{model_data.d.ts → data/model_data.d.ts} +2 -2
  20. package/dist/data/model_data.d.ts.map +1 -0
  21. package/dist/{model_data.js → data/model_data.js} +52 -3
  22. package/dist/data/model_data.js.map +1 -0
  23. package/dist/index.d.ts +18 -35
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +18 -56
  26. package/dist/index.js.map +1 -1
  27. package/dist/model_providers/base_provider.d.ts +3 -29
  28. package/dist/model_providers/base_provider.d.ts.map +1 -1
  29. package/dist/model_providers/base_provider.js +1 -114
  30. package/dist/model_providers/base_provider.js.map +1 -1
  31. package/dist/model_providers/claude.d.ts +2 -2
  32. package/dist/model_providers/claude.d.ts.map +1 -1
  33. package/dist/model_providers/claude.js +10 -4
  34. package/dist/model_providers/claude.js.map +1 -1
  35. package/dist/model_providers/deepseek.d.ts.map +1 -1
  36. package/dist/model_providers/deepseek.js.map +1 -1
  37. package/dist/model_providers/gemini.d.ts +4 -4
  38. package/dist/model_providers/gemini.d.ts.map +1 -1
  39. package/dist/model_providers/gemini.js +31 -32
  40. package/dist/model_providers/gemini.js.map +1 -1
  41. package/dist/model_providers/grok.d.ts.map +1 -1
  42. package/dist/model_providers/grok.js.map +1 -1
  43. package/dist/model_providers/model_provider.d.ts +3 -4
  44. package/dist/model_providers/model_provider.d.ts.map +1 -1
  45. package/dist/model_providers/model_provider.js +11 -5
  46. package/dist/model_providers/model_provider.js.map +1 -1
  47. package/dist/model_providers/openai.d.ts +4 -4
  48. package/dist/model_providers/openai.d.ts.map +1 -1
  49. package/dist/model_providers/openai.js +24 -26
  50. package/dist/model_providers/openai.js.map +1 -1
  51. package/dist/model_providers/openai_chat.d.ts +3 -3
  52. package/dist/model_providers/openai_chat.d.ts.map +1 -1
  53. package/dist/model_providers/openai_chat.js +2 -2
  54. package/dist/model_providers/openai_chat.js.map +1 -1
  55. package/dist/model_providers/openrouter.d.ts.map +1 -1
  56. package/dist/model_providers/openrouter.js +3 -3
  57. package/dist/model_providers/openrouter.js.map +1 -1
  58. package/dist/model_providers/test_provider.d.ts +3 -5
  59. package/dist/model_providers/test_provider.d.ts.map +1 -1
  60. package/dist/model_providers/test_provider.js +9 -17
  61. package/dist/model_providers/test_provider.js.map +1 -1
  62. package/dist/tsconfig.tsbuildinfo +1 -1
  63. package/dist/types/api_types.d.ts +1 -1
  64. package/dist/types/api_types.d.ts.map +1 -1
  65. package/dist/types/tool_types.d.ts +1 -99
  66. package/dist/types/tool_types.d.ts.map +1 -1
  67. package/dist/types/tool_types.js +1 -10
  68. package/dist/types/tool_types.js.map +1 -1
  69. package/dist/{types.d.ts → types/types.d.ts} +82 -32
  70. package/dist/types/types.d.ts.map +1 -0
  71. package/dist/types/types.js.map +1 -0
  72. package/dist/utils/agent.d.ts +41 -0
  73. package/dist/utils/agent.d.ts.map +1 -0
  74. package/dist/utils/agent.js +342 -0
  75. package/dist/utils/agent.js.map +1 -0
  76. package/dist/utils/communication.d.ts +0 -1
  77. package/dist/utils/communication.d.ts.map +1 -1
  78. package/dist/utils/communication.js +1 -4
  79. package/dist/utils/communication.js.map +1 -1
  80. package/dist/utils/cost_tracker.d.ts +1 -1
  81. package/dist/utils/cost_tracker.d.ts.map +1 -1
  82. package/dist/utils/cost_tracker.js +1 -1
  83. package/dist/utils/cost_tracker.js.map +1 -1
  84. package/dist/utils/create_tool_function.d.ts +1 -23
  85. package/dist/utils/create_tool_function.d.ts.map +1 -1
  86. package/dist/utils/create_tool_function.js +14 -3
  87. package/dist/utils/create_tool_function.js.map +1 -1
  88. package/dist/{external_models.d.ts → utils/external_models.d.ts} +1 -2
  89. package/dist/utils/external_models.d.ts.map +1 -0
  90. package/dist/{external_models.js → utils/external_models.js} +0 -3
  91. package/dist/utils/external_models.js.map +1 -0
  92. package/dist/utils/image_to_text.d.ts.map +1 -1
  93. package/dist/utils/image_to_text.js +3 -2
  94. package/dist/utils/image_to_text.js.map +1 -1
  95. package/dist/utils/image_utils.d.ts +1 -4
  96. package/dist/utils/image_utils.d.ts.map +1 -1
  97. package/dist/utils/image_utils.js +2 -10
  98. package/dist/utils/image_utils.js.map +1 -1
  99. package/dist/utils/llm_logger.d.ts +1 -1
  100. package/dist/utils/llm_logger.d.ts.map +1 -1
  101. package/dist/utils/llm_logger.js.map +1 -1
  102. package/dist/utils/message_history.d.ts +4 -4
  103. package/dist/utils/message_history.d.ts.map +1 -1
  104. package/dist/utils/message_history.js +18 -18
  105. package/dist/utils/message_history.js.map +1 -1
  106. package/dist/utils/quota_tracker.d.ts +1 -1
  107. package/dist/utils/quota_tracker.d.ts.map +1 -1
  108. package/dist/utils/quota_tracker.js +0 -1
  109. package/dist/utils/quota_tracker.js.map +1 -1
  110. package/dist/utils/running_tool_tracker.d.ts +42 -0
  111. package/dist/utils/running_tool_tracker.d.ts.map +1 -0
  112. package/dist/utils/running_tool_tracker.js +129 -0
  113. package/dist/utils/running_tool_tracker.js.map +1 -0
  114. package/dist/utils/sequential_queue.d.ts +13 -0
  115. package/dist/utils/sequential_queue.d.ts.map +1 -0
  116. package/dist/utils/sequential_queue.js +68 -0
  117. package/dist/utils/sequential_queue.js.map +1 -0
  118. package/dist/utils/state_manager.d.ts.map +1 -1
  119. package/dist/utils/state_manager.js.map +1 -1
  120. package/dist/utils/stream_converter.d.ts +2 -13
  121. package/dist/utils/stream_converter.d.ts.map +1 -1
  122. package/dist/utils/stream_converter.js +15 -37
  123. package/dist/utils/stream_converter.js.map +1 -1
  124. package/dist/utils/test_utils.d.ts +4 -4
  125. package/dist/utils/test_utils.d.ts.map +1 -1
  126. package/dist/utils/test_utils.js +17 -17
  127. package/dist/utils/test_utils.js.map +1 -1
  128. package/dist/utils/tool_execution_manager.d.ts +7 -0
  129. package/dist/utils/tool_execution_manager.d.ts.map +1 -0
  130. package/dist/utils/tool_execution_manager.js +145 -0
  131. package/dist/utils/tool_execution_manager.js.map +1 -0
  132. package/dist/utils/tool_parameter_utils.d.ts +2 -2
  133. package/dist/utils/tool_parameter_utils.d.ts.map +1 -1
  134. package/dist/utils/tool_parameter_utils.js +8 -4
  135. package/dist/utils/tool_parameter_utils.js.map +1 -1
  136. package/dist/utils/tool_result_processor.d.ts +6 -0
  137. package/dist/utils/tool_result_processor.d.ts.map +1 -0
  138. package/dist/utils/tool_result_processor.js +69 -0
  139. package/dist/utils/tool_result_processor.js.map +1 -0
  140. package/dist/utils/verification.d.ts +7 -0
  141. package/dist/utils/verification.d.ts.map +1 -0
  142. package/dist/utils/verification.js +43 -0
  143. package/dist/utils/verification.js.map +1 -0
  144. package/package.json +11 -10
  145. package/dist/cost_tracker.d.ts +0 -2
  146. package/dist/cost_tracker.d.ts.map +0 -1
  147. package/dist/cost_tracker.js +0 -2
  148. package/dist/cost_tracker.js.map +0 -1
  149. package/dist/errors.d.ts +0 -55
  150. package/dist/errors.d.ts.map +0 -1
  151. package/dist/errors.js +0 -134
  152. package/dist/errors.js.map +0 -1
  153. package/dist/external_models.d.ts.map +0 -1
  154. package/dist/external_models.js.map +0 -1
  155. package/dist/model_data.d.ts.map +0 -1
  156. package/dist/model_data.js.map +0 -1
  157. package/dist/model_providers/refactored_openai.d.ts +0 -22
  158. package/dist/model_providers/refactored_openai.d.ts.map +0 -1
  159. package/dist/model_providers/refactored_openai.js +0 -310
  160. package/dist/model_providers/refactored_openai.js.map +0 -1
  161. package/dist/openai-compat.d.ts +0 -79
  162. package/dist/openai-compat.d.ts.map +0 -1
  163. package/dist/openai-compat.js +0 -581
  164. package/dist/openai-compat.js.map +0 -1
  165. package/dist/test.d.ts +0 -5
  166. package/dist/test.d.ts.map +0 -1
  167. package/dist/test.js +0 -2
  168. package/dist/test.js.map +0 -1
  169. package/dist/types/extended_types.d.ts +0 -43
  170. package/dist/types/extended_types.d.ts.map +0 -1
  171. package/dist/types/extended_types.js +0 -2
  172. package/dist/types/extended_types.js.map +0 -1
  173. package/dist/types.d.ts.map +0 -1
  174. package/dist/types.js.map +0 -1
  175. package/dist/unified_request.d.ts +0 -19
  176. package/dist/unified_request.d.ts.map +0 -1
  177. package/dist/unified_request.js +0 -261
  178. package/dist/unified_request.js.map +0 -1
  179. package/dist/utils/async_queue.d.ts +0 -14
  180. package/dist/utils/async_queue.d.ts.map +0 -1
  181. package/dist/utils/async_queue.js +0 -68
  182. package/dist/utils/async_queue.js.map +0 -1
  183. package/dist/utils/cache.d.ts +0 -60
  184. package/dist/utils/cache.d.ts.map +0 -1
  185. package/dist/utils/cache.js +0 -205
  186. package/dist/utils/cache.js.map +0 -1
  187. package/dist/utils/error_handler.d.ts +0 -33
  188. package/dist/utils/error_handler.d.ts.map +0 -1
  189. package/dist/utils/error_handler.js +0 -84
  190. package/dist/utils/error_handler.js.map +0 -1
  191. package/dist/utils/tool_builder.d.ts +0 -51
  192. package/dist/utils/tool_builder.d.ts.map +0 -1
  193. package/dist/utils/tool_builder.js +0 -167
  194. package/dist/utils/tool_builder.js.map +0 -1
  195. package/dist/utils/tool_utils.d.ts +0 -13
  196. package/dist/utils/tool_utils.d.ts.map +0 -1
  197. package/dist/utils/tool_utils.js +0 -52
  198. package/dist/utils/tool_utils.js.map +0 -1
  199. package/dist/validation.d.ts +0 -1789
  200. package/dist/validation.d.ts.map +0 -1
  201. package/dist/validation.js +0 -289
  202. package/dist/validation.js.map +0 -1
  203. package/test.d.ts +0 -3
  204. package/test.js +0 -4
  205. /package/dist/{types.js → types/types.js} +0 -0
@@ -1,205 +0,0 @@
1
- export class LRUCache {
2
- maxSize;
3
- ttlMs;
4
- cache = new Map();
5
- accessOrder = [];
6
- constructor(maxSize, ttlMs = 5 * 60 * 1000) {
7
- this.maxSize = maxSize;
8
- this.ttlMs = ttlMs;
9
- }
10
- get(key) {
11
- const entry = this.cache.get(key);
12
- if (!entry)
13
- return undefined;
14
- if (Date.now() - entry.timestamp > this.ttlMs) {
15
- this.delete(key);
16
- return undefined;
17
- }
18
- this.updateAccessOrder(key);
19
- return entry.value;
20
- }
21
- set(key, value) {
22
- if (!this.cache.has(key) && this.cache.size >= this.maxSize) {
23
- this.evictLRU();
24
- }
25
- this.cache.set(key, { value, timestamp: Date.now() });
26
- this.updateAccessOrder(key);
27
- }
28
- delete(key) {
29
- const deleted = this.cache.delete(key);
30
- if (deleted) {
31
- const index = this.accessOrder.indexOf(key);
32
- if (index > -1) {
33
- this.accessOrder.splice(index, 1);
34
- }
35
- }
36
- return deleted;
37
- }
38
- clear() {
39
- this.cache.clear();
40
- this.accessOrder = [];
41
- }
42
- updateAccessOrder(key) {
43
- const index = this.accessOrder.indexOf(key);
44
- if (index > -1) {
45
- this.accessOrder.splice(index, 1);
46
- }
47
- this.accessOrder.push(key);
48
- }
49
- evictLRU() {
50
- const lru = this.accessOrder.shift();
51
- if (lru !== undefined) {
52
- this.cache.delete(lru);
53
- }
54
- }
55
- }
56
- class ModelMetadataCache {
57
- cache = new LRUCache(100, 10 * 60 * 1000);
58
- get(modelId) {
59
- return this.cache.get(modelId);
60
- }
61
- set(modelId, entry) {
62
- this.cache.set(modelId, entry);
63
- }
64
- clear() {
65
- this.cache.clear();
66
- }
67
- }
68
- export const modelMetadataCache = new ModelMetadataCache();
69
- export class ConnectionPool {
70
- factory;
71
- maxConnections;
72
- available = [];
73
- inUse = new Set();
74
- waitQueue = [];
75
- constructor(factory, maxConnections = 10) {
76
- this.factory = factory;
77
- this.maxConnections = maxConnections;
78
- for (let i = 0; i < Math.min(3, maxConnections); i++) {
79
- this.available.push(this.factory());
80
- }
81
- }
82
- async acquire() {
83
- const conn = this.available.pop();
84
- if (conn) {
85
- this.inUse.add(conn);
86
- return conn;
87
- }
88
- if (this.inUse.size < this.maxConnections) {
89
- const newConn = this.factory();
90
- this.inUse.add(newConn);
91
- return newConn;
92
- }
93
- return new Promise((resolve) => {
94
- this.waitQueue.push(resolve);
95
- });
96
- }
97
- release(conn) {
98
- this.inUse.delete(conn);
99
- const waiter = this.waitQueue.shift();
100
- if (waiter) {
101
- this.inUse.add(conn);
102
- waiter(conn);
103
- }
104
- else {
105
- this.available.push(conn);
106
- }
107
- }
108
- async withConnection(fn) {
109
- const conn = await this.acquire();
110
- try {
111
- return await fn(conn);
112
- }
113
- finally {
114
- this.release(conn);
115
- }
116
- }
117
- destroy() {
118
- this.available = [];
119
- this.inUse.clear();
120
- this.waitQueue = [];
121
- }
122
- }
123
- export class RequestDeduplicator {
124
- pending = new Map();
125
- async deduplicate(key, factory) {
126
- const existing = this.pending.get(key);
127
- if (existing) {
128
- return existing;
129
- }
130
- const promise = factory().finally(() => {
131
- this.pending.delete(key);
132
- });
133
- this.pending.set(key, promise);
134
- return promise;
135
- }
136
- clear() {
137
- this.pending.clear();
138
- }
139
- }
140
- export class TokenBucket {
141
- capacity;
142
- refillRate;
143
- initialTokens;
144
- tokens;
145
- lastRefill;
146
- constructor(capacity, refillRate, initialTokens) {
147
- this.capacity = capacity;
148
- this.refillRate = refillRate;
149
- this.initialTokens = initialTokens;
150
- this.tokens = initialTokens ?? capacity;
151
- this.lastRefill = Date.now();
152
- }
153
- async consume(count = 1) {
154
- this.refill();
155
- if (this.tokens >= count) {
156
- this.tokens -= count;
157
- return true;
158
- }
159
- return false;
160
- }
161
- async waitAndConsume(count = 1) {
162
- while (true) {
163
- if (await this.consume(count)) {
164
- return;
165
- }
166
- const tokensNeeded = count - this.tokens;
167
- const waitMs = (tokensNeeded / this.refillRate) * 1000;
168
- await new Promise(resolve => setTimeout(resolve, Math.min(waitMs, 100)));
169
- }
170
- }
171
- refill() {
172
- const now = Date.now();
173
- const elapsed = (now - this.lastRefill) / 1000;
174
- const tokensToAdd = elapsed * this.refillRate;
175
- this.tokens = Math.min(this.capacity, this.tokens + tokensToAdd);
176
- this.lastRefill = now;
177
- }
178
- }
179
- export class ResponseCache {
180
- cache = new LRUCache(50, 60 * 1000);
181
- generateKey(model, messages, options) {
182
- const data = {
183
- model,
184
- messages: messages.map(m => ({
185
- role: m.role,
186
- content: typeof m.content === 'string' ? m.content : JSON.stringify(m.content)
187
- })),
188
- temperature: options?.temperature,
189
- max_tokens: options?.max_tokens
190
- };
191
- return JSON.stringify(data);
192
- }
193
- get(key) {
194
- return this.cache.get(key);
195
- }
196
- set(key, value) {
197
- this.cache.set(key, value);
198
- }
199
- clear() {
200
- this.cache.clear();
201
- }
202
- }
203
- export const responseCache = new ResponseCache();
204
- export const requestDeduplicator = new RequestDeduplicator();
205
- //# sourceMappingURL=cache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../utils/cache.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import { EnsembleStreamEvent } from '../types.js';
2
- export declare enum ErrorCode {
3
- PROVIDER_NOT_FOUND = "PROVIDER_NOT_FOUND",
4
- PROVIDER_AUTH_FAILED = "PROVIDER_AUTH_FAILED",
5
- PROVIDER_RATE_LIMIT = "PROVIDER_RATE_LIMIT",
6
- PROVIDER_QUOTA_EXCEEDED = "PROVIDER_QUOTA_EXCEEDED",
7
- TOOL_NOT_FOUND = "TOOL_NOT_FOUND",
8
- TOOL_EXECUTION_FAILED = "TOOL_EXECUTION_FAILED",
9
- TOOL_TIMEOUT = "TOOL_TIMEOUT",
10
- TOOL_VALIDATION_FAILED = "TOOL_VALIDATION_FAILED",
11
- MAX_TOOL_CALLS_EXCEEDED = "MAX_TOOL_CALLS_EXCEEDED",
12
- LOOP_TIMEOUT = "LOOP_TIMEOUT",
13
- INVALID_REQUEST = "INVALID_REQUEST",
14
- UNKNOWN_ERROR = "UNKNOWN_ERROR"
15
- }
16
- export interface EnsembleError extends Error {
17
- code: ErrorCode;
18
- details?: any;
19
- recoverable?: boolean;
20
- retry?: {
21
- attempts: number;
22
- delay: number;
23
- };
24
- }
25
- export declare class EnsembleErrorHandler {
26
- private static retryDelays;
27
- static createError(code: ErrorCode, message: string, details?: any, recoverable?: boolean): EnsembleError;
28
- static handleWithRetry<T>(operation: () => Promise<T>, maxRetries?: number, isRetryable?: (error: any) => boolean): Promise<T>;
29
- static isRetryableError(error: any): boolean;
30
- static toStreamEvent(error: any): EnsembleStreamEvent;
31
- static getUserMessage(error: any): string;
32
- }
33
- //# sourceMappingURL=error_handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error_handler.d.ts","sourceRoot":"","sources":["../../utils/error_handler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,oBAAY,SAAS;IAEjB,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;IAC7C,mBAAmB,wBAAwB;IAC3C,uBAAuB,4BAA4B;IAGnD,cAAc,mBAAmB;IACjC,qBAAqB,0BAA0B;IAC/C,YAAY,iBAAiB;IAC7B,sBAAsB,2BAA2B;IAGjD,uBAAuB,4BAA4B;IACnD,YAAY,iBAAiB;IAC7B,eAAe,oBAAoB;IAGnC,aAAa,kBAAkB;CAClC;AAED,MAAM,WAAW,aAAc,SAAQ,KAAK;IACxC,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL;AAED,qBAAa,oBAAoB;IAC7B,OAAO,CAAC,MAAM,CAAC,WAAW,CAA4B;IAKtD,MAAM,CAAC,WAAW,CACd,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,GAAG,EACb,WAAW,UAAQ,GACpB,aAAa;WAWH,eAAe,CAAC,CAAC,EAC1B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,UAAU,SAAI,EACd,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,GACtC,OAAO,CAAC,CAAC,CAAC;IA6Bb,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAoB5C,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,mBAAmB;IAgBrD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;CAgB5C"}
@@ -1,84 +0,0 @@
1
- export var ErrorCode;
2
- (function (ErrorCode) {
3
- ErrorCode["PROVIDER_NOT_FOUND"] = "PROVIDER_NOT_FOUND";
4
- ErrorCode["PROVIDER_AUTH_FAILED"] = "PROVIDER_AUTH_FAILED";
5
- ErrorCode["PROVIDER_RATE_LIMIT"] = "PROVIDER_RATE_LIMIT";
6
- ErrorCode["PROVIDER_QUOTA_EXCEEDED"] = "PROVIDER_QUOTA_EXCEEDED";
7
- ErrorCode["TOOL_NOT_FOUND"] = "TOOL_NOT_FOUND";
8
- ErrorCode["TOOL_EXECUTION_FAILED"] = "TOOL_EXECUTION_FAILED";
9
- ErrorCode["TOOL_TIMEOUT"] = "TOOL_TIMEOUT";
10
- ErrorCode["TOOL_VALIDATION_FAILED"] = "TOOL_VALIDATION_FAILED";
11
- ErrorCode["MAX_TOOL_CALLS_EXCEEDED"] = "MAX_TOOL_CALLS_EXCEEDED";
12
- ErrorCode["LOOP_TIMEOUT"] = "LOOP_TIMEOUT";
13
- ErrorCode["INVALID_REQUEST"] = "INVALID_REQUEST";
14
- ErrorCode["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
15
- })(ErrorCode || (ErrorCode = {}));
16
- export class EnsembleErrorHandler {
17
- static retryDelays = [1000, 2000, 4000, 8000];
18
- static createError(code, message, details, recoverable = false) {
19
- const error = new Error(message);
20
- error.code = code;
21
- error.details = details;
22
- error.recoverable = recoverable;
23
- return error;
24
- }
25
- static async handleWithRetry(operation, maxRetries = 3, isRetryable) {
26
- let lastError;
27
- for (let attempt = 0; attempt <= maxRetries; attempt++) {
28
- try {
29
- return await operation();
30
- }
31
- catch (error) {
32
- lastError = error;
33
- const shouldRetry = isRetryable ? isRetryable(error) :
34
- this.isRetryableError(error);
35
- if (!shouldRetry || attempt === maxRetries) {
36
- throw error;
37
- }
38
- const delay = this.retryDelays[Math.min(attempt, this.retryDelays.length - 1)];
39
- await new Promise(resolve => setTimeout(resolve, delay));
40
- }
41
- }
42
- throw lastError;
43
- }
44
- static isRetryableError(error) {
45
- if (error?.code) {
46
- return [
47
- ErrorCode.PROVIDER_RATE_LIMIT,
48
- ErrorCode.TOOL_TIMEOUT,
49
- ErrorCode.PROVIDER_QUOTA_EXCEEDED
50
- ].includes(error.code);
51
- }
52
- if (error?.status) {
53
- return [429, 502, 503, 504].includes(error.status);
54
- }
55
- return false;
56
- }
57
- static toStreamEvent(error) {
58
- const ensembleError = error;
59
- return {
60
- type: 'error',
61
- error: error.message || 'Unknown error',
62
- code: ensembleError.code,
63
- details: ensembleError.details,
64
- recoverable: ensembleError.recoverable,
65
- timestamp: new Date().toISOString()
66
- };
67
- }
68
- static getUserMessage(error) {
69
- const ensembleError = error;
70
- switch (ensembleError.code) {
71
- case ErrorCode.PROVIDER_AUTH_FAILED:
72
- return 'Authentication failed. Please check your API key.';
73
- case ErrorCode.PROVIDER_RATE_LIMIT:
74
- return 'Rate limit exceeded. Please try again later.';
75
- case ErrorCode.TOOL_NOT_FOUND:
76
- return `Tool "${ensembleError.details?.toolName}" not found.`;
77
- case ErrorCode.MAX_TOOL_CALLS_EXCEEDED:
78
- return 'Maximum number of tool calls exceeded.';
79
- default:
80
- return error.message || 'An unexpected error occurred.';
81
- }
82
- }
83
- }
84
- //# sourceMappingURL=error_handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error_handler.js","sourceRoot":"","sources":["../../utils/error_handler.ts"],"names":[],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- import { EnhancedToolFunction } from '../types/tool_types.js';
2
- export interface ToolBuilderOptions {
3
- name: string;
4
- description?: string;
5
- category?: string;
6
- priority?: number;
7
- maxExecutions?: number;
8
- cooldown?: number;
9
- sideEffects?: boolean;
10
- }
11
- export declare class ToolBuilder {
12
- private options;
13
- private parameters;
14
- private requiredParams;
15
- private implementation?;
16
- constructor(name: string);
17
- description(desc: string): this;
18
- category(cat: string): this;
19
- param(name: string, schema: any, required?: boolean): this;
20
- string(name: string, description?: string, required?: boolean): this;
21
- number(name: string, description?: string, required?: boolean): this;
22
- boolean(name: string, description?: string, required?: boolean): this;
23
- array(name: string, itemType: string, description?: string, required?: boolean): this;
24
- object(name: string, properties: Record<string, any>, description?: string, required?: boolean): this;
25
- enum(name: string, values: string[], description?: string, required?: boolean): this;
26
- constraints(opts: {
27
- maxExecutions?: number;
28
- cooldown?: number;
29
- priority?: number;
30
- }): this;
31
- hasSideEffects(): this;
32
- implement(fn: (...args: any[]) => any): this;
33
- build(): EnhancedToolFunction;
34
- }
35
- export declare function tool(name: string): ToolBuilder;
36
- export declare function createControlTools(handlers: {
37
- onComplete?: (result: any) => void;
38
- onError?: (error: any) => void;
39
- onClarification?: (question: string, options?: string[]) => void;
40
- }): EnhancedToolFunction[];
41
- export declare function createToolBatch<T>(baseConfig: {
42
- category?: string;
43
- priority?: number;
44
- prefix?: string;
45
- }, tools: Array<{
46
- name: string;
47
- description: string;
48
- params?: Record<string, any>;
49
- implement: (args: T) => Promise<any>;
50
- }>): EnhancedToolFunction[];
51
- //# sourceMappingURL=tool_builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool_builder.d.ts","sourceRoot":"","sources":["../../utils/tool_builder.ts"],"names":[],"mappings":"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"}
@@ -1,167 +0,0 @@
1
- export class ToolBuilder {
2
- options;
3
- parameters = {};
4
- requiredParams = [];
5
- implementation;
6
- constructor(name) {
7
- this.options = { name };
8
- }
9
- description(desc) {
10
- this.options.description = desc;
11
- return this;
12
- }
13
- category(cat) {
14
- this.options.category = cat;
15
- return this;
16
- }
17
- param(name, schema, required = false) {
18
- this.parameters[name] = schema;
19
- if (required) {
20
- this.requiredParams.push(name);
21
- }
22
- return this;
23
- }
24
- string(name, description, required = true) {
25
- return this.param(name, {
26
- type: 'string',
27
- description
28
- }, required);
29
- }
30
- number(name, description, required = true) {
31
- return this.param(name, {
32
- type: 'number',
33
- description
34
- }, required);
35
- }
36
- boolean(name, description, required = true) {
37
- return this.param(name, {
38
- type: 'boolean',
39
- description
40
- }, required);
41
- }
42
- array(name, itemType, description, required = true) {
43
- return this.param(name, {
44
- type: 'array',
45
- items: { type: itemType },
46
- description
47
- }, required);
48
- }
49
- object(name, properties, description, required = true) {
50
- return this.param(name, {
51
- type: 'object',
52
- properties,
53
- description
54
- }, required);
55
- }
56
- enum(name, values, description, required = true) {
57
- return this.param(name, {
58
- type: 'string',
59
- enum: values,
60
- description
61
- }, required);
62
- }
63
- constraints(opts) {
64
- Object.assign(this.options, opts);
65
- return this;
66
- }
67
- hasSideEffects() {
68
- this.options.sideEffects = true;
69
- return this;
70
- }
71
- implement(fn) {
72
- this.implementation = fn;
73
- return this;
74
- }
75
- build() {
76
- if (!this.implementation) {
77
- throw new Error(`Tool ${this.options.name} has no implementation`);
78
- }
79
- const baseTool = {
80
- function: this.implementation,
81
- definition: {
82
- type: 'function',
83
- function: {
84
- name: this.options.name,
85
- description: this.options.description || `Tool for ${this.options.name}`,
86
- parameters: {
87
- type: 'object',
88
- properties: this.parameters,
89
- required: this.requiredParams
90
- }
91
- }
92
- }
93
- };
94
- const enhancedTool = {
95
- ...baseTool,
96
- category: this.options.category,
97
- priority: this.options.priority,
98
- maxExecutions: this.options.maxExecutions,
99
- cooldown: this.options.cooldown,
100
- sideEffects: this.options.sideEffects
101
- };
102
- return enhancedTool;
103
- }
104
- }
105
- export function tool(name) {
106
- return new ToolBuilder(name);
107
- }
108
- export function createControlTools(handlers) {
109
- const tools = [];
110
- tools.push(tool('task_complete')
111
- .description('Mark the current task as complete')
112
- .category('control')
113
- .constraints({ priority: 1 })
114
- .hasSideEffects()
115
- .string('result', 'The task result')
116
- .number('confidence', 'Confidence score 0-1', false)
117
- .implement(async ({ result, confidence }) => {
118
- if (handlers.onComplete) {
119
- handlers.onComplete({ result, confidence });
120
- }
121
- return `Task completed: ${result}`;
122
- })
123
- .build());
124
- tools.push(tool('report_error')
125
- .description('Report an error that prevents task completion')
126
- .category('control')
127
- .constraints({ priority: 1 })
128
- .hasSideEffects()
129
- .string('error', 'Error description')
130
- .string('context', 'Error context', false)
131
- .implement(async ({ error, context }) => {
132
- if (handlers.onError) {
133
- handlers.onError({ error, context });
134
- }
135
- return `Error reported: ${error}`;
136
- })
137
- .build());
138
- if (handlers.onClarification) {
139
- tools.push(tool('request_clarification')
140
- .description('Request clarification from the user')
141
- .category('control')
142
- .constraints({ priority: 2 })
143
- .string('question', 'Clarification question')
144
- .array('options', 'string', 'Suggested options', false)
145
- .implement(async ({ question, options }) => {
146
- handlers.onClarification(question, options);
147
- return 'Clarification requested';
148
- })
149
- .build());
150
- }
151
- return tools;
152
- }
153
- export function createToolBatch(baseConfig, tools) {
154
- return tools.map(toolConfig => {
155
- const builder = tool(baseConfig.prefix ? `${baseConfig.prefix}_${toolConfig.name}` : toolConfig.name)
156
- .description(toolConfig.description)
157
- .category(baseConfig.category || 'utility')
158
- .constraints({ priority: baseConfig.priority });
159
- if (toolConfig.params) {
160
- Object.entries(toolConfig.params).forEach(([name, schema]) => {
161
- builder.param(name, schema, true);
162
- });
163
- }
164
- return builder.implement(toolConfig.implement).build();
165
- });
166
- }
167
- //# sourceMappingURL=tool_builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool_builder.js","sourceRoot":"","sources":["../../utils/tool_builder.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import { ToolCall } from '../types.js';
2
- export interface SimpleToolCall {
3
- name: string;
4
- arguments: Record<string, any> | string;
5
- id?: string;
6
- }
7
- export declare function isFullToolCall(call: any): call is ToolCall;
8
- export declare function normalizeToolCall(call: SimpleToolCall | ToolCall): ToolCall;
9
- export declare function normalizeToolCalls(calls: Array<SimpleToolCall | ToolCall>): ToolCall[];
10
- export declare function createToolCall(name: string, args?: Record<string, any>): SimpleToolCall;
11
- export declare function getToolName(call: SimpleToolCall | ToolCall): string;
12
- export declare function getToolArguments(call: SimpleToolCall | ToolCall): Record<string, any>;
13
- //# sourceMappingURL=tool_utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool_utils.d.ts","sourceRoot":"","sources":["../../utils/tool_utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKvC,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;IACxC,EAAE,CAAC,EAAE,MAAM,CAAC;CACf;AAKD,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,QAAQ,CAE1D;AAMD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAmB3E;AAKD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC,GAAG,QAAQ,EAAE,CAEtF;AAKD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,cAAc,CAK3F;AAKD,wBAAgB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,QAAQ,GAAG,MAAM,CAKnE;AAKD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAgBrF"}
@@ -1,52 +0,0 @@
1
- export function isFullToolCall(call) {
2
- return call && typeof call === 'object' && 'function' in call;
3
- }
4
- export function normalizeToolCall(call) {
5
- if (isFullToolCall(call)) {
6
- return call;
7
- }
8
- const id = call.id || `call_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
9
- return {
10
- id,
11
- type: 'function',
12
- function: {
13
- name: call.name,
14
- arguments: typeof call.arguments === 'string'
15
- ? call.arguments
16
- : JSON.stringify(call.arguments)
17
- }
18
- };
19
- }
20
- export function normalizeToolCalls(calls) {
21
- return calls.map(normalizeToolCall);
22
- }
23
- export function createToolCall(name, args = {}) {
24
- return {
25
- name,
26
- arguments: args
27
- };
28
- }
29
- export function getToolName(call) {
30
- if (isFullToolCall(call)) {
31
- return call.function.name;
32
- }
33
- return call.name;
34
- }
35
- export function getToolArguments(call) {
36
- let argsString;
37
- if (isFullToolCall(call)) {
38
- argsString = call.function.arguments || '{}';
39
- }
40
- else {
41
- argsString = typeof call.arguments === 'string'
42
- ? call.arguments
43
- : JSON.stringify(call.arguments);
44
- }
45
- try {
46
- return JSON.parse(argsString);
47
- }
48
- catch {
49
- return {};
50
- }
51
- }
52
- //# sourceMappingURL=tool_utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool_utils.js","sourceRoot":"","sources":["../../utils/tool_utils.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,cAAc,CAAC,IAAS;IACpC,OAAO,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,UAAU,IAAI,IAAI,CAAC;AAClE,CAAC;AAMD,MAAM,UAAU,iBAAiB,CAAC,IAA+B;IAE7D,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAEtF,OAAO;QACH,EAAE;QACF,IAAI,EAAE,UAAmB;QACzB,QAAQ,EAAE;YACN,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ;gBACzC,CAAC,CAAC,IAAI,CAAC,SAAS;gBAChB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;SACvC;KACJ,CAAC;AACN,CAAC;AAKD,MAAM,UAAU,kBAAkB,CAAC,KAAuC;IACtE,OAAO,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACxC,CAAC;AAKD,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,OAA4B,EAAE;IACvE,OAAO;QACH,IAAI;QACJ,SAAS,EAAE,IAAI;KAClB,CAAC;AACN,CAAC;AAKD,MAAM,UAAU,WAAW,CAAC,IAA+B;IACvD,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB,CAAC;AAKD,MAAM,UAAU,gBAAgB,CAAC,IAA+B;IAC5D,IAAI,UAAkB,CAAC;IAEvB,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC;IACjD,CAAC;SAAM,CAAC;QACJ,UAAU,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ;YAC3C,CAAC,CAAC,IAAI,CAAC,SAAS;YAChB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC"}