@happyvertical/ai 0.85.3 → 0.85.5
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 +87 -1
- package/dist/chunks/{anthropic-DA8sdt12.js → anthropic-DuYUnw8j.js} +20 -4
- package/dist/chunks/anthropic-DuYUnw8j.js.map +1 -0
- package/dist/chunks/{bedrock-DDiYFUw0.js → bedrock-ikQJAwWB.js} +19 -3
- package/dist/chunks/bedrock-ikQJAwWB.js.map +1 -0
- package/dist/chunks/{bifrost-fM9FpW_w.js → bifrost-CaYhelVL.js} +5 -4
- package/dist/chunks/bifrost-CaYhelVL.js.map +1 -0
- package/dist/chunks/byteplus-modelark-B8l8sPXu.js +473 -0
- package/dist/chunks/byteplus-modelark-B8l8sPXu.js.map +1 -0
- package/dist/chunks/{claude-cli-CnJh5KQT.js → claude-cli-DeTKk9nu.js} +19 -3
- package/dist/chunks/claude-cli-DeTKk9nu.js.map +1 -0
- package/dist/chunks/{gateway-admin-CiKvHst7.js → gateway-admin-DJXEDpUP.js} +2 -2
- package/dist/chunks/{gateway-admin-CiKvHst7.js.map → gateway-admin-DJXEDpUP.js.map} +1 -1
- package/dist/chunks/{gemini-Bu7Fke7c.js → gemini-BT8fjXWz.js} +294 -11
- package/dist/chunks/gemini-BT8fjXWz.js.map +1 -0
- package/dist/chunks/{huggingface-B07_6wHW.js → huggingface-CqzyxeLB.js} +19 -3
- package/dist/chunks/huggingface-CqzyxeLB.js.map +1 -0
- package/dist/chunks/{litellm-D_Oo9OQ_.js → litellm-viqTuSY8.js} +5 -4
- package/dist/chunks/litellm-viqTuSY8.js.map +1 -0
- package/dist/chunks/{ollama-D4ksOTO8.js → ollama-CdWqwZ05.js} +19 -3
- package/dist/chunks/ollama-CdWqwZ05.js.map +1 -0
- package/dist/chunks/{openai--F38QHiJ.js → openai-BgrK3OfW.js} +20 -4
- package/dist/chunks/openai-BgrK3OfW.js.map +1 -0
- package/dist/chunks/openai-compat-video-D_U7jo0d.js +369 -0
- package/dist/chunks/openai-compat-video-D_U7jo0d.js.map +1 -0
- package/dist/chunks/{qwen-tts-DRRbOrhA.js → qwen-tts-BXjzY7DX.js} +21 -4
- package/dist/chunks/qwen-tts-BXjzY7DX.js.map +1 -0
- package/dist/chunks/{rate-limit-BwyPGXFW.js → rate-limit-DgEhanDL.js} +4 -3
- package/dist/chunks/rate-limit-DgEhanDL.js.map +1 -0
- package/dist/chunks/{safety-CEnoJS6X.js → safety-C415clBm.js} +25 -7
- package/dist/chunks/safety-C415clBm.js.map +1 -0
- package/dist/chunks/src-CU4qWJ2c.js +740 -0
- package/dist/chunks/src-CU4qWJ2c.js.map +1 -0
- package/dist/chunks/{types-FHs-KbGL.js → types-CINwUPDo.js} +4 -2
- package/dist/chunks/types-CINwUPDo.js.map +1 -0
- package/dist/index.js +3 -717
- package/dist/node/factory.d.ts +9 -0
- package/dist/node/factory.d.ts.map +1 -1
- package/dist/node.d.ts +29 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +198 -0
- package/dist/node.js.map +1 -0
- package/dist/shared/factory.d.ts.map +1 -1
- package/dist/shared/providers/anthropic.d.ts +6 -1
- package/dist/shared/providers/anthropic.d.ts.map +1 -1
- package/dist/shared/providers/bedrock.d.ts +6 -1
- package/dist/shared/providers/bedrock.d.ts.map +1 -1
- package/dist/shared/providers/bifrost.d.ts.map +1 -1
- package/dist/shared/providers/byteplus-modelark.d.ts +91 -0
- package/dist/shared/providers/byteplus-modelark.d.ts.map +1 -0
- package/dist/shared/providers/claude-cli.d.ts +6 -1
- package/dist/shared/providers/claude-cli.d.ts.map +1 -1
- package/dist/shared/providers/gemini.d.ts +115 -2
- package/dist/shared/providers/gemini.d.ts.map +1 -1
- package/dist/shared/providers/huggingface.d.ts +6 -1
- package/dist/shared/providers/huggingface.d.ts.map +1 -1
- package/dist/shared/providers/litellm.d.ts.map +1 -1
- package/dist/shared/providers/ollama.d.ts +6 -1
- package/dist/shared/providers/ollama.d.ts.map +1 -1
- package/dist/shared/providers/openai-compat-video.d.ts +98 -0
- package/dist/shared/providers/openai-compat-video.d.ts.map +1 -0
- package/dist/shared/providers/openai.d.ts +6 -1
- package/dist/shared/providers/openai.d.ts.map +1 -1
- package/dist/shared/providers/qwen-tts.d.ts +6 -1
- package/dist/shared/providers/qwen-tts.d.ts.map +1 -1
- package/dist/shared/rate-limit.d.ts.map +1 -1
- package/dist/shared/safety.d.ts.map +1 -1
- package/dist/shared/types.d.ts +343 -5
- package/dist/shared/types.d.ts.map +1 -1
- package/package.json +7 -3
- package/dist/chunks/anthropic-DA8sdt12.js.map +0 -1
- package/dist/chunks/bedrock-DDiYFUw0.js.map +0 -1
- package/dist/chunks/bifrost-fM9FpW_w.js.map +0 -1
- package/dist/chunks/claude-cli-CnJh5KQT.js.map +0 -1
- package/dist/chunks/gemini-Bu7Fke7c.js.map +0 -1
- package/dist/chunks/huggingface-B07_6wHW.js.map +0 -1
- package/dist/chunks/litellm-D_Oo9OQ_.js.map +0 -1
- package/dist/chunks/ollama-D4ksOTO8.js.map +0 -1
- package/dist/chunks/openai--F38QHiJ.js.map +0 -1
- package/dist/chunks/qwen-tts-DRRbOrhA.js.map +0 -1
- package/dist/chunks/rate-limit-BwyPGXFW.js.map +0 -1
- package/dist/chunks/safety-CEnoJS6X.js.map +0 -1
- package/dist/chunks/types-FHs-KbGL.js.map +0 -1
- package/dist/index.js.map +0 -1
package/dist/node/factory.d.ts
CHANGED
|
@@ -18,6 +18,15 @@ export { getAI } from '../shared/factory';
|
|
|
18
18
|
* - GEMINI_API_KEY / GOOGLE_API_KEY → Gemini-specific key
|
|
19
19
|
* - HF_TOKEN → Hugging Face token
|
|
20
20
|
* - AWS_* → AWS Bedrock credentials
|
|
21
|
+
* - OPENAI_COMPAT_VIDEO_BASE_URL / OPENAI_COMPAT_VIDEO_API_KEY → openai-compat-video gateway config (checked last)
|
|
22
|
+
* - MODELARK_API_KEY / ARK_API_KEY / MODELARK_BASE_URL → BytePlus ModelArk (Seedance) config (checked last)
|
|
23
|
+
*
|
|
24
|
+
* The two video-only provider types above are intentionally checked *after*
|
|
25
|
+
* every general-purpose provider: they throw `NOT_IMPLEMENTED` for chat()
|
|
26
|
+
* and everything else, so their env signals must never hijack a bare
|
|
27
|
+
* `getAIAuto()` call away from a general-purpose provider. Prefer explicit
|
|
28
|
+
* `type: 'byteplus-modelark'` / `type: 'openai-compat-video'` when you want
|
|
29
|
+
* one of these on purpose.
|
|
21
30
|
*
|
|
22
31
|
* @param options - Configuration options that may contain provider-specific credentials
|
|
23
32
|
* @returns Promise resolving to an AI provider instance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/node/factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EACV,WAAW,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/node/factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EACV,WAAW,EAaZ,MAAM,iBAAiB,CAAC;AAGzB;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,SAAS,CAC7B,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAChC,OAAO,CAAC,WAAW,CAAC,CA6RtB"}
|
package/dist/node.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js-enhanced entry point for @happyvertical/ai
|
|
3
|
+
*
|
|
4
|
+
* Re-exports everything from the universal entry point (`.`), but replaces
|
|
5
|
+
* `getAIAuto` with the Node-aware version from `./node/factory`, which
|
|
6
|
+
* additionally auto-detects providers from process.env — including
|
|
7
|
+
* provider-specific variables the universal (`HAVE_AI_*`-only) `getAIAuto`
|
|
8
|
+
* does not check, such as `LITELLM_BASE_URL`, `BIFROST_BASE_URL`,
|
|
9
|
+
* `OLLAMA_HOST`, `ANTHROPIC_API_KEY`, `GEMINI_API_KEY`, `HF_TOKEN`,
|
|
10
|
+
* `AWS_*`, `MODELARK_API_KEY` / `ARK_API_KEY`, and
|
|
11
|
+
* `OPENAI_COMPAT_VIDEO_BASE_URL`.
|
|
12
|
+
*
|
|
13
|
+
* The default `.` entry point stays universal/browser-safe (it must not
|
|
14
|
+
* reference `process.env` directly for provider-specific detection); import
|
|
15
|
+
* from `@happyvertical/ai/node` in Node.js contexts that want the fuller
|
|
16
|
+
* auto-detection.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* import { getAIAuto } from '@happyvertical/ai/node';
|
|
21
|
+
*
|
|
22
|
+
* // Resolves to byteplus-modelark from MODELARK_API_KEY alone, which the
|
|
23
|
+
* // universal getAIAuto (imported from '@happyvertical/ai') cannot do.
|
|
24
|
+
* const client = await getAIAuto({});
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export * from './index';
|
|
28
|
+
export { getAIAuto } from './node/factory';
|
|
29
|
+
//# sourceMappingURL=node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/node.js
ADDED
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { a as getAI, c as OpenAIClient, l as getAIClient, n as AIThread, r as AIMessage, s as AIClient, t as PACKAGE_VERSION_INITIALIZED, u as getOpenAI } from "./chunks/src-CU4qWJ2c.js";
|
|
2
|
+
import { a as ContextLengthError, c as extractTextContent, i as ContentFilterError, n as AI_PROVIDER_TYPES, o as ModelNotFoundError, r as AuthenticationError, s as RateLimitError, t as AIError } from "./chunks/types-CINwUPDo.js";
|
|
3
|
+
import { n as DEFAULT_AI_MAX_RETRIES, r as DEFAULT_AI_TIMEOUT_MS, t as DEFAULT_AI_GENERATION_LIMITS } from "./chunks/safety-C415clBm.js";
|
|
4
|
+
import { ValidationError, loadEnvConfig } from "@happyvertical/utils";
|
|
5
|
+
//#region src/node/factory.ts
|
|
6
|
+
/**
|
|
7
|
+
* Node.js-specific factory functions for creating AI provider instances
|
|
8
|
+
* Includes support for environment variable detection
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Node.js-enhanced auto-detection of AI provider based on available credentials
|
|
12
|
+
* Includes support for environment variables
|
|
13
|
+
*
|
|
14
|
+
* Supports both HAVE_AI_* environment variables and provider-specific variables:
|
|
15
|
+
* - HAVE_AI_PROVIDER / HAVE_AI_TYPE → provider type
|
|
16
|
+
* - HAVE_AI_API_KEY → fallback API key
|
|
17
|
+
* - LITELLM_BASE_URL / LITELLM_API_KEY / LITELLM_ADMIN_API_KEY → LiteLLM-specific gateway config
|
|
18
|
+
* - BIFROST_BASE_URL / BIFROST_API_KEY / BIFROST_ADMIN_URL / BIFROST_ADMIN_USER / BIFROST_ADMIN_PASSWORD → Bifrost gateway config
|
|
19
|
+
* - OLLAMA_HOST / OLLAMA_BASE_URL / OLLAMA_API_KEY → Ollama host/auth config
|
|
20
|
+
* - OPENAI_API_KEY → OpenAI-specific key
|
|
21
|
+
* - ANTHROPIC_API_KEY → Anthropic-specific key
|
|
22
|
+
* - GEMINI_API_KEY / GOOGLE_API_KEY → Gemini-specific key
|
|
23
|
+
* - HF_TOKEN → Hugging Face token
|
|
24
|
+
* - AWS_* → AWS Bedrock credentials
|
|
25
|
+
* - OPENAI_COMPAT_VIDEO_BASE_URL / OPENAI_COMPAT_VIDEO_API_KEY → openai-compat-video gateway config (checked last)
|
|
26
|
+
* - MODELARK_API_KEY / ARK_API_KEY / MODELARK_BASE_URL → BytePlus ModelArk (Seedance) config (checked last)
|
|
27
|
+
*
|
|
28
|
+
* The two video-only provider types above are intentionally checked *after*
|
|
29
|
+
* every general-purpose provider: they throw `NOT_IMPLEMENTED` for chat()
|
|
30
|
+
* and everything else, so their env signals must never hijack a bare
|
|
31
|
+
* `getAIAuto()` call away from a general-purpose provider. Prefer explicit
|
|
32
|
+
* `type: 'byteplus-modelark'` / `type: 'openai-compat-video'` when you want
|
|
33
|
+
* one of these on purpose.
|
|
34
|
+
*
|
|
35
|
+
* @param options - Configuration options that may contain provider-specific credentials
|
|
36
|
+
* @returns Promise resolving to an AI provider instance
|
|
37
|
+
* @throws ValidationError if no provider can be detected from the options
|
|
38
|
+
*/
|
|
39
|
+
async function getAIAuto(options = {}) {
|
|
40
|
+
const config = loadEnvConfig(options, {
|
|
41
|
+
packageName: "ai",
|
|
42
|
+
schema: {
|
|
43
|
+
provider: "string",
|
|
44
|
+
type: "string",
|
|
45
|
+
model: "string",
|
|
46
|
+
defaultModel: "string",
|
|
47
|
+
timeout: "number",
|
|
48
|
+
maxRetries: "number",
|
|
49
|
+
apiKey: "string",
|
|
50
|
+
baseUrl: "string",
|
|
51
|
+
adminApiKey: "string",
|
|
52
|
+
adminBaseUrl: "string",
|
|
53
|
+
adminUrl: "string",
|
|
54
|
+
adminUser: "string",
|
|
55
|
+
adminUsername: "string",
|
|
56
|
+
adminPassword: "string"
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
if ("provider" in config && !config.type) config.type = config.provider;
|
|
60
|
+
const adminConfig = config;
|
|
61
|
+
const callerAdminUrl = adminConfig.adminUrl || adminConfig.adminBaseUrl;
|
|
62
|
+
const callerAdminUser = adminConfig.adminUser || adminConfig.adminUsername;
|
|
63
|
+
if (config.type) {
|
|
64
|
+
if (config.type === "byteplus-modelark") return getAI({
|
|
65
|
+
...config,
|
|
66
|
+
apiKey: config.apiKey || process.env.MODELARK_API_KEY || process.env.ARK_API_KEY,
|
|
67
|
+
baseUrl: config.baseUrl || process.env.MODELARK_BASE_URL
|
|
68
|
+
});
|
|
69
|
+
if (config.type === "openai-compat-video") return getAI({
|
|
70
|
+
...config,
|
|
71
|
+
apiKey: config.apiKey || process.env.OPENAI_COMPAT_VIDEO_API_KEY,
|
|
72
|
+
baseUrl: config.baseUrl || process.env.OPENAI_COMPAT_VIDEO_BASE_URL
|
|
73
|
+
});
|
|
74
|
+
if (config.type === "bifrost") {
|
|
75
|
+
const resolvedAdminUrl = callerAdminUrl || process.env.BIFROST_ADMIN_URL || process.env.BIFROST_ADMIN_BASE_URL;
|
|
76
|
+
const resolvedAdminUser = callerAdminUser || process.env.BIFROST_ADMIN_USER || process.env.BIFROST_ADMIN_USERNAME;
|
|
77
|
+
return getAI({
|
|
78
|
+
...config,
|
|
79
|
+
baseUrl: config.baseUrl || process.env.BIFROST_BASE_URL,
|
|
80
|
+
apiKey: config.apiKey || process.env.BIFROST_API_KEY,
|
|
81
|
+
adminApiKey: adminConfig.adminApiKey || process.env.BIFROST_ADMIN_API_KEY,
|
|
82
|
+
adminBaseUrl: resolvedAdminUrl,
|
|
83
|
+
adminUrl: resolvedAdminUrl,
|
|
84
|
+
adminUser: resolvedAdminUser,
|
|
85
|
+
adminUsername: resolvedAdminUser,
|
|
86
|
+
adminPassword: adminConfig.adminPassword || process.env.BIFROST_ADMIN_PASSWORD
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
return getAI(config);
|
|
90
|
+
}
|
|
91
|
+
try {
|
|
92
|
+
return await import("./chunks/src-CU4qWJ2c.js").then((n) => n.i).then((m) => m.getAIAuto(config));
|
|
93
|
+
} catch (_error) {}
|
|
94
|
+
const hasLiteLLMSignal = Boolean(process.env.LITELLM_BASE_URL || process.env.LITELLM_API_KEY);
|
|
95
|
+
if (Boolean(process.env.BIFROST_BASE_URL) && !config.type) return getAI({
|
|
96
|
+
...config,
|
|
97
|
+
type: "bifrost",
|
|
98
|
+
baseUrl: config.baseUrl || process.env.BIFROST_BASE_URL,
|
|
99
|
+
apiKey: config.apiKey || process.env.BIFROST_API_KEY,
|
|
100
|
+
adminApiKey: adminConfig.adminApiKey || process.env.BIFROST_ADMIN_API_KEY,
|
|
101
|
+
adminBaseUrl: adminConfig.adminBaseUrl || process.env.BIFROST_ADMIN_BASE_URL,
|
|
102
|
+
adminUrl: adminConfig.adminUrl || process.env.BIFROST_ADMIN_URL,
|
|
103
|
+
adminUser: adminConfig.adminUser || adminConfig.adminUsername || process.env.BIFROST_ADMIN_USER || process.env.BIFROST_ADMIN_USERNAME,
|
|
104
|
+
adminPassword: adminConfig.adminPassword || process.env.BIFROST_ADMIN_PASSWORD
|
|
105
|
+
});
|
|
106
|
+
if (hasLiteLLMSignal && !config.type) return getAI({
|
|
107
|
+
...config,
|
|
108
|
+
type: "litellm",
|
|
109
|
+
baseUrl: config.baseUrl || process.env.LITELLM_BASE_URL,
|
|
110
|
+
apiKey: config.apiKey || process.env.LITELLM_API_KEY,
|
|
111
|
+
adminApiKey: adminConfig.adminApiKey || process.env.LITELLM_ADMIN_API_KEY,
|
|
112
|
+
adminBaseUrl: adminConfig.adminBaseUrl || process.env.LITELLM_ADMIN_BASE_URL,
|
|
113
|
+
adminUrl: adminConfig.adminUrl || process.env.LITELLM_ADMIN_URL
|
|
114
|
+
});
|
|
115
|
+
if ((process.env.OLLAMA_HOST || process.env.OLLAMA_BASE_URL || process.env.OLLAMA_API_KEY && !process.env.OPENAI_API_KEY) && !config.type) return getAI({
|
|
116
|
+
...config,
|
|
117
|
+
type: "ollama",
|
|
118
|
+
baseUrl: config.baseUrl || process.env.OLLAMA_BASE_URL || process.env.OLLAMA_HOST,
|
|
119
|
+
apiKey: config.apiKey || process.env.OLLAMA_API_KEY
|
|
120
|
+
});
|
|
121
|
+
if ((config.apiKey || process.env.OPENAI_API_KEY) && !config.type) return getAI({
|
|
122
|
+
...config,
|
|
123
|
+
type: "openai",
|
|
124
|
+
apiKey: config.apiKey || process.env.OPENAI_API_KEY
|
|
125
|
+
});
|
|
126
|
+
if (process.env.ANTHROPIC_API_KEY) return getAI({
|
|
127
|
+
...config,
|
|
128
|
+
type: "anthropic",
|
|
129
|
+
apiKey: process.env.ANTHROPIC_API_KEY
|
|
130
|
+
});
|
|
131
|
+
if (process.env.GEMINI_API_KEY || process.env.GOOGLE_API_KEY) return getAI({
|
|
132
|
+
...config,
|
|
133
|
+
type: "gemini",
|
|
134
|
+
apiKey: process.env.GEMINI_API_KEY || process.env.GOOGLE_API_KEY
|
|
135
|
+
});
|
|
136
|
+
if (config.apiToken || process.env.HF_TOKEN) return getAI({
|
|
137
|
+
...config,
|
|
138
|
+
type: "huggingface",
|
|
139
|
+
apiToken: config.apiToken || process.env.HF_TOKEN
|
|
140
|
+
});
|
|
141
|
+
if ((config.region || process.env.AWS_DEFAULT_REGION) && (config.credentials || process.env.AWS_ACCESS_KEY_ID)) {
|
|
142
|
+
const bedrockOptions = {
|
|
143
|
+
...config,
|
|
144
|
+
type: "bedrock",
|
|
145
|
+
region: config.region || process.env.AWS_DEFAULT_REGION
|
|
146
|
+
};
|
|
147
|
+
if (!config.credentials && process.env.AWS_ACCESS_KEY_ID && process.env.AWS_SECRET_ACCESS_KEY) bedrockOptions.credentials = {
|
|
148
|
+
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
|
|
149
|
+
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY
|
|
150
|
+
};
|
|
151
|
+
return getAI(bedrockOptions);
|
|
152
|
+
}
|
|
153
|
+
const hasModelArkSignal = Boolean(process.env.MODELARK_API_KEY || process.env.ARK_API_KEY || process.env.MODELARK_BASE_URL);
|
|
154
|
+
const hasOpenAICompatVideoSignal = Boolean(process.env.OPENAI_COMPAT_VIDEO_BASE_URL);
|
|
155
|
+
if (hasModelArkSignal && !config.type) return getAI({
|
|
156
|
+
...config,
|
|
157
|
+
type: "byteplus-modelark",
|
|
158
|
+
apiKey: config.apiKey || process.env.MODELARK_API_KEY || process.env.ARK_API_KEY,
|
|
159
|
+
baseUrl: config.baseUrl || process.env.MODELARK_BASE_URL
|
|
160
|
+
});
|
|
161
|
+
if (hasOpenAICompatVideoSignal && !config.type) return getAI({
|
|
162
|
+
...config,
|
|
163
|
+
type: "openai-compat-video",
|
|
164
|
+
apiKey: config.apiKey || process.env.OPENAI_COMPAT_VIDEO_API_KEY,
|
|
165
|
+
baseUrl: config.baseUrl || process.env.OPENAI_COMPAT_VIDEO_BASE_URL
|
|
166
|
+
});
|
|
167
|
+
throw new ValidationError("Could not auto-detect AI provider from options or environment", {
|
|
168
|
+
hint: "Please specify a \"type\" field in options or provide provider-specific credentials/environment variables",
|
|
169
|
+
supportedTypes: [...AI_PROVIDER_TYPES],
|
|
170
|
+
providedOptions: Object.keys(config),
|
|
171
|
+
checkedEnvVars: [
|
|
172
|
+
"HAVE_AI_PROVIDER",
|
|
173
|
+
"HAVE_AI_TYPE",
|
|
174
|
+
"HAVE_AI_API_KEY",
|
|
175
|
+
"LITELLM_BASE_URL",
|
|
176
|
+
"LITELLM_API_KEY",
|
|
177
|
+
"OLLAMA_HOST",
|
|
178
|
+
"OLLAMA_BASE_URL",
|
|
179
|
+
"OLLAMA_API_KEY",
|
|
180
|
+
"OPENAI_API_KEY",
|
|
181
|
+
"ANTHROPIC_API_KEY",
|
|
182
|
+
"GEMINI_API_KEY",
|
|
183
|
+
"GOOGLE_API_KEY",
|
|
184
|
+
"HF_TOKEN",
|
|
185
|
+
"AWS_ACCESS_KEY_ID",
|
|
186
|
+
"AWS_DEFAULT_REGION",
|
|
187
|
+
"OPENAI_COMPAT_VIDEO_BASE_URL",
|
|
188
|
+
"OPENAI_COMPAT_VIDEO_API_KEY",
|
|
189
|
+
"MODELARK_API_KEY",
|
|
190
|
+
"ARK_API_KEY",
|
|
191
|
+
"MODELARK_BASE_URL"
|
|
192
|
+
]
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
//#endregion
|
|
196
|
+
export { AIClient, AIError, AIMessage as AIMessageClass, AIThread, AI_PROVIDER_TYPES, AuthenticationError, ContentFilterError, ContextLengthError, DEFAULT_AI_GENERATION_LIMITS, DEFAULT_AI_MAX_RETRIES, DEFAULT_AI_TIMEOUT_MS, ModelNotFoundError, OpenAIClient, PACKAGE_VERSION_INITIALIZED, RateLimitError, extractTextContent, getAI, getAIAuto, getAIClient, getOpenAI };
|
|
197
|
+
|
|
198
|
+
//# sourceMappingURL=node.js.map
|
package/dist/node.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.js","names":[],"sources":["../src/node/factory.ts"],"sourcesContent":["/**\n * Node.js-specific factory functions for creating AI provider instances\n * Includes support for environment variable detection\n */\n\nimport { loadEnvConfig, ValidationError } from '@happyvertical/utils';\nimport { getAI as getAIUniversal } from '../shared/factory';\n\nimport type {\n AIInterface,\n AIProviderType,\n AnthropicOptions,\n BedrockOptions,\n BifrostOptions,\n ByteplusModelArkOptions,\n GeminiOptions,\n GetAIOptions,\n HuggingFaceOptions,\n LiteLLMOptions,\n OllamaOptions,\n OpenAICompatVideoOptions,\n OpenAIOptions,\n} from '../shared/types';\nimport { AI_PROVIDER_TYPES } from '../shared/types';\n\n/**\n * Re-export the universal getAI function\n */\nexport { getAI } from '../shared/factory';\n\n/**\n * Node.js-enhanced auto-detection of AI provider based on available credentials\n * Includes support for environment variables\n *\n * Supports both HAVE_AI_* environment variables and provider-specific variables:\n * - HAVE_AI_PROVIDER / HAVE_AI_TYPE → provider type\n * - HAVE_AI_API_KEY → fallback API key\n * - LITELLM_BASE_URL / LITELLM_API_KEY / LITELLM_ADMIN_API_KEY → LiteLLM-specific gateway config\n * - BIFROST_BASE_URL / BIFROST_API_KEY / BIFROST_ADMIN_URL / BIFROST_ADMIN_USER / BIFROST_ADMIN_PASSWORD → Bifrost gateway config\n * - OLLAMA_HOST / OLLAMA_BASE_URL / OLLAMA_API_KEY → Ollama host/auth config\n * - OPENAI_API_KEY → OpenAI-specific key\n * - ANTHROPIC_API_KEY → Anthropic-specific key\n * - GEMINI_API_KEY / GOOGLE_API_KEY → Gemini-specific key\n * - HF_TOKEN → Hugging Face token\n * - AWS_* → AWS Bedrock credentials\n * - OPENAI_COMPAT_VIDEO_BASE_URL / OPENAI_COMPAT_VIDEO_API_KEY → openai-compat-video gateway config (checked last)\n * - MODELARK_API_KEY / ARK_API_KEY / MODELARK_BASE_URL → BytePlus ModelArk (Seedance) config (checked last)\n *\n * The two video-only provider types above are intentionally checked *after*\n * every general-purpose provider: they throw `NOT_IMPLEMENTED` for chat()\n * and everything else, so their env signals must never hijack a bare\n * `getAIAuto()` call away from a general-purpose provider. Prefer explicit\n * `type: 'byteplus-modelark'` / `type: 'openai-compat-video'` when you want\n * one of these on purpose.\n *\n * @param options - Configuration options that may contain provider-specific credentials\n * @returns Promise resolving to an AI provider instance\n * @throws ValidationError if no provider can be detected from the options\n */\nexport async function getAIAuto(\n options: Record<string, any> = {},\n): Promise<AIInterface> {\n // Load HAVE_AI_* environment variables first\n const config = loadEnvConfig(options, {\n packageName: 'ai',\n schema: {\n provider: 'string',\n type: 'string',\n model: 'string',\n defaultModel: 'string',\n timeout: 'number',\n maxRetries: 'number',\n apiKey: 'string',\n baseUrl: 'string',\n adminApiKey: 'string',\n adminBaseUrl: 'string',\n adminUrl: 'string',\n adminUser: 'string',\n adminUsername: 'string',\n adminPassword: 'string',\n },\n }) as GetAIOptions;\n\n // Normalize 'provider' field to 'type'\n if ('provider' in config && !config.type) {\n (config as any).type = (config as any).provider;\n }\n\n const adminConfig = config as {\n adminApiKey?: string;\n adminBaseUrl?: string;\n adminUrl?: string;\n adminUser?: string;\n adminUsername?: string;\n adminPassword?: string;\n };\n\n // Caller options always win over env: collapse alias pairs (adminUrl/adminBaseUrl\n // and adminUser/adminUsername) on the caller side first, so that an env override\n // for one alias cannot mask an explicit caller value supplied via the other.\n const callerAdminUrl = adminConfig.adminUrl || adminConfig.adminBaseUrl;\n const callerAdminUser = adminConfig.adminUser || adminConfig.adminUsername;\n\n // If type is specified (either from options or env vars), use getAI directly\n if (config.type) {\n if (config.type === 'byteplus-modelark') {\n return getAIUniversal({\n ...config,\n apiKey:\n config.apiKey ||\n process.env.MODELARK_API_KEY ||\n process.env.ARK_API_KEY,\n baseUrl: config.baseUrl || process.env.MODELARK_BASE_URL,\n } as ByteplusModelArkOptions);\n }\n\n if (config.type === 'openai-compat-video') {\n return getAIUniversal({\n ...config,\n apiKey: config.apiKey || process.env.OPENAI_COMPAT_VIDEO_API_KEY,\n baseUrl: config.baseUrl || process.env.OPENAI_COMPAT_VIDEO_BASE_URL,\n } as OpenAICompatVideoOptions);\n }\n\n if (config.type === 'bifrost') {\n const resolvedAdminUrl =\n callerAdminUrl ||\n process.env.BIFROST_ADMIN_URL ||\n process.env.BIFROST_ADMIN_BASE_URL;\n const resolvedAdminUser =\n callerAdminUser ||\n process.env.BIFROST_ADMIN_USER ||\n process.env.BIFROST_ADMIN_USERNAME;\n\n return getAIUniversal({\n ...config,\n baseUrl: config.baseUrl || process.env.BIFROST_BASE_URL,\n apiKey: config.apiKey || process.env.BIFROST_API_KEY,\n adminApiKey:\n adminConfig.adminApiKey || process.env.BIFROST_ADMIN_API_KEY,\n adminBaseUrl: resolvedAdminUrl,\n adminUrl: resolvedAdminUrl,\n adminUser: resolvedAdminUser,\n adminUsername: resolvedAdminUser,\n adminPassword:\n adminConfig.adminPassword || process.env.BIFROST_ADMIN_PASSWORD,\n } as BifrostOptions);\n }\n\n return getAIUniversal(config);\n }\n\n // First try universal detection with loaded config\n try {\n return await import('../shared/factory.js').then((m) =>\n m.getAIAuto(config),\n );\n } catch (_error) {\n // If universal detection fails, try Node.js-specific environment variables\n }\n\n // Auto-detect provider based on available credentials including environment variables\n const hasLiteLLMSignal = Boolean(\n process.env.LITELLM_BASE_URL || process.env.LITELLM_API_KEY,\n );\n const hasBifrostSignal = Boolean(process.env.BIFROST_BASE_URL);\n\n if (hasBifrostSignal && !config.type) {\n return getAIUniversal({\n ...config,\n type: 'bifrost',\n baseUrl: config.baseUrl || process.env.BIFROST_BASE_URL,\n apiKey: config.apiKey || process.env.BIFROST_API_KEY,\n adminApiKey: adminConfig.adminApiKey || process.env.BIFROST_ADMIN_API_KEY,\n adminBaseUrl:\n adminConfig.adminBaseUrl || process.env.BIFROST_ADMIN_BASE_URL,\n adminUrl: adminConfig.adminUrl || process.env.BIFROST_ADMIN_URL,\n adminUser:\n adminConfig.adminUser ||\n adminConfig.adminUsername ||\n process.env.BIFROST_ADMIN_USER ||\n process.env.BIFROST_ADMIN_USERNAME,\n adminPassword:\n adminConfig.adminPassword || process.env.BIFROST_ADMIN_PASSWORD,\n } as BifrostOptions);\n }\n\n if (hasLiteLLMSignal && !config.type) {\n return getAIUniversal({\n ...config,\n type: 'litellm',\n baseUrl: config.baseUrl || process.env.LITELLM_BASE_URL,\n apiKey: config.apiKey || process.env.LITELLM_API_KEY,\n adminApiKey: adminConfig.adminApiKey || process.env.LITELLM_ADMIN_API_KEY,\n adminBaseUrl:\n adminConfig.adminBaseUrl || process.env.LITELLM_ADMIN_BASE_URL,\n adminUrl: adminConfig.adminUrl || process.env.LITELLM_ADMIN_URL,\n } as LiteLLMOptions);\n }\n\n if (\n (process.env.OLLAMA_HOST ||\n process.env.OLLAMA_BASE_URL ||\n (process.env.OLLAMA_API_KEY && !process.env.OPENAI_API_KEY)) &&\n !config.type\n ) {\n return getAIUniversal({\n ...config,\n type: 'ollama',\n baseUrl:\n config.baseUrl ||\n process.env.OLLAMA_BASE_URL ||\n process.env.OLLAMA_HOST,\n apiKey: (config as any).apiKey || process.env.OLLAMA_API_KEY,\n } as OllamaOptions);\n }\n\n if ((config.apiKey || process.env.OPENAI_API_KEY) && !config.type) {\n // Default to OpenAI if apiKey is provided without explicit type\n return getAIUniversal({\n ...config,\n type: 'openai',\n apiKey: config.apiKey || process.env.OPENAI_API_KEY,\n } as OpenAIOptions);\n }\n\n if (process.env.ANTHROPIC_API_KEY) {\n return getAIUniversal({\n ...config,\n type: 'anthropic',\n apiKey: process.env.ANTHROPIC_API_KEY,\n } as AnthropicOptions);\n }\n\n if (process.env.GEMINI_API_KEY || process.env.GOOGLE_API_KEY) {\n return getAIUniversal({\n ...config,\n type: 'gemini',\n apiKey: process.env.GEMINI_API_KEY || process.env.GOOGLE_API_KEY,\n } as GeminiOptions);\n }\n\n if ((config as any).apiToken || process.env.HF_TOKEN) {\n // Hugging Face uses apiToken or HF_TOKEN\n return getAIUniversal({\n ...config,\n type: 'huggingface',\n apiToken: (config as any).apiToken || process.env.HF_TOKEN,\n } as HuggingFaceOptions);\n }\n\n if (\n ((config as any).region || process.env.AWS_DEFAULT_REGION) &&\n ((config as any).credentials || process.env.AWS_ACCESS_KEY_ID)\n ) {\n // AWS Bedrock uses region and AWS credentials (explicit or from env)\n const bedrockOptions: BedrockOptions = {\n ...config,\n type: 'bedrock',\n region: (config as any).region || process.env.AWS_DEFAULT_REGION,\n };\n\n // Add credentials if available in environment\n if (\n !(config as any).credentials &&\n process.env.AWS_ACCESS_KEY_ID &&\n process.env.AWS_SECRET_ACCESS_KEY\n ) {\n bedrockOptions.credentials = {\n accessKeyId: process.env.AWS_ACCESS_KEY_ID,\n secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,\n };\n }\n\n return getAIUniversal(bedrockOptions);\n }\n\n // Video-only provider detection runs last, deliberately after every\n // general-purpose provider check above: these providers throw\n // NOT_IMPLEMENTED for chat() and every other non-video method, so a bare\n // getAIAuto() must never let a video-only credential (e.g. MODELARK_API_KEY\n // set alongside OPENAI_API_KEY for an unrelated pipeline step) hijack\n // selection away from a general-purpose provider. Explicit\n // `type: 'byteplus-modelark'` / `type: 'openai-compat-video'` selection is\n // the intended way to reach these providers; auto-detection is a\n // last-resort fallback for when nothing general-purpose matches.\n const hasModelArkSignal = Boolean(\n process.env.MODELARK_API_KEY ||\n process.env.ARK_API_KEY ||\n process.env.MODELARK_BASE_URL,\n );\n const hasOpenAICompatVideoSignal = Boolean(\n process.env.OPENAI_COMPAT_VIDEO_BASE_URL,\n );\n\n if (hasModelArkSignal && !config.type) {\n return getAIUniversal({\n ...config,\n type: 'byteplus-modelark',\n apiKey:\n config.apiKey ||\n process.env.MODELARK_API_KEY ||\n process.env.ARK_API_KEY,\n baseUrl: config.baseUrl || process.env.MODELARK_BASE_URL,\n } as ByteplusModelArkOptions);\n }\n\n if (hasOpenAICompatVideoSignal && !config.type) {\n return getAIUniversal({\n ...config,\n type: 'openai-compat-video',\n apiKey: config.apiKey || process.env.OPENAI_COMPAT_VIDEO_API_KEY,\n baseUrl: config.baseUrl || process.env.OPENAI_COMPAT_VIDEO_BASE_URL,\n } as OpenAICompatVideoOptions);\n }\n\n throw new ValidationError(\n 'Could not auto-detect AI provider from options or environment',\n {\n hint: 'Please specify a \"type\" field in options or provide provider-specific credentials/environment variables',\n supportedTypes: [...AI_PROVIDER_TYPES] as AIProviderType[],\n providedOptions: Object.keys(config),\n checkedEnvVars: [\n 'HAVE_AI_PROVIDER',\n 'HAVE_AI_TYPE',\n 'HAVE_AI_API_KEY',\n 'LITELLM_BASE_URL',\n 'LITELLM_API_KEY',\n 'OLLAMA_HOST',\n 'OLLAMA_BASE_URL',\n 'OLLAMA_API_KEY',\n 'OPENAI_API_KEY',\n 'ANTHROPIC_API_KEY',\n 'GEMINI_API_KEY',\n 'GOOGLE_API_KEY',\n 'HF_TOKEN',\n 'AWS_ACCESS_KEY_ID',\n 'AWS_DEFAULT_REGION',\n 'OPENAI_COMPAT_VIDEO_BASE_URL',\n 'OPENAI_COMPAT_VIDEO_API_KEY',\n 'MODELARK_API_KEY',\n 'ARK_API_KEY',\n 'MODELARK_BASE_URL',\n ],\n },\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DA,eAAsB,UACpB,UAA+B,CAAC,GACV;CAEtB,MAAM,SAAS,cAAc,SAAS;EACpC,aAAa;EACb,QAAQ;GACN,UAAU;GACV,MAAM;GACN,OAAO;GACP,cAAc;GACd,SAAS;GACT,YAAY;GACZ,QAAQ;GACR,SAAS;GACT,aAAa;GACb,cAAc;GACd,UAAU;GACV,WAAW;GACX,eAAe;GACf,eAAe;EACjB;CACF,CAAC;CAGD,IAAI,cAAc,UAAU,CAAC,OAAO,MAClC,OAAgB,OAAQ,OAAe;CAGzC,MAAM,cAAc;CAYpB,MAAM,iBAAiB,YAAY,YAAY,YAAY;CAC3D,MAAM,kBAAkB,YAAY,aAAa,YAAY;CAG7D,IAAI,OAAO,MAAM;EACf,IAAI,OAAO,SAAS,qBAClB,OAAO,MAAe;GACpB,GAAG;GACH,QACE,OAAO,UACP,QAAQ,IAAI,oBACZ,QAAQ,IAAI;GACd,SAAS,OAAO,WAAW,QAAQ,IAAI;EACzC,CAA4B;EAG9B,IAAI,OAAO,SAAS,uBAClB,OAAO,MAAe;GACpB,GAAG;GACH,QAAQ,OAAO,UAAU,QAAQ,IAAI;GACrC,SAAS,OAAO,WAAW,QAAQ,IAAI;EACzC,CAA6B;EAG/B,IAAI,OAAO,SAAS,WAAW;GAC7B,MAAM,mBACJ,kBACA,QAAQ,IAAI,qBACZ,QAAQ,IAAI;GACd,MAAM,oBACJ,mBACA,QAAQ,IAAI,sBACZ,QAAQ,IAAI;GAEd,OAAO,MAAe;IACpB,GAAG;IACH,SAAS,OAAO,WAAW,QAAQ,IAAI;IACvC,QAAQ,OAAO,UAAU,QAAQ,IAAI;IACrC,aACE,YAAY,eAAe,QAAQ,IAAI;IACzC,cAAc;IACd,UAAU;IACV,WAAW;IACX,eAAe;IACf,eACE,YAAY,iBAAiB,QAAQ,IAAI;GAC7C,CAAmB;EACrB;EAEA,OAAO,MAAe,MAAM;CAC9B;CAGA,IAAI;EACF,OAAO,MAAM,OAAO,2BAAuB,CAAA,MAAA,MAAA,EAAA,CAAA,CAAA,CAAC,MAAM,MAChD,EAAE,UAAU,MAAM,CACpB;CACF,SAAS,QAAQ,CAEjB;CAGA,MAAM,mBAAmB,QACvB,QAAQ,IAAI,oBAAoB,QAAQ,IAAI,eAC9C;CAGA,IAFyB,QAAQ,QAAQ,IAAI,gBAEzC,KAAoB,CAAC,OAAO,MAC9B,OAAO,MAAe;EACpB,GAAG;EACH,MAAM;EACN,SAAS,OAAO,WAAW,QAAQ,IAAI;EACvC,QAAQ,OAAO,UAAU,QAAQ,IAAI;EACrC,aAAa,YAAY,eAAe,QAAQ,IAAI;EACpD,cACE,YAAY,gBAAgB,QAAQ,IAAI;EAC1C,UAAU,YAAY,YAAY,QAAQ,IAAI;EAC9C,WACE,YAAY,aACZ,YAAY,iBACZ,QAAQ,IAAI,sBACZ,QAAQ,IAAI;EACd,eACE,YAAY,iBAAiB,QAAQ,IAAI;CAC7C,CAAmB;CAGrB,IAAI,oBAAoB,CAAC,OAAO,MAC9B,OAAO,MAAe;EACpB,GAAG;EACH,MAAM;EACN,SAAS,OAAO,WAAW,QAAQ,IAAI;EACvC,QAAQ,OAAO,UAAU,QAAQ,IAAI;EACrC,aAAa,YAAY,eAAe,QAAQ,IAAI;EACpD,cACE,YAAY,gBAAgB,QAAQ,IAAI;EAC1C,UAAU,YAAY,YAAY,QAAQ,IAAI;CAChD,CAAmB;CAGrB,KACG,QAAQ,IAAI,eACX,QAAQ,IAAI,mBACX,QAAQ,IAAI,kBAAkB,CAAC,QAAQ,IAAI,mBAC9C,CAAC,OAAO,MAER,OAAO,MAAe;EACpB,GAAG;EACH,MAAM;EACN,SACE,OAAO,WACP,QAAQ,IAAI,mBACZ,QAAQ,IAAI;EACd,QAAS,OAAe,UAAU,QAAQ,IAAI;CAChD,CAAkB;CAGpB,KAAK,OAAO,UAAU,QAAQ,IAAI,mBAAmB,CAAC,OAAO,MAE3D,OAAO,MAAe;EACpB,GAAG;EACH,MAAM;EACN,QAAQ,OAAO,UAAU,QAAQ,IAAI;CACvC,CAAkB;CAGpB,IAAI,QAAQ,IAAI,mBACd,OAAO,MAAe;EACpB,GAAG;EACH,MAAM;EACN,QAAQ,QAAQ,IAAI;CACtB,CAAqB;CAGvB,IAAI,QAAQ,IAAI,kBAAkB,QAAQ,IAAI,gBAC5C,OAAO,MAAe;EACpB,GAAG;EACH,MAAM;EACN,QAAQ,QAAQ,IAAI,kBAAkB,QAAQ,IAAI;CACpD,CAAkB;CAGpB,IAAK,OAAe,YAAY,QAAQ,IAAI,UAE1C,OAAO,MAAe;EACpB,GAAG;EACH,MAAM;EACN,UAAW,OAAe,YAAY,QAAQ,IAAI;CACpD,CAAuB;CAGzB,KACI,OAAe,UAAU,QAAQ,IAAI,wBACrC,OAAe,eAAe,QAAQ,IAAI,oBAC5C;EAEA,MAAM,iBAAiC;GACrC,GAAG;GACH,MAAM;GACN,QAAS,OAAe,UAAU,QAAQ,IAAI;EAChD;EAGA,IACE,CAAE,OAAe,eACjB,QAAQ,IAAI,qBACZ,QAAQ,IAAI,uBAEZ,eAAe,cAAc;GAC3B,aAAa,QAAQ,IAAI;GACzB,iBAAiB,QAAQ,IAAI;EAC/B;EAGF,OAAO,MAAe,cAAc;CACtC;CAWA,MAAM,oBAAoB,QACxB,QAAQ,IAAI,oBACV,QAAQ,IAAI,eACZ,QAAQ,IAAI,iBAChB;CACA,MAAM,6BAA6B,QACjC,QAAQ,IAAI,4BACd;CAEA,IAAI,qBAAqB,CAAC,OAAO,MAC/B,OAAO,MAAe;EACpB,GAAG;EACH,MAAM;EACN,QACE,OAAO,UACP,QAAQ,IAAI,oBACZ,QAAQ,IAAI;EACd,SAAS,OAAO,WAAW,QAAQ,IAAI;CACzC,CAA4B;CAG9B,IAAI,8BAA8B,CAAC,OAAO,MACxC,OAAO,MAAe;EACpB,GAAG;EACH,MAAM;EACN,QAAQ,OAAO,UAAU,QAAQ,IAAI;EACrC,SAAS,OAAO,WAAW,QAAQ,IAAI;CACzC,CAA6B;CAG/B,MAAM,IAAI,gBACR,iEACA;EACE,MAAM;EACN,gBAAgB,CAAC,GAAG,iBAAiB;EACrC,iBAAiB,OAAO,KAAK,MAAM;EACnC,gBAAgB;GACd;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF,CACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/shared/factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhD,OAAO,KAAK,EACV,WAAW,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/shared/factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhD,OAAO,KAAK,EACV,WAAW,EAQX,YAAY,EAOb,MAAM,SAAS,CAAC;AA2IjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAsB,KAAK,CACzB,OAAO,GAAE,YAAY,GAAG,eAAoB,GAC3C,OAAO,CAAC,WAAW,CAAC,CAoFtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,WAAW,CAAC,CA6CtB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AICapabilities, AIInterface, AIMessage, AIModel, AIResponse, AnthropicOptions, ChatOptions, CompletionOptions, EmbeddingOptions, EmbeddingResponse, ImageDescriptionOptions, ImageEmbeddingOptions, ImageGenerationOptions, ImageGenerationResponse, MessageOptions, TTSOptions, TTSResponse, Voice, VoiceCloneOptions, VoiceDesignOptions, VoiceListOptions } from '../types';
|
|
1
|
+
import { AICapabilities, AIInterface, AIMessage, AIModel, AIResponse, AnthropicOptions, ChatOptions, CompletionOptions, EmbeddingOptions, EmbeddingResponse, ImageDescriptionOptions, ImageEmbeddingOptions, ImageGenerationOptions, ImageGenerationResponse, MessageOptions, TTSOptions, TTSResponse, VideoGenerationJob, VideoGenerationOptions, VideoGenerationResult, VideoGenerationStatusResult, Voice, VoiceCloneOptions, VoiceDesignOptions, VoiceListOptions } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* Anthropic Claude provider implementation that handles all interactions with Anthropic's API.
|
|
4
4
|
* Supports Claude models, streaming, vision capabilities, and function calling.
|
|
@@ -69,6 +69,11 @@ export declare class AnthropicProvider implements AIInterface {
|
|
|
69
69
|
countTokens(text: string): Promise<number>;
|
|
70
70
|
getModels(): Promise<AIModel[]>;
|
|
71
71
|
getCapabilities(): Promise<AICapabilities>;
|
|
72
|
+
submitVideoGenerationJob(_options: VideoGenerationOptions): Promise<VideoGenerationJob>;
|
|
73
|
+
getVideoGenerationJob(_handle: VideoGenerationJob): Promise<VideoGenerationStatusResult>;
|
|
74
|
+
fetchVideoGenerationResult(_handle: VideoGenerationJob): Promise<VideoGenerationResult>;
|
|
75
|
+
cancelVideoGenerationJob(_handle: VideoGenerationJob): Promise<void>;
|
|
76
|
+
validateVideoGenerationAccess(): Promise<boolean>;
|
|
72
77
|
synthesizeSpeech(_text: string, _options?: TTSOptions): Promise<TTSResponse>;
|
|
73
78
|
streamSpeech(_text: string, _options?: TTSOptions): AsyncIterable<Buffer>;
|
|
74
79
|
cloneVoice(_options: VoiceCloneOptions): Promise<Voice>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,SAAS,EACT,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EAEd,UAAU,EACV,WAAW,EACX,KAAK,EACL,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAclB;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,MAAM,CAAM;IAEpB;;;OAGG;gBACS,OAAO,EAAE,gBAAgB;IAWrC,OAAO,CAAC,oBAAoB;IAwB5B;;;;OAIG;YACW,YAAY;IAwB1B;;;;;;;;;;;;;;;;;OAiBG;IACG,IAAI,CACR,QAAQ,EAAE,SAAS,EAAE,EACrB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC;IAwHhB,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,UAAU,CAAC;IAiBtB;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IA8BpE,KAAK,CACT,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,QAAQ,GAAE,gBAAqB,GAC9B,OAAO,CAAC,iBAAiB,CAAC;IASvB,UAAU,CACd,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,QAAQ,GAAE,qBAA0B,GACnC,OAAO,CAAC,iBAAiB,CAAC;IAQvB,aAAa,CACjB,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,GAAE,uBAA4B,GACrC,OAAO,CAAC,MAAM,CAAC;IAUZ,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,sBAA2B,GACpC,OAAO,CAAC,uBAAuB,CAAC;IAQ5B,MAAM,CACX,QAAQ,EAAE,SAAS,EAAE,EACrB,OAAO,GAAE,WAAgB,GACxB,aAAa,CAAC,MAAM,CAAC;IAkFlB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM1C,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAmD/B,eAAe,IAAI,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/anthropic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AICapabilities, AIInterface, AIMessage, AIModel, AIResponse, BedrockOptions, ChatOptions, CompletionOptions, EmbeddingOptions, EmbeddingResponse, ImageDescriptionOptions, ImageEmbeddingOptions, ImageGenerationOptions, ImageGenerationResponse, MessageOptions, TTSOptions, TTSResponse, Voice, VoiceCloneOptions, VoiceDesignOptions, VoiceListOptions } from '../types';
|
|
1
|
+
import { AICapabilities, AIInterface, AIMessage, AIModel, AIResponse, BedrockOptions, ChatOptions, CompletionOptions, EmbeddingOptions, EmbeddingResponse, ImageDescriptionOptions, ImageEmbeddingOptions, ImageGenerationOptions, ImageGenerationResponse, MessageOptions, TTSOptions, TTSResponse, VideoGenerationJob, VideoGenerationOptions, VideoGenerationResult, VideoGenerationStatusResult, Voice, VoiceCloneOptions, VoiceDesignOptions, VoiceListOptions } from '../types';
|
|
2
2
|
export declare class BedrockProvider implements AIInterface {
|
|
3
3
|
private options;
|
|
4
4
|
private client;
|
|
@@ -23,6 +23,11 @@ export declare class BedrockProvider implements AIInterface {
|
|
|
23
23
|
countTokens(text: string): Promise<number>;
|
|
24
24
|
getModels(): Promise<AIModel[]>;
|
|
25
25
|
getCapabilities(): Promise<AICapabilities>;
|
|
26
|
+
submitVideoGenerationJob(_options: VideoGenerationOptions): Promise<VideoGenerationJob>;
|
|
27
|
+
getVideoGenerationJob(_handle: VideoGenerationJob): Promise<VideoGenerationStatusResult>;
|
|
28
|
+
fetchVideoGenerationResult(_handle: VideoGenerationJob): Promise<VideoGenerationResult>;
|
|
29
|
+
cancelVideoGenerationJob(_handle: VideoGenerationJob): Promise<void>;
|
|
30
|
+
validateVideoGenerationAccess(): Promise<boolean>;
|
|
26
31
|
synthesizeSpeech(_text: string, _options?: TTSOptions): Promise<TTSResponse>;
|
|
27
32
|
streamSpeech(_text: string, _options?: TTSOptions): AsyncIterable<Buffer>;
|
|
28
33
|
cloneVoice(_options: VoiceCloneOptions): Promise<Voice>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/bedrock.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,SAAS,EACT,OAAO,EACP,UAAU,EACV,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EAEd,UAAU,EACV,WAAW,EACX,KAAK,EACL,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAgBlB,qBAAa,eAAgB,YAAW,WAAW;IACjD,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,MAAM,CAAM;gBAER,OAAO,EAAE,cAAc;IAUnC,OAAO,CAAC,oBAAoB;YAoBd,YAAY;IAsBpB,IAAI,CACR,QAAQ,EAAE,SAAS,EAAE,EACrB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC;IAuDhB,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,UAAU,CAAC;IAiBtB;;;;;;OAMG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IA8BpE,KAAK,CACT,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EACvB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,iBAAiB,CAAC;IAgEvB,UAAU,CACd,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,iBAAiB,CAAC;IAyCvB,aAAa,CACjB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,MAAM,CAAC;IAiCZ,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,uBAAuB,CAAC;IAsF5B,MAAM,CACX,QAAQ,EAAE,SAAS,EAAE,EACrB,OAAO,GAAE,WAAgB,GACxB,aAAa,CAAC,MAAM,CAAC;IAuElB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAyB1C,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IA4F/B,eAAe,IAAI,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/bedrock.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bifrost.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/bifrost.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,SAAS,EAET,UAAU,EACV,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,YAAY,EAGb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAgC,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"bifrost.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/bifrost.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,SAAS,EAET,UAAU,EACV,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,YAAY,EAGb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAgC,cAAc,EAAE,MAAM,UAAU,CAAC;AAuKxE;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,cAAc;IACjD,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAS;IACjD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAG/B;gBAEQ,OAAO,EAAE,cAAc;YA4BrB,YAAY;YA4BZ,WAAW;IAsBnB,IAAI,CACR,QAAQ,EAAE,SAAS,EAAE,EACrB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC;IAaf,MAAM,CACX,QAAQ,EAAE,SAAS,EAAE,EACrB,OAAO,GAAE,WAAgB,GACxB,aAAa,CAAC,MAAM,CAAC;IAalB,aAAa,CACjB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,MAAM,CAAC;IAaZ,KAAK,CACT,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EACvB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,iBAAiB,CAAC;IAOvB,UAAU,CACd,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,iBAAiB,CAAC;IAOvB,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,uBAAuB,CAAC;CAYpC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { AICapabilities, AIInterface, AIMessage, AIModel, AIResponse, ByteplusModelArkOptions, ChatOptions, CompletionOptions, EmbeddingOptions, EmbeddingResponse, ImageDescriptionOptions, ImageEmbeddingOptions, ImageGenerationOptions, ImageGenerationResponse, MessageOptions, TTSOptions, TTSResponse, VideoGenerationJob, VideoGenerationOptions, VideoGenerationResult, VideoGenerationStatusResult, Voice, VoiceCloneOptions, VoiceDesignOptions, VoiceListOptions } from '../types';
|
|
2
|
+
/** @internal Test-only: clear shared submit limiters between test cases. */
|
|
3
|
+
export declare function __resetByteplusModelArkRateLimitersForTests(): void;
|
|
4
|
+
/**
|
|
5
|
+
* BytePlus ModelArk provider implementation for asynchronous video
|
|
6
|
+
* generation (Seedance). Focuses on video-generation capabilities and
|
|
7
|
+
* throws `NOT_IMPLEMENTED` for text generation methods.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { getAI } from '@happyvertical/ai';
|
|
12
|
+
*
|
|
13
|
+
* const modelark = await getAI({
|
|
14
|
+
* type: 'byteplus-modelark',
|
|
15
|
+
* apiKey: process.env.MODELARK_API_KEY!,
|
|
16
|
+
* });
|
|
17
|
+
*
|
|
18
|
+
* const job = await modelark.submitVideoGenerationJob({
|
|
19
|
+
* prompt: 'A drone shot flying over a coastal cliff at sunrise',
|
|
20
|
+
* durationSeconds: 5,
|
|
21
|
+
* resolution: '720p',
|
|
22
|
+
* aspectRatio: '16:9',
|
|
23
|
+
* });
|
|
24
|
+
*
|
|
25
|
+
* // Persist `job`, poll later (even after a restart):
|
|
26
|
+
* const status = await modelark.getVideoGenerationJob(job);
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare class ByteplusModelArkProvider implements AIInterface {
|
|
30
|
+
private options;
|
|
31
|
+
private readonly submitLimiter;
|
|
32
|
+
constructor(options: ByteplusModelArkOptions);
|
|
33
|
+
private get baseUrl();
|
|
34
|
+
private request;
|
|
35
|
+
private toImageUrl;
|
|
36
|
+
/**
|
|
37
|
+
* Submit an asynchronous Seedance video-generation task.
|
|
38
|
+
*
|
|
39
|
+
* Submission is locally throttled to approximate ModelArk's documented
|
|
40
|
+
* Seedance account limits (QPS 2, capped at {@link SUBMIT_BURST_CAPACITY}
|
|
41
|
+
* burst / 3 concurrent *submissions* — task-lifetime concurrency on
|
|
42
|
+
* ModelArk's infrastructure is not tracked; see {@link SubmitRateLimiter}).
|
|
43
|
+
*
|
|
44
|
+
* When `referenceImages` are supplied and no explicit `model` is chosen,
|
|
45
|
+
* this selects the image-to-video default model rather than silently
|
|
46
|
+
* generating text-to-video with the image ignored.
|
|
47
|
+
*/
|
|
48
|
+
submitVideoGenerationJob(options: VideoGenerationOptions): Promise<VideoGenerationJob>;
|
|
49
|
+
/**
|
|
50
|
+
* Poll the status of a ModelArk video-generation task.
|
|
51
|
+
*/
|
|
52
|
+
getVideoGenerationJob(handle: VideoGenerationJob): Promise<VideoGenerationStatusResult>;
|
|
53
|
+
/**
|
|
54
|
+
* Fetch the result of a completed ModelArk video-generation task.
|
|
55
|
+
*
|
|
56
|
+
* @throws {AIError} When the job has not succeeded yet
|
|
57
|
+
*/
|
|
58
|
+
fetchVideoGenerationResult(handle: VideoGenerationJob): Promise<VideoGenerationResult>;
|
|
59
|
+
/**
|
|
60
|
+
* Cancel a ModelArk video-generation task.
|
|
61
|
+
*
|
|
62
|
+
* ModelArk's DELETE endpoint only transitions a `queued` task to
|
|
63
|
+
* `cancelled`; a task that is already `running` cannot be cancelled and
|
|
64
|
+
* the request fails with an {@link AIError} describing why. Terminal
|
|
65
|
+
* tasks (`succeeded`/`failed`/`expired`) are deleted instead.
|
|
66
|
+
*/
|
|
67
|
+
cancelVideoGenerationJob(handle: VideoGenerationJob): Promise<void>;
|
|
68
|
+
/**
|
|
69
|
+
* Cheap auth-shaped check for ModelArk access: lists tasks with a page
|
|
70
|
+
* size of 1. Callers on a hot path must cache the result themselves.
|
|
71
|
+
*/
|
|
72
|
+
validateVideoGenerationAccess(): Promise<boolean>;
|
|
73
|
+
private mapTask;
|
|
74
|
+
getModels(): Promise<AIModel[]>;
|
|
75
|
+
getCapabilities(): Promise<AICapabilities>;
|
|
76
|
+
chat(_messages: AIMessage[], _options?: ChatOptions): Promise<AIResponse>;
|
|
77
|
+
complete(_prompt: string, _options?: CompletionOptions): Promise<AIResponse>;
|
|
78
|
+
message(_text: string, _options?: MessageOptions): Promise<string>;
|
|
79
|
+
embed(_text: string | string[], _options?: EmbeddingOptions): Promise<EmbeddingResponse>;
|
|
80
|
+
embedImage(_image: string | Buffer, _options?: ImageEmbeddingOptions): Promise<EmbeddingResponse>;
|
|
81
|
+
describeImage(_image: string | Buffer, _prompt?: string, _options?: ImageDescriptionOptions): Promise<string>;
|
|
82
|
+
generateImage(_prompt: string, _options?: ImageGenerationOptions): Promise<ImageGenerationResponse>;
|
|
83
|
+
stream(_messages: AIMessage[], _options?: ChatOptions): AsyncIterable<string>;
|
|
84
|
+
countTokens(_text: string): Promise<number>;
|
|
85
|
+
synthesizeSpeech(_text: string, _options?: TTSOptions): Promise<TTSResponse>;
|
|
86
|
+
streamSpeech(_text: string, _options?: TTSOptions): AsyncIterable<Buffer>;
|
|
87
|
+
cloneVoice(_options: VoiceCloneOptions): Promise<Voice>;
|
|
88
|
+
designVoice(_options: VoiceDesignOptions): Promise<Voice>;
|
|
89
|
+
getVoices(_options?: VoiceListOptions): Promise<Voice[]>;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=byteplus-modelark.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"byteplus-modelark.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/byteplus-modelark.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AICapabilities, AIInterface, AIMessage, AIModel, AIResponse, ChatOptions, ClaudeCliOptions, CompletionOptions, EmbeddingOptions, EmbeddingResponse, ImageDescriptionOptions, ImageEmbeddingOptions, ImageGenerationOptions, ImageGenerationResponse, MessageOptions, TTSOptions, TTSResponse, Voice, VoiceCloneOptions, VoiceDesignOptions, VoiceListOptions } from '../types';
|
|
1
|
+
import { AICapabilities, AIInterface, AIMessage, AIModel, AIResponse, ChatOptions, ClaudeCliOptions, CompletionOptions, EmbeddingOptions, EmbeddingResponse, ImageDescriptionOptions, ImageEmbeddingOptions, ImageGenerationOptions, ImageGenerationResponse, MessageOptions, TTSOptions, TTSResponse, VideoGenerationJob, VideoGenerationOptions, VideoGenerationResult, VideoGenerationStatusResult, Voice, VoiceCloneOptions, VoiceDesignOptions, VoiceListOptions } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* Claude CLI provider implementation that shells out to the Claude Code CLI.
|
|
4
4
|
* Supports chat completions, streaming, and leverages Claude Max subscription.
|
|
@@ -130,6 +130,11 @@ export declare class ClaudeCliProvider implements AIInterface {
|
|
|
130
130
|
* Get provider capabilities
|
|
131
131
|
*/
|
|
132
132
|
getCapabilities(): Promise<AICapabilities>;
|
|
133
|
+
submitVideoGenerationJob(_options: VideoGenerationOptions): Promise<VideoGenerationJob>;
|
|
134
|
+
getVideoGenerationJob(_handle: VideoGenerationJob): Promise<VideoGenerationStatusResult>;
|
|
135
|
+
fetchVideoGenerationResult(_handle: VideoGenerationJob): Promise<VideoGenerationResult>;
|
|
136
|
+
cancelVideoGenerationJob(_handle: VideoGenerationJob): Promise<void>;
|
|
137
|
+
validateVideoGenerationAccess(): Promise<boolean>;
|
|
133
138
|
synthesizeSpeech(_text: string, _options?: TTSOptions): Promise<TTSResponse>;
|
|
134
139
|
streamSpeech(_text: string, _options?: TTSOptions): AsyncIterable<Buffer>;
|
|
135
140
|
cloneVoice(_options: VoiceCloneOptions): Promise<Voice>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-cli.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/claude-cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,SAAS,EACT,OAAO,EACP,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EAEd,UAAU,EACV,WAAW,EACX,KAAK,EACL,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAYlB;;;;;;;GAOG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,iBAAiB,CAA4B;IAErD;;;OAGG;gBACS,OAAO,EAAE,gBAAgB;IAOrC;;;OAGG;YACW,kBAAkB;IAiChC;;;;;OAKG;YACW,OAAO;IA0DrB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAatB;;;OAGG;YACW,cAAc;IAqE5B;;;OAGG;YACY,uBAAuB;IAwFtC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAqC3B;;;OAGG;IAEH,OAAO,CAAC,WAAW;IAkCnB;;;;;;;;;;;;;;;;OAgBG;IACG,IAAI,CACR,QAAQ,EAAE,SAAS,EAAE,EACrB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC;IA4DtB;;OAEG;IACG,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,UAAU,CAAC;IAoBtB;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAiC1E;;OAEG;IACG,KAAK,CACT,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,QAAQ,GAAE,gBAAqB,GAC9B,OAAO,CAAC,iBAAiB,CAAC;IAS7B;;OAEG;IACG,UAAU,CACd,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,QAAQ,GAAE,qBAA0B,GACnC,OAAO,CAAC,iBAAiB,CAAC;IAQ7B;;;OAGG;IACG,aAAa,CACjB,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,GAAE,uBAA4B,GACrC,OAAO,CAAC,MAAM,CAAC;IAQlB;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,sBAA2B,GACpC,OAAO,CAAC,uBAAuB,CAAC;IAQnC;;OAEG;IACI,MAAM,CACX,QAAQ,EAAE,SAAS,EAAE,EACrB,OAAO,GAAE,WAAgB,GACxB,aAAa,CAAC,MAAM,CAAC;IAsCxB;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWhD;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAsCrC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-cli.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/claude-cli.ts"],"names":[],"mappings":"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"}
|