@just-every/ensemble 0.2.87 → 0.2.88

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 (215) hide show
  1. package/dist/cjs/config/tool_execution.cjs +47 -0
  2. package/dist/cjs/config/tool_execution.d.ts +12 -0
  3. package/dist/cjs/config/tool_execution.d.ts.map +1 -0
  4. package/dist/cjs/config/tool_execution.js.map +1 -0
  5. package/dist/cjs/core/ensemble_embed.cjs +35 -0
  6. package/dist/cjs/core/ensemble_embed.d.ts +3 -0
  7. package/dist/cjs/core/ensemble_embed.d.ts.map +1 -0
  8. package/dist/cjs/core/ensemble_embed.js.map +1 -0
  9. package/dist/cjs/core/ensemble_image.cjs +13 -0
  10. package/dist/cjs/core/ensemble_image.d.ts +3 -0
  11. package/dist/cjs/core/ensemble_image.d.ts.map +1 -0
  12. package/dist/cjs/core/ensemble_image.js.map +1 -0
  13. package/dist/cjs/core/ensemble_listen.cjs +162 -0
  14. package/dist/cjs/core/ensemble_listen.d.ts +5 -0
  15. package/dist/cjs/core/ensemble_listen.d.ts.map +1 -0
  16. package/dist/cjs/core/ensemble_listen.js.map +1 -0
  17. package/dist/cjs/core/ensemble_live.cjs +387 -0
  18. package/dist/cjs/core/ensemble_live.d.ts +14 -0
  19. package/dist/cjs/core/ensemble_live.d.ts.map +1 -0
  20. package/dist/cjs/core/ensemble_live.js.map +1 -0
  21. package/dist/cjs/core/ensemble_request.cjs +409 -0
  22. package/dist/cjs/core/ensemble_request.d.ts +4 -0
  23. package/dist/cjs/core/ensemble_request.d.ts.map +1 -0
  24. package/dist/cjs/core/ensemble_request.js.map +1 -0
  25. package/dist/cjs/core/ensemble_voice.cjs +284 -0
  26. package/dist/cjs/core/ensemble_voice.d.ts +4 -0
  27. package/dist/cjs/core/ensemble_voice.d.ts.map +1 -0
  28. package/dist/cjs/core/ensemble_voice.js.map +1 -0
  29. package/dist/cjs/data/model_data.cjs +1460 -0
  30. package/dist/cjs/data/model_data.d.ts +71 -0
  31. package/dist/cjs/data/model_data.d.ts.map +1 -0
  32. package/dist/cjs/data/model_data.js.map +1 -0
  33. package/dist/cjs/index.cjs +139 -0
  34. package/dist/cjs/index.d.ts +37 -0
  35. package/dist/cjs/index.d.ts.map +1 -0
  36. package/dist/cjs/index.js.map +1 -0
  37. package/dist/cjs/model_providers/base_provider.cjs +46 -0
  38. package/dist/cjs/model_providers/base_provider.d.ts +13 -0
  39. package/dist/cjs/model_providers/base_provider.d.ts.map +1 -0
  40. package/dist/cjs/model_providers/base_provider.js.map +1 -0
  41. package/dist/cjs/model_providers/claude.cjs +782 -0
  42. package/dist/cjs/model_providers/claude.d.ts +12 -0
  43. package/dist/cjs/model_providers/claude.d.ts.map +1 -0
  44. package/dist/cjs/model_providers/claude.js.map +1 -0
  45. package/dist/cjs/model_providers/deepseek.cjs +129 -0
  46. package/dist/cjs/model_providers/deepseek.d.ts +8 -0
  47. package/dist/cjs/model_providers/deepseek.d.ts.map +1 -0
  48. package/dist/cjs/model_providers/deepseek.js.map +1 -0
  49. package/dist/cjs/model_providers/elevenlabs.cjs +140 -0
  50. package/dist/cjs/model_providers/elevenlabs.d.ts +37 -0
  51. package/dist/cjs/model_providers/elevenlabs.d.ts.map +1 -0
  52. package/dist/cjs/model_providers/elevenlabs.js.map +1 -0
  53. package/dist/cjs/model_providers/gemini.cjs +1654 -0
  54. package/dist/cjs/model_providers/gemini.d.ts +22 -0
  55. package/dist/cjs/model_providers/gemini.d.ts.map +1 -0
  56. package/dist/cjs/model_providers/gemini.js.map +1 -0
  57. package/dist/cjs/model_providers/grok.cjs +25 -0
  58. package/dist/cjs/model_providers/grok.d.ts +8 -0
  59. package/dist/cjs/model_providers/grok.d.ts.map +1 -0
  60. package/dist/cjs/model_providers/grok.js.map +1 -0
  61. package/dist/cjs/model_providers/model_provider.cjs +296 -0
  62. package/dist/cjs/model_providers/model_provider.d.ts +10 -0
  63. package/dist/cjs/model_providers/model_provider.d.ts.map +1 -0
  64. package/dist/cjs/model_providers/model_provider.js.map +1 -0
  65. package/dist/cjs/model_providers/openai.cjs +1117 -0
  66. package/dist/cjs/model_providers/openai.d.ts +19 -0
  67. package/dist/cjs/model_providers/openai.d.ts.map +1 -0
  68. package/dist/cjs/model_providers/openai.js.map +1 -0
  69. package/dist/cjs/model_providers/openai_chat.cjs +787 -0
  70. package/dist/cjs/model_providers/openai_chat.d.ts +20 -0
  71. package/dist/cjs/model_providers/openai_chat.d.ts.map +1 -0
  72. package/dist/cjs/model_providers/openai_chat.js.map +1 -0
  73. package/dist/cjs/model_providers/openrouter.cjs +22 -0
  74. package/dist/cjs/model_providers/openrouter.d.ts +6 -0
  75. package/dist/cjs/model_providers/openrouter.d.ts.map +1 -0
  76. package/dist/cjs/model_providers/openrouter.js.map +1 -0
  77. package/dist/cjs/model_providers/test_provider.cjs +236 -0
  78. package/dist/cjs/model_providers/test_provider.d.ts +29 -0
  79. package/dist/cjs/model_providers/test_provider.d.ts.map +1 -0
  80. package/dist/cjs/model_providers/test_provider.js.map +1 -0
  81. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  82. package/dist/cjs/types/api_types.cjs +3 -0
  83. package/dist/cjs/types/api_types.d.ts +249 -0
  84. package/dist/cjs/types/api_types.d.ts.map +1 -0
  85. package/dist/cjs/types/api_types.js.map +1 -0
  86. package/dist/cjs/types/errors.cjs +76 -0
  87. package/dist/cjs/types/errors.d.ts +34 -0
  88. package/dist/cjs/types/errors.d.ts.map +1 -0
  89. package/dist/cjs/types/errors.js.map +1 -0
  90. package/dist/cjs/types/types.cjs +3 -0
  91. package/dist/cjs/types/types.d.ts +638 -0
  92. package/dist/cjs/types/types.d.ts.map +1 -0
  93. package/dist/cjs/types/types.js.map +1 -0
  94. package/dist/cjs/utils/agent.cjs +384 -0
  95. package/dist/cjs/utils/agent.d.ts +48 -0
  96. package/dist/cjs/utils/agent.d.ts.map +1 -0
  97. package/dist/cjs/utils/agent.js.map +1 -0
  98. package/dist/cjs/utils/audio_stream_player.cjs +342 -0
  99. package/dist/cjs/utils/audio_stream_player.d.ts +37 -0
  100. package/dist/cjs/utils/audio_stream_player.d.ts.map +1 -0
  101. package/dist/cjs/utils/audio_stream_player.js.map +1 -0
  102. package/dist/cjs/utils/citation_tracker.cjs +25 -0
  103. package/dist/cjs/utils/citation_tracker.d.ts +12 -0
  104. package/dist/cjs/utils/citation_tracker.d.ts.map +1 -0
  105. package/dist/cjs/utils/citation_tracker.js.map +1 -0
  106. package/dist/cjs/utils/config_manager.cjs +105 -0
  107. package/dist/cjs/utils/config_manager.d.ts +31 -0
  108. package/dist/cjs/utils/config_manager.d.ts.map +1 -0
  109. package/dist/cjs/utils/config_manager.js.map +1 -0
  110. package/dist/cjs/utils/cost_tracker.cjs +226 -0
  111. package/dist/cjs/utils/cost_tracker.d.ts +33 -0
  112. package/dist/cjs/utils/cost_tracker.d.ts.map +1 -0
  113. package/dist/cjs/utils/cost_tracker.js.map +1 -0
  114. package/dist/cjs/utils/create_tool_function.cjs +182 -0
  115. package/dist/cjs/utils/create_tool_function.d.ts +3 -0
  116. package/dist/cjs/utils/create_tool_function.d.ts.map +1 -0
  117. package/dist/cjs/utils/create_tool_function.js.map +1 -0
  118. package/dist/cjs/utils/delta_buffer.cjs +65 -0
  119. package/dist/cjs/utils/delta_buffer.d.ts +14 -0
  120. package/dist/cjs/utils/delta_buffer.d.ts.map +1 -0
  121. package/dist/cjs/utils/delta_buffer.js.map +1 -0
  122. package/dist/cjs/utils/ensemble_result.cjs +167 -0
  123. package/dist/cjs/utils/ensemble_result.d.ts +33 -0
  124. package/dist/cjs/utils/ensemble_result.d.ts.map +1 -0
  125. package/dist/cjs/utils/ensemble_result.js.map +1 -0
  126. package/dist/cjs/utils/event_controller.cjs +59 -0
  127. package/dist/cjs/utils/event_controller.d.ts +13 -0
  128. package/dist/cjs/utils/event_controller.d.ts.map +1 -0
  129. package/dist/cjs/utils/event_controller.js.map +1 -0
  130. package/dist/cjs/utils/external_models.cjs +42 -0
  131. package/dist/cjs/utils/external_models.d.ts +9 -0
  132. package/dist/cjs/utils/external_models.d.ts.map +1 -0
  133. package/dist/cjs/utils/external_models.js.map +1 -0
  134. package/dist/cjs/utils/image_to_text.cjs +58 -0
  135. package/dist/cjs/utils/image_to_text.d.ts +3 -0
  136. package/dist/cjs/utils/image_to_text.d.ts.map +1 -0
  137. package/dist/cjs/utils/image_to_text.js.map +1 -0
  138. package/dist/cjs/utils/image_utils.cjs +168 -0
  139. package/dist/cjs/utils/image_utils.d.ts +18 -0
  140. package/dist/cjs/utils/image_utils.d.ts.map +1 -0
  141. package/dist/cjs/utils/image_utils.js.map +1 -0
  142. package/dist/cjs/utils/image_validation.cjs +31 -0
  143. package/dist/cjs/utils/image_validation.d.ts +3 -0
  144. package/dist/cjs/utils/image_validation.d.ts.map +1 -0
  145. package/dist/cjs/utils/image_validation.js.map +1 -0
  146. package/dist/cjs/utils/llm_logger.cjs +31 -0
  147. package/dist/cjs/utils/llm_logger.d.ts +8 -0
  148. package/dist/cjs/utils/llm_logger.d.ts.map +1 -0
  149. package/dist/cjs/utils/llm_logger.js.map +1 -0
  150. package/dist/cjs/utils/message_history.cjs +560 -0
  151. package/dist/cjs/utils/message_history.d.ts +65 -0
  152. package/dist/cjs/utils/message_history.d.ts.map +1 -0
  153. package/dist/cjs/utils/message_history.js.map +1 -0
  154. package/dist/cjs/utils/model_class_config.cjs +105 -0
  155. package/dist/cjs/utils/model_class_config.d.ts +12 -0
  156. package/dist/cjs/utils/model_class_config.d.ts.map +1 -0
  157. package/dist/cjs/utils/model_class_config.js.map +1 -0
  158. package/dist/cjs/utils/pause_controller.cjs +90 -0
  159. package/dist/cjs/utils/pause_controller.d.ts +14 -0
  160. package/dist/cjs/utils/pause_controller.d.ts.map +1 -0
  161. package/dist/cjs/utils/pause_controller.js.map +1 -0
  162. package/dist/cjs/utils/quota_tracker.cjs +311 -0
  163. package/dist/cjs/utils/quota_tracker.d.ts +22 -0
  164. package/dist/cjs/utils/quota_tracker.d.ts.map +1 -0
  165. package/dist/cjs/utils/quota_tracker.js.map +1 -0
  166. package/dist/cjs/utils/retry_handler.cjs +131 -0
  167. package/dist/cjs/utils/retry_handler.d.ts +15 -0
  168. package/dist/cjs/utils/retry_handler.d.ts.map +1 -0
  169. package/dist/cjs/utils/retry_handler.js.map +1 -0
  170. package/dist/cjs/utils/running_tool_tracker.cjs +133 -0
  171. package/dist/cjs/utils/running_tool_tracker.d.ts +42 -0
  172. package/dist/cjs/utils/running_tool_tracker.d.ts.map +1 -0
  173. package/dist/cjs/utils/running_tool_tracker.js.map +1 -0
  174. package/dist/cjs/utils/sequential_queue.cjs +73 -0
  175. package/dist/cjs/utils/sequential_queue.d.ts +13 -0
  176. package/dist/cjs/utils/sequential_queue.d.ts.map +1 -0
  177. package/dist/cjs/utils/sequential_queue.js.map +1 -0
  178. package/dist/cjs/utils/stream_handler.cjs +73 -0
  179. package/dist/cjs/utils/stream_handler.d.ts +16 -0
  180. package/dist/cjs/utils/stream_handler.d.ts.map +1 -0
  181. package/dist/cjs/utils/stream_handler.js.map +1 -0
  182. package/dist/cjs/utils/summary_utils.cjs +211 -0
  183. package/dist/cjs/utils/summary_utils.d.ts +7 -0
  184. package/dist/cjs/utils/summary_utils.d.ts.map +1 -0
  185. package/dist/cjs/utils/summary_utils.js.map +1 -0
  186. package/dist/cjs/utils/test_utils.cjs +212 -0
  187. package/dist/cjs/utils/test_utils.d.ts +58 -0
  188. package/dist/cjs/utils/test_utils.d.ts.map +1 -0
  189. package/dist/cjs/utils/test_utils.js.map +1 -0
  190. package/dist/cjs/utils/tool_execution_manager.cjs +139 -0
  191. package/dist/cjs/utils/tool_execution_manager.d.ts +7 -0
  192. package/dist/cjs/utils/tool_execution_manager.d.ts.map +1 -0
  193. package/dist/cjs/utils/tool_execution_manager.js.map +1 -0
  194. package/dist/cjs/utils/tool_parameter_utils.cjs +168 -0
  195. package/dist/cjs/utils/tool_parameter_utils.d.ts +5 -0
  196. package/dist/cjs/utils/tool_parameter_utils.d.ts.map +1 -0
  197. package/dist/cjs/utils/tool_parameter_utils.js.map +1 -0
  198. package/dist/cjs/utils/tool_result_processor.cjs +363 -0
  199. package/dist/cjs/utils/tool_result_processor.d.ts +11 -0
  200. package/dist/cjs/utils/tool_result_processor.d.ts.map +1 -0
  201. package/dist/cjs/utils/tool_result_processor.js.map +1 -0
  202. package/dist/cjs/utils/verification.cjs +59 -0
  203. package/dist/cjs/utils/verification.d.ts +7 -0
  204. package/dist/cjs/utils/verification.d.ts.map +1 -0
  205. package/dist/cjs/utils/verification.js.map +1 -0
  206. package/dist/tsconfig.tsbuildinfo +1 -1
  207. package/dist/utils/audio_stream_player.d.ts +2 -0
  208. package/dist/utils/audio_stream_player.d.ts.map +1 -1
  209. package/dist/utils/audio_stream_player.js +83 -1
  210. package/dist/utils/audio_stream_player.js.map +1 -1
  211. package/dist/utils/cost_tracker.d.ts +7 -0
  212. package/dist/utils/cost_tracker.d.ts.map +1 -1
  213. package/dist/utils/cost_tracker.js +29 -0
  214. package/dist/utils/cost_tracker.js.map +1 -1
  215. package/package.json +18 -3
@@ -0,0 +1,20 @@
1
+ import { ProviderStreamEvent, ResponseInput, AgentDefinition } from "../types/types.cjs";
2
+ import { BaseModelProvider } from "./base_provider.cjs";
3
+ import OpenAI from 'openai';
4
+ import { ModelProviderID } from "../data/model_data.cjs";
5
+ export declare function addImagesToInput(input: OpenAI.Chat.Completions.ChatCompletionMessageParam[], images: Record<string, string>, source: string): Promise<OpenAI.Chat.Completions.ChatCompletionMessageParam[]>;
6
+ export declare class OpenAIChat extends BaseModelProvider {
7
+ protected _client?: OpenAI;
8
+ protected provider: ModelProviderID;
9
+ protected baseURL: string | undefined;
10
+ protected commonParams: any;
11
+ protected apiKey?: string;
12
+ protected defaultHeaders?: Record<string, string | null | undefined>;
13
+ constructor(provider?: ModelProviderID, apiKey?: string, baseURL?: string, defaultHeaders?: Record<string, string | null | undefined>, commonParams?: any);
14
+ private getEnvVarName;
15
+ protected get client(): OpenAI;
16
+ prepareParameters(requestParams: OpenAI.Chat.Completions.ChatCompletionCreateParamsStreaming): OpenAI.Chat.Completions.ChatCompletionCreateParamsStreaming;
17
+ private _parseAndPrepareSimulatedToolCalls;
18
+ createResponseStream(messages: ResponseInput, model: string, agent: AgentDefinition): AsyncGenerator<ProviderStreamEvent>;
19
+ }
20
+ //# sourceMappingURL=openai_chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai_chat.d.ts","sourceRoot":"","sources":["../../../model_providers/openai_chat.ts"],"names":[],"mappings":"AAQA,OAAO,EAGH,mBAAmB,EAEnB,aAAa,EACb,eAAe,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,MAAoB,MAAM,QAAQ,CAAC;AAK1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAmGxD,wBAAsB,gBAAgB,CAClC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,EAC3D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,CAAC,CA6D/D;AAwGD,qBAAa,UAAW,SAAQ,iBAAiB;IAC7C,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC;IACpC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,SAAS,CAAC,YAAY,EAAE,GAAG,CAAM;IACjC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;gBAGjE,QAAQ,CAAC,EAAE,eAAe,EAC1B,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAC1D,YAAY,CAAC,EAAE,GAAG;IAgBtB,OAAO,CAAC,aAAa;IAiBrB,SAAS,KAAK,MAAM,IAAI,MAAM,CAc7B;IAGD,iBAAiB,CACb,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,mCAAmC,GAC3E,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,mCAAmC;IAW9D,OAAO,CAAC,kCAAkC;IA8LnC,oBAAoB,CACvB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAe,GACvB,cAAc,CAAC,mBAAmB,CAAC;CAkfzC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai_chat.js","sourceRoot":"","sources":["../../../model_providers/openai_chat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.openRouterProvider = exports.OpenRouterProvider = void 0;
4
+ const openai_chat_js_1 = require("./openai_chat.cjs");
5
+ class OpenRouterProvider extends openai_chat_js_1.OpenAIChat {
6
+ constructor() {
7
+ super('openrouter', process.env.OPENROUTER_API_KEY, 'https://openrouter.ai/api/v1', {
8
+ 'User-Agent': 'JustEvery_',
9
+ 'HTTP-Referer': 'https://justevery.com/',
10
+ 'X-Title': 'JustEvery_',
11
+ }, {
12
+ provider: {
13
+ require_parameters: true,
14
+ sort: 'throughput',
15
+ ignore: ['Novita'],
16
+ },
17
+ });
18
+ }
19
+ }
20
+ exports.OpenRouterProvider = OpenRouterProvider;
21
+ exports.openRouterProvider = new OpenRouterProvider();
22
+ //# sourceMappingURL=openrouter.js.map
@@ -0,0 +1,6 @@
1
+ import { OpenAIChat } from "./openai_chat.cjs";
2
+ export declare class OpenRouterProvider extends OpenAIChat {
3
+ constructor();
4
+ }
5
+ export declare const openRouterProvider: OpenRouterProvider;
6
+ //# sourceMappingURL=openrouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../../model_providers/openrouter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAK9C,qBAAa,kBAAmB,SAAQ,UAAU;;CAoBjD;AAKD,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../../model_providers/openrouter.ts"],"names":[],"mappings":";;;AAIA,qDAA8C;AAK9C,MAAa,kBAAmB,SAAQ,2BAAU;IAC9C;QACI,KAAK,CACD,YAAY,EACZ,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAC9B,8BAA8B,EAC9B;YACI,YAAY,EAAE,YAAY;YAC1B,cAAc,EAAE,wBAAwB;YACxC,SAAS,EAAE,YAAY;SAC1B,EACD;YACI,QAAQ,EAAE;gBACN,kBAAkB,EAAE,IAAI;gBACxB,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,CAAC,QAAQ,CAAC;aACrB;SACJ,CACJ,CAAC;IACN,CAAC;CACJ;AApBD,gDAoBC;AAKY,QAAA,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,236 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.testProvider = exports.TestProvider = exports.testProviderConfig = void 0;
37
+ exports.resetTestProviderConfig = resetTestProviderConfig;
38
+ const base_provider_js_1 = require("./base_provider.cjs");
39
+ const uuid_1 = require("uuid");
40
+ const index_js_1 = require("../index.cjs");
41
+ exports.testProviderConfig = {
42
+ streamingDelay: 50,
43
+ shouldError: false,
44
+ errorMessage: 'Simulated error from test provider',
45
+ simulateRateLimit: false,
46
+ fixedResponse: undefined,
47
+ fixedThinking: undefined,
48
+ simulateToolCall: false,
49
+ toolName: 'web_search',
50
+ toolArguments: { query: 'test query' },
51
+ tokenUsage: {
52
+ inputTokens: 100,
53
+ outputTokens: 200,
54
+ },
55
+ chunkSize: 5,
56
+ };
57
+ function resetTestProviderConfig() {
58
+ exports.testProviderConfig.streamingDelay = 50;
59
+ exports.testProviderConfig.shouldError = false;
60
+ exports.testProviderConfig.errorMessage = 'Simulated error from test provider';
61
+ exports.testProviderConfig.simulateRateLimit = false;
62
+ exports.testProviderConfig.fixedResponse = undefined;
63
+ exports.testProviderConfig.fixedThinking = undefined;
64
+ exports.testProviderConfig.simulateToolCall = false;
65
+ exports.testProviderConfig.toolName = 'web_search';
66
+ exports.testProviderConfig.toolArguments = { query: 'test query' };
67
+ exports.testProviderConfig.tokenUsage = {
68
+ inputTokens: 100,
69
+ outputTokens: 200,
70
+ };
71
+ exports.testProviderConfig.chunkSize = 5;
72
+ }
73
+ const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
74
+ class TestProvider extends base_provider_js_1.BaseModelProvider {
75
+ config;
76
+ constructor(config = exports.testProviderConfig) {
77
+ super('test');
78
+ this.config = config;
79
+ }
80
+ async *createResponseStream(messages, model, agent) {
81
+ console.log(`[TestProvider] Creating response stream for model: ${model}`);
82
+ const lastUserMessage = messages.filter(m => 'role' in m && m.role === 'user').pop();
83
+ const userMessageContent = lastUserMessage && 'content' in lastUserMessage
84
+ ? typeof lastUserMessage.content === 'string'
85
+ ? lastUserMessage.content
86
+ : JSON.stringify(lastUserMessage.content)
87
+ : '';
88
+ const inputTokenCount = this.config.tokenUsage?.inputTokens || Math.max(50, Math.ceil(userMessageContent.length / 4));
89
+ let response;
90
+ if (this.config.simulateRateLimit) {
91
+ const rateLimitError = '429 Too Many Requests: The server is currently processing too many requests. Please try again later.';
92
+ yield {
93
+ type: 'error',
94
+ error: rateLimitError,
95
+ };
96
+ return;
97
+ }
98
+ if (this.config.shouldError) {
99
+ yield {
100
+ type: 'error',
101
+ error: this.config.errorMessage || 'Simulated error from test provider',
102
+ };
103
+ return;
104
+ }
105
+ if (this.config.fixedResponse) {
106
+ response = this.config.fixedResponse;
107
+ }
108
+ else {
109
+ response = this.generateResponse(userMessageContent);
110
+ }
111
+ const messageId = (0, uuid_1.v4)();
112
+ yield {
113
+ type: 'message_start',
114
+ message_id: messageId,
115
+ content: '',
116
+ };
117
+ if (this.config.fixedThinking) {
118
+ yield {
119
+ type: 'message_delta',
120
+ message_id: messageId,
121
+ content: '',
122
+ thinking_content: this.config.fixedThinking,
123
+ thinking_signature: '(Simulated thinking)',
124
+ };
125
+ await sleep(this.config.streamingDelay || 50);
126
+ }
127
+ if (this.config.simulateToolCall && agent) {
128
+ const { getToolsFromAgent } = await Promise.resolve().then(() => __importStar(require("../utils/agent.cjs")));
129
+ const currentTools = getToolsFromAgent(agent);
130
+ if (currentTools) {
131
+ const toolArray = await currentTools;
132
+ if (toolArray.length > 0) {
133
+ const availableTool = toolArray.find(tool => this.config.toolName ? tool.definition.function.name === this.config.toolName : true);
134
+ if (availableTool) {
135
+ const toolCall = {
136
+ id: (0, uuid_1.v4)(),
137
+ type: 'function',
138
+ function: {
139
+ name: availableTool.definition.function.name,
140
+ arguments: JSON.stringify(this.config.toolArguments || {
141
+ query: userMessageContent.slice(0, 50),
142
+ }),
143
+ },
144
+ };
145
+ yield {
146
+ type: 'tool_start',
147
+ tool_call: toolCall,
148
+ };
149
+ await sleep(this.config.streamingDelay || 50);
150
+ response = `I've used the ${toolCall.function.name} tool to help answer your question.\n\n${response}`;
151
+ }
152
+ }
153
+ }
154
+ }
155
+ const chunkSize = this.config.chunkSize || 5;
156
+ let position = 0;
157
+ while (position < response.length) {
158
+ const chunk = response.slice(position, position + chunkSize);
159
+ position += chunkSize;
160
+ yield {
161
+ type: 'message_delta',
162
+ message_id: messageId,
163
+ content: chunk,
164
+ order: position / chunkSize,
165
+ };
166
+ await sleep(this.config.streamingDelay || 50);
167
+ }
168
+ yield {
169
+ type: 'message_complete',
170
+ message_id: messageId,
171
+ content: response,
172
+ };
173
+ const outputTokenCount = this.config.tokenUsage?.outputTokens || Math.ceil(response.length / 4);
174
+ yield {
175
+ type: 'cost_update',
176
+ usage: {
177
+ input_tokens: inputTokenCount,
178
+ output_tokens: outputTokenCount,
179
+ total_tokens: inputTokenCount + outputTokenCount,
180
+ },
181
+ };
182
+ index_js_1.costTracker.addUsage({
183
+ model,
184
+ input_tokens: inputTokenCount,
185
+ output_tokens: outputTokenCount,
186
+ });
187
+ }
188
+ generateResponse(input) {
189
+ const lowercaseInput = input.toLowerCase();
190
+ if (lowercaseInput.includes('hello') || lowercaseInput.includes('hi')) {
191
+ return "Hello! I'm a test AI model. How can I help you today?";
192
+ }
193
+ else if (lowercaseInput.includes('help')) {
194
+ return "I'm here to help! What do you need assistance with?";
195
+ }
196
+ else if (lowercaseInput.includes('error') || lowercaseInput.includes('problem')) {
197
+ return "I understand you're experiencing an issue. Let me help troubleshoot the problem.";
198
+ }
199
+ else if (lowercaseInput.includes('json') || lowercaseInput.includes('person')) {
200
+ return '{"name": "John Doe", "age": 30}';
201
+ }
202
+ else if (lowercaseInput.includes('test')) {
203
+ return 'This is a test response. The test provider is working correctly!';
204
+ }
205
+ else if (lowercaseInput.includes('weather')) {
206
+ return 'The weather is sunny and 72°F.';
207
+ }
208
+ else if (lowercaseInput.includes('?')) {
209
+ return "That's an interesting question. As a test model, I'm designed to provide simulated responses for testing purposes.";
210
+ }
211
+ else {
212
+ return `I've received your message: "${input.slice(0, 50)}${input.length > 50 ? '...' : ''}". This is a simulated response from the test provider.`;
213
+ }
214
+ }
215
+ async createEmbedding(input, model, opts) {
216
+ const generateVector = (text) => {
217
+ const dimension = opts?.dimension || 384;
218
+ const vector = new Array(dimension);
219
+ for (let i = 0; i < dimension; i++) {
220
+ const charCode = text.charCodeAt(i % text.length) || 0;
221
+ const value = Math.sin(charCode * (i + 1) * 0.01) * 0.5 + 0.5;
222
+ vector[i] = value;
223
+ }
224
+ return vector;
225
+ };
226
+ if (Array.isArray(input)) {
227
+ return input.map(text => generateVector(text));
228
+ }
229
+ else {
230
+ return generateVector(input);
231
+ }
232
+ }
233
+ }
234
+ exports.TestProvider = TestProvider;
235
+ exports.testProvider = new TestProvider();
236
+ //# sourceMappingURL=test_provider.js.map
@@ -0,0 +1,29 @@
1
+ import { ResponseInput, ProviderStreamEvent, AgentDefinition } from "../types/types.cjs";
2
+ import { BaseModelProvider } from "./base_provider.cjs";
3
+ export interface TestProviderConfig {
4
+ streamingDelay?: number;
5
+ shouldError?: boolean;
6
+ errorMessage?: string;
7
+ simulateRateLimit?: boolean;
8
+ fixedResponse?: string | undefined;
9
+ fixedThinking?: string | undefined;
10
+ simulateToolCall?: boolean;
11
+ toolName?: string;
12
+ toolArguments?: Record<string, any>;
13
+ tokenUsage?: {
14
+ inputTokens: number;
15
+ outputTokens: number;
16
+ };
17
+ chunkSize?: number;
18
+ }
19
+ export declare const testProviderConfig: TestProviderConfig;
20
+ export declare function resetTestProviderConfig(): void;
21
+ export declare class TestProvider extends BaseModelProvider {
22
+ private config;
23
+ constructor(config?: TestProviderConfig);
24
+ createResponseStream(messages: ResponseInput, model: string, agent: AgentDefinition): AsyncGenerator<ProviderStreamEvent>;
25
+ private generateResponse;
26
+ createEmbedding(input: string | string[], model: string, opts?: any): Promise<number[] | number[][]>;
27
+ }
28
+ export declare const testProvider: TestProvider;
29
+ //# sourceMappingURL=test_provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test_provider.d.ts","sourceRoot":"","sources":["../../../model_providers/test_provider.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAA+B,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAQvD,MAAM,WAAW,kBAAkB;IAE/B,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,WAAW,CAAC,EAAE,OAAO,CAAC;IAGtB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAI5B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAGnC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAGnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAG3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAGpC,UAAU,CAAC,EAAE;QACT,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACxB,CAAC;IAGF,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,eAAO,MAAM,kBAAkB,EAAE,kBAehC,CAAC;AAKF,wBAAgB,uBAAuB,SAetC;AAUD,qBAAa,YAAa,SAAQ,iBAAiB;IAC/C,OAAO,CAAC,MAAM,CAAqB;gBAEvB,MAAM,GAAE,kBAAuC;IAQpD,oBAAoB,CACvB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAe,GACvB,cAAc,CAAC,mBAAmB,CAAC;IAgKtC,OAAO,CAAC,gBAAgB;IA8BlB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;CAuB7G;AAGD,eAAO,MAAM,YAAY,cAAqB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test_provider.js","sourceRoot":"","sources":["../../../model_providers/test_provider.ts"],"names":[],"mappings":"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"}