@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 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../types/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../types/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,384 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Agent = exports.agentToolCache = void 0;
4
+ exports.exportAgent = exportAgent;
5
+ exports.getAgentSpecificTools = getAgentSpecificTools;
6
+ exports.cloneAgent = cloneAgent;
7
+ exports.getToolsFromAgent = getToolsFromAgent;
8
+ const index_js_1 = require("../index.cjs");
9
+ const uuid_1 = require("uuid");
10
+ exports.agentToolCache = new Map();
11
+ function exportAgent(agent, model) {
12
+ const agentExport = typeof agent.export === 'function'
13
+ ? agent.export()
14
+ : {
15
+ agent_id: agent.agent_id,
16
+ name: agent.name,
17
+ model: agent.model,
18
+ modelClass: agent.modelClass,
19
+ parent_id: agent.parent_id,
20
+ cwd: agent.cwd,
21
+ };
22
+ if (model)
23
+ agentExport.model = model;
24
+ return agentExport;
25
+ }
26
+ function getAgentSpecificTools(agent_id) {
27
+ const tools = [];
28
+ if (exports.agentToolCache.has(agent_id)) {
29
+ tools.push(...exports.agentToolCache.get(agent_id));
30
+ }
31
+ return tools;
32
+ }
33
+ function cloneAgent(agent) {
34
+ const copy = Object.create(Object.getPrototypeOf(agent));
35
+ Object.entries(agent).forEach(([key, value]) => {
36
+ if (typeof value === 'function') {
37
+ copy[key] = value;
38
+ }
39
+ else if (key === 'parent' && value instanceof Agent) {
40
+ copy[key] = value;
41
+ }
42
+ else if (Array.isArray(value)) {
43
+ copy[key] = [...value];
44
+ }
45
+ else if (value && typeof value === 'object') {
46
+ copy[key] = { ...value };
47
+ }
48
+ else {
49
+ copy[key] = value;
50
+ }
51
+ });
52
+ return copy;
53
+ }
54
+ class Agent {
55
+ agent_id;
56
+ name;
57
+ description;
58
+ instructions;
59
+ parent_id;
60
+ workers;
61
+ tools;
62
+ model;
63
+ modelClass;
64
+ modelSettings;
65
+ intelligence;
66
+ maxToolCalls;
67
+ maxToolCallRoundsPerTurn;
68
+ verifier;
69
+ maxVerificationAttempts;
70
+ args;
71
+ jsonSchema;
72
+ historyThread;
73
+ cwd;
74
+ modelScores;
75
+ disabledModels;
76
+ onToolCall;
77
+ processToolCall;
78
+ onToolResult;
79
+ onToolError;
80
+ onRequest;
81
+ onResponse;
82
+ onThinking;
83
+ onToolEvent;
84
+ params;
85
+ processParams;
86
+ constructor(definition) {
87
+ if (!definition || typeof definition !== 'object') {
88
+ throw new Error(`Agent constructor expects an AgentDefinition object, but received: ${typeof definition}`);
89
+ }
90
+ this.agent_id = definition.agent_id || (0, uuid_1.v4)();
91
+ this.name = (definition.name || 'Agent').replaceAll(' ', '_');
92
+ this.description = definition.description;
93
+ this.instructions = definition.instructions;
94
+ this.tools = definition.tools || [];
95
+ this.model = definition.model;
96
+ this.modelClass = definition.modelClass;
97
+ this.jsonSchema = definition.jsonSchema;
98
+ this.params = definition.params;
99
+ this.modelSettings = definition.modelSettings || {};
100
+ this.maxToolCalls = definition.maxToolCalls ?? 200;
101
+ this.maxToolCallRoundsPerTurn = definition.maxToolCallRoundsPerTurn;
102
+ this.maxVerificationAttempts = definition.maxVerificationAttempts ?? 2;
103
+ this.processParams = definition.processParams;
104
+ this.historyThread = definition.historyThread;
105
+ this.cwd = definition.cwd;
106
+ if (definition.verifier) {
107
+ this.verifier = new Agent({
108
+ ...definition.verifier,
109
+ verifier: undefined,
110
+ });
111
+ this.verifier.parent_id = this.agent_id;
112
+ }
113
+ this.onToolCall = definition.onToolCall;
114
+ this.onToolResult = definition.onToolResult;
115
+ this.onRequest = definition.onRequest;
116
+ this.onThinking = definition.onThinking;
117
+ this.onResponse = definition.onResponse;
118
+ this.onToolEvent = definition.onToolEvent;
119
+ if (this.jsonSchema) {
120
+ if (!this.modelSettings)
121
+ this.modelSettings = {};
122
+ this.modelSettings.json_schema = this.jsonSchema;
123
+ }
124
+ if (definition.workers) {
125
+ this.workers = definition.workers.map((createAgentFn) => {
126
+ return () => {
127
+ const agent = createAgentFn();
128
+ agent.parent_id = this.agent_id;
129
+ return agent;
130
+ };
131
+ });
132
+ this.tools = this.tools.concat(this.workers.map((createAgentFn) => {
133
+ const agent = createAgentFn();
134
+ agent.parent_id = this.agent_id;
135
+ if (this.onToolEvent) {
136
+ agent.onToolEvent = this.onToolEvent;
137
+ }
138
+ return agent.asTool();
139
+ }));
140
+ }
141
+ }
142
+ asTool() {
143
+ let description = `An agent called ${this.name}.\n\n${this.description}`;
144
+ if (this.tools) {
145
+ description += `\n\n${this.name} has access to the following tools:\n`;
146
+ this.tools.forEach(tool => {
147
+ description += `- ${tool.definition.function.name}\n`;
148
+ });
149
+ description += '\nUse this as a guide when to call the agent, but let the agent decide which tools to use.';
150
+ }
151
+ return (0, index_js_1.createToolFunction)(async (...args) => {
152
+ const agent = cloneAgent(this);
153
+ agent.agent_id = (0, uuid_1.v4)();
154
+ agent.parent_id = this.parent_id;
155
+ if (this.onToolEvent) {
156
+ agent.onToolEvent = this.onToolEvent;
157
+ }
158
+ if (agent.processParams) {
159
+ let paramsObj;
160
+ if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null) {
161
+ paramsObj = args[0];
162
+ }
163
+ else {
164
+ paramsObj = {};
165
+ const paramKeys = Object.keys(agent.params || {});
166
+ paramKeys.forEach((key, idx) => {
167
+ if (idx < args.length)
168
+ paramsObj[key] = args[idx];
169
+ });
170
+ }
171
+ const { prompt, intelligence } = await agent.processParams(agent, paramsObj);
172
+ return runAgentTool(agent, prompt, intelligence);
173
+ }
174
+ let task = typeof args[0] === 'string' ? args[0] : '';
175
+ let context = typeof args[1] === 'string' ? args[1] : undefined;
176
+ let warnings = typeof args[2] === 'string' ? args[2] : undefined;
177
+ let goal = typeof args[3] === 'string' ? args[3] : undefined;
178
+ let intelligence = args[4];
179
+ if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null) {
180
+ const params = args[0];
181
+ task = params.task || task;
182
+ context = params.context || context;
183
+ warnings = params.warnings || warnings;
184
+ goal = params.goal || goal;
185
+ intelligence = params.intelligence || intelligence;
186
+ }
187
+ let prompt = `**Task:** ${task}`;
188
+ if (context) {
189
+ prompt += `\n\n**Context:** ${context}`;
190
+ }
191
+ if (warnings) {
192
+ prompt += `\n\n**Warnings:** ${warnings}`;
193
+ }
194
+ if (goal) {
195
+ prompt += `\n\n**Goal:** ${goal}`;
196
+ }
197
+ return runAgentTool(agent, prompt, intelligence);
198
+ }, description, this.params || {
199
+ task: {
200
+ type: 'string',
201
+ description: `What should ${this.name} work on? Generally you should leave the way the task is performed up to the agent unless the agent previously failed. Agents are expected to work mostly autonomously.`,
202
+ },
203
+ context: {
204
+ type: 'string',
205
+ description: `What else might the ${this.name} need to know? Explain why you are asking for this - summarize the task you were given or the project you are working on. Please make it comprehensive. A couple of paragraphs is ideal.`,
206
+ optional: true,
207
+ },
208
+ warnings: {
209
+ type: 'string',
210
+ description: `Is there anything the ${this.name} should avoid or be aware of? You can leave this as a blank string if there's nothing obvious.`,
211
+ optional: true,
212
+ },
213
+ goal: {
214
+ type: 'string',
215
+ description: `This is the final goal/output or result you expect from the task. Try to focus on the overall goal and allow the ${this.name} to make it's own decisions on how to get there. One sentence is ideal.`,
216
+ optional: true,
217
+ },
218
+ intelligence: {
219
+ type: 'string',
220
+ description: `What level of intelligence do you recommend for this task?
221
+ - low: (under 90 IQ) Mini model used.
222
+ - standard: (90 - 110 IQ)
223
+ - high: (110+ IQ) Reasoning used.`,
224
+ enum: ['low', 'standard', 'high'],
225
+ optional: true,
226
+ },
227
+ }, undefined, this.name);
228
+ }
229
+ async getTools() {
230
+ const combinedTools = new Map();
231
+ const baseTools = this.tools && this.tools.length > 0 ? this.tools : [];
232
+ for (const tool of baseTools) {
233
+ if (tool && tool.definition && tool.definition.function && tool.definition.function.name) {
234
+ const clonedTool = { ...tool };
235
+ clonedTool.definition = { ...tool.definition };
236
+ clonedTool.definition.function = {
237
+ ...tool.definition.function,
238
+ };
239
+ clonedTool.definition.function.parameters = {
240
+ ...tool.definition.function.parameters,
241
+ };
242
+ clonedTool.definition.function.parameters.properties = {
243
+ ...tool.definition.function.parameters.properties,
244
+ };
245
+ await this.processDynamicToolParameters(clonedTool);
246
+ combinedTools.set(clonedTool.definition.function.name, clonedTool);
247
+ }
248
+ else {
249
+ console.warn('[Agent.getTools] Encountered a base tool with missing definition or name:', tool);
250
+ }
251
+ }
252
+ if (this.agent_id) {
253
+ const cachedAgentTools = getAgentSpecificTools(this.agent_id);
254
+ for (const tool of cachedAgentTools) {
255
+ if (tool && tool.definition && tool.definition.function && tool.definition.function.name) {
256
+ const clonedTool = { ...tool };
257
+ clonedTool.definition = { ...tool.definition };
258
+ clonedTool.definition.function = {
259
+ ...tool.definition.function,
260
+ };
261
+ clonedTool.definition.function.parameters = {
262
+ ...tool.definition.function.parameters,
263
+ };
264
+ clonedTool.definition.function.parameters.properties = {
265
+ ...tool.definition.function.parameters.properties,
266
+ };
267
+ await this.processDynamicToolParameters(clonedTool);
268
+ combinedTools.set(clonedTool.definition.function.name, clonedTool);
269
+ }
270
+ else {
271
+ console.warn('[Agent.getTools] Encountered a cached tool with missing definition or name:', tool);
272
+ }
273
+ }
274
+ }
275
+ return Array.from(combinedTools.values());
276
+ }
277
+ async processDynamicToolParameters(tool) {
278
+ const properties = tool.definition.function.parameters.properties;
279
+ for (const paramName in properties) {
280
+ const param = properties[paramName];
281
+ if (typeof param.description === 'function') {
282
+ param.description = param.description();
283
+ }
284
+ if (typeof param.enum === 'function') {
285
+ param.enum = await param.enum();
286
+ }
287
+ if (param.properties) {
288
+ for (const nestedParamName in param.properties) {
289
+ const nestedParam = param.properties[nestedParamName];
290
+ if (typeof nestedParam.description === 'function') {
291
+ nestedParam.description = nestedParam.description();
292
+ }
293
+ if (typeof nestedParam.enum === 'function') {
294
+ nestedParam.enum = await nestedParam.enum();
295
+ }
296
+ }
297
+ }
298
+ if (param.items) {
299
+ const items = param.items;
300
+ if (typeof items.description === 'function') {
301
+ items.description = items.description();
302
+ }
303
+ if (typeof items.enum === 'function') {
304
+ items.enum = await items.enum();
305
+ }
306
+ }
307
+ }
308
+ }
309
+ export() {
310
+ const agentExport = {
311
+ agent_id: this.agent_id,
312
+ name: this.name,
313
+ };
314
+ if (this.model) {
315
+ agentExport.model = this.model;
316
+ }
317
+ if (this.modelClass) {
318
+ agentExport.modelClass = this.modelClass;
319
+ }
320
+ if (this.parent_id) {
321
+ agentExport.parent_id = this.parent_id;
322
+ }
323
+ if (this.cwd) {
324
+ agentExport.cwd = this.cwd;
325
+ }
326
+ return agentExport;
327
+ }
328
+ }
329
+ exports.Agent = Agent;
330
+ async function runAgentTool(agent, prompt, intelligence) {
331
+ agent.intelligence = intelligence || undefined;
332
+ const modelClass = agent.modelClass || 'standard';
333
+ switch (agent.intelligence) {
334
+ case 'low':
335
+ if (['standard'].includes(modelClass)) {
336
+ agent.modelClass = 'mini';
337
+ }
338
+ if (['code', 'reasoning'].includes(modelClass)) {
339
+ agent.modelClass = 'standard';
340
+ }
341
+ break;
342
+ case 'standard':
343
+ break;
344
+ case 'high':
345
+ if (['mini'].includes(modelClass)) {
346
+ agent.modelClass = 'standard';
347
+ }
348
+ if (['standard'].includes(modelClass)) {
349
+ agent.modelClass = 'reasoning';
350
+ }
351
+ break;
352
+ }
353
+ const messages = [];
354
+ messages.push({
355
+ type: 'message',
356
+ role: 'user',
357
+ content: prompt,
358
+ });
359
+ try {
360
+ const parentOnToolEvent = agent.onToolEvent;
361
+ const stream = (0, index_js_1.ensembleRequest)(messages, agent);
362
+ let fullResponse = '';
363
+ for await (const event of stream) {
364
+ if (parentOnToolEvent) {
365
+ await parentOnToolEvent(event);
366
+ }
367
+ if (event.type === 'message_complete' && 'content' in event) {
368
+ fullResponse = event.content;
369
+ }
370
+ }
371
+ return fullResponse;
372
+ }
373
+ catch (error) {
374
+ console.error(`Error in ${agent.name}: ${error}`);
375
+ return `Error in ${agent.name}: ${error}`;
376
+ }
377
+ }
378
+ async function getToolsFromAgent(agent) {
379
+ if (agent && typeof agent.getTools === 'function') {
380
+ return await agent.getTools();
381
+ }
382
+ return agent?.tools || [];
383
+ }
384
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1,48 @@
1
+ import { ToolCall, ResponseInput, ResponseThinkingMessage, ResponseOutputMessage, ModelSettings, ToolFunction, ResponseJSONSchema, ModelClassID, AgentDefinition, AgentExportDefinition, WorkerFunction, ToolParameterMap, ProviderStreamEvent, type ToolCallResult } from "../types/types.cjs";
2
+ export declare const agentToolCache: Map<string, ToolFunction[]>;
3
+ export declare function exportAgent(agent: any, model?: string): AgentExportDefinition;
4
+ export declare function getAgentSpecificTools(agent_id: string): ToolFunction[];
5
+ export declare function cloneAgent(agent: Agent): AgentDefinition;
6
+ export declare class Agent implements AgentDefinition {
7
+ agent_id?: string;
8
+ name?: string;
9
+ description?: string;
10
+ instructions?: string;
11
+ parent_id?: string;
12
+ workers?: WorkerFunction[];
13
+ tools?: ToolFunction[];
14
+ model?: string;
15
+ modelClass?: ModelClassID;
16
+ modelSettings?: ModelSettings;
17
+ intelligence?: 'low' | 'standard' | 'high';
18
+ maxToolCalls?: number;
19
+ maxToolCallRoundsPerTurn?: number;
20
+ verifier?: AgentDefinition;
21
+ maxVerificationAttempts?: number;
22
+ args?: any;
23
+ jsonSchema?: ResponseJSONSchema;
24
+ historyThread?: ResponseInput | undefined;
25
+ cwd?: string;
26
+ modelScores?: Record<string, number>;
27
+ disabledModels?: string[];
28
+ onToolCall?: (toolCall: ToolCall) => Promise<void>;
29
+ processToolCall?: (toolCalls: ToolCall[]) => Promise<Record<string, any>>;
30
+ onToolResult?: (toolCallResult: ToolCallResult) => Promise<void>;
31
+ onToolError?: (toolCallResult: ToolCallResult) => Promise<void>;
32
+ onRequest?: (agent: AgentDefinition, messages: ResponseInput) => Promise<[any, ResponseInput]>;
33
+ onResponse?: (message: ResponseOutputMessage) => Promise<void>;
34
+ onThinking?: (message: ResponseThinkingMessage) => Promise<void>;
35
+ onToolEvent?: (event: ProviderStreamEvent) => void | Promise<void>;
36
+ params?: ToolParameterMap;
37
+ processParams?: (agent: AgentDefinition, params: Record<string, any>) => Promise<{
38
+ prompt: string;
39
+ intelligence?: 'low' | 'standard' | 'high';
40
+ }>;
41
+ constructor(definition: AgentDefinition);
42
+ asTool(): ToolFunction;
43
+ getTools(): Promise<ToolFunction[]>;
44
+ private processDynamicToolParameters;
45
+ export(): AgentExportDefinition;
46
+ }
47
+ export declare function getToolsFromAgent(agent: AgentDefinition | Agent): Promise<ToolFunction[]>;
48
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../utils/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../utils/agent.ts"],"names":[],"mappings":"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"}