@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.
- package/LICENSE +21 -0
- package/README.md +62 -190
- package/dist/config/tool_execution.d.ts +11 -0
- package/dist/config/tool_execution.d.ts.map +1 -0
- package/dist/config/tool_execution.js +31 -0
- package/dist/config/tool_execution.js.map +1 -0
- package/dist/core/ensemble_embed.d.ts +3 -0
- package/dist/core/ensemble_embed.d.ts.map +1 -0
- package/dist/core/ensemble_embed.js +24 -0
- package/dist/core/ensemble_embed.js.map +1 -0
- package/dist/core/ensemble_image.d.ts +3 -0
- package/dist/core/ensemble_image.d.ts.map +1 -0
- package/dist/core/ensemble_image.js +10 -0
- package/dist/core/ensemble_image.js.map +1 -0
- package/dist/core/ensemble_request.d.ts +4 -0
- package/dist/core/ensemble_request.d.ts.map +1 -0
- package/dist/core/ensemble_request.js +240 -0
- package/dist/core/ensemble_request.js.map +1 -0
- package/dist/{model_data.d.ts → data/model_data.d.ts} +2 -2
- package/dist/data/model_data.d.ts.map +1 -0
- package/dist/{model_data.js → data/model_data.js} +52 -3
- package/dist/data/model_data.js.map +1 -0
- package/dist/index.d.ts +18 -35
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -56
- package/dist/index.js.map +1 -1
- package/dist/model_providers/base_provider.d.ts +3 -29
- package/dist/model_providers/base_provider.d.ts.map +1 -1
- package/dist/model_providers/base_provider.js +1 -114
- package/dist/model_providers/base_provider.js.map +1 -1
- package/dist/model_providers/claude.d.ts +2 -2
- package/dist/model_providers/claude.d.ts.map +1 -1
- package/dist/model_providers/claude.js +10 -4
- package/dist/model_providers/claude.js.map +1 -1
- package/dist/model_providers/deepseek.d.ts.map +1 -1
- package/dist/model_providers/deepseek.js.map +1 -1
- package/dist/model_providers/gemini.d.ts +4 -4
- package/dist/model_providers/gemini.d.ts.map +1 -1
- package/dist/model_providers/gemini.js +31 -32
- package/dist/model_providers/gemini.js.map +1 -1
- package/dist/model_providers/grok.d.ts.map +1 -1
- package/dist/model_providers/grok.js.map +1 -1
- package/dist/model_providers/model_provider.d.ts +3 -4
- package/dist/model_providers/model_provider.d.ts.map +1 -1
- package/dist/model_providers/model_provider.js +11 -5
- package/dist/model_providers/model_provider.js.map +1 -1
- package/dist/model_providers/openai.d.ts +4 -4
- package/dist/model_providers/openai.d.ts.map +1 -1
- package/dist/model_providers/openai.js +24 -26
- package/dist/model_providers/openai.js.map +1 -1
- package/dist/model_providers/openai_chat.d.ts +3 -3
- package/dist/model_providers/openai_chat.d.ts.map +1 -1
- package/dist/model_providers/openai_chat.js +2 -2
- package/dist/model_providers/openai_chat.js.map +1 -1
- package/dist/model_providers/openrouter.d.ts.map +1 -1
- package/dist/model_providers/openrouter.js +3 -3
- package/dist/model_providers/openrouter.js.map +1 -1
- package/dist/model_providers/test_provider.d.ts +3 -5
- package/dist/model_providers/test_provider.d.ts.map +1 -1
- package/dist/model_providers/test_provider.js +9 -17
- package/dist/model_providers/test_provider.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/api_types.d.ts +1 -1
- package/dist/types/api_types.d.ts.map +1 -1
- package/dist/types/tool_types.d.ts +1 -99
- package/dist/types/tool_types.d.ts.map +1 -1
- package/dist/types/tool_types.js +1 -10
- package/dist/types/tool_types.js.map +1 -1
- package/dist/{types.d.ts → types/types.d.ts} +82 -32
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/types.js.map +1 -0
- package/dist/utils/agent.d.ts +41 -0
- package/dist/utils/agent.d.ts.map +1 -0
- package/dist/utils/agent.js +342 -0
- package/dist/utils/agent.js.map +1 -0
- package/dist/utils/communication.d.ts +0 -1
- package/dist/utils/communication.d.ts.map +1 -1
- package/dist/utils/communication.js +1 -4
- package/dist/utils/communication.js.map +1 -1
- package/dist/utils/cost_tracker.d.ts +1 -1
- package/dist/utils/cost_tracker.d.ts.map +1 -1
- package/dist/utils/cost_tracker.js +1 -1
- package/dist/utils/cost_tracker.js.map +1 -1
- package/dist/utils/create_tool_function.d.ts +1 -23
- package/dist/utils/create_tool_function.d.ts.map +1 -1
- package/dist/utils/create_tool_function.js +14 -3
- package/dist/utils/create_tool_function.js.map +1 -1
- package/dist/{external_models.d.ts → utils/external_models.d.ts} +1 -2
- package/dist/utils/external_models.d.ts.map +1 -0
- package/dist/{external_models.js → utils/external_models.js} +0 -3
- package/dist/utils/external_models.js.map +1 -0
- package/dist/utils/image_to_text.d.ts.map +1 -1
- package/dist/utils/image_to_text.js +3 -2
- package/dist/utils/image_to_text.js.map +1 -1
- package/dist/utils/image_utils.d.ts +1 -4
- package/dist/utils/image_utils.d.ts.map +1 -1
- package/dist/utils/image_utils.js +2 -10
- package/dist/utils/image_utils.js.map +1 -1
- package/dist/utils/llm_logger.d.ts +1 -1
- package/dist/utils/llm_logger.d.ts.map +1 -1
- package/dist/utils/llm_logger.js.map +1 -1
- package/dist/utils/message_history.d.ts +4 -4
- package/dist/utils/message_history.d.ts.map +1 -1
- package/dist/utils/message_history.js +18 -18
- package/dist/utils/message_history.js.map +1 -1
- package/dist/utils/quota_tracker.d.ts +1 -1
- package/dist/utils/quota_tracker.d.ts.map +1 -1
- package/dist/utils/quota_tracker.js +0 -1
- package/dist/utils/quota_tracker.js.map +1 -1
- package/dist/utils/running_tool_tracker.d.ts +42 -0
- package/dist/utils/running_tool_tracker.d.ts.map +1 -0
- package/dist/utils/running_tool_tracker.js +129 -0
- package/dist/utils/running_tool_tracker.js.map +1 -0
- package/dist/utils/sequential_queue.d.ts +13 -0
- package/dist/utils/sequential_queue.d.ts.map +1 -0
- package/dist/utils/sequential_queue.js +68 -0
- package/dist/utils/sequential_queue.js.map +1 -0
- package/dist/utils/state_manager.d.ts.map +1 -1
- package/dist/utils/state_manager.js.map +1 -1
- package/dist/utils/stream_converter.d.ts +2 -13
- package/dist/utils/stream_converter.d.ts.map +1 -1
- package/dist/utils/stream_converter.js +15 -37
- package/dist/utils/stream_converter.js.map +1 -1
- package/dist/utils/test_utils.d.ts +4 -4
- package/dist/utils/test_utils.d.ts.map +1 -1
- package/dist/utils/test_utils.js +17 -17
- package/dist/utils/test_utils.js.map +1 -1
- package/dist/utils/tool_execution_manager.d.ts +7 -0
- package/dist/utils/tool_execution_manager.d.ts.map +1 -0
- package/dist/utils/tool_execution_manager.js +145 -0
- package/dist/utils/tool_execution_manager.js.map +1 -0
- package/dist/utils/tool_parameter_utils.d.ts +2 -2
- package/dist/utils/tool_parameter_utils.d.ts.map +1 -1
- package/dist/utils/tool_parameter_utils.js +8 -4
- package/dist/utils/tool_parameter_utils.js.map +1 -1
- package/dist/utils/tool_result_processor.d.ts +6 -0
- package/dist/utils/tool_result_processor.d.ts.map +1 -0
- package/dist/utils/tool_result_processor.js +69 -0
- package/dist/utils/tool_result_processor.js.map +1 -0
- package/dist/utils/verification.d.ts +7 -0
- package/dist/utils/verification.d.ts.map +1 -0
- package/dist/utils/verification.js +43 -0
- package/dist/utils/verification.js.map +1 -0
- package/package.json +11 -10
- package/dist/cost_tracker.d.ts +0 -2
- package/dist/cost_tracker.d.ts.map +0 -1
- package/dist/cost_tracker.js +0 -2
- package/dist/cost_tracker.js.map +0 -1
- package/dist/errors.d.ts +0 -55
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -134
- package/dist/errors.js.map +0 -1
- package/dist/external_models.d.ts.map +0 -1
- package/dist/external_models.js.map +0 -1
- package/dist/model_data.d.ts.map +0 -1
- package/dist/model_data.js.map +0 -1
- package/dist/model_providers/refactored_openai.d.ts +0 -22
- package/dist/model_providers/refactored_openai.d.ts.map +0 -1
- package/dist/model_providers/refactored_openai.js +0 -310
- package/dist/model_providers/refactored_openai.js.map +0 -1
- package/dist/openai-compat.d.ts +0 -79
- package/dist/openai-compat.d.ts.map +0 -1
- package/dist/openai-compat.js +0 -581
- package/dist/openai-compat.js.map +0 -1
- package/dist/test.d.ts +0 -5
- package/dist/test.d.ts.map +0 -1
- package/dist/test.js +0 -2
- package/dist/test.js.map +0 -1
- package/dist/types/extended_types.d.ts +0 -43
- package/dist/types/extended_types.d.ts.map +0 -1
- package/dist/types/extended_types.js +0 -2
- package/dist/types/extended_types.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/unified_request.d.ts +0 -19
- package/dist/unified_request.d.ts.map +0 -1
- package/dist/unified_request.js +0 -261
- package/dist/unified_request.js.map +0 -1
- package/dist/utils/async_queue.d.ts +0 -14
- package/dist/utils/async_queue.d.ts.map +0 -1
- package/dist/utils/async_queue.js +0 -68
- package/dist/utils/async_queue.js.map +0 -1
- package/dist/utils/cache.d.ts +0 -60
- package/dist/utils/cache.d.ts.map +0 -1
- package/dist/utils/cache.js +0 -205
- package/dist/utils/cache.js.map +0 -1
- package/dist/utils/error_handler.d.ts +0 -33
- package/dist/utils/error_handler.d.ts.map +0 -1
- package/dist/utils/error_handler.js +0 -84
- package/dist/utils/error_handler.js.map +0 -1
- package/dist/utils/tool_builder.d.ts +0 -51
- package/dist/utils/tool_builder.d.ts.map +0 -1
- package/dist/utils/tool_builder.js +0 -167
- package/dist/utils/tool_builder.js.map +0 -1
- package/dist/utils/tool_utils.d.ts +0 -13
- package/dist/utils/tool_utils.d.ts.map +0 -1
- package/dist/utils/tool_utils.js +0 -52
- package/dist/utils/tool_utils.js.map +0 -1
- package/dist/validation.d.ts +0 -1789
- package/dist/validation.d.ts.map +0 -1
- package/dist/validation.js +0 -289
- package/dist/validation.js.map +0 -1
- package/test.d.ts +0 -3
- package/test.js +0 -4
- /package/dist/{types.js → types/types.js} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { v4 as uuidv4 } from 'uuid';
|
|
2
|
-
import { costTracker } from '../
|
|
2
|
+
import { costTracker } from '../index.js';
|
|
3
3
|
export const testProviderConfig = {
|
|
4
4
|
streamingDelay: 50,
|
|
5
5
|
shouldError: false,
|
|
@@ -38,17 +38,7 @@ export class TestProvider {
|
|
|
38
38
|
constructor(config = testProviderConfig) {
|
|
39
39
|
this.config = config;
|
|
40
40
|
}
|
|
41
|
-
|
|
42
|
-
return modelId === 'test-model' || modelId.startsWith('test-');
|
|
43
|
-
}
|
|
44
|
-
async *createRequestGenerator(modelId, requestBody, agentInput) {
|
|
45
|
-
const agent = agentInput || {
|
|
46
|
-
agent_id: 'test',
|
|
47
|
-
async getTools() { return []; }
|
|
48
|
-
};
|
|
49
|
-
yield* this.createResponseStream(modelId, requestBody, agent);
|
|
50
|
-
}
|
|
51
|
-
async *createResponseStream(model, messages, agent) {
|
|
41
|
+
async *createResponseStream(messages, model, agent) {
|
|
52
42
|
console.log(`[TestProvider] Creating response stream for model: ${model}`);
|
|
53
43
|
const lastUserMessage = messages
|
|
54
44
|
.filter(m => 'role' in m && m.role === 'user')
|
|
@@ -147,14 +137,15 @@ export class TestProvider {
|
|
|
147
137
|
message_id: messageId,
|
|
148
138
|
content: response,
|
|
149
139
|
};
|
|
150
|
-
const outputTokenCount = this.config.tokenUsage?.outputTokens ||
|
|
140
|
+
const outputTokenCount = this.config.tokenUsage?.outputTokens ||
|
|
141
|
+
Math.ceil(response.length / 4);
|
|
151
142
|
yield {
|
|
152
143
|
type: 'cost_update',
|
|
153
144
|
usage: {
|
|
154
145
|
input_tokens: inputTokenCount,
|
|
155
146
|
output_tokens: outputTokenCount,
|
|
156
|
-
total_tokens: inputTokenCount + outputTokenCount
|
|
157
|
-
}
|
|
147
|
+
total_tokens: inputTokenCount + outputTokenCount,
|
|
148
|
+
},
|
|
158
149
|
};
|
|
159
150
|
costTracker.addUsage({
|
|
160
151
|
model,
|
|
@@ -174,7 +165,8 @@ export class TestProvider {
|
|
|
174
165
|
lowercaseInput.includes('problem')) {
|
|
175
166
|
return "I understand you're experiencing an issue. Let me help troubleshoot the problem.";
|
|
176
167
|
}
|
|
177
|
-
else if (lowercaseInput.includes('json') ||
|
|
168
|
+
else if (lowercaseInput.includes('json') ||
|
|
169
|
+
lowercaseInput.includes('person')) {
|
|
178
170
|
return '{"name": "John Doe", "age": 30}';
|
|
179
171
|
}
|
|
180
172
|
else if (lowercaseInput.includes('test')) {
|
|
@@ -190,7 +182,7 @@ export class TestProvider {
|
|
|
190
182
|
return `I've received your message: "${input.slice(0, 50)}${input.length > 50 ? '...' : ''}". This is a simulated response from the test provider.`;
|
|
191
183
|
}
|
|
192
184
|
}
|
|
193
|
-
async createEmbedding(
|
|
185
|
+
async createEmbedding(input, model, opts) {
|
|
194
186
|
const generateVector = (text) => {
|
|
195
187
|
const dimension = opts?.dimension || 384;
|
|
196
188
|
const vector = new Array(dimension);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test_provider.js","sourceRoot":"","sources":["../../model_providers/test_provider.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"test_provider.js","sourceRoot":"","sources":["../../model_providers/test_provider.ts"],"names":[],"mappings":"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"}
|