@just-every/ensemble 0.1.0
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/README.md +245 -0
- package/dist/cost_tracker.d.ts +2 -0
- package/dist/cost_tracker.d.ts.map +1 -0
- package/dist/cost_tracker.js +2 -0
- package/dist/cost_tracker.js.map +1 -0
- package/dist/errors.d.ts +55 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +134 -0
- package/dist/errors.js.map +1 -0
- package/dist/external_models.d.ts +10 -0
- package/dist/external_models.d.ts.map +1 -0
- package/dist/external_models.js +36 -0
- package/dist/external_models.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +47 -0
- package/dist/index.js.map +1 -0
- package/dist/model_data.d.ts +63 -0
- package/dist/model_data.d.ts.map +1 -0
- package/dist/model_data.js +1070 -0
- package/dist/model_data.js.map +1 -0
- package/dist/model_providers/base_provider.d.ts +37 -0
- package/dist/model_providers/base_provider.d.ts.map +1 -0
- package/dist/model_providers/base_provider.js +146 -0
- package/dist/model_providers/base_provider.js.map +1 -0
- package/dist/model_providers/claude.d.ts +11 -0
- package/dist/model_providers/claude.d.ts.map +1 -0
- package/dist/model_providers/claude.js +788 -0
- package/dist/model_providers/claude.js.map +1 -0
- package/dist/model_providers/deepseek.d.ts +8 -0
- package/dist/model_providers/deepseek.d.ts.map +1 -0
- package/dist/model_providers/deepseek.js +136 -0
- package/dist/model_providers/deepseek.js.map +1 -0
- package/dist/model_providers/gemini.d.ts +11 -0
- package/dist/model_providers/gemini.d.ts.map +1 -0
- package/dist/model_providers/gemini.js +711 -0
- package/dist/model_providers/gemini.js.map +1 -0
- package/dist/model_providers/grok.d.ts +8 -0
- package/dist/model_providers/grok.d.ts.map +1 -0
- package/dist/model_providers/grok.js +22 -0
- package/dist/model_providers/grok.js.map +1 -0
- package/dist/model_providers/model_provider.d.ts +11 -0
- package/dist/model_providers/model_provider.d.ts.map +1 -0
- package/dist/model_providers/model_provider.js +170 -0
- package/dist/model_providers/model_provider.js.map +1 -0
- package/dist/model_providers/openai.d.ts +13 -0
- package/dist/model_providers/openai.d.ts.map +1 -0
- package/dist/model_providers/openai.js +822 -0
- package/dist/model_providers/openai.js.map +1 -0
- package/dist/model_providers/openai_chat.d.ts +14 -0
- package/dist/model_providers/openai_chat.d.ts.map +1 -0
- package/dist/model_providers/openai_chat.js +719 -0
- package/dist/model_providers/openai_chat.js.map +1 -0
- package/dist/model_providers/openrouter.d.ts +6 -0
- package/dist/model_providers/openrouter.d.ts.map +1 -0
- package/dist/model_providers/openrouter.js +18 -0
- package/dist/model_providers/openrouter.js.map +1 -0
- package/dist/model_providers/refactored_openai.d.ts +22 -0
- package/dist/model_providers/refactored_openai.d.ts.map +1 -0
- package/dist/model_providers/refactored_openai.js +310 -0
- package/dist/model_providers/refactored_openai.js.map +1 -0
- package/dist/model_providers/test_provider.d.ts +27 -0
- package/dist/model_providers/test_provider.d.ts.map +1 -0
- package/dist/model_providers/test_provider.js +185 -0
- package/dist/model_providers/test_provider.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/api_types.d.ts +249 -0
- package/dist/types/api_types.d.ts.map +1 -0
- package/dist/types/api_types.js +2 -0
- package/dist/types/api_types.js.map +1 -0
- package/dist/types/extended_types.d.ts +43 -0
- package/dist/types/extended_types.d.ts.map +1 -0
- package/dist/types/extended_types.js +2 -0
- package/dist/types/extended_types.js.map +1 -0
- package/dist/types.d.ts +301 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/async_queue.d.ts +14 -0
- package/dist/utils/async_queue.d.ts.map +1 -0
- package/dist/utils/async_queue.js +68 -0
- package/dist/utils/async_queue.js.map +1 -0
- package/dist/utils/cache.d.ts +60 -0
- package/dist/utils/cache.d.ts.map +1 -0
- package/dist/utils/cache.js +205 -0
- package/dist/utils/cache.js.map +1 -0
- package/dist/utils/communication.d.ts +3 -0
- package/dist/utils/communication.d.ts.map +1 -0
- package/dist/utils/communication.js +8 -0
- package/dist/utils/communication.js.map +1 -0
- package/dist/utils/cost_tracker.d.ts +26 -0
- package/dist/utils/cost_tracker.d.ts.map +1 -0
- package/dist/utils/cost_tracker.js +177 -0
- package/dist/utils/cost_tracker.js.map +1 -0
- package/dist/utils/delta_buffer.d.ts +14 -0
- package/dist/utils/delta_buffer.d.ts.map +1 -0
- package/dist/utils/delta_buffer.js +60 -0
- package/dist/utils/delta_buffer.js.map +1 -0
- package/dist/utils/image_to_text.d.ts +3 -0
- package/dist/utils/image_to_text.d.ts.map +1 -0
- package/dist/utils/image_to_text.js +81 -0
- package/dist/utils/image_to_text.js.map +1 -0
- package/dist/utils/image_utils.d.ts +18 -0
- package/dist/utils/image_utils.d.ts.map +1 -0
- package/dist/utils/image_utils.js +132 -0
- package/dist/utils/image_utils.js.map +1 -0
- package/dist/utils/llm_logger.d.ts +8 -0
- package/dist/utils/llm_logger.d.ts.map +1 -0
- package/dist/utils/llm_logger.js +24 -0
- package/dist/utils/llm_logger.js.map +1 -0
- package/dist/utils/quota_tracker.d.ts +22 -0
- package/dist/utils/quota_tracker.d.ts.map +1 -0
- package/dist/utils/quota_tracker.js +338 -0
- package/dist/utils/quota_tracker.js.map +1 -0
- package/dist/utils/stream_converter.d.ts +19 -0
- package/dist/utils/stream_converter.d.ts.map +1 -0
- package/dist/utils/stream_converter.js +172 -0
- package/dist/utils/stream_converter.js.map +1 -0
- package/dist/validation.d.ts +1789 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +289 -0
- package/dist/validation.js.map +1 -0
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +34 -0
- package/dist/vitest.config.js.map +1 -0
- package/package.json +86 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../model_providers/gemini.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { OpenAIChat } from './openai_chat.js';
|
|
2
|
+
import OpenAI from 'openai';
|
|
3
|
+
export declare class GrokProvider extends OpenAIChat {
|
|
4
|
+
constructor();
|
|
5
|
+
prepareParameters(requestParams: OpenAI.Chat.Completions.ChatCompletionCreateParamsStreaming): OpenAI.Chat.Completions.ChatCompletionCreateParamsStreaming;
|
|
6
|
+
}
|
|
7
|
+
export declare const grokProvider: GrokProvider;
|
|
8
|
+
//# sourceMappingURL=grok.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grok.d.ts","sourceRoot":"","sources":["../../model_providers/grok.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAK5B,qBAAa,YAAa,SAAQ,UAAU;;IAKxC,iBAAiB,CACb,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,mCAAmC,GAC3E,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,mCAAmC;CAkBjE;AAGD,eAAO,MAAM,YAAY,cAAqB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { OpenAIChat } from './openai_chat.js';
|
|
2
|
+
export class GrokProvider extends OpenAIChat {
|
|
3
|
+
constructor() {
|
|
4
|
+
super('xai', process.env.XAI_API_KEY, 'https://api.x.ai/v1');
|
|
5
|
+
}
|
|
6
|
+
prepareParameters(requestParams) {
|
|
7
|
+
if (Array.isArray(requestParams.tools)) {
|
|
8
|
+
const index = requestParams.tools.findIndex(t => t.type === 'function' &&
|
|
9
|
+
t.function?.name === 'grok_web_search');
|
|
10
|
+
if (index !== -1) {
|
|
11
|
+
requestParams.tools.splice(index, 1);
|
|
12
|
+
requestParams.search_parameters = {
|
|
13
|
+
mode: 'on',
|
|
14
|
+
return_citations: true,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return super.prepareParameters(requestParams);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export const grokProvider = new GrokProvider();
|
|
22
|
+
//# sourceMappingURL=grok.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grok.js","sourceRoot":"","sources":["../../model_providers/grok.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAM9C,MAAM,OAAO,YAAa,SAAQ,UAAU;IACxC;QACI,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;IACjE,CAAC;IAED,iBAAiB,CACb,aAA0E;QAE1E,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,CACvC,CAAC,CAAC,EAAE,CACA,CAAC,CAAC,IAAI,KAAK,UAAU;gBACpB,CAAS,CAAC,QAAQ,EAAE,IAAI,KAAK,iBAAiB,CACtD,CAAC;YACF,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACpC,aAAqB,CAAC,iBAAiB,GAAG;oBACvC,IAAI,EAAE,IAAI;oBACV,gBAAgB,EAAE,IAAI;iBACzB,CAAC;YACN,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;CAEJ;AAGD,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ModelProvider as BaseModelProvider, EmbedOpts } from '../types.js';
|
|
2
|
+
export type { EmbedOpts };
|
|
3
|
+
export interface ModelProvider extends BaseModelProvider {
|
|
4
|
+
createEmbedding?(modelId: string, input: string | string[], opts?: EmbedOpts): Promise<number[] | number[][]>;
|
|
5
|
+
}
|
|
6
|
+
import { ModelClassID, ModelProviderID } from '../model_data.js';
|
|
7
|
+
export declare function isProviderKeyValid(provider: ModelProviderID): boolean;
|
|
8
|
+
export declare function getProviderFromModel(model: string): ModelProviderID;
|
|
9
|
+
export declare function getModelFromClass(modelClass?: ModelClassID): Promise<string>;
|
|
10
|
+
export declare function getModelProvider(model?: string): ModelProvider;
|
|
11
|
+
//# sourceMappingURL=model_provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model_provider.d.ts","sourceRoot":"","sources":["../../model_providers/model_provider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG5E,YAAY,EAAE,SAAS,EAAE,CAAC;AAG1B,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IAQpD,eAAe,CAAC,CACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,IAAI,CAAC,EAAE,SAAS,GACjB,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;CACrC;AAYD,OAAO,EAAiB,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AA+BhF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAqCrE;AAKD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CA8BnE;AAKD,wBAAsB,iBAAiB,CACnC,UAAU,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,MAAM,CAAC,CAiHjB;AAMD,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CA+B9D"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { isExternalModel, getExternalModel, getExternalProvider, getModelClassOverride } from '../external_models.js';
|
|
2
|
+
import { openaiProvider } from './openai.js';
|
|
3
|
+
import { claudeProvider } from './claude.js';
|
|
4
|
+
import { geminiProvider } from './gemini.js';
|
|
5
|
+
import { grokProvider } from './grok.js';
|
|
6
|
+
import { deepSeekProvider } from './deepseek.js';
|
|
7
|
+
import { testProvider } from './test_provider.js';
|
|
8
|
+
import { openRouterProvider } from './openrouter.js';
|
|
9
|
+
import { MODEL_CLASSES } from '../model_data.js';
|
|
10
|
+
const MODEL_PROVIDER_MAP = {
|
|
11
|
+
'gpt-': openaiProvider,
|
|
12
|
+
o1: openaiProvider,
|
|
13
|
+
o3: openaiProvider,
|
|
14
|
+
o4: openaiProvider,
|
|
15
|
+
'text-': openaiProvider,
|
|
16
|
+
'computer-use-preview': openaiProvider,
|
|
17
|
+
'claude-': claudeProvider,
|
|
18
|
+
'gemini-': geminiProvider,
|
|
19
|
+
'grok-': grokProvider,
|
|
20
|
+
'deepseek-': deepSeekProvider,
|
|
21
|
+
'test-': testProvider,
|
|
22
|
+
};
|
|
23
|
+
export function isProviderKeyValid(provider) {
|
|
24
|
+
switch (provider) {
|
|
25
|
+
case 'openai':
|
|
26
|
+
return (!!process.env.OPENAI_API_KEY &&
|
|
27
|
+
process.env.OPENAI_API_KEY.startsWith('sk-'));
|
|
28
|
+
case 'anthropic':
|
|
29
|
+
return (!!process.env.ANTHROPIC_API_KEY &&
|
|
30
|
+
process.env.ANTHROPIC_API_KEY.startsWith('sk-ant-'));
|
|
31
|
+
case 'google':
|
|
32
|
+
return !!process.env.GOOGLE_API_KEY;
|
|
33
|
+
case 'xai':
|
|
34
|
+
return (!!process.env.XAI_API_KEY &&
|
|
35
|
+
process.env.XAI_API_KEY.startsWith('xai-'));
|
|
36
|
+
case 'deepseek':
|
|
37
|
+
return (!!process.env.DEEPSEEK_API_KEY &&
|
|
38
|
+
process.env.DEEPSEEK_API_KEY.startsWith('sk-'));
|
|
39
|
+
case 'openrouter':
|
|
40
|
+
return !!process.env.OPENROUTER_API_KEY;
|
|
41
|
+
case 'test':
|
|
42
|
+
return true;
|
|
43
|
+
default:
|
|
44
|
+
const externalProvider = getExternalProvider(provider);
|
|
45
|
+
if (externalProvider) {
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export function getProviderFromModel(model) {
|
|
52
|
+
if (isExternalModel(model)) {
|
|
53
|
+
const externalModel = getExternalModel(model);
|
|
54
|
+
if (externalModel) {
|
|
55
|
+
return externalModel.provider;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (model.startsWith('gpt-') ||
|
|
59
|
+
model.startsWith('o1') ||
|
|
60
|
+
model.startsWith('o3') ||
|
|
61
|
+
model.startsWith('o4') ||
|
|
62
|
+
model.startsWith('text-') ||
|
|
63
|
+
model.startsWith('computer-use-preview')) {
|
|
64
|
+
return 'openai';
|
|
65
|
+
}
|
|
66
|
+
else if (model.startsWith('claude-')) {
|
|
67
|
+
return 'anthropic';
|
|
68
|
+
}
|
|
69
|
+
else if (model.startsWith('gemini-')) {
|
|
70
|
+
return 'google';
|
|
71
|
+
}
|
|
72
|
+
else if (model.startsWith('grok-')) {
|
|
73
|
+
return 'xai';
|
|
74
|
+
}
|
|
75
|
+
else if (model.startsWith('deepseek-')) {
|
|
76
|
+
return 'deepseek';
|
|
77
|
+
}
|
|
78
|
+
else if (model.startsWith('test-')) {
|
|
79
|
+
return 'test';
|
|
80
|
+
}
|
|
81
|
+
return 'openrouter';
|
|
82
|
+
}
|
|
83
|
+
export async function getModelFromClass(modelClass) {
|
|
84
|
+
const { quotaTracker } = await import('../utils/quota_tracker.js');
|
|
85
|
+
const modelClassStr = modelClass;
|
|
86
|
+
const modelGroup = modelClassStr && modelClassStr in MODEL_CLASSES
|
|
87
|
+
? modelClassStr
|
|
88
|
+
: 'standard';
|
|
89
|
+
if (modelGroup in MODEL_CLASSES) {
|
|
90
|
+
const override = getModelClassOverride(modelGroup);
|
|
91
|
+
let modelClassConfig = MODEL_CLASSES[modelGroup];
|
|
92
|
+
if (override) {
|
|
93
|
+
modelClassConfig = {
|
|
94
|
+
...modelClassConfig,
|
|
95
|
+
...override
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
let models = [...(override?.models || modelClassConfig.models)];
|
|
99
|
+
const shouldRandomize = override?.random ?? ('random' in modelClassConfig && modelClassConfig.random);
|
|
100
|
+
if (shouldRandomize) {
|
|
101
|
+
models = models.sort(() => Math.random() - 0.5);
|
|
102
|
+
}
|
|
103
|
+
for (const model of models) {
|
|
104
|
+
const provider = getProviderFromModel(model);
|
|
105
|
+
if (isProviderKeyValid(provider) &&
|
|
106
|
+
quotaTracker.hasQuota(provider, model)) {
|
|
107
|
+
console.log(`Using model ${model} from class ${modelGroup} (has API key and quota)`);
|
|
108
|
+
return model;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
for (const model of models) {
|
|
112
|
+
const provider = getProviderFromModel(model);
|
|
113
|
+
if (isProviderKeyValid(provider)) {
|
|
114
|
+
console.log(`Using model ${model} from class ${modelGroup} (has API key but may exceed quota)`);
|
|
115
|
+
return model;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (modelGroup !== 'standard' && 'standard' in MODEL_CLASSES) {
|
|
120
|
+
const standardModels = MODEL_CLASSES['standard'].models;
|
|
121
|
+
for (const model of standardModels) {
|
|
122
|
+
const provider = getProviderFromModel(model);
|
|
123
|
+
if (isProviderKeyValid(provider) &&
|
|
124
|
+
quotaTracker.hasQuota(provider, model)) {
|
|
125
|
+
console.log(`Falling back to standard class model ${model} (has API key and quota)`);
|
|
126
|
+
return model;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
for (const model of standardModels) {
|
|
130
|
+
const provider = getProviderFromModel(model);
|
|
131
|
+
if (isProviderKeyValid(provider)) {
|
|
132
|
+
console.log(`Falling back to standard class model ${model} (has API key but may exceed quota)`);
|
|
133
|
+
return model;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
let defaultModel = 'gpt-4.1';
|
|
138
|
+
if (modelGroup in MODEL_CLASSES) {
|
|
139
|
+
const models = MODEL_CLASSES[modelGroup].models;
|
|
140
|
+
if (models.length > 0) {
|
|
141
|
+
defaultModel = models[0];
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
console.log(`No valid API key found for any model in class ${modelGroup}, using default: ${defaultModel}`);
|
|
145
|
+
return defaultModel;
|
|
146
|
+
}
|
|
147
|
+
export function getModelProvider(model) {
|
|
148
|
+
if (model) {
|
|
149
|
+
if (isExternalModel(model)) {
|
|
150
|
+
const externalModel = getExternalModel(model);
|
|
151
|
+
if (externalModel) {
|
|
152
|
+
const externalProvider = getExternalProvider(externalModel.provider);
|
|
153
|
+
if (externalProvider) {
|
|
154
|
+
return externalProvider;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
for (const [prefix, provider] of Object.entries(MODEL_PROVIDER_MAP)) {
|
|
159
|
+
if (model.startsWith(prefix) &&
|
|
160
|
+
isProviderKeyValid(getProviderFromModel(model))) {
|
|
161
|
+
return provider;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
if (!isProviderKeyValid(getProviderFromModel('openrouter'))) {
|
|
166
|
+
throw new Error(`No valid provider found for the model ${model}. Please check your API keys.`);
|
|
167
|
+
}
|
|
168
|
+
return openRouterProvider;
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=model_provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model_provider.js","sourceRoot":"","sources":["../../model_providers/model_provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ModelProvider, EnsembleStreamEvent, ResponseInput, EnsembleAgent } from '../types.js';
|
|
2
|
+
export declare class OpenAIProvider implements ModelProvider {
|
|
3
|
+
private client;
|
|
4
|
+
constructor(apiKey?: string);
|
|
5
|
+
createEmbedding(modelId: string, input: string | string[], opts?: {
|
|
6
|
+
dimensions?: number;
|
|
7
|
+
normalize?: boolean;
|
|
8
|
+
}): Promise<number[] | number[][]>;
|
|
9
|
+
generateImage(prompt: string, model?: string, background?: 'transparent' | 'opaque' | 'auto', quality?: 'low' | 'medium' | 'high' | 'auto', size?: '1024x1024' | '1536x1024' | '1024x1536' | 'auto', source_images?: string | string[], number_of_images?: number): Promise<string[]>;
|
|
10
|
+
createResponseStream(model: string, messages: ResponseInput, agent: EnsembleAgent): AsyncGenerator<EnsembleStreamEvent>;
|
|
11
|
+
}
|
|
12
|
+
export declare const openaiProvider: OpenAIProvider;
|
|
13
|
+
//# sourceMappingURL=openai.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../model_providers/openai.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,aAAa,EAGb,mBAAmB,EAEnB,aAAa,EACb,aAAa,EAChB,MAAM,aAAa,CAAC;AAkVrB,qBAAa,cAAe,YAAW,aAAa;IAChD,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,CAAC,EAAE,MAAM;IAmBrB,eAAe,CACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GACpD,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;IA8D3B,aAAa,CACf,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAsB,EAC7B,UAAU,GAAE,aAAa,GAAG,QAAQ,GAAG,MAAe,EACtD,OAAO,GAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAe,EACpD,IAAI,GAAE,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,MAAe,EAC/D,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EACjC,gBAAgB,GAAE,MAAU,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC;IAkHb,oBAAoB,CACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,aAAa,GACrB,cAAc,CAAC,mBAAmB,CAAC;CAm0BzC;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
|