@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.
Files changed (84) hide show
  1. package/README.md +87 -1
  2. package/dist/chunks/{anthropic-DA8sdt12.js → anthropic-DuYUnw8j.js} +20 -4
  3. package/dist/chunks/anthropic-DuYUnw8j.js.map +1 -0
  4. package/dist/chunks/{bedrock-DDiYFUw0.js → bedrock-ikQJAwWB.js} +19 -3
  5. package/dist/chunks/bedrock-ikQJAwWB.js.map +1 -0
  6. package/dist/chunks/{bifrost-fM9FpW_w.js → bifrost-CaYhelVL.js} +5 -4
  7. package/dist/chunks/bifrost-CaYhelVL.js.map +1 -0
  8. package/dist/chunks/byteplus-modelark-B8l8sPXu.js +473 -0
  9. package/dist/chunks/byteplus-modelark-B8l8sPXu.js.map +1 -0
  10. package/dist/chunks/{claude-cli-CnJh5KQT.js → claude-cli-DeTKk9nu.js} +19 -3
  11. package/dist/chunks/claude-cli-DeTKk9nu.js.map +1 -0
  12. package/dist/chunks/{gateway-admin-CiKvHst7.js → gateway-admin-DJXEDpUP.js} +2 -2
  13. package/dist/chunks/{gateway-admin-CiKvHst7.js.map → gateway-admin-DJXEDpUP.js.map} +1 -1
  14. package/dist/chunks/{gemini-Bu7Fke7c.js → gemini-BT8fjXWz.js} +294 -11
  15. package/dist/chunks/gemini-BT8fjXWz.js.map +1 -0
  16. package/dist/chunks/{huggingface-B07_6wHW.js → huggingface-CqzyxeLB.js} +19 -3
  17. package/dist/chunks/huggingface-CqzyxeLB.js.map +1 -0
  18. package/dist/chunks/{litellm-D_Oo9OQ_.js → litellm-viqTuSY8.js} +5 -4
  19. package/dist/chunks/litellm-viqTuSY8.js.map +1 -0
  20. package/dist/chunks/{ollama-D4ksOTO8.js → ollama-CdWqwZ05.js} +19 -3
  21. package/dist/chunks/ollama-CdWqwZ05.js.map +1 -0
  22. package/dist/chunks/{openai--F38QHiJ.js → openai-BgrK3OfW.js} +20 -4
  23. package/dist/chunks/openai-BgrK3OfW.js.map +1 -0
  24. package/dist/chunks/openai-compat-video-D_U7jo0d.js +369 -0
  25. package/dist/chunks/openai-compat-video-D_U7jo0d.js.map +1 -0
  26. package/dist/chunks/{qwen-tts-DRRbOrhA.js → qwen-tts-BXjzY7DX.js} +21 -4
  27. package/dist/chunks/qwen-tts-BXjzY7DX.js.map +1 -0
  28. package/dist/chunks/{rate-limit-BwyPGXFW.js → rate-limit-DgEhanDL.js} +4 -3
  29. package/dist/chunks/rate-limit-DgEhanDL.js.map +1 -0
  30. package/dist/chunks/{safety-CEnoJS6X.js → safety-C415clBm.js} +25 -7
  31. package/dist/chunks/safety-C415clBm.js.map +1 -0
  32. package/dist/chunks/src-CU4qWJ2c.js +740 -0
  33. package/dist/chunks/src-CU4qWJ2c.js.map +1 -0
  34. package/dist/chunks/{types-FHs-KbGL.js → types-CINwUPDo.js} +4 -2
  35. package/dist/chunks/types-CINwUPDo.js.map +1 -0
  36. package/dist/index.js +3 -717
  37. package/dist/node/factory.d.ts +9 -0
  38. package/dist/node/factory.d.ts.map +1 -1
  39. package/dist/node.d.ts +29 -0
  40. package/dist/node.d.ts.map +1 -0
  41. package/dist/node.js +198 -0
  42. package/dist/node.js.map +1 -0
  43. package/dist/shared/factory.d.ts.map +1 -1
  44. package/dist/shared/providers/anthropic.d.ts +6 -1
  45. package/dist/shared/providers/anthropic.d.ts.map +1 -1
  46. package/dist/shared/providers/bedrock.d.ts +6 -1
  47. package/dist/shared/providers/bedrock.d.ts.map +1 -1
  48. package/dist/shared/providers/bifrost.d.ts.map +1 -1
  49. package/dist/shared/providers/byteplus-modelark.d.ts +91 -0
  50. package/dist/shared/providers/byteplus-modelark.d.ts.map +1 -0
  51. package/dist/shared/providers/claude-cli.d.ts +6 -1
  52. package/dist/shared/providers/claude-cli.d.ts.map +1 -1
  53. package/dist/shared/providers/gemini.d.ts +115 -2
  54. package/dist/shared/providers/gemini.d.ts.map +1 -1
  55. package/dist/shared/providers/huggingface.d.ts +6 -1
  56. package/dist/shared/providers/huggingface.d.ts.map +1 -1
  57. package/dist/shared/providers/litellm.d.ts.map +1 -1
  58. package/dist/shared/providers/ollama.d.ts +6 -1
  59. package/dist/shared/providers/ollama.d.ts.map +1 -1
  60. package/dist/shared/providers/openai-compat-video.d.ts +98 -0
  61. package/dist/shared/providers/openai-compat-video.d.ts.map +1 -0
  62. package/dist/shared/providers/openai.d.ts +6 -1
  63. package/dist/shared/providers/openai.d.ts.map +1 -1
  64. package/dist/shared/providers/qwen-tts.d.ts +6 -1
  65. package/dist/shared/providers/qwen-tts.d.ts.map +1 -1
  66. package/dist/shared/rate-limit.d.ts.map +1 -1
  67. package/dist/shared/safety.d.ts.map +1 -1
  68. package/dist/shared/types.d.ts +343 -5
  69. package/dist/shared/types.d.ts.map +1 -1
  70. package/package.json +7 -3
  71. package/dist/chunks/anthropic-DA8sdt12.js.map +0 -1
  72. package/dist/chunks/bedrock-DDiYFUw0.js.map +0 -1
  73. package/dist/chunks/bifrost-fM9FpW_w.js.map +0 -1
  74. package/dist/chunks/claude-cli-CnJh5KQT.js.map +0 -1
  75. package/dist/chunks/gemini-Bu7Fke7c.js.map +0 -1
  76. package/dist/chunks/huggingface-B07_6wHW.js.map +0 -1
  77. package/dist/chunks/litellm-D_Oo9OQ_.js.map +0 -1
  78. package/dist/chunks/ollama-D4ksOTO8.js.map +0 -1
  79. package/dist/chunks/openai--F38QHiJ.js.map +0 -1
  80. package/dist/chunks/qwen-tts-DRRbOrhA.js.map +0 -1
  81. package/dist/chunks/rate-limit-BwyPGXFW.js.map +0 -1
  82. package/dist/chunks/safety-CEnoJS6X.js.map +0 -1
  83. package/dist/chunks/types-FHs-KbGL.js.map +0 -1
  84. package/dist/index.js.map +0 -1
@@ -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,EAWZ,MAAM,iBAAiB,CAAC;AAGzB;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,SAAS,CAC7B,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAChC,OAAO,CAAC,WAAW,CAAC,CA8NtB"}
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
@@ -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":"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"}
@@ -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,EAOX,YAAY,EAMb,MAAM,SAAS,CAAC;AAqHjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAsB,KAAK,CACzB,OAAO,GAAE,YAAY,GAAG,eAAoB,GAC3C,OAAO,CAAC,WAAW,CAAC,CA0EtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,WAAW,CAAC,CA6CtB"}
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;IA6B1C,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,UAAU,GACpB,OAAO,CAAC,WAAW,CAAC;IAQvB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;IAanE,UAAU,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC;IAQvD,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAQzD,SAAS,CAAC,QAAQ,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAQ9D,OAAO,CAAC,sBAAsB;IA2B9B,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,QAAQ;CAgCjB"}
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;IAgC1C,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,UAAU,GACpB,OAAO,CAAC,WAAW,CAAC;IAQvB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;IAanE,UAAU,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC;IAQvD,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAQzD,SAAS,CAAC,QAAQ,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;YAQhD,oBAAoB;YAwDpB,oBAAoB;IA+DlC,OAAO,CAAC,mBAAmB;IAmC3B,OAAO,CAAC,sBAAsB;IAiB9B,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,aAAa;YAqBP,oBAAoB;IAYlC,OAAO,CAAC,sBAAsB;YAoBhB,sBAAsB;YAWtB,cAAc;YAed,aAAa;YAuBb,YAAY;IAoC1B,OAAO,CAAC,4BAA4B;IAapC,OAAO,CAAC,gBAAgB;IAoCxB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,QAAQ;CAoCjB"}
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;AAsKxE;;;;;;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"}
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;IA6B1C,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,UAAU,GACpB,OAAO,CAAC,WAAW,CAAC;IAQvB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;IAanE,UAAU,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC;IAQvD,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAQzD,SAAS,CAAC,QAAQ,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;CAO/D"}
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,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,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;IA+B1C,wBAAwB,CAC5B,QAAQ,EAAE,sBAAsB,GAC/B,OAAO,CAAC,kBAAkB,CAAC;IAQxB,qBAAqB,CACzB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,2BAA2B,CAAC;IAQjC,0BAA0B,CAC9B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,qBAAqB,CAAC;IAQ3B,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpE,6BAA6B,IAAI,OAAO,CAAC,OAAO,CAAC;IAYjD,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,UAAU,GACpB,OAAO,CAAC,WAAW,CAAC;IAQvB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;IAanE,UAAU,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC;IAQvD,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAQzD,SAAS,CAAC,QAAQ,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;CAO/D"}