gauss-ai 4.0.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/CHANGELOG.md +489 -0
- package/LICENSE +21 -0
- package/README.md +269 -0
- package/dist/a2a/index.cjs +7 -0
- package/dist/a2a/index.cjs.map +1 -0
- package/dist/a2a/index.d.cts +30 -0
- package/dist/a2a/index.d.ts +30 -0
- package/dist/a2a/index.js +7 -0
- package/dist/a2a/index.js.map +1 -0
- package/dist/agent-UIQDSYCE.js +16 -0
- package/dist/agent-UIQDSYCE.js.map +1 -0
- package/dist/agent-builder-8W3mBR-N.d.ts +1075 -0
- package/dist/agent-builder-GEMYdb1p.d.cts +1075 -0
- package/dist/agent-graph-AMQYAWNF.js +1422 -0
- package/dist/agent-graph-AMQYAWNF.js.map +1 -0
- package/dist/ai-sdk-mcp.adapter-SEN6KHNU.js +124 -0
- package/dist/ai-sdk-mcp.adapter-SEN6KHNU.js.map +1 -0
- package/dist/browser/index.js +10 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/bun-runtime.adapter-MQDAJLQM.js +8 -0
- package/dist/bun-runtime.adapter-MQDAJLQM.js.map +1 -0
- package/dist/bun-runtime.adapter-XKOUXVAK.cjs +8 -0
- package/dist/bun-runtime.adapter-XKOUXVAK.cjs.map +1 -0
- package/dist/chat-A3XMRPJL.js +129 -0
- package/dist/chat-A3XMRPJL.js.map +1 -0
- package/dist/chunk-2ZRU47NC.js +91 -0
- package/dist/chunk-2ZRU47NC.js.map +1 -0
- package/dist/chunk-3LD3JTH4.cjs +18 -0
- package/dist/chunk-3LD3JTH4.cjs.map +1 -0
- package/dist/chunk-5FE5TG2W.cjs +16 -0
- package/dist/chunk-5FE5TG2W.cjs.map +1 -0
- package/dist/chunk-6XF673YC.cjs +436 -0
- package/dist/chunk-6XF673YC.cjs.map +1 -0
- package/dist/chunk-7CKWZJNS.js +230 -0
- package/dist/chunk-7CKWZJNS.js.map +1 -0
- package/dist/chunk-BI2G665F.js +4588 -0
- package/dist/chunk-BI2G665F.js.map +1 -0
- package/dist/chunk-C5NLWJS2.js +139 -0
- package/dist/chunk-C5NLWJS2.js.map +1 -0
- package/dist/chunk-CJZ66SU3.cjs +4321 -0
- package/dist/chunk-CJZ66SU3.cjs.map +1 -0
- package/dist/chunk-DAMT2CXW.cjs +91 -0
- package/dist/chunk-DAMT2CXW.cjs.map +1 -0
- package/dist/chunk-E7WG3MO5.js +18 -0
- package/dist/chunk-E7WG3MO5.js.map +1 -0
- package/dist/chunk-EFDM6R4J.js +99 -0
- package/dist/chunk-EFDM6R4J.js.map +1 -0
- package/dist/chunk-F7WIPPEO.js +256 -0
- package/dist/chunk-F7WIPPEO.js.map +1 -0
- package/dist/chunk-FAYDE67N.js +6927 -0
- package/dist/chunk-FAYDE67N.js.map +1 -0
- package/dist/chunk-GAE2KKCM.js +21 -0
- package/dist/chunk-GAE2KKCM.js.map +1 -0
- package/dist/chunk-INLNGRXM.cjs +130 -0
- package/dist/chunk-INLNGRXM.cjs.map +1 -0
- package/dist/chunk-JKXKXB5O.js +130 -0
- package/dist/chunk-JKXKXB5O.js.map +1 -0
- package/dist/chunk-K6SAETGP.js +375 -0
- package/dist/chunk-K6SAETGP.js.map +1 -0
- package/dist/chunk-KEASLAYR.js +157 -0
- package/dist/chunk-KEASLAYR.js.map +1 -0
- package/dist/chunk-KKJVNM6O.js +436 -0
- package/dist/chunk-KKJVNM6O.js.map +1 -0
- package/dist/chunk-KYIMVRIM.js +16 -0
- package/dist/chunk-KYIMVRIM.js.map +1 -0
- package/dist/chunk-MB7NXIZD.js +4321 -0
- package/dist/chunk-MB7NXIZD.js.map +1 -0
- package/dist/chunk-MHHDXPGE.js +209 -0
- package/dist/chunk-MHHDXPGE.js.map +1 -0
- package/dist/chunk-NE6JJA5W.js +401 -0
- package/dist/chunk-NE6JJA5W.js.map +1 -0
- package/dist/chunk-PF46XZBF.cjs +6927 -0
- package/dist/chunk-PF46XZBF.cjs.map +1 -0
- package/dist/chunk-PSJIAGDE.cjs +375 -0
- package/dist/chunk-PSJIAGDE.cjs.map +1 -0
- package/dist/chunk-PWOQDXNQ.js +16 -0
- package/dist/chunk-PWOQDXNQ.js.map +1 -0
- package/dist/chunk-QYOMQBBZ.cjs +230 -0
- package/dist/chunk-QYOMQBBZ.cjs.map +1 -0
- package/dist/chunk-UDFXLC4J.cjs +16 -0
- package/dist/chunk-UDFXLC4J.cjs.map +1 -0
- package/dist/chunk-UO4NGXRT.cjs +259 -0
- package/dist/chunk-UO4NGXRT.cjs.map +1 -0
- package/dist/chunk-UPFDFLEW.js +40 -0
- package/dist/chunk-UPFDFLEW.js.map +1 -0
- package/dist/chunk-V55JSQS7.cjs +16 -0
- package/dist/chunk-V55JSQS7.cjs.map +1 -0
- package/dist/chunk-VJADHXZL.cjs +16 -0
- package/dist/chunk-VJADHXZL.cjs.map +1 -0
- package/dist/chunk-VRWD7LCI.js +59 -0
- package/dist/chunk-VRWD7LCI.js.map +1 -0
- package/dist/chunk-WKKQ443C.js +487 -0
- package/dist/chunk-WKKQ443C.js.map +1 -0
- package/dist/chunk-X2GHUHAF.js +436 -0
- package/dist/chunk-X2GHUHAF.js.map +1 -0
- package/dist/chunk-XLGW3XNI.cjs +256 -0
- package/dist/chunk-XLGW3XNI.cjs.map +1 -0
- package/dist/chunk-ZFJKX4DP.js +16 -0
- package/dist/chunk-ZFJKX4DP.js.map +1 -0
- package/dist/chunk-ZM2OEWM2.js +259 -0
- package/dist/chunk-ZM2OEWM2.js.map +1 -0
- package/dist/chunk-ZNAIP2XV.js +16 -0
- package/dist/chunk-ZNAIP2XV.js.map +1 -0
- package/dist/chunk-ZYFAZYSL.js +42 -0
- package/dist/chunk-ZYFAZYSL.js.map +1 -0
- package/dist/cli/index.js +421 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/config-4MHT6TQW.js +153 -0
- package/dist/config-4MHT6TQW.js.map +1 -0
- package/dist/config-REERQFK4.cjs +153 -0
- package/dist/config-REERQFK4.cjs.map +1 -0
- package/dist/cost-tracker-JLOU7IZJ.js +7 -0
- package/dist/cost-tracker-JLOU7IZJ.js.map +1 -0
- package/dist/demo-C52GMSYH.js +188 -0
- package/dist/demo-C52GMSYH.js.map +1 -0
- package/dist/deno/index.js +306 -0
- package/dist/deno/index.js.map +1 -0
- package/dist/deno-runtime.adapter-F744HY7K.js +8 -0
- package/dist/deno-runtime.adapter-F744HY7K.js.map +1 -0
- package/dist/deno-runtime.adapter-RFEVNSCV.cjs +8 -0
- package/dist/deno-runtime.adapter-RFEVNSCV.cjs.map +1 -0
- package/dist/dev-D7DDVDA4.js +218 -0
- package/dist/dev-D7DDVDA4.js.map +1 -0
- package/dist/edge/index.js +10 -0
- package/dist/edge/index.js.map +1 -0
- package/dist/edge-runtime.adapter-UQCW2F7X.js +8 -0
- package/dist/edge-runtime.adapter-UQCW2F7X.js.map +1 -0
- package/dist/edge-runtime.adapter-YED6F3AY.cjs +8 -0
- package/dist/edge-runtime.adapter-YED6F3AY.cjs.map +1 -0
- package/dist/graph-MGFAQZ5W.js +50 -0
- package/dist/graph-MGFAQZ5W.js.map +1 -0
- package/dist/graph-visualization-HBSVQXJK.js +9 -0
- package/dist/graph-visualization-HBSVQXJK.js.map +1 -0
- package/dist/index-BRgqNnh3.d.cts +982 -0
- package/dist/index-CZxpYUxZ.d.ts +982 -0
- package/dist/index.cjs +14789 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +10275 -0
- package/dist/index.d.ts +10275 -0
- package/dist/index.js +14789 -0
- package/dist/index.js.map +1 -0
- package/dist/init-CFWXTQ35.js +133 -0
- package/dist/init-CFWXTQ35.js.map +1 -0
- package/dist/llm-VWO4MC7J.cjs +17 -0
- package/dist/llm-VWO4MC7J.cjs.map +1 -0
- package/dist/llm-XLXVSPBI.js +17 -0
- package/dist/llm-XLXVSPBI.js.map +1 -0
- package/dist/logging-WRAK5ZXT.js +33 -0
- package/dist/logging-WRAK5ZXT.js.map +1 -0
- package/dist/metrics-FAHZVVD4.js +47 -0
- package/dist/metrics-FAHZVVD4.js.map +1 -0
- package/dist/node/index.cjs +280 -0
- package/dist/node/index.cjs.map +1 -0
- package/dist/node/index.d.cts +51 -0
- package/dist/node/index.d.ts +51 -0
- package/dist/node/index.js +280 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node-runtime.adapter-5L7PJ6W2.js +8 -0
- package/dist/node-runtime.adapter-5L7PJ6W2.js.map +1 -0
- package/dist/node-runtime.adapter-CCRZVGHB.cjs +8 -0
- package/dist/node-runtime.adapter-CCRZVGHB.cjs.map +1 -0
- package/dist/persist-usage-WTBTCWEF.js +7 -0
- package/dist/persist-usage-WTBTCWEF.js.map +1 -0
- package/dist/plugin-RCPBWUUA.js +207 -0
- package/dist/plugin-RCPBWUUA.js.map +1 -0
- package/dist/plugins/index.cjs +75 -0
- package/dist/plugins/index.cjs.map +1 -0
- package/dist/plugins/index.d.cts +8 -0
- package/dist/plugins/index.d.ts +8 -0
- package/dist/plugins/index.js +75 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins-L4ING3CX.js +4625 -0
- package/dist/plugins-L4ING3CX.js.map +1 -0
- package/dist/providers/index.cjs +189 -0
- package/dist/providers/index.cjs.map +1 -0
- package/dist/providers/index.d.cts +168 -0
- package/dist/providers/index.d.ts +168 -0
- package/dist/providers/index.js +189 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers-3RNQ5CKZ.js +59 -0
- package/dist/providers-3RNQ5CKZ.js.map +1 -0
- package/dist/providers-66GPXUGQ.cjs +59 -0
- package/dist/providers-66GPXUGQ.cjs.map +1 -0
- package/dist/repl-K6QN4I2S.js +678 -0
- package/dist/repl-K6QN4I2S.js.map +1 -0
- package/dist/rest/index.cjs +17 -0
- package/dist/rest/index.cjs.map +1 -0
- package/dist/rest/index.d.cts +102 -0
- package/dist/rest/index.d.ts +102 -0
- package/dist/rest/index.js +17 -0
- package/dist/rest/index.js.map +1 -0
- package/dist/runtime-deno.js +15 -0
- package/dist/runtime-deno.js.map +1 -0
- package/dist/runtime-edge.js +15 -0
- package/dist/runtime-edge.js.map +1 -0
- package/dist/runtime-node.js +15 -0
- package/dist/runtime-node.js.map +1 -0
- package/dist/scraping/index.cjs +11 -0
- package/dist/scraping/index.cjs.map +1 -0
- package/dist/scraping/index.d.cts +17 -0
- package/dist/scraping/index.d.ts +17 -0
- package/dist/scraping/index.js +11 -0
- package/dist/scraping/index.js.map +1 -0
- package/dist/semantic-scraping.port-CZWUea88.d.cts +54 -0
- package/dist/semantic-scraping.port-CZWUea88.d.ts +54 -0
- package/dist/server/index.js +166 -0
- package/dist/server/index.js.map +1 -0
- package/dist/testing/index.cjs +25 -0
- package/dist/testing/index.cjs.map +1 -0
- package/dist/testing/index.d.cts +63 -0
- package/dist/testing/index.d.ts +63 -0
- package/dist/testing/index.js +25 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/token-counter.port-CRgxZZGe.d.ts +334 -0
- package/dist/token-counter.port-D7BHMCRR.d.cts +334 -0
- package/dist/tools-BZM33OBZ.js +10 -0
- package/dist/tools-BZM33OBZ.js.map +1 -0
- package/dist/tracing-XA3TEWP4.js +48 -0
- package/dist/tracing-XA3TEWP4.js.map +1 -0
- package/dist/types-CVsP7gFI.d.cts +235 -0
- package/dist/types-CVsP7gFI.d.ts +235 -0
- package/dist/virtual-fs.adapter-BBLS-3AY.d.ts +26 -0
- package/dist/virtual-fs.adapter-nb0CTYOj.d.cts +26 -0
- package/dist/workflow/index.cjs +9 -0
- package/dist/workflow/index.cjs.map +1 -0
- package/dist/workflow/index.d.cts +62 -0
- package/dist/workflow/index.d.ts +62 -0
- package/dist/workflow/index.js +9 -0
- package/dist/workflow/index.js.map +1 -0
- package/dist/workflow.port-BaCttxrw.d.cts +153 -0
- package/dist/workflow.port-BaCttxrw.d.ts +153 -0
- package/package.json +230 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
// src/providers/openai.ts
|
|
2
|
+
import { createOpenAI } from "@ai-sdk/openai";
|
|
3
|
+
function openai(modelId, options) {
|
|
4
|
+
const provider = createOpenAI(options);
|
|
5
|
+
return provider(modelId);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
// src/providers/anthropic.ts
|
|
9
|
+
import { createAnthropic } from "@ai-sdk/anthropic";
|
|
10
|
+
function anthropic(modelId, options) {
|
|
11
|
+
const provider = createAnthropic(options);
|
|
12
|
+
return provider(modelId);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// src/providers/google.ts
|
|
16
|
+
import { createGoogleGenerativeAI } from "@ai-sdk/google";
|
|
17
|
+
function google(modelId, options) {
|
|
18
|
+
const provider = createGoogleGenerativeAI(options);
|
|
19
|
+
return provider(modelId);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// src/providers/groq.ts
|
|
23
|
+
import { createGroq } from "@ai-sdk/groq";
|
|
24
|
+
function groq(modelId, options) {
|
|
25
|
+
const provider = createGroq(options);
|
|
26
|
+
return provider(modelId);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// src/providers/ollama.ts
|
|
30
|
+
import { createOpenAI as createOpenAI2 } from "@ai-sdk/openai";
|
|
31
|
+
function ollama(modelId, options) {
|
|
32
|
+
const provider = createOpenAI2({
|
|
33
|
+
baseURL: options?.baseURL ?? "http://localhost:11434/v1",
|
|
34
|
+
apiKey: "ollama",
|
|
35
|
+
name: "ollama"
|
|
36
|
+
});
|
|
37
|
+
return provider(modelId);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// src/providers/openrouter.ts
|
|
41
|
+
import { createOpenAI as createOpenAI3 } from "@ai-sdk/openai";
|
|
42
|
+
function openrouter(modelId, options) {
|
|
43
|
+
const provider = createOpenAI3({
|
|
44
|
+
baseURL: options?.baseURL ?? "https://openrouter.ai/api/v1",
|
|
45
|
+
apiKey: options?.apiKey ?? process.env.OPENROUTER_API_KEY,
|
|
46
|
+
name: "openrouter"
|
|
47
|
+
});
|
|
48
|
+
return provider(modelId);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// src/providers/universal.ts
|
|
52
|
+
var KNOWN_PROVIDERS = {
|
|
53
|
+
openai: "@ai-sdk/openai",
|
|
54
|
+
anthropic: "@ai-sdk/anthropic",
|
|
55
|
+
google: "@ai-sdk/google",
|
|
56
|
+
groq: "@ai-sdk/groq",
|
|
57
|
+
mistral: "@ai-sdk/mistral",
|
|
58
|
+
cohere: "@ai-sdk/cohere",
|
|
59
|
+
amazon: "@ai-sdk/amazon-bedrock",
|
|
60
|
+
azure: "@ai-sdk/azure",
|
|
61
|
+
fireworks: "@ai-sdk/fireworks",
|
|
62
|
+
perplexity: "@ai-sdk/perplexity",
|
|
63
|
+
togetherai: "@ai-sdk/togetherai",
|
|
64
|
+
xai: "@ai-sdk/xai",
|
|
65
|
+
deepinfra: "@ai-sdk/deepinfra",
|
|
66
|
+
deepseek: "@ai-sdk/deepseek",
|
|
67
|
+
cerebras: "@ai-sdk/cerebras",
|
|
68
|
+
luma: "@ai-sdk/luma",
|
|
69
|
+
fal: "@ai-sdk/fal",
|
|
70
|
+
"openai-compatible": "@ai-sdk/openai-compatible"
|
|
71
|
+
};
|
|
72
|
+
var UniversalProvider = class {
|
|
73
|
+
providerCache = /* @__PURE__ */ new Map();
|
|
74
|
+
providerPackages;
|
|
75
|
+
defaults;
|
|
76
|
+
constructor(options = {}) {
|
|
77
|
+
this.providerPackages = {
|
|
78
|
+
...KNOWN_PROVIDERS,
|
|
79
|
+
...options.customProviders
|
|
80
|
+
};
|
|
81
|
+
this.defaults = options.defaults ?? {};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Get a language model from any supported provider.
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```ts
|
|
88
|
+
* const provider = new UniversalProvider()
|
|
89
|
+
* const model = await provider.model('openai', 'gpt-5.2')
|
|
90
|
+
* const model2 = await provider.model('anthropic', 'claude-sonnet-4-20250514')
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
async model(providerName, modelId, config) {
|
|
94
|
+
const factory = await this.getFactory(providerName);
|
|
95
|
+
return factory(modelId);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Shorthand: "provider:model" format
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```ts
|
|
102
|
+
* const model = await provider.get('openai:gpt-5.2')
|
|
103
|
+
* const model2 = await provider.get('anthropic:claude-sonnet-4-20250514')
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
async get(specifier, config) {
|
|
107
|
+
const colonIdx = specifier.indexOf(":");
|
|
108
|
+
if (colonIdx === -1) {
|
|
109
|
+
throw new Error(
|
|
110
|
+
`Invalid specifier "${specifier}". Expected format: "provider:model" (e.g., "openai:gpt-5.2")`
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
const providerName = specifier.slice(0, colonIdx);
|
|
114
|
+
const modelId = specifier.slice(colonIdx + 1);
|
|
115
|
+
return this.model(providerName, modelId, config);
|
|
116
|
+
}
|
|
117
|
+
/** List all known provider names */
|
|
118
|
+
listProviders() {
|
|
119
|
+
return Object.keys(this.providerPackages);
|
|
120
|
+
}
|
|
121
|
+
/** Check if a provider package is installed */
|
|
122
|
+
async isAvailable(providerName) {
|
|
123
|
+
const pkg = this.providerPackages[providerName];
|
|
124
|
+
if (!pkg) return false;
|
|
125
|
+
try {
|
|
126
|
+
await import(pkg);
|
|
127
|
+
return true;
|
|
128
|
+
} catch {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/** Discover all installed providers */
|
|
133
|
+
async discoverInstalled() {
|
|
134
|
+
const results = [];
|
|
135
|
+
for (const name of Object.keys(this.providerPackages)) {
|
|
136
|
+
if (await this.isAvailable(name)) {
|
|
137
|
+
results.push(name);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return results;
|
|
141
|
+
}
|
|
142
|
+
async getFactory(providerName) {
|
|
143
|
+
const cached = this.providerCache.get(providerName);
|
|
144
|
+
if (cached) return cached;
|
|
145
|
+
const pkg = this.providerPackages[providerName];
|
|
146
|
+
if (!pkg) {
|
|
147
|
+
throw new Error(
|
|
148
|
+
`Unknown provider "${providerName}". Known: ${Object.keys(this.providerPackages).join(", ")}`
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
try {
|
|
152
|
+
const mod = await import(pkg);
|
|
153
|
+
const createFnName = Object.keys(mod).find(
|
|
154
|
+
(k) => k.toLowerCase() === `create${providerName.toLowerCase()}`
|
|
155
|
+
);
|
|
156
|
+
const createFn = (createFnName ? mod[createFnName] : void 0) ?? mod.default ?? mod[providerName];
|
|
157
|
+
if (typeof createFn !== "function") {
|
|
158
|
+
throw new Error(
|
|
159
|
+
`Provider package "${pkg}" does not export a factory function`
|
|
160
|
+
);
|
|
161
|
+
}
|
|
162
|
+
const providerInstance = createFn(this.defaults);
|
|
163
|
+
const factory = (modelId) => providerInstance(modelId);
|
|
164
|
+
this.providerCache.set(providerName, factory);
|
|
165
|
+
return factory;
|
|
166
|
+
} catch (err) {
|
|
167
|
+
if (err.message?.includes("Cannot find")) {
|
|
168
|
+
throw new Error(
|
|
169
|
+
`Provider "${providerName}" requires package "${pkg}". Install with: npm install ${pkg}`
|
|
170
|
+
);
|
|
171
|
+
}
|
|
172
|
+
throw err;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
function universalProvider(options) {
|
|
177
|
+
return new UniversalProvider(options);
|
|
178
|
+
}
|
|
179
|
+
export {
|
|
180
|
+
UniversalProvider,
|
|
181
|
+
anthropic,
|
|
182
|
+
google,
|
|
183
|
+
groq,
|
|
184
|
+
ollama,
|
|
185
|
+
openai,
|
|
186
|
+
openrouter,
|
|
187
|
+
universalProvider
|
|
188
|
+
};
|
|
189
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/providers/openai.ts","../../src/providers/anthropic.ts","../../src/providers/google.ts","../../src/providers/groq.ts","../../src/providers/ollama.ts","../../src/providers/openrouter.ts","../../src/providers/universal.ts"],"sourcesContent":["// =============================================================================\n// gauss/providers/openai — OpenAI adapter\n// =============================================================================\n\nimport { createOpenAI } from \"@ai-sdk/openai\";\nimport type { OpenAIProviderSettings } from \"@ai-sdk/openai\";\n\nexport type OpenAIProviderOptions = OpenAIProviderSettings;\n\n/**\n * Create an OpenAI provider instance.\n *\n * API key is auto-detected from `OPENAI_API_KEY` environment variable.\n *\n * @example\n * ```ts\n * import { openai } from 'gauss/providers'\n * import { agent } from 'gauss'\n *\n * const a = agent({ model: openai('gpt-5.2'), instructions: '...' }).build()\n * ```\n */\nexport function openai(modelId: string, options?: OpenAIProviderOptions) {\n const provider = createOpenAI(options);\n return provider(modelId);\n}\n","// =============================================================================\n// gauss/providers/anthropic — Anthropic adapter\n// =============================================================================\n\nimport { createAnthropic } from \"@ai-sdk/anthropic\";\nimport type { AnthropicProviderSettings } from \"@ai-sdk/anthropic\";\n\nexport type AnthropicProviderOptions = AnthropicProviderSettings;\n\n/**\n * Create an Anthropic provider instance.\n *\n * API key is auto-detected from `ANTHROPIC_API_KEY` environment variable.\n *\n * @example\n * ```ts\n * import { anthropic } from 'gauss/providers'\n * import { agent } from 'gauss'\n *\n * const a = agent({ model: anthropic('claude-sonnet-4-20250514'), instructions: '...' }).build()\n * ```\n */\nexport function anthropic(modelId: string, options?: AnthropicProviderOptions) {\n const provider = createAnthropic(options);\n return provider(modelId);\n}\n","// =============================================================================\n// gauss/providers/google — Google Gemini adapter\n// =============================================================================\n\nimport { createGoogleGenerativeAI } from \"@ai-sdk/google\";\nimport type { GoogleGenerativeAIProviderSettings } from \"@ai-sdk/google\";\n\nexport type GoogleProviderOptions = GoogleGenerativeAIProviderSettings;\n\n/**\n * Create a Google Gemini provider instance.\n *\n * API key is auto-detected from `GOOGLE_GENERATIVE_AI_API_KEY` environment variable.\n *\n * @example\n * ```ts\n * import { google } from 'gauss/providers'\n * import { agent } from 'gauss'\n *\n * const a = agent({ model: google('gemini-2.5-flash-preview-05-20'), instructions: '...' }).build()\n * ```\n */\nexport function google(modelId: string, options?: GoogleProviderOptions) {\n const provider = createGoogleGenerativeAI(options);\n return provider(modelId);\n}\n","// =============================================================================\n// gauss/providers/groq — Groq adapter\n// =============================================================================\n\nimport { createGroq } from \"@ai-sdk/groq\";\nimport type { GroqProviderSettings } from \"@ai-sdk/groq\";\n\nexport type GroqProviderOptions = GroqProviderSettings;\n\n/**\n * Create a Groq provider instance.\n *\n * API key is auto-detected from `GROQ_API_KEY` environment variable.\n *\n * @example\n * ```ts\n * import { groq } from 'gauss/providers'\n * import { agent } from 'gauss'\n *\n * const a = agent({ model: groq('llama-3.3-70b-versatile'), instructions: '...' }).build()\n * ```\n */\nexport function groq(modelId: string, options?: GroqProviderOptions) {\n const provider = createGroq(options);\n return provider(modelId);\n}\n","// =============================================================================\n// gauss/providers/ollama — Ollama (local models) adapter\n// =============================================================================\n\nimport { createOpenAI } from \"@ai-sdk/openai\";\n\nexport interface OllamaProviderOptions {\n /** Base URL of the Ollama server. Defaults to `http://localhost:11434/v1`. */\n baseURL?: string;\n}\n\n/**\n * Create an Ollama provider instance for local model inference.\n *\n * Uses the OpenAI-compatible API exposed by Ollama.\n * No API key required — runs entirely on your machine.\n *\n * @example\n * ```ts\n * import { ollama } from 'gauss/providers'\n * import { agent } from 'gauss'\n *\n * const a = agent({ model: ollama('llama3.2'), instructions: '...' }).build()\n * ```\n */\nexport function ollama(modelId: string, options?: OllamaProviderOptions) {\n const provider = createOpenAI({\n baseURL: options?.baseURL ?? \"http://localhost:11434/v1\",\n apiKey: \"ollama\",\n name: \"ollama\",\n });\n return provider(modelId);\n}\n","// =============================================================================\n// gauss/providers/openrouter — OpenRouter adapter (unified multi-provider API)\n// =============================================================================\n\nimport { createOpenAI } from \"@ai-sdk/openai\";\n\nexport interface OpenRouterProviderOptions {\n /** OpenRouter API key. Defaults to `OPENROUTER_API_KEY` env variable. */\n apiKey?: string;\n /** Base URL override. Defaults to `https://openrouter.ai/api/v1`. */\n baseURL?: string;\n}\n\n/**\n * Create an OpenRouter provider instance.\n *\n * OpenRouter provides access to hundreds of models (OpenAI, Anthropic, Meta, etc.)\n * through a single, unified API with automatic fallbacks and cost optimization.\n *\n * API key is auto-detected from `OPENROUTER_API_KEY` environment variable.\n *\n * @example\n * ```ts\n * import { openrouter } from 'gauss/providers'\n * import { agent } from 'gauss'\n *\n * const a = agent({\n * model: openrouter('anthropic/claude-sonnet-4-20250514'),\n * instructions: '...'\n * }).build()\n * ```\n */\nexport function openrouter(\n modelId: string,\n options?: OpenRouterProviderOptions,\n) {\n const provider = createOpenAI({\n baseURL: options?.baseURL ?? \"https://openrouter.ai/api/v1\",\n apiKey: options?.apiKey ?? process.env.OPENROUTER_API_KEY,\n name: \"openrouter\",\n });\n return provider(modelId);\n}\n","// =============================================================================\n// UniversalProvider — Dynamic AI SDK provider wrapper\n// Supports any @ai-sdk/* provider package with a single unified API.\n// =============================================================================\n\nimport type { LanguageModel } from \"../core/llm/index.js\";\n\n// =============================================================================\n// Types\n// =============================================================================\n\n/** Known AI SDK provider packages and their factory function names */\nconst KNOWN_PROVIDERS: Record<string, string> = {\n openai: \"@ai-sdk/openai\",\n anthropic: \"@ai-sdk/anthropic\",\n google: \"@ai-sdk/google\",\n groq: \"@ai-sdk/groq\",\n mistral: \"@ai-sdk/mistral\",\n cohere: \"@ai-sdk/cohere\",\n amazon: \"@ai-sdk/amazon-bedrock\",\n azure: \"@ai-sdk/azure\",\n fireworks: \"@ai-sdk/fireworks\",\n perplexity: \"@ai-sdk/perplexity\",\n togetherai: \"@ai-sdk/togetherai\",\n xai: \"@ai-sdk/xai\",\n deepinfra: \"@ai-sdk/deepinfra\",\n deepseek: \"@ai-sdk/deepseek\",\n cerebras: \"@ai-sdk/cerebras\",\n luma: \"@ai-sdk/luma\",\n fal: \"@ai-sdk/fal\",\n \"openai-compatible\": \"@ai-sdk/openai-compatible\",\n};\n\nexport interface ProviderConfig {\n apiKey?: string;\n baseURL?: string;\n [key: string]: unknown;\n}\n\nexport interface UniversalProviderOptions {\n /** Custom provider packages beyond the known set */\n customProviders?: Record<string, string>;\n /** Default configuration for all providers */\n defaults?: ProviderConfig;\n}\n\n// =============================================================================\n// UniversalProvider class\n// =============================================================================\n\nexport class UniversalProvider {\n private providerCache = new Map<string, (modelId: string) => LanguageModel>();\n private providerPackages: Record<string, string>;\n private defaults: ProviderConfig;\n\n constructor(options: UniversalProviderOptions = {}) {\n this.providerPackages = {\n ...KNOWN_PROVIDERS,\n ...options.customProviders,\n };\n this.defaults = options.defaults ?? {};\n }\n\n /**\n * Get a language model from any supported provider.\n *\n * @example\n * ```ts\n * const provider = new UniversalProvider()\n * const model = await provider.model('openai', 'gpt-5.2')\n * const model2 = await provider.model('anthropic', 'claude-sonnet-4-20250514')\n * ```\n */\n async model(\n providerName: string,\n modelId: string,\n config?: ProviderConfig\n ): Promise<LanguageModel> {\n const factory = await this.getFactory(providerName);\n return factory(modelId);\n }\n\n /**\n * Shorthand: \"provider:model\" format\n *\n * @example\n * ```ts\n * const model = await provider.get('openai:gpt-5.2')\n * const model2 = await provider.get('anthropic:claude-sonnet-4-20250514')\n * ```\n */\n async get(specifier: string, config?: ProviderConfig): Promise<LanguageModel> {\n const colonIdx = specifier.indexOf(\":\");\n if (colonIdx === -1) {\n throw new Error(\n `Invalid specifier \"${specifier}\". Expected format: \"provider:model\" (e.g., \"openai:gpt-5.2\")`\n );\n }\n const providerName = specifier.slice(0, colonIdx);\n const modelId = specifier.slice(colonIdx + 1);\n return this.model(providerName, modelId, config);\n }\n\n /** List all known provider names */\n listProviders(): string[] {\n return Object.keys(this.providerPackages);\n }\n\n /** Check if a provider package is installed */\n async isAvailable(providerName: string): Promise<boolean> {\n const pkg = this.providerPackages[providerName];\n if (!pkg) return false;\n try {\n await import(pkg);\n return true;\n } catch {\n return false;\n }\n }\n\n /** Discover all installed providers */\n async discoverInstalled(): Promise<string[]> {\n const results: string[] = [];\n for (const name of Object.keys(this.providerPackages)) {\n if (await this.isAvailable(name)) {\n results.push(name);\n }\n }\n return results;\n }\n\n private async getFactory(\n providerName: string\n ): Promise<(modelId: string) => LanguageModel> {\n const cached = this.providerCache.get(providerName);\n if (cached) return cached;\n\n const pkg = this.providerPackages[providerName];\n if (!pkg) {\n throw new Error(\n `Unknown provider \"${providerName}\". Known: ${Object.keys(this.providerPackages).join(\", \")}`\n );\n }\n\n try {\n const mod = await import(pkg);\n // AI SDK convention: create<Provider> function or default export\n // Try multiple naming patterns to handle e.g. createOpenAI vs createOpenai\n const createFnName = Object.keys(mod).find(\n (k) => k.toLowerCase() === `create${providerName.toLowerCase()}`\n );\n const createFn =\n (createFnName ? mod[createFnName] : undefined) ??\n mod.default ??\n mod[providerName];\n\n if (typeof createFn !== \"function\") {\n throw new Error(\n `Provider package \"${pkg}\" does not export a factory function`\n );\n }\n\n const providerInstance = createFn(this.defaults);\n const factory = (modelId: string) => providerInstance(modelId) as LanguageModel;\n this.providerCache.set(providerName, factory);\n return factory;\n } catch (err) {\n if ((err as Error).message?.includes(\"Cannot find\")) {\n throw new Error(\n `Provider \"${providerName}\" requires package \"${pkg}\". Install with: npm install ${pkg}`\n );\n }\n throw err;\n }\n }\n}\n\nfunction capitalize(s: string): string {\n return s.charAt(0).toUpperCase() + s.slice(1);\n}\n\n/** Factory function */\nexport function universalProvider(\n options?: UniversalProviderOptions\n): UniversalProvider {\n return new UniversalProvider(options);\n}\n"],"mappings":";AAIA,SAAS,oBAAoB;AAkBtB,SAAS,OAAO,SAAiB,SAAiC;AACvE,QAAM,WAAW,aAAa,OAAO;AACrC,SAAO,SAAS,OAAO;AACzB;;;ACrBA,SAAS,uBAAuB;AAkBzB,SAAS,UAAU,SAAiB,SAAoC;AAC7E,QAAM,WAAW,gBAAgB,OAAO;AACxC,SAAO,SAAS,OAAO;AACzB;;;ACrBA,SAAS,gCAAgC;AAkBlC,SAAS,OAAO,SAAiB,SAAiC;AACvE,QAAM,WAAW,yBAAyB,OAAO;AACjD,SAAO,SAAS,OAAO;AACzB;;;ACrBA,SAAS,kBAAkB;AAkBpB,SAAS,KAAK,SAAiB,SAA+B;AACnE,QAAM,WAAW,WAAW,OAAO;AACnC,SAAO,SAAS,OAAO;AACzB;;;ACrBA,SAAS,gBAAAA,qBAAoB;AAqBtB,SAAS,OAAO,SAAiB,SAAiC;AACvE,QAAM,WAAWA,cAAa;AAAA,IAC5B,SAAS,SAAS,WAAW;AAAA,IAC7B,QAAQ;AAAA,IACR,MAAM;AAAA,EACR,CAAC;AACD,SAAO,SAAS,OAAO;AACzB;;;AC5BA,SAAS,gBAAAC,qBAAoB;AA4BtB,SAAS,WACd,SACA,SACA;AACA,QAAM,WAAWA,cAAa;AAAA,IAC5B,SAAS,SAAS,WAAW;AAAA,IAC7B,QAAQ,SAAS,UAAU,QAAQ,IAAI;AAAA,IACvC,MAAM;AAAA,EACR,CAAC;AACD,SAAO,SAAS,OAAO;AACzB;;;AC9BA,IAAM,kBAA0C;AAAA,EAC9C,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,KAAK;AAAA,EACL,WAAW;AAAA,EACX,UAAU;AAAA,EACV,UAAU;AAAA,EACV,MAAM;AAAA,EACN,KAAK;AAAA,EACL,qBAAqB;AACvB;AAmBO,IAAM,oBAAN,MAAwB;AAAA,EACrB,gBAAgB,oBAAI,IAAgD;AAAA,EACpE;AAAA,EACA;AAAA,EAER,YAAY,UAAoC,CAAC,GAAG;AAClD,SAAK,mBAAmB;AAAA,MACtB,GAAG;AAAA,MACH,GAAG,QAAQ;AAAA,IACb;AACA,SAAK,WAAW,QAAQ,YAAY,CAAC;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,MAAM,MACJ,cACA,SACA,QACwB;AACxB,UAAM,UAAU,MAAM,KAAK,WAAW,YAAY;AAClD,WAAO,QAAQ,OAAO;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAM,IAAI,WAAmB,QAAiD;AAC5E,UAAM,WAAW,UAAU,QAAQ,GAAG;AACtC,QAAI,aAAa,IAAI;AACnB,YAAM,IAAI;AAAA,QACR,sBAAsB,SAAS;AAAA,MACjC;AAAA,IACF;AACA,UAAM,eAAe,UAAU,MAAM,GAAG,QAAQ;AAChD,UAAM,UAAU,UAAU,MAAM,WAAW,CAAC;AAC5C,WAAO,KAAK,MAAM,cAAc,SAAS,MAAM;AAAA,EACjD;AAAA;AAAA,EAGA,gBAA0B;AACxB,WAAO,OAAO,KAAK,KAAK,gBAAgB;AAAA,EAC1C;AAAA;AAAA,EAGA,MAAM,YAAY,cAAwC;AACxD,UAAM,MAAM,KAAK,iBAAiB,YAAY;AAC9C,QAAI,CAAC,IAAK,QAAO;AACjB,QAAI;AACF,YAAM,OAAO;AACb,aAAO;AAAA,IACT,QAAQ;AACN,aAAO;AAAA,IACT;AAAA,EACF;AAAA;AAAA,EAGA,MAAM,oBAAuC;AAC3C,UAAM,UAAoB,CAAC;AAC3B,eAAW,QAAQ,OAAO,KAAK,KAAK,gBAAgB,GAAG;AACrD,UAAI,MAAM,KAAK,YAAY,IAAI,GAAG;AAChC,gBAAQ,KAAK,IAAI;AAAA,MACnB;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAc,WACZ,cAC6C;AAC7C,UAAM,SAAS,KAAK,cAAc,IAAI,YAAY;AAClD,QAAI,OAAQ,QAAO;AAEnB,UAAM,MAAM,KAAK,iBAAiB,YAAY;AAC9C,QAAI,CAAC,KAAK;AACR,YAAM,IAAI;AAAA,QACR,qBAAqB,YAAY,aAAa,OAAO,KAAK,KAAK,gBAAgB,EAAE,KAAK,IAAI,CAAC;AAAA,MAC7F;AAAA,IACF;AAEA,QAAI;AACF,YAAM,MAAM,MAAM,OAAO;AAGzB,YAAM,eAAe,OAAO,KAAK,GAAG,EAAE;AAAA,QACpC,CAAC,MAAM,EAAE,YAAY,MAAM,SAAS,aAAa,YAAY,CAAC;AAAA,MAChE;AACA,YAAM,YACH,eAAe,IAAI,YAAY,IAAI,WACpC,IAAI,WACJ,IAAI,YAAY;AAElB,UAAI,OAAO,aAAa,YAAY;AAClC,cAAM,IAAI;AAAA,UACR,qBAAqB,GAAG;AAAA,QAC1B;AAAA,MACF;AAEA,YAAM,mBAAmB,SAAS,KAAK,QAAQ;AAC/C,YAAM,UAAU,CAAC,YAAoB,iBAAiB,OAAO;AAC7D,WAAK,cAAc,IAAI,cAAc,OAAO;AAC5C,aAAO;AAAA,IACT,SAAS,KAAK;AACZ,UAAK,IAAc,SAAS,SAAS,aAAa,GAAG;AACnD,cAAM,IAAI;AAAA,UACR,aAAa,YAAY,uBAAuB,GAAG,gCAAgC,GAAG;AAAA,QACxF;AAAA,MACF;AACA,YAAM;AAAA,IACR;AAAA,EACF;AACF;AAOO,SAAS,kBACd,SACmB;AACnB,SAAO,IAAI,kBAAkB,OAAO;AACtC;","names":["createOpenAI","createOpenAI"]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// src/cli/providers.ts
|
|
2
|
+
var SUPPORTED_PROVIDERS = [
|
|
3
|
+
"openai",
|
|
4
|
+
"anthropic",
|
|
5
|
+
"google",
|
|
6
|
+
"groq",
|
|
7
|
+
"mistral",
|
|
8
|
+
"openrouter"
|
|
9
|
+
];
|
|
10
|
+
var DEFAULT_MODELS = {
|
|
11
|
+
openai: "gpt-5.2",
|
|
12
|
+
anthropic: "claude-sonnet-4-20250514",
|
|
13
|
+
google: "gemini-2.5-flash-preview-05-20",
|
|
14
|
+
groq: "llama-3.3-70b-versatile",
|
|
15
|
+
mistral: "mistral-large-latest",
|
|
16
|
+
openrouter: "openai/gpt-5.2"
|
|
17
|
+
};
|
|
18
|
+
function isValidProvider(name) {
|
|
19
|
+
return SUPPORTED_PROVIDERS.includes(name);
|
|
20
|
+
}
|
|
21
|
+
function getDefaultModel(provider) {
|
|
22
|
+
return DEFAULT_MODELS[provider];
|
|
23
|
+
}
|
|
24
|
+
async function createModel(provider, apiKey, modelId) {
|
|
25
|
+
const model = modelId ?? DEFAULT_MODELS[provider];
|
|
26
|
+
switch (provider) {
|
|
27
|
+
case "openai": {
|
|
28
|
+
const { createOpenAI } = await import("@ai-sdk/openai");
|
|
29
|
+
return createOpenAI({ apiKey })(model);
|
|
30
|
+
}
|
|
31
|
+
case "anthropic": {
|
|
32
|
+
const { createAnthropic } = await import("@ai-sdk/anthropic");
|
|
33
|
+
return createAnthropic({ apiKey })(model);
|
|
34
|
+
}
|
|
35
|
+
case "google": {
|
|
36
|
+
const { createGoogleGenerativeAI } = await import("@ai-sdk/google");
|
|
37
|
+
return createGoogleGenerativeAI({ apiKey })(model);
|
|
38
|
+
}
|
|
39
|
+
case "groq": {
|
|
40
|
+
const { createGroq } = await import("@ai-sdk/groq");
|
|
41
|
+
return createGroq({ apiKey })(model);
|
|
42
|
+
}
|
|
43
|
+
case "mistral": {
|
|
44
|
+
const { createMistral } = await import("@ai-sdk/mistral");
|
|
45
|
+
return createMistral({ apiKey })(model);
|
|
46
|
+
}
|
|
47
|
+
case "openrouter": {
|
|
48
|
+
const { createOpenRouter } = await import("@openrouter/ai-sdk-provider");
|
|
49
|
+
return createOpenRouter({ apiKey })(model);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export {
|
|
54
|
+
SUPPORTED_PROVIDERS,
|
|
55
|
+
createModel,
|
|
56
|
+
getDefaultModel,
|
|
57
|
+
isValidProvider
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=providers-3RNQ5CKZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli/providers.ts"],"sourcesContent":["// =============================================================================\n// CLI Providers — Dynamic provider factory (lazy-loaded peer deps)\n// =============================================================================\n\nimport type { LanguageModel } from \"../core/llm/index.js\";\n\nexport const SUPPORTED_PROVIDERS = [\n \"openai\",\n \"anthropic\",\n \"google\",\n \"groq\",\n \"mistral\",\n \"openrouter\",\n] as const;\n\nexport type ProviderName = (typeof SUPPORTED_PROVIDERS)[number];\n\nconst DEFAULT_MODELS: Record<ProviderName, string> = {\n openai: \"gpt-5.2\",\n anthropic: \"claude-sonnet-4-20250514\",\n google: \"gemini-2.5-flash-preview-05-20\",\n groq: \"llama-3.3-70b-versatile\",\n mistral: \"mistral-large-latest\",\n openrouter: \"openai/gpt-5.2\",\n};\n\nexport function isValidProvider(name: string): name is ProviderName {\n return (SUPPORTED_PROVIDERS as readonly string[]).includes(name);\n}\n\nexport function getDefaultModel(provider: ProviderName): string {\n return DEFAULT_MODELS[provider];\n}\n\nexport async function createModel(\n provider: ProviderName,\n apiKey: string,\n modelId?: string,\n): Promise<LanguageModel> {\n const model = modelId ?? DEFAULT_MODELS[provider];\n\n switch (provider) {\n case \"openai\": {\n const { createOpenAI } = await import(\"@ai-sdk/openai\");\n return createOpenAI({ apiKey })(model);\n }\n case \"anthropic\": {\n const { createAnthropic } = await import(\"@ai-sdk/anthropic\");\n return createAnthropic({ apiKey })(model);\n }\n case \"google\": {\n const { createGoogleGenerativeAI } = await import(\"@ai-sdk/google\");\n return createGoogleGenerativeAI({ apiKey })(model);\n }\n case \"groq\": {\n const { createGroq } = await import(\"@ai-sdk/groq\");\n return createGroq({ apiKey })(model);\n }\n case \"mistral\": {\n const { createMistral } = await import(\"@ai-sdk/mistral\");\n return createMistral({ apiKey })(model);\n }\n case \"openrouter\": {\n const { createOpenRouter } = await import(\"@openrouter/ai-sdk-provider\");\n return createOpenRouter({ apiKey })(model);\n }\n }\n}\n"],"mappings":";AAMO,IAAM,sBAAsB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAIA,IAAM,iBAA+C;AAAA,EACnD,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AAAA,EACT,YAAY;AACd;AAEO,SAAS,gBAAgB,MAAoC;AAClE,SAAQ,oBAA0C,SAAS,IAAI;AACjE;AAEO,SAAS,gBAAgB,UAAgC;AAC9D,SAAO,eAAe,QAAQ;AAChC;AAEA,eAAsB,YACpB,UACA,QACA,SACwB;AACxB,QAAM,QAAQ,WAAW,eAAe,QAAQ;AAEhD,UAAQ,UAAU;AAAA,IAChB,KAAK,UAAU;AACb,YAAM,EAAE,aAAa,IAAI,MAAM,OAAO,gBAAgB;AACtD,aAAO,aAAa,EAAE,OAAO,CAAC,EAAE,KAAK;AAAA,IACvC;AAAA,IACA,KAAK,aAAa;AAChB,YAAM,EAAE,gBAAgB,IAAI,MAAM,OAAO,mBAAmB;AAC5D,aAAO,gBAAgB,EAAE,OAAO,CAAC,EAAE,KAAK;AAAA,IAC1C;AAAA,IACA,KAAK,UAAU;AACb,YAAM,EAAE,yBAAyB,IAAI,MAAM,OAAO,gBAAgB;AAClE,aAAO,yBAAyB,EAAE,OAAO,CAAC,EAAE,KAAK;AAAA,IACnD;AAAA,IACA,KAAK,QAAQ;AACX,YAAM,EAAE,WAAW,IAAI,MAAM,OAAO,cAAc;AAClD,aAAO,WAAW,EAAE,OAAO,CAAC,EAAE,KAAK;AAAA,IACrC;AAAA,IACA,KAAK,WAAW;AACd,YAAM,EAAE,cAAc,IAAI,MAAM,OAAO,iBAAiB;AACxD,aAAO,cAAc,EAAE,OAAO,CAAC,EAAE,KAAK;AAAA,IACxC;AAAA,IACA,KAAK,cAAc;AACjB,YAAM,EAAE,iBAAiB,IAAI,MAAM,OAAO,6BAA6B;AACvE,aAAO,iBAAiB,EAAE,OAAO,CAAC,EAAE,KAAK;AAAA,IAC3C;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }// src/cli/providers.ts
|
|
2
|
+
var SUPPORTED_PROVIDERS = [
|
|
3
|
+
"openai",
|
|
4
|
+
"anthropic",
|
|
5
|
+
"google",
|
|
6
|
+
"groq",
|
|
7
|
+
"mistral",
|
|
8
|
+
"openrouter"
|
|
9
|
+
];
|
|
10
|
+
var DEFAULT_MODELS = {
|
|
11
|
+
openai: "gpt-5.2",
|
|
12
|
+
anthropic: "claude-sonnet-4-20250514",
|
|
13
|
+
google: "gemini-2.5-flash-preview-05-20",
|
|
14
|
+
groq: "llama-3.3-70b-versatile",
|
|
15
|
+
mistral: "mistral-large-latest",
|
|
16
|
+
openrouter: "openai/gpt-5.2"
|
|
17
|
+
};
|
|
18
|
+
function isValidProvider(name) {
|
|
19
|
+
return SUPPORTED_PROVIDERS.includes(name);
|
|
20
|
+
}
|
|
21
|
+
function getDefaultModel(provider) {
|
|
22
|
+
return DEFAULT_MODELS[provider];
|
|
23
|
+
}
|
|
24
|
+
async function createModel(provider, apiKey, modelId) {
|
|
25
|
+
const model = _nullishCoalesce(modelId, () => ( DEFAULT_MODELS[provider]));
|
|
26
|
+
switch (provider) {
|
|
27
|
+
case "openai": {
|
|
28
|
+
const { createOpenAI } = await Promise.resolve().then(() => _interopRequireWildcard(require("@ai-sdk/openai")));
|
|
29
|
+
return createOpenAI({ apiKey })(model);
|
|
30
|
+
}
|
|
31
|
+
case "anthropic": {
|
|
32
|
+
const { createAnthropic } = await Promise.resolve().then(() => _interopRequireWildcard(require("@ai-sdk/anthropic")));
|
|
33
|
+
return createAnthropic({ apiKey })(model);
|
|
34
|
+
}
|
|
35
|
+
case "google": {
|
|
36
|
+
const { createGoogleGenerativeAI } = await Promise.resolve().then(() => _interopRequireWildcard(require("@ai-sdk/google")));
|
|
37
|
+
return createGoogleGenerativeAI({ apiKey })(model);
|
|
38
|
+
}
|
|
39
|
+
case "groq": {
|
|
40
|
+
const { createGroq } = await Promise.resolve().then(() => _interopRequireWildcard(require("@ai-sdk/groq")));
|
|
41
|
+
return createGroq({ apiKey })(model);
|
|
42
|
+
}
|
|
43
|
+
case "mistral": {
|
|
44
|
+
const { createMistral } = await Promise.resolve().then(() => _interopRequireWildcard(require("@ai-sdk/mistral")));
|
|
45
|
+
return createMistral({ apiKey })(model);
|
|
46
|
+
}
|
|
47
|
+
case "openrouter": {
|
|
48
|
+
const { createOpenRouter } = await Promise.resolve().then(() => _interopRequireWildcard(require("@openrouter/ai-sdk-provider")));
|
|
49
|
+
return createOpenRouter({ apiKey })(model);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
exports.SUPPORTED_PROVIDERS = SUPPORTED_PROVIDERS; exports.createModel = createModel; exports.getDefaultModel = getDefaultModel; exports.isValidProvider = isValidProvider;
|
|
59
|
+
//# sourceMappingURL=providers-66GPXUGQ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/giulioleone/Sviluppo/gauss/gauss-flow/dist/providers-66GPXUGQ.cjs","../src/cli/providers.ts"],"names":[],"mappings":"AAAA;ACMO,IAAM,oBAAA,EAAsB;AAAA,EACjC,QAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA;AAIA,IAAM,eAAA,EAA+C;AAAA,EACnD,MAAA,EAAQ,SAAA;AAAA,EACR,SAAA,EAAW,0BAAA;AAAA,EACX,MAAA,EAAQ,gCAAA;AAAA,EACR,IAAA,EAAM,yBAAA;AAAA,EACN,OAAA,EAAS,sBAAA;AAAA,EACT,UAAA,EAAY;AACd,CAAA;AAEO,SAAS,eAAA,CAAgB,IAAA,EAAoC;AAClE,EAAA,OAAQ,mBAAA,CAA0C,QAAA,CAAS,IAAI,CAAA;AACjE;AAEO,SAAS,eAAA,CAAgB,QAAA,EAAgC;AAC9D,EAAA,OAAO,cAAA,CAAe,QAAQ,CAAA;AAChC;AAEA,MAAA,SAAsB,WAAA,CACpB,QAAA,EACA,MAAA,EACA,OAAA,EACwB;AACxB,EAAA,MAAM,MAAA,mBAAQ,OAAA,UAAW,cAAA,CAAe,QAAQ,GAAA;AAEhD,EAAA,OAAA,CAAQ,QAAA,EAAU;AAAA,IAChB,KAAK,QAAA,EAAU;AACb,MAAA,MAAM,EAAE,aAAa,EAAA,EAAI,MAAM,4DAAA,CAAO,gBAAgB,GAAA;AACtD,MAAA,OAAO,YAAA,CAAa,EAAE,OAAO,CAAC,CAAA,CAAE,KAAK,CAAA;AAAA,IACvC;AAAA,IACA,KAAK,WAAA,EAAa;AAChB,MAAA,MAAM,EAAE,gBAAgB,EAAA,EAAI,MAAM,4DAAA,CAAO,mBAAmB,GAAA;AAC5D,MAAA,OAAO,eAAA,CAAgB,EAAE,OAAO,CAAC,CAAA,CAAE,KAAK,CAAA;AAAA,IAC1C;AAAA,IACA,KAAK,QAAA,EAAU;AACb,MAAA,MAAM,EAAE,yBAAyB,EAAA,EAAI,MAAM,4DAAA,CAAO,gBAAgB,GAAA;AAClE,MAAA,OAAO,wBAAA,CAAyB,EAAE,OAAO,CAAC,CAAA,CAAE,KAAK,CAAA;AAAA,IACnD;AAAA,IACA,KAAK,MAAA,EAAQ;AACX,MAAA,MAAM,EAAE,WAAW,EAAA,EAAI,MAAM,4DAAA,CAAO,cAAc,GAAA;AAClD,MAAA,OAAO,UAAA,CAAW,EAAE,OAAO,CAAC,CAAA,CAAE,KAAK,CAAA;AAAA,IACrC;AAAA,IACA,KAAK,SAAA,EAAW;AACd,MAAA,MAAM,EAAE,cAAc,EAAA,EAAI,MAAM,4DAAA,CAAO,iBAAiB,GAAA;AACxD,MAAA,OAAO,aAAA,CAAc,EAAE,OAAO,CAAC,CAAA,CAAE,KAAK,CAAA;AAAA,IACxC;AAAA,IACA,KAAK,YAAA,EAAc;AACjB,MAAA,MAAM,EAAE,iBAAiB,EAAA,EAAI,MAAM,4DAAA,CAAO,6BAA6B,GAAA;AACvE,MAAA,OAAO,gBAAA,CAAiB,EAAE,OAAO,CAAC,CAAA,CAAE,KAAK,CAAA;AAAA,IAC3C;AAAA,EACF;AACF;ADfA;AACE;AACA;AACA;AACA;AACF,2KAAC","file":"/Users/giulioleone/Sviluppo/gauss/gauss-flow/dist/providers-66GPXUGQ.cjs","sourcesContent":[null,"// =============================================================================\n// CLI Providers — Dynamic provider factory (lazy-loaded peer deps)\n// =============================================================================\n\nimport type { LanguageModel } from \"../core/llm/index.js\";\n\nexport const SUPPORTED_PROVIDERS = [\n \"openai\",\n \"anthropic\",\n \"google\",\n \"groq\",\n \"mistral\",\n \"openrouter\",\n] as const;\n\nexport type ProviderName = (typeof SUPPORTED_PROVIDERS)[number];\n\nconst DEFAULT_MODELS: Record<ProviderName, string> = {\n openai: \"gpt-5.2\",\n anthropic: \"claude-sonnet-4-20250514\",\n google: \"gemini-2.5-flash-preview-05-20\",\n groq: \"llama-3.3-70b-versatile\",\n mistral: \"mistral-large-latest\",\n openrouter: \"openai/gpt-5.2\",\n};\n\nexport function isValidProvider(name: string): name is ProviderName {\n return (SUPPORTED_PROVIDERS as readonly string[]).includes(name);\n}\n\nexport function getDefaultModel(provider: ProviderName): string {\n return DEFAULT_MODELS[provider];\n}\n\nexport async function createModel(\n provider: ProviderName,\n apiKey: string,\n modelId?: string,\n): Promise<LanguageModel> {\n const model = modelId ?? DEFAULT_MODELS[provider];\n\n switch (provider) {\n case \"openai\": {\n const { createOpenAI } = await import(\"@ai-sdk/openai\");\n return createOpenAI({ apiKey })(model);\n }\n case \"anthropic\": {\n const { createAnthropic } = await import(\"@ai-sdk/anthropic\");\n return createAnthropic({ apiKey })(model);\n }\n case \"google\": {\n const { createGoogleGenerativeAI } = await import(\"@ai-sdk/google\");\n return createGoogleGenerativeAI({ apiKey })(model);\n }\n case \"groq\": {\n const { createGroq } = await import(\"@ai-sdk/groq\");\n return createGroq({ apiKey })(model);\n }\n case \"mistral\": {\n const { createMistral } = await import(\"@ai-sdk/mistral\");\n return createMistral({ apiKey })(model);\n }\n case \"openrouter\": {\n const { createOpenRouter } = await import(\"@openrouter/ai-sdk-provider\");\n return createOpenRouter({ apiKey })(model);\n }\n }\n}\n"]}
|