aieo 0.1.28 → 0.1.30
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/dist/index.cjs +107 -21
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +30 -3
- package/dist/index.d.ts +30 -3
- package/dist/index.js +106 -21
- package/dist/index.js.map +1 -1
- package/package.json +5 -2
package/dist/index.cjs
CHANGED
|
@@ -38,6 +38,7 @@ __export(index_exports, {
|
|
|
38
38
|
callGenerateObject: () => callGenerateObject,
|
|
39
39
|
callGenerateText: () => callGenerateText,
|
|
40
40
|
callModel: () => callModel,
|
|
41
|
+
consoleLogger: () => consoleLogger,
|
|
41
42
|
getApiKeyForProvider: () => getApiKeyForProvider,
|
|
42
43
|
getModel: () => getModel,
|
|
43
44
|
getProviderOptions: () => getProviderOptions,
|
|
@@ -13758,36 +13759,40 @@ function createOpenAI(options = {}) {
|
|
|
13758
13759
|
var openai = createOpenAI();
|
|
13759
13760
|
|
|
13760
13761
|
// src/provider.ts
|
|
13762
|
+
var import_ai_sdk_provider = require("@openrouter/ai-sdk-provider");
|
|
13761
13763
|
var PROVIDERS = [
|
|
13762
13764
|
"anthropic",
|
|
13763
13765
|
"google",
|
|
13764
13766
|
"openai",
|
|
13767
|
+
"openrouter",
|
|
13765
13768
|
"claude_code"
|
|
13766
13769
|
];
|
|
13767
|
-
var
|
|
13768
|
-
anthropic: "claude-sonnet-4-5",
|
|
13769
|
-
google: "gemini-2.5-pro-preview-05-06",
|
|
13770
|
-
openai: "gpt-5",
|
|
13771
|
-
claude_code: "sonnet"
|
|
13772
|
-
};
|
|
13773
|
-
var TOKEN_PRICING = {
|
|
13770
|
+
var MODELS = {
|
|
13774
13771
|
anthropic: {
|
|
13775
|
-
|
|
13776
|
-
|
|
13772
|
+
sonnet: "claude-sonnet-4-5",
|
|
13773
|
+
opus: "claude-opus-4-5",
|
|
13774
|
+
haiku: "claude-haiku-4-5"
|
|
13777
13775
|
},
|
|
13778
13776
|
google: {
|
|
13779
|
-
|
|
13780
|
-
outputTokenPrice: 5
|
|
13777
|
+
gemini: "gemini-3-pro-preview"
|
|
13781
13778
|
},
|
|
13782
13779
|
openai: {
|
|
13783
|
-
|
|
13784
|
-
outputTokenPrice: 10
|
|
13780
|
+
gpt: "gpt-5"
|
|
13785
13781
|
},
|
|
13786
13782
|
claude_code: {
|
|
13787
|
-
|
|
13788
|
-
|
|
13783
|
+
sonnet: "sonnet"
|
|
13784
|
+
},
|
|
13785
|
+
openrouter: {
|
|
13786
|
+
kimi: "moonshotai/kimi-k2.5"
|
|
13789
13787
|
}
|
|
13790
13788
|
};
|
|
13789
|
+
var DEFAULT_MODELS = {
|
|
13790
|
+
anthropic: MODELS.anthropic.sonnet,
|
|
13791
|
+
google: MODELS.google.gemini,
|
|
13792
|
+
openai: MODELS.openai.gpt,
|
|
13793
|
+
claude_code: MODELS.claude_code.sonnet,
|
|
13794
|
+
openrouter: MODELS.openrouter.kimi
|
|
13795
|
+
};
|
|
13791
13796
|
function getApiKeyForProvider(provider) {
|
|
13792
13797
|
let apiKey;
|
|
13793
13798
|
switch (provider) {
|
|
@@ -13809,23 +13814,47 @@ function getApiKeyForProvider(provider) {
|
|
|
13809
13814
|
}
|
|
13810
13815
|
return apiKey;
|
|
13811
13816
|
}
|
|
13812
|
-
|
|
13817
|
+
function getModelForProvider(provider, modelName) {
|
|
13818
|
+
const model = MODELS[provider][modelName];
|
|
13819
|
+
if (!model) {
|
|
13820
|
+
throw new Error(
|
|
13821
|
+
`Model "${modelName}" is not available for provider "${provider}". Available models: ${Object.keys(MODELS[provider]).join(", ")}`
|
|
13822
|
+
);
|
|
13823
|
+
}
|
|
13824
|
+
return model;
|
|
13825
|
+
}
|
|
13826
|
+
function getModel(provider, opts) {
|
|
13827
|
+
if (typeof opts === "string") {
|
|
13828
|
+
opts = { apiKey: opts };
|
|
13829
|
+
}
|
|
13830
|
+
const apiKey = opts?.apiKey || getApiKeyForProvider(provider);
|
|
13831
|
+
const modelId = opts?.modelName ? getModelForProvider(provider, opts.modelName) : DEFAULT_MODELS[provider];
|
|
13832
|
+
if (opts?.logger) {
|
|
13833
|
+
opts.logger.info(
|
|
13834
|
+
`Getting model for provider: ${provider}, model: ${modelId}`
|
|
13835
|
+
);
|
|
13836
|
+
}
|
|
13813
13837
|
switch (provider) {
|
|
13814
13838
|
case "anthropic":
|
|
13815
13839
|
const anthropic2 = createAnthropic({
|
|
13816
13840
|
apiKey
|
|
13817
13841
|
});
|
|
13818
|
-
return anthropic2(
|
|
13842
|
+
return anthropic2(modelId);
|
|
13819
13843
|
case "google":
|
|
13820
13844
|
const google2 = createGoogleGenerativeAI({
|
|
13821
13845
|
apiKey
|
|
13822
13846
|
});
|
|
13823
|
-
return google2(
|
|
13847
|
+
return google2(modelId);
|
|
13824
13848
|
case "openai":
|
|
13825
13849
|
const openai2 = createOpenAI({
|
|
13826
13850
|
apiKey
|
|
13827
13851
|
});
|
|
13828
|
-
return openai2(
|
|
13852
|
+
return openai2(modelId);
|
|
13853
|
+
case "openrouter":
|
|
13854
|
+
const openrouter = (0, import_ai_sdk_provider.createOpenRouter)({
|
|
13855
|
+
apiKey
|
|
13856
|
+
});
|
|
13857
|
+
return openrouter(modelId);
|
|
13829
13858
|
// case "claude_code":
|
|
13830
13859
|
// try {
|
|
13831
13860
|
// const customProvider = createClaudeCode({
|
|
@@ -13851,6 +13880,28 @@ async function getModel(provider, apiKey, cwd, executablePath) {
|
|
|
13851
13880
|
throw new Error(`Unsupported provider: ${provider}`);
|
|
13852
13881
|
}
|
|
13853
13882
|
}
|
|
13883
|
+
var TOKEN_PRICING = {
|
|
13884
|
+
anthropic: {
|
|
13885
|
+
inputTokenPrice: 3,
|
|
13886
|
+
outputTokenPrice: 15
|
|
13887
|
+
},
|
|
13888
|
+
google: {
|
|
13889
|
+
inputTokenPrice: 1.25,
|
|
13890
|
+
outputTokenPrice: 5
|
|
13891
|
+
},
|
|
13892
|
+
openai: {
|
|
13893
|
+
inputTokenPrice: 2.5,
|
|
13894
|
+
outputTokenPrice: 10
|
|
13895
|
+
},
|
|
13896
|
+
claude_code: {
|
|
13897
|
+
inputTokenPrice: 3,
|
|
13898
|
+
outputTokenPrice: 15
|
|
13899
|
+
},
|
|
13900
|
+
openrouter: {
|
|
13901
|
+
inputTokenPrice: 0.6,
|
|
13902
|
+
outputTokenPrice: 3
|
|
13903
|
+
}
|
|
13904
|
+
};
|
|
13854
13905
|
function getTokenPricing(provider) {
|
|
13855
13906
|
return TOKEN_PRICING[provider];
|
|
13856
13907
|
}
|
|
@@ -13875,6 +13926,10 @@ function getProviderOptions(provider, thinkingSpeed) {
|
|
|
13875
13926
|
return {
|
|
13876
13927
|
openai: {}
|
|
13877
13928
|
};
|
|
13929
|
+
case "openrouter":
|
|
13930
|
+
return {
|
|
13931
|
+
openrouter: {}
|
|
13932
|
+
};
|
|
13878
13933
|
case "claude_code":
|
|
13879
13934
|
return;
|
|
13880
13935
|
default:
|
|
@@ -13893,9 +13948,15 @@ async function callModel(opts) {
|
|
|
13893
13948
|
parser,
|
|
13894
13949
|
thinkingSpeed,
|
|
13895
13950
|
cwd,
|
|
13896
|
-
executablePath
|
|
13951
|
+
executablePath,
|
|
13952
|
+
modelName
|
|
13897
13953
|
} = opts;
|
|
13898
|
-
const model = await getModel(provider,
|
|
13954
|
+
const model = await getModel(provider, {
|
|
13955
|
+
apiKey,
|
|
13956
|
+
cwd,
|
|
13957
|
+
executablePath,
|
|
13958
|
+
modelName
|
|
13959
|
+
});
|
|
13899
13960
|
const providerOptions = getProviderOptions(provider, thinkingSpeed);
|
|
13900
13961
|
console.log(`Calling ${provider} with options:`, providerOptions);
|
|
13901
13962
|
const result = (0, import_ai.streamText)({
|
|
@@ -14011,6 +14072,30 @@ function getAnthropicTool(apiKey, toolName) {
|
|
|
14011
14072
|
throw new Error(`Unsupported tool: ${toolName}`);
|
|
14012
14073
|
}
|
|
14013
14074
|
}
|
|
14075
|
+
|
|
14076
|
+
// src/logger.ts
|
|
14077
|
+
function consoleLogger(name17) {
|
|
14078
|
+
return {
|
|
14079
|
+
info(message) {
|
|
14080
|
+
console.log(`[${name17}] ${message}`);
|
|
14081
|
+
},
|
|
14082
|
+
error(message) {
|
|
14083
|
+
console.error(`[${name17}] ${message}`);
|
|
14084
|
+
},
|
|
14085
|
+
warn(message) {
|
|
14086
|
+
console.warn(`[${name17}] ${message}`);
|
|
14087
|
+
},
|
|
14088
|
+
debug(message) {
|
|
14089
|
+
console.debug(`[${name17}] ${message}`);
|
|
14090
|
+
},
|
|
14091
|
+
trace(message) {
|
|
14092
|
+
console.trace(`[${name17}] ${message}`);
|
|
14093
|
+
},
|
|
14094
|
+
fatal(message) {
|
|
14095
|
+
console.error(`==FATAL== [${name17}] ${message}`);
|
|
14096
|
+
}
|
|
14097
|
+
};
|
|
14098
|
+
}
|
|
14014
14099
|
// Annotate the CommonJS export names for ESM import in node:
|
|
14015
14100
|
0 && (module.exports = {
|
|
14016
14101
|
ConversationStorage,
|
|
@@ -14021,6 +14106,7 @@ function getAnthropicTool(apiKey, toolName) {
|
|
|
14021
14106
|
callGenerateObject,
|
|
14022
14107
|
callGenerateText,
|
|
14023
14108
|
callModel,
|
|
14109
|
+
consoleLogger,
|
|
14024
14110
|
getApiKeyForProvider,
|
|
14025
14111
|
getModel,
|
|
14026
14112
|
getProviderOptions,
|