@nodetool-ai/runtime 0.7.0-rc.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bridge-protocol.d.ts +39 -0
- package/dist/bridge-protocol.d.ts.map +1 -0
- package/dist/bridge-protocol.js +39 -0
- package/dist/bridge-protocol.js.map +1 -0
- package/dist/comfy-executor.d.ts +41 -0
- package/dist/comfy-executor.d.ts.map +1 -0
- package/dist/comfy-executor.js +305 -0
- package/dist/comfy-executor.js.map +1 -0
- package/dist/context-packer.d.ts +22 -0
- package/dist/context-packer.d.ts.map +1 -0
- package/dist/context-packer.js +66 -0
- package/dist/context-packer.js.map +1 -0
- package/dist/context.d.ts +405 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +1455 -0
- package/dist/context.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/node-executor.d.ts +53 -0
- package/dist/node-executor.d.ts.map +1 -0
- package/dist/node-executor.js +9 -0
- package/dist/node-executor.js.map +1 -0
- package/dist/providers/aki-manifest.json +34 -0
- package/dist/providers/aki-provider.d.ts +65 -0
- package/dist/providers/aki-provider.d.ts.map +1 -0
- package/dist/providers/aki-provider.js +517 -0
- package/dist/providers/aki-provider.js.map +1 -0
- package/dist/providers/anthropic-provider.d.ts +55 -0
- package/dist/providers/anthropic-provider.d.ts.map +1 -0
- package/dist/providers/anthropic-provider.js +563 -0
- package/dist/providers/anthropic-provider.js.map +1 -0
- package/dist/providers/base-provider.d.ts +194 -0
- package/dist/providers/base-provider.d.ts.map +1 -0
- package/dist/providers/base-provider.js +515 -0
- package/dist/providers/base-provider.js.map +1 -0
- package/dist/providers/cerebras-provider.d.ts +20 -0
- package/dist/providers/cerebras-provider.d.ts.map +1 -0
- package/dist/providers/cerebras-provider.js +52 -0
- package/dist/providers/cerebras-provider.js.map +1 -0
- package/dist/providers/claude-agent-provider.d.ts +107 -0
- package/dist/providers/claude-agent-provider.d.ts.map +1 -0
- package/dist/providers/claude-agent-provider.js +586 -0
- package/dist/providers/claude-agent-provider.js.map +1 -0
- package/dist/providers/cohere-provider.d.ts +36 -0
- package/dist/providers/cohere-provider.d.ts.map +1 -0
- package/dist/providers/cohere-provider.js +116 -0
- package/dist/providers/cohere-provider.js.map +1 -0
- package/dist/providers/cost-calculator.d.ts +109 -0
- package/dist/providers/cost-calculator.d.ts.map +1 -0
- package/dist/providers/cost-calculator.js +475 -0
- package/dist/providers/cost-calculator.js.map +1 -0
- package/dist/providers/deepseek-provider.d.ts +25 -0
- package/dist/providers/deepseek-provider.d.ts.map +1 -0
- package/dist/providers/deepseek-provider.js +58 -0
- package/dist/providers/deepseek-provider.js.map +1 -0
- package/dist/providers/fake-provider.d.ts +52 -0
- package/dist/providers/fake-provider.d.ts.map +1 -0
- package/dist/providers/fake-provider.js +107 -0
- package/dist/providers/fake-provider.js.map +1 -0
- package/dist/providers/fal-provider.d.ts +32 -0
- package/dist/providers/fal-provider.d.ts.map +1 -0
- package/dist/providers/fal-provider.js +445 -0
- package/dist/providers/fal-provider.js.map +1 -0
- package/dist/providers/gemini-provider.d.ts +109 -0
- package/dist/providers/gemini-provider.d.ts.map +1 -0
- package/dist/providers/gemini-provider.js +943 -0
- package/dist/providers/gemini-provider.js.map +1 -0
- package/dist/providers/groq-provider.d.ts +20 -0
- package/dist/providers/groq-provider.d.ts.map +1 -0
- package/dist/providers/groq-provider.js +52 -0
- package/dist/providers/groq-provider.js.map +1 -0
- package/dist/providers/huggingface-provider.d.ts +59 -0
- package/dist/providers/huggingface-provider.d.ts.map +1 -0
- package/dist/providers/huggingface-provider.js +305 -0
- package/dist/providers/huggingface-provider.js.map +1 -0
- package/dist/providers/index.d.ts +69 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +137 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/jina-provider.d.ts +37 -0
- package/dist/providers/jina-provider.d.ts.map +1 -0
- package/dist/providers/jina-provider.js +118 -0
- package/dist/providers/jina-provider.js.map +1 -0
- package/dist/providers/kie-provider.d.ts +19 -0
- package/dist/providers/kie-provider.d.ts.map +1 -0
- package/dist/providers/kie-provider.js +118 -0
- package/dist/providers/kie-provider.js.map +1 -0
- package/dist/providers/llama-provider.d.ts +49 -0
- package/dist/providers/llama-provider.d.ts.map +1 -0
- package/dist/providers/llama-provider.js +381 -0
- package/dist/providers/llama-provider.js.map +1 -0
- package/dist/providers/lmstudio-provider.d.ts +22 -0
- package/dist/providers/lmstudio-provider.d.ts.map +1 -0
- package/dist/providers/lmstudio-provider.js +63 -0
- package/dist/providers/lmstudio-provider.js.map +1 -0
- package/dist/providers/manifest-models.d.ts +12 -0
- package/dist/providers/manifest-models.d.ts.map +1 -0
- package/dist/providers/manifest-models.js +96 -0
- package/dist/providers/manifest-models.js.map +1 -0
- package/dist/providers/meshy-provider.d.ts +53 -0
- package/dist/providers/meshy-provider.d.ts.map +1 -0
- package/dist/providers/meshy-provider.js +230 -0
- package/dist/providers/meshy-provider.js.map +1 -0
- package/dist/providers/minimax-provider.d.ts +66 -0
- package/dist/providers/minimax-provider.d.ts.map +1 -0
- package/dist/providers/minimax-provider.js +531 -0
- package/dist/providers/minimax-provider.js.map +1 -0
- package/dist/providers/mistral-provider.d.ts +26 -0
- package/dist/providers/mistral-provider.d.ts.map +1 -0
- package/dist/providers/mistral-provider.js +74 -0
- package/dist/providers/mistral-provider.js.map +1 -0
- package/dist/providers/moonshot-provider.d.ts +24 -0
- package/dist/providers/moonshot-provider.d.ts.map +1 -0
- package/dist/providers/moonshot-provider.js +43 -0
- package/dist/providers/moonshot-provider.js.map +1 -0
- package/dist/providers/ollama-provider.d.ts +71 -0
- package/dist/providers/ollama-provider.d.ts.map +1 -0
- package/dist/providers/ollama-provider.js +480 -0
- package/dist/providers/ollama-provider.js.map +1 -0
- package/dist/providers/openai-provider.d.ts +103 -0
- package/dist/providers/openai-provider.d.ts.map +1 -0
- package/dist/providers/openai-provider.js +917 -0
- package/dist/providers/openai-provider.js.map +1 -0
- package/dist/providers/openrouter-provider.d.ts +49 -0
- package/dist/providers/openrouter-provider.d.ts.map +1 -0
- package/dist/providers/openrouter-provider.js +147 -0
- package/dist/providers/openrouter-provider.js.map +1 -0
- package/dist/providers/provider-registry.d.ts +24 -0
- package/dist/providers/provider-registry.d.ts.map +1 -0
- package/dist/providers/provider-registry.js +124 -0
- package/dist/providers/provider-registry.js.map +1 -0
- package/dist/providers/python-provider.d.ts +75 -0
- package/dist/providers/python-provider.d.ts.map +1 -0
- package/dist/providers/python-provider.js +157 -0
- package/dist/providers/python-provider.js.map +1 -0
- package/dist/providers/replicate-provider.d.ts +73 -0
- package/dist/providers/replicate-provider.d.ts.map +1 -0
- package/dist/providers/replicate-provider.js +484 -0
- package/dist/providers/replicate-provider.js.map +1 -0
- package/dist/providers/rodin-provider.d.ts +41 -0
- package/dist/providers/rodin-provider.d.ts.map +1 -0
- package/dist/providers/rodin-provider.js +236 -0
- package/dist/providers/rodin-provider.js.map +1 -0
- package/dist/providers/scripted-provider.d.ts +141 -0
- package/dist/providers/scripted-provider.d.ts.map +1 -0
- package/dist/providers/scripted-provider.js +246 -0
- package/dist/providers/scripted-provider.js.map +1 -0
- package/dist/providers/together-provider.d.ts +20 -0
- package/dist/providers/together-provider.d.ts.map +1 -0
- package/dist/providers/together-provider.js +56 -0
- package/dist/providers/together-provider.js.map +1 -0
- package/dist/providers/types.d.ts +202 -0
- package/dist/providers/types.d.ts.map +1 -0
- package/dist/providers/types.js +2 -0
- package/dist/providers/types.js.map +1 -0
- package/dist/providers/vllm-provider.d.ts +22 -0
- package/dist/providers/vllm-provider.d.ts.map +1 -0
- package/dist/providers/vllm-provider.js +66 -0
- package/dist/providers/vllm-provider.js.map +1 -0
- package/dist/providers/voyage-provider.d.ts +37 -0
- package/dist/providers/voyage-provider.d.ts.map +1 -0
- package/dist/providers/voyage-provider.js +124 -0
- package/dist/providers/voyage-provider.js.map +1 -0
- package/dist/providers/xai-provider.d.ts +24 -0
- package/dist/providers/xai-provider.d.ts.map +1 -0
- package/dist/providers/xai-provider.js +57 -0
- package/dist/providers/xai-provider.js.map +1 -0
- package/dist/python-bridge-types.d.ts +70 -0
- package/dist/python-bridge-types.d.ts.map +1 -0
- package/dist/python-bridge-types.js +2 -0
- package/dist/python-bridge-types.js.map +1 -0
- package/dist/python-node-executor.d.ts +20 -0
- package/dist/python-node-executor.d.ts.map +1 -0
- package/dist/python-node-executor.js +219 -0
- package/dist/python-node-executor.js.map +1 -0
- package/dist/python-stdio-bridge.d.ts +67 -0
- package/dist/python-stdio-bridge.d.ts.map +1 -0
- package/dist/python-stdio-bridge.js +704 -0
- package/dist/python-stdio-bridge.js.map +1 -0
- package/dist/recommended-models.d.ts +17 -0
- package/dist/recommended-models.d.ts.map +1 -0
- package/dist/recommended-models.js +139 -0
- package/dist/recommended-models.js.map +1 -0
- package/dist/telemetry.d.ts +61 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +128 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/trace-exporters.d.ts +72 -0
- package/dist/trace-exporters.d.ts.map +1 -0
- package/dist/trace-exporters.js +216 -0
- package/dist/trace-exporters.js.map +1 -0
- package/dist/tracing-helpers.d.ts +99 -0
- package/dist/tracing-helpers.d.ts.map +1 -0
- package/dist/tracing-helpers.js +217 -0
- package/dist/tracing-helpers.js.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
export { CostType, CostCalculator, calculateChatCost, calculateEmbeddingCost, calculateSpeechCost, calculateWhisperCost, calculateImageCost } from "./cost-calculator.js";
|
|
2
|
+
import { AnthropicProvider } from "./anthropic-provider.js";
|
|
3
|
+
import { GeminiProvider } from "./gemini-provider.js";
|
|
4
|
+
import { LlamaProvider } from "./llama-provider.js";
|
|
5
|
+
import { OpenAIProvider } from "./openai-provider.js";
|
|
6
|
+
import { OllamaProvider } from "./ollama-provider.js";
|
|
7
|
+
import { GroqProvider } from "./groq-provider.js";
|
|
8
|
+
import { MinimaxProvider } from "./minimax-provider.js";
|
|
9
|
+
import { MistralProvider } from "./mistral-provider.js";
|
|
10
|
+
import { MoonshotProvider } from "./moonshot-provider.js";
|
|
11
|
+
import { OpenRouterProvider } from "./openrouter-provider.js";
|
|
12
|
+
import { TogetherProvider } from "./together-provider.js";
|
|
13
|
+
import { CerebrasProvider } from "./cerebras-provider.js";
|
|
14
|
+
import { DeepSeekProvider } from "./deepseek-provider.js";
|
|
15
|
+
import { XAIProvider } from "./xai-provider.js";
|
|
16
|
+
import { LMStudioProvider } from "./lmstudio-provider.js";
|
|
17
|
+
import { VLLMProvider } from "./vllm-provider.js";
|
|
18
|
+
import { HuggingFaceProvider } from "./huggingface-provider.js";
|
|
19
|
+
import { PythonProvider } from "./python-provider.js";
|
|
20
|
+
import { ReplicateProvider } from "./replicate-provider.js";
|
|
21
|
+
import { ClaudeAgentProvider } from "./claude-agent-provider.js";
|
|
22
|
+
import { FalProvider } from "./fal-provider.js";
|
|
23
|
+
import { KieProvider } from "./kie-provider.js";
|
|
24
|
+
import { AkiProvider } from "./aki-provider.js";
|
|
25
|
+
import { MeshyProvider } from "./meshy-provider.js";
|
|
26
|
+
import { RodinProvider } from "./rodin-provider.js";
|
|
27
|
+
import { CohereProvider } from "./cohere-provider.js";
|
|
28
|
+
import { VoyageProvider } from "./voyage-provider.js";
|
|
29
|
+
import { JinaProvider } from "./jina-provider.js";
|
|
30
|
+
export { BaseProvider, providerCapabilities } from "./base-provider.js";
|
|
31
|
+
export { AnthropicProvider };
|
|
32
|
+
export { ClaudeAgentProvider };
|
|
33
|
+
export { ClaudeAgentError, classifyClaudeAgentError } from "./claude-agent-provider.js";
|
|
34
|
+
export { GeminiProvider };
|
|
35
|
+
export { LlamaProvider };
|
|
36
|
+
export { OpenAIProvider };
|
|
37
|
+
export { OllamaProvider };
|
|
38
|
+
export { GroqProvider };
|
|
39
|
+
export { MinimaxProvider };
|
|
40
|
+
export { MistralProvider };
|
|
41
|
+
export { MoonshotProvider };
|
|
42
|
+
export { OpenRouterProvider };
|
|
43
|
+
export { TogetherProvider };
|
|
44
|
+
export { CerebrasProvider };
|
|
45
|
+
export { DeepSeekProvider };
|
|
46
|
+
export { XAIProvider };
|
|
47
|
+
export { LMStudioProvider };
|
|
48
|
+
export { VLLMProvider };
|
|
49
|
+
export { HuggingFaceProvider };
|
|
50
|
+
export { PythonProvider };
|
|
51
|
+
export { ReplicateProvider };
|
|
52
|
+
export { FalProvider };
|
|
53
|
+
export { KieProvider };
|
|
54
|
+
export { AkiProvider };
|
|
55
|
+
export { MeshyProvider };
|
|
56
|
+
export { RodinProvider };
|
|
57
|
+
export { CohereProvider };
|
|
58
|
+
export { VoyageProvider };
|
|
59
|
+
export { JinaProvider };
|
|
60
|
+
export { FakeProvider, createFakeToolCall, createSimpleFakeProvider, createStreamingFakeProvider, createToolCallingFakeProvider } from "./fake-provider.js";
|
|
61
|
+
export { ScriptedProvider, planScript, multiTaskPlanScript, stepScript, textScript, toolCallScript, autoScript, toolThenFinishScript } from "./scripted-provider.js";
|
|
62
|
+
export { registerProvider, getRegisteredProvider, getProvider, getProviderSecretKey, isProviderConfigured, clearProviderCache, listRegisteredProviderIds, setSecretResolver } from "./provider-registry.js";
|
|
63
|
+
import { registerProvider as registerBuiltinProvider } from "./provider-registry.js";
|
|
64
|
+
registerBuiltinProvider("openai", OpenAIProvider, {
|
|
65
|
+
OPENAI_API_KEY: process.env["OPENAI_API_KEY"]
|
|
66
|
+
});
|
|
67
|
+
registerBuiltinProvider("anthropic", AnthropicProvider, {
|
|
68
|
+
ANTHROPIC_API_KEY: process.env["ANTHROPIC_API_KEY"]
|
|
69
|
+
});
|
|
70
|
+
registerBuiltinProvider("gemini", GeminiProvider, {
|
|
71
|
+
GEMINI_API_KEY: process.env["GEMINI_API_KEY"]
|
|
72
|
+
});
|
|
73
|
+
registerBuiltinProvider("groq", GroqProvider, {
|
|
74
|
+
GROQ_API_KEY: process.env["GROQ_API_KEY"]
|
|
75
|
+
});
|
|
76
|
+
registerBuiltinProvider("mistral", MistralProvider, {
|
|
77
|
+
MISTRAL_API_KEY: process.env["MISTRAL_API_KEY"]
|
|
78
|
+
});
|
|
79
|
+
registerBuiltinProvider("moonshot", MoonshotProvider, {
|
|
80
|
+
KIMI_API_KEY: process.env["KIMI_API_KEY"]
|
|
81
|
+
});
|
|
82
|
+
registerBuiltinProvider("minimax", MinimaxProvider, {
|
|
83
|
+
MINIMAX_API_KEY: process.env["MINIMAX_API_KEY"]
|
|
84
|
+
});
|
|
85
|
+
registerBuiltinProvider("replicate", ReplicateProvider, {
|
|
86
|
+
REPLICATE_API_TOKEN: process.env["REPLICATE_API_TOKEN"]
|
|
87
|
+
});
|
|
88
|
+
registerBuiltinProvider("fal_ai", FalProvider, {
|
|
89
|
+
FAL_API_KEY: process.env["FAL_API_KEY"]
|
|
90
|
+
});
|
|
91
|
+
registerBuiltinProvider("kie", KieProvider, {
|
|
92
|
+
KIE_API_KEY: process.env["KIE_API_KEY"]
|
|
93
|
+
});
|
|
94
|
+
registerBuiltinProvider("aki", AkiProvider, {
|
|
95
|
+
AKI_API_KEY: process.env["AKI_API_KEY"]
|
|
96
|
+
});
|
|
97
|
+
registerBuiltinProvider("meshy", MeshyProvider, {
|
|
98
|
+
MESHY_API_KEY: process.env["MESHY_API_KEY"]
|
|
99
|
+
});
|
|
100
|
+
registerBuiltinProvider("rodin", RodinProvider, {
|
|
101
|
+
RODIN_API_KEY: process.env["RODIN_API_KEY"]
|
|
102
|
+
});
|
|
103
|
+
registerBuiltinProvider("openrouter", OpenRouterProvider, {
|
|
104
|
+
OPENROUTER_API_KEY: process.env["OPENROUTER_API_KEY"]
|
|
105
|
+
});
|
|
106
|
+
registerBuiltinProvider("together", TogetherProvider, {
|
|
107
|
+
TOGETHER_API_KEY: process.env["TOGETHER_API_KEY"]
|
|
108
|
+
});
|
|
109
|
+
registerBuiltinProvider("cerebras", CerebrasProvider, {
|
|
110
|
+
CEREBRAS_API_KEY: process.env["CEREBRAS_API_KEY"]
|
|
111
|
+
});
|
|
112
|
+
registerBuiltinProvider("cohere", CohereProvider, {
|
|
113
|
+
COHERE_API_KEY: process.env["COHERE_API_KEY"]
|
|
114
|
+
});
|
|
115
|
+
registerBuiltinProvider("voyage", VoyageProvider, {
|
|
116
|
+
VOYAGE_API_KEY: process.env["VOYAGE_API_KEY"]
|
|
117
|
+
});
|
|
118
|
+
registerBuiltinProvider("jina", JinaProvider, {
|
|
119
|
+
JINA_API_KEY: process.env["JINA_API_KEY"]
|
|
120
|
+
});
|
|
121
|
+
registerBuiltinProvider("deepseek", DeepSeekProvider, {
|
|
122
|
+
DEEPSEEK_API_KEY: process.env["DEEPSEEK_API_KEY"]
|
|
123
|
+
});
|
|
124
|
+
registerBuiltinProvider("xai", XAIProvider, {
|
|
125
|
+
XAI_API_KEY: process.env["XAI_API_KEY"]
|
|
126
|
+
});
|
|
127
|
+
// Local-only providers — require local servers/CLIs, skip in production
|
|
128
|
+
if (process.env["NODETOOL_ENV"] !== "production") {
|
|
129
|
+
// Ollama defaults to the standard local daemon port so the provider is
|
|
130
|
+
// usable out-of-the-box. Users running a remote instance override via env.
|
|
131
|
+
registerBuiltinProvider("ollama", OllamaProvider, {
|
|
132
|
+
OLLAMA_API_URL: process.env["OLLAMA_API_URL"] ?? "http://127.0.0.1:11434"
|
|
133
|
+
});
|
|
134
|
+
registerBuiltinProvider("lmstudio", LMStudioProvider, {});
|
|
135
|
+
registerBuiltinProvider("claude_agent", ClaudeAgentProvider, {});
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAC/B,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,EACxB,2BAA2B,EAC3B,6BAA6B,EAC9B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,cAAc,EACd,UAAU,EACV,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAOhC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AA8BrF,uBAAuB,CAAC,QAAQ,EAAE,cAAc,EAAE;IAChD,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;CAC9C,CAAC,CAAC;AACH,uBAAuB,CAAC,WAAW,EAAE,iBAAiB,EAAE;IACtD,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;CACpD,CAAC,CAAC;AACH,uBAAuB,CAAC,QAAQ,EAAE,cAAc,EAAE;IAChD,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;CAC9C,CAAC,CAAC;AACH,uBAAuB,CAAC,MAAM,EAAE,YAAY,EAAE;IAC5C,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;CAC1C,CAAC,CAAC;AACH,uBAAuB,CAAC,SAAS,EAAE,eAAe,EAAE;IAClD,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;CAChD,CAAC,CAAC;AACH,uBAAuB,CAAC,UAAU,EAAE,gBAAgB,EAAE;IACpD,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;CAC1C,CAAC,CAAC;AACH,uBAAuB,CAAC,SAAS,EAAE,eAAe,EAAE;IAClD,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;CAChD,CAAC,CAAC;AACH,uBAAuB,CAAC,WAAW,EAAE,iBAAiB,EAAE;IACtD,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;CACxD,CAAC,CAAC;AACH,uBAAuB,CAAC,QAAQ,EAAE,WAAW,EAAE;IAC7C,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;CACxC,CAAC,CAAC;AACH,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE;IAC1C,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;CACxC,CAAC,CAAC;AACH,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE;IAC1C,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;CACxC,CAAC,CAAC;AACH,uBAAuB,CAAC,OAAO,EAAE,aAAa,EAAE;IAC9C,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;CAC5C,CAAC,CAAC;AACH,uBAAuB,CAAC,OAAO,EAAE,aAAa,EAAE;IAC9C,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;CAC5C,CAAC,CAAC;AACH,uBAAuB,CAAC,YAAY,EAAE,kBAAkB,EAAE;IACxD,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;CACtD,CAAC,CAAC;AACH,uBAAuB,CAAC,UAAU,EAAE,gBAAgB,EAAE;IACpD,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;CAClD,CAAC,CAAC;AACH,uBAAuB,CAAC,UAAU,EAAE,gBAAgB,EAAE;IACpD,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;CAClD,CAAC,CAAC;AACH,uBAAuB,CAAC,QAAQ,EAAE,cAAc,EAAE;IAChD,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;CAC9C,CAAC,CAAC;AACH,uBAAuB,CAAC,QAAQ,EAAE,cAAc,EAAE;IAChD,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;CAC9C,CAAC,CAAC;AACH,uBAAuB,CAAC,MAAM,EAAE,YAAY,EAAE;IAC5C,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;CAC1C,CAAC,CAAC;AACH,uBAAuB,CAAC,UAAU,EAAE,gBAAgB,EAAE;IACpD,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;CAClD,CAAC,CAAC;AACH,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE;IAC1C,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;CACxC,CAAC,CAAC;AAEH,wEAAwE;AACxE,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,YAAY,EAAE,CAAC;IACjD,uEAAuE;IACvE,2EAA2E;IAC3E,uBAAuB,CAAC,QAAQ,EAAE,cAAc,EAAE;QAChD,cAAc,EACZ,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,wBAAwB;KAC5D,CAAC,CAAC;IACH,uBAAuB,CAAC,UAAU,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAC1D,uBAAuB,CAAC,cAAc,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Jina AI Provider — exposes Jina's `/v1/embeddings` API through the standard
|
|
3
|
+
* {@link BaseProvider} interface. The wire format is OpenAI-compatible.
|
|
4
|
+
*
|
|
5
|
+
* API docs: https://api.jina.ai/redoc
|
|
6
|
+
*/
|
|
7
|
+
import { BaseProvider } from "./base-provider.js";
|
|
8
|
+
import type { EmbeddingModel, Message, ProviderStreamItem } from "./types.js";
|
|
9
|
+
export interface JinaProviderOptions {
|
|
10
|
+
fetchFn?: typeof fetch;
|
|
11
|
+
/**
|
|
12
|
+
* Jina-specific task hint. v3 supports `retrieval.passage` (default for
|
|
13
|
+
* indexing) and `retrieval.query` for query embeddings, plus
|
|
14
|
+
* `text-matching`, `classification`, and `separation`. Older v2 models
|
|
15
|
+
* ignore this field.
|
|
16
|
+
*/
|
|
17
|
+
task?: string | null;
|
|
18
|
+
}
|
|
19
|
+
export declare class JinaProvider extends BaseProvider {
|
|
20
|
+
static requiredSecrets(): string[];
|
|
21
|
+
private readonly apiKey;
|
|
22
|
+
private readonly _fetch;
|
|
23
|
+
private readonly task;
|
|
24
|
+
constructor(secrets?: {
|
|
25
|
+
JINA_API_KEY?: string;
|
|
26
|
+
}, options?: JinaProviderOptions);
|
|
27
|
+
getContainerEnv(): Record<string, string>;
|
|
28
|
+
generateMessage(_args: Parameters<BaseProvider["generateMessage"]>[0]): Promise<Message>;
|
|
29
|
+
generateMessages(_args: Parameters<BaseProvider["generateMessages"]>[0]): AsyncGenerator<ProviderStreamItem>;
|
|
30
|
+
getAvailableEmbeddingModels(): Promise<EmbeddingModel[]>;
|
|
31
|
+
generateEmbedding(args: {
|
|
32
|
+
text: string | string[];
|
|
33
|
+
model: string;
|
|
34
|
+
dimensions?: number;
|
|
35
|
+
}): Promise<number[][]>;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=jina-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jina-provider.d.ts","sourceRoot":"","sources":["../../src/providers/jina-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EACV,cAAc,EACd,OAAO,EACP,kBAAkB,EACnB,MAAM,YAAY,CAAC;AA6CpB,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,qBAAa,YAAa,SAAQ,YAAY;WAC5B,eAAe,IAAI,MAAM,EAAE;IAI3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;gBAGnC,OAAO,GAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO,EACvC,OAAO,GAAE,mBAAwB;IAW1B,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAI5C,eAAe,CACnB,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,GACpD,OAAO,CAAC,OAAO,CAAC;IAIZ,gBAAgB,CACrB,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,GACrD,cAAc,CAAC,kBAAkB,CAAC;IAKtB,2BAA2B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAIxD,iBAAiB,CAAC,IAAI,EAAE;QACrC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;CAgDxB"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Jina AI Provider — exposes Jina's `/v1/embeddings` API through the standard
|
|
3
|
+
* {@link BaseProvider} interface. The wire format is OpenAI-compatible.
|
|
4
|
+
*
|
|
5
|
+
* API docs: https://api.jina.ai/redoc
|
|
6
|
+
*/
|
|
7
|
+
import { BaseProvider } from "./base-provider.js";
|
|
8
|
+
import { createLogger } from "@nodetool-ai/config";
|
|
9
|
+
const log = createLogger("nodetool.runtime.providers.jina");
|
|
10
|
+
const JINA_API_BASE_URL = "https://api.jina.ai/v1";
|
|
11
|
+
const JINA_EMBEDDING_MODELS = [
|
|
12
|
+
{
|
|
13
|
+
id: "jina-embeddings-v3",
|
|
14
|
+
name: "Jina Embeddings v3",
|
|
15
|
+
provider: "jina",
|
|
16
|
+
dimensions: 1024
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
id: "jina-clip-v2",
|
|
20
|
+
name: "Jina CLIP v2",
|
|
21
|
+
provider: "jina",
|
|
22
|
+
dimensions: 1024
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: "jina-embeddings-v2-base-en",
|
|
26
|
+
name: "Jina Embeddings v2 Base (English)",
|
|
27
|
+
provider: "jina",
|
|
28
|
+
dimensions: 768
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: "jina-embeddings-v2-base-de",
|
|
32
|
+
name: "Jina Embeddings v2 Base (German)",
|
|
33
|
+
provider: "jina",
|
|
34
|
+
dimensions: 768
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
id: "jina-embeddings-v2-base-zh",
|
|
38
|
+
name: "Jina Embeddings v2 Base (Chinese)",
|
|
39
|
+
provider: "jina",
|
|
40
|
+
dimensions: 768
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
id: "jina-embeddings-v2-base-code",
|
|
44
|
+
name: "Jina Embeddings v2 Base (Code)",
|
|
45
|
+
provider: "jina",
|
|
46
|
+
dimensions: 768
|
|
47
|
+
}
|
|
48
|
+
];
|
|
49
|
+
export class JinaProvider extends BaseProvider {
|
|
50
|
+
static requiredSecrets() {
|
|
51
|
+
return ["JINA_API_KEY"];
|
|
52
|
+
}
|
|
53
|
+
apiKey;
|
|
54
|
+
_fetch;
|
|
55
|
+
task;
|
|
56
|
+
constructor(secrets = {}, options = {}) {
|
|
57
|
+
super("jina");
|
|
58
|
+
this.apiKey = secrets.JINA_API_KEY ?? "";
|
|
59
|
+
this._fetch = options.fetchFn ?? globalThis.fetch.bind(globalThis);
|
|
60
|
+
this.task = options.task ?? "retrieval.passage";
|
|
61
|
+
if (!this.apiKey) {
|
|
62
|
+
log.warn("Jina API key not configured");
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
getContainerEnv() {
|
|
66
|
+
return { JINA_API_KEY: this.apiKey };
|
|
67
|
+
}
|
|
68
|
+
async generateMessage(_args) {
|
|
69
|
+
throw new Error("jina provider does not support chat generation");
|
|
70
|
+
}
|
|
71
|
+
async *generateMessages(_args) {
|
|
72
|
+
throw new Error("jina provider does not support chat generation");
|
|
73
|
+
yield* [];
|
|
74
|
+
}
|
|
75
|
+
async getAvailableEmbeddingModels() {
|
|
76
|
+
return JINA_EMBEDDING_MODELS;
|
|
77
|
+
}
|
|
78
|
+
async generateEmbedding(args) {
|
|
79
|
+
if (!this.apiKey) {
|
|
80
|
+
throw new Error("JINA_API_KEY is not configured");
|
|
81
|
+
}
|
|
82
|
+
const texts = Array.isArray(args.text) ? args.text : [args.text];
|
|
83
|
+
if (texts.length === 0 ||
|
|
84
|
+
texts.some((v) => typeof v !== "string" || v.length === 0)) {
|
|
85
|
+
throw new Error("text must not be empty");
|
|
86
|
+
}
|
|
87
|
+
const model = args.model || "jina-embeddings-v3";
|
|
88
|
+
const body = {
|
|
89
|
+
model,
|
|
90
|
+
input: texts
|
|
91
|
+
};
|
|
92
|
+
if (this.task && model.startsWith("jina-embeddings-v3")) {
|
|
93
|
+
body.task = this.task;
|
|
94
|
+
}
|
|
95
|
+
if (args.dimensions) {
|
|
96
|
+
body.dimensions = args.dimensions;
|
|
97
|
+
}
|
|
98
|
+
const response = await this._fetch(`${JINA_API_BASE_URL}/embeddings`, {
|
|
99
|
+
method: "POST",
|
|
100
|
+
headers: {
|
|
101
|
+
Authorization: `Bearer ${this.apiKey}`,
|
|
102
|
+
"Content-Type": "application/json"
|
|
103
|
+
},
|
|
104
|
+
body: JSON.stringify(body)
|
|
105
|
+
});
|
|
106
|
+
if (!response.ok) {
|
|
107
|
+
const errText = await response.text().catch(() => "");
|
|
108
|
+
throw new Error(`Jina embedding error ${response.status}: ${errText}`);
|
|
109
|
+
}
|
|
110
|
+
const data = (await response.json());
|
|
111
|
+
const rows = data.data ?? [];
|
|
112
|
+
return rows
|
|
113
|
+
.slice()
|
|
114
|
+
.sort((a, b) => (a.index ?? 0) - (b.index ?? 0))
|
|
115
|
+
.map((row) => row.embedding);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=jina-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jina-provider.js","sourceRoot":"","sources":["../../src/providers/jina-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kie.ai Provider — wraps the Kie.ai API to expose image, video, and audio
|
|
3
|
+
* generation through the standard BaseProvider interface.
|
|
4
|
+
*
|
|
5
|
+
* Model lists are loaded from the kie-manifest.json shipped by @nodetool-ai/kie-nodes.
|
|
6
|
+
*/
|
|
7
|
+
import { BaseProvider } from "./base-provider.js";
|
|
8
|
+
import type { ImageModel, VideoModel, Message, ProviderStreamItem, TextToImageParams, TextToVideoParams } from "./types.js";
|
|
9
|
+
export declare class KieProvider extends BaseProvider {
|
|
10
|
+
private apiKey;
|
|
11
|
+
constructor(secrets?: Record<string, unknown>);
|
|
12
|
+
generateMessage(_args: Parameters<BaseProvider["generateMessage"]>[0]): Promise<Message>;
|
|
13
|
+
generateMessages(_args: Parameters<BaseProvider["generateMessages"]>[0]): AsyncGenerator<ProviderStreamItem>;
|
|
14
|
+
getAvailableVideoModels(): Promise<VideoModel[]>;
|
|
15
|
+
getAvailableImageModels(): Promise<ImageModel[]>;
|
|
16
|
+
textToVideo(params: TextToVideoParams): Promise<Uint8Array>;
|
|
17
|
+
textToImage(params: TextToImageParams): Promise<Uint8Array>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=kie-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kie-provider.d.ts","sourceRoot":"","sources":["../../src/providers/kie-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,OAAO,EACP,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAiFpB,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAK3C,eAAe,CACnB,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,GACpD,OAAO,CAAC,OAAO,CAAC;IAIZ,gBAAgB,CACrB,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,GACrD,cAAc,CAAC,kBAAkB,CAAC;IAItB,uBAAuB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAIhD,uBAAuB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAIhD,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAiB3D,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;CAY3E"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kie.ai Provider — wraps the Kie.ai API to expose image, video, and audio
|
|
3
|
+
* generation through the standard BaseProvider interface.
|
|
4
|
+
*
|
|
5
|
+
* Model lists are loaded from the kie-manifest.json shipped by @nodetool-ai/kie-nodes.
|
|
6
|
+
*/
|
|
7
|
+
import { BaseProvider } from "./base-provider.js";
|
|
8
|
+
import { createLogger } from "@nodetool-ai/config";
|
|
9
|
+
import { loadVideoModels, loadImageModels } from "./manifest-models.js";
|
|
10
|
+
const log = createLogger("nodetool.runtime.providers.kie");
|
|
11
|
+
const KIE_API_BASE = "https://api.kie.ai";
|
|
12
|
+
function headers(apiKey) {
|
|
13
|
+
return {
|
|
14
|
+
Authorization: `Bearer ${apiKey}`,
|
|
15
|
+
"Content-Type": "application/json"
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
async function submitTask(apiKey, model, input) {
|
|
19
|
+
const res = await fetch(`${KIE_API_BASE}/api/v1/jobs/createTask`, {
|
|
20
|
+
method: "POST",
|
|
21
|
+
headers: headers(apiKey),
|
|
22
|
+
body: JSON.stringify({ model, input })
|
|
23
|
+
});
|
|
24
|
+
const data = (await res.json());
|
|
25
|
+
if (!res.ok) {
|
|
26
|
+
throw new Error(`Kie submit failed: ${res.status} ${JSON.stringify(data)}`);
|
|
27
|
+
}
|
|
28
|
+
const taskId = data.data?.taskId;
|
|
29
|
+
if (!taskId) {
|
|
30
|
+
throw new Error(`No taskId in Kie response: ${JSON.stringify(data)}`);
|
|
31
|
+
}
|
|
32
|
+
return taskId;
|
|
33
|
+
}
|
|
34
|
+
async function pollUntilDone(apiKey, taskId, pollInterval = 4000, maxAttempts = 300) {
|
|
35
|
+
const url = `${KIE_API_BASE}/api/v1/jobs/recordInfo?taskId=${taskId}`;
|
|
36
|
+
for (let i = 0; i < maxAttempts; i++) {
|
|
37
|
+
const res = await fetch(url, { headers: headers(apiKey) });
|
|
38
|
+
const data = (await res.json());
|
|
39
|
+
const state = data.data?.state;
|
|
40
|
+
if (state === "success")
|
|
41
|
+
return;
|
|
42
|
+
if (state === "failed") {
|
|
43
|
+
const msg = data.data?.failMsg || "Unknown error";
|
|
44
|
+
throw new Error(`Kie task failed: ${msg}`);
|
|
45
|
+
}
|
|
46
|
+
await new Promise((r) => setTimeout(r, pollInterval));
|
|
47
|
+
}
|
|
48
|
+
throw new Error(`Kie task timed out after ${maxAttempts * pollInterval}ms`);
|
|
49
|
+
}
|
|
50
|
+
async function downloadResultBytes(apiKey, taskId) {
|
|
51
|
+
const url = `${KIE_API_BASE}/api/v1/jobs/recordInfo?taskId=${taskId}`;
|
|
52
|
+
const res = await fetch(url, { headers: headers(apiKey) });
|
|
53
|
+
if (!res.ok)
|
|
54
|
+
throw new Error(`Failed to get Kie result: ${res.status}`);
|
|
55
|
+
const data = (await res.json());
|
|
56
|
+
const resultJsonStr = data.data
|
|
57
|
+
?.resultJson;
|
|
58
|
+
if (!resultJsonStr)
|
|
59
|
+
throw new Error("No resultJson in Kie response");
|
|
60
|
+
const resultData = JSON.parse(resultJsonStr);
|
|
61
|
+
const resultUrls = resultData.resultUrls;
|
|
62
|
+
if (!resultUrls?.length)
|
|
63
|
+
throw new Error("No resultUrls in Kie resultJson");
|
|
64
|
+
const dlRes = await fetch(resultUrls[0]);
|
|
65
|
+
if (!dlRes.ok) {
|
|
66
|
+
throw new Error(`Failed to download from ${resultUrls[0]}`);
|
|
67
|
+
}
|
|
68
|
+
return new Uint8Array(await dlRes.arrayBuffer());
|
|
69
|
+
}
|
|
70
|
+
const KIE_MANIFEST_PKG = "@nodetool-ai/kie-nodes";
|
|
71
|
+
const KIE_MANIFEST_PATH = "kie-manifest.json";
|
|
72
|
+
export class KieProvider extends BaseProvider {
|
|
73
|
+
apiKey;
|
|
74
|
+
constructor(secrets = {}) {
|
|
75
|
+
super("kie");
|
|
76
|
+
this.apiKey = secrets["KIE_API_KEY"] ?? "";
|
|
77
|
+
}
|
|
78
|
+
async generateMessage(_args) {
|
|
79
|
+
throw new Error("Kie does not support chat generation");
|
|
80
|
+
}
|
|
81
|
+
async *generateMessages(_args) {
|
|
82
|
+
throw new Error("Kie does not support chat generation");
|
|
83
|
+
}
|
|
84
|
+
async getAvailableVideoModels() {
|
|
85
|
+
return loadVideoModels(KIE_MANIFEST_PKG, KIE_MANIFEST_PATH, "kie");
|
|
86
|
+
}
|
|
87
|
+
async getAvailableImageModels() {
|
|
88
|
+
return loadImageModels(KIE_MANIFEST_PKG, KIE_MANIFEST_PATH, "kie");
|
|
89
|
+
}
|
|
90
|
+
async textToVideo(params) {
|
|
91
|
+
if (!params.prompt)
|
|
92
|
+
throw new Error("Prompt is required");
|
|
93
|
+
const input = { prompt: params.prompt };
|
|
94
|
+
if (params.aspectRatio)
|
|
95
|
+
input.aspect_ratio = params.aspectRatio;
|
|
96
|
+
if (params.numFrames) {
|
|
97
|
+
input.duration = Math.ceil(params.numFrames / 24);
|
|
98
|
+
}
|
|
99
|
+
const modelId = params.model.id;
|
|
100
|
+
log.debug("Kie textToVideo", { model: modelId });
|
|
101
|
+
const taskId = await submitTask(this.apiKey, modelId, input);
|
|
102
|
+
await pollUntilDone(this.apiKey, taskId);
|
|
103
|
+
return downloadResultBytes(this.apiKey, taskId);
|
|
104
|
+
}
|
|
105
|
+
async textToImage(params) {
|
|
106
|
+
const input = { prompt: params.prompt };
|
|
107
|
+
if (params.width)
|
|
108
|
+
input.width = params.width;
|
|
109
|
+
if (params.height)
|
|
110
|
+
input.height = params.height;
|
|
111
|
+
const modelId = params.model.id;
|
|
112
|
+
log.debug("Kie textToImage", { model: modelId });
|
|
113
|
+
const taskId = await submitTask(this.apiKey, modelId, input);
|
|
114
|
+
await pollUntilDone(this.apiKey, taskId);
|
|
115
|
+
return downloadResultBytes(this.apiKey, taskId);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=kie-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kie-provider.js","sourceRoot":"","sources":["../../src/providers/kie-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import OpenAI from "openai";
|
|
2
|
+
import { BaseProvider } from "./base-provider.js";
|
|
3
|
+
import type { LanguageModel, Message, ProviderStreamItem, ProviderTool } from "./types.js";
|
|
4
|
+
interface LlamaProviderOptions {
|
|
5
|
+
client?: OpenAI;
|
|
6
|
+
clientFactory?: (baseUrl: string) => OpenAI;
|
|
7
|
+
fetchFn?: typeof fetch;
|
|
8
|
+
}
|
|
9
|
+
export declare class LlamaProvider extends BaseProvider {
|
|
10
|
+
static requiredSecrets(): string[];
|
|
11
|
+
readonly baseUrl: string;
|
|
12
|
+
private _client;
|
|
13
|
+
private _clientFactory;
|
|
14
|
+
private _fetch;
|
|
15
|
+
constructor(secrets: {
|
|
16
|
+
LLAMA_CPP_URL?: string;
|
|
17
|
+
}, options?: LlamaProviderOptions);
|
|
18
|
+
getContainerEnv(): Record<string, string>;
|
|
19
|
+
private getClient;
|
|
20
|
+
hasToolSupport(_model: string): Promise<boolean>;
|
|
21
|
+
getAvailableLanguageModels(): Promise<LanguageModel[]>;
|
|
22
|
+
private normalizeMessagesForLlama;
|
|
23
|
+
convertMessage(message: Message): Promise<Record<string, unknown>>;
|
|
24
|
+
formatTools(tools: ProviderTool[]): Array<Record<string, unknown>>;
|
|
25
|
+
generateMessages(args: {
|
|
26
|
+
messages: Message[];
|
|
27
|
+
model: string;
|
|
28
|
+
tools?: ProviderTool[];
|
|
29
|
+
maxTokens?: number;
|
|
30
|
+
temperature?: number;
|
|
31
|
+
topP?: number;
|
|
32
|
+
presencePenalty?: number;
|
|
33
|
+
frequencyPenalty?: number;
|
|
34
|
+
audio?: Record<string, unknown>;
|
|
35
|
+
}): AsyncGenerator<ProviderStreamItem>;
|
|
36
|
+
generateMessage(args: {
|
|
37
|
+
messages: Message[];
|
|
38
|
+
model: string;
|
|
39
|
+
tools?: ProviderTool[];
|
|
40
|
+
maxTokens?: number;
|
|
41
|
+
temperature?: number;
|
|
42
|
+
topP?: number;
|
|
43
|
+
presencePenalty?: number;
|
|
44
|
+
frequencyPenalty?: number;
|
|
45
|
+
}): Promise<Message>;
|
|
46
|
+
isContextLengthError(error: unknown): boolean;
|
|
47
|
+
}
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=llama-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llama-provider.d.ts","sourceRoot":"","sources":["../../src/providers/llama-provider.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EACV,aAAa,EACb,OAAO,EAEP,kBAAkB,EAClB,YAAY,EAEb,MAAM,YAAY,CAAC;AAEpB,UAAU,oBAAoB;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAyJD,qBAAa,aAAc,SAAQ,YAAY;IAC7C,MAAM,CAAC,eAAe,IAAI,MAAM,EAAE;IAIlC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,MAAM,CAAe;gBAG3B,OAAO,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,EACnC,OAAO,GAAE,oBAAyB;IAsBpC,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAKzC,OAAO,CAAC,SAAS;IAOX,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKhD,0BAA0B,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAc9C,yBAAyB;IAmDjC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IA+BxE,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAW3D,gBAAgB,CAAC,IAAI,EAAE;QAC5B,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,GAAG,cAAc,CAAC,kBAAkB,CAAC;IA0FhC,eAAe,CAAC,IAAI,EAAE;QAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC,OAAO,CAAC;IAiDpB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAU9C"}
|