blazen 0.6.2 → 0.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -8
- package/blazen.workers.js +14 -134
- package/index.d.ts +59 -14
- package/package.json +9 -9
package/README.md
CHANGED
|
@@ -130,20 +130,20 @@ console.log(result.data); // { status: "done" }
|
|
|
130
130
|
|
|
131
131
|
## LLM Integration
|
|
132
132
|
|
|
133
|
-
|
|
133
|
+
Blazen exposes a unified interface across 15+ LLM providers. All messages and responses are fully typed.
|
|
134
134
|
|
|
135
|
-
###
|
|
135
|
+
### Tier 1: construct a provider, call `complete()`
|
|
136
136
|
|
|
137
|
-
|
|
137
|
+
Each provider class has a static `create({...})` constructor:
|
|
138
138
|
|
|
139
139
|
```typescript
|
|
140
|
-
import {
|
|
140
|
+
import { OpenAiProvider, ChatMessage } from "blazen";
|
|
141
141
|
import type { ModelResponse, ToolCall, TokenUsage } from "blazen";
|
|
142
142
|
|
|
143
|
-
const model =
|
|
144
|
-
//
|
|
143
|
+
const model = OpenAiProvider.create({ apiKey: "sk-..." });
|
|
144
|
+
// also: AnthropicProvider, GroqProvider, OpenRouterProvider, FalProvider, ...
|
|
145
|
+
// omit the arg to read the key from the provider's env var (OPENAI_API_KEY, ...)
|
|
145
146
|
|
|
146
|
-
// Using static factory methods (recommended)
|
|
147
147
|
const response: ModelResponse = await model.complete([
|
|
148
148
|
ChatMessage.system("You are helpful."),
|
|
149
149
|
ChatMessage.user("What is 2+2?"),
|
|
@@ -156,7 +156,26 @@ console.log(response.finishReason); // "stop", "tool_calls", etc.
|
|
|
156
156
|
console.log(response.toolCalls); // ToolCall[] | undefined
|
|
157
157
|
```
|
|
158
158
|
|
|
159
|
-
|
|
159
|
+
### Tier 2: register many providers in one `ModelManager`
|
|
160
|
+
|
|
161
|
+
Scaling past a single model? Register providers — **local and remote** — under names in one manager and dispatch by name. Fetch an instance back with `get()` to pass around or compose:
|
|
162
|
+
|
|
163
|
+
```typescript
|
|
164
|
+
import { ModelManager, FalProvider, AnthropicProvider, ChatMessage } from "blazen";
|
|
165
|
+
|
|
166
|
+
const mgr = new ModelManager();
|
|
167
|
+
await mgr.register("fast", FalProvider.create({ apiKey: "fal-..." }));
|
|
168
|
+
await mgr.register("smart", AnthropicProvider.create({ apiKey: "sk-ant-..." }));
|
|
169
|
+
|
|
170
|
+
const response = await mgr.complete("fast", [ChatMessage.user("What is 2+2?")]);
|
|
171
|
+
const smart = await mgr.get("smart"); // the AnthropicProvider, to call or compose directly
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
> Shorthand: `Model.openai(...)`, `Model.anthropic(...)`, `Model.fal(...)`, etc. are optional static factories that build the same providers — use whichever reads better.
|
|
175
|
+
|
|
176
|
+
### ChatMessage and Role
|
|
177
|
+
|
|
178
|
+
Build messages with the `ChatMessage` class and `Role` enum. You can also construct messages with the `ChatMessage` constructor:
|
|
160
179
|
|
|
161
180
|
```typescript
|
|
162
181
|
const msg = new ChatMessage({ role: Role.User, content: "Hello" });
|
package/blazen.workers.js
CHANGED
|
@@ -55,7 +55,18 @@ const __wasi = new __WASI({ version: 'preview1' })
|
|
|
55
55
|
const __emnapiContext = __emnapiGetDefaultContext()
|
|
56
56
|
|
|
57
57
|
const __sharedMemory = new WebAssembly.Memory({
|
|
58
|
-
initial
|
|
58
|
+
// 1152 pages * 64 KiB = 72 MiB initial (grows on demand up to `maximum`).
|
|
59
|
+
// This MUST be >= the wasm module's own declared minimum memory (the
|
|
60
|
+
// `(import "env" "memory" (memory <min> ...))` field), or workerd rejects
|
|
61
|
+
// instantiation with `LinkError: memory import has N pages which is smaller
|
|
62
|
+
// than the declared initial of M`. The blazen wasm declares ~988 pages
|
|
63
|
+
// (lean) / ~1094 pages (the -tiktoken variant), so 1152 covers both with a
|
|
64
|
+
// small margin. It must ALSO stay <= 2048 pages (128 MiB), the Cloudflare
|
|
65
|
+
// Workers isolate cap — napi-rs's own 4000-page (~250 MiB) default exceeds
|
|
66
|
+
// it and fails with RangeError CF 10021. Valid window: [1094, 2048].
|
|
67
|
+
// Keep this in lockstep with napi.wasm.initialMemory in package.json (which
|
|
68
|
+
// controls the napi-generated blazen.wasi*.{cjs,js}).
|
|
69
|
+
initial: 1152,
|
|
59
70
|
maximum: 65536,
|
|
60
71
|
shared: true,
|
|
61
72
|
})
|
|
@@ -95,10 +106,6 @@ export const AnthropicProvider = __napiModule.exports.AnthropicProvider
|
|
|
95
106
|
export const JsAnthropicProvider = __napiModule.exports.JsAnthropicProvider
|
|
96
107
|
export const ApiProtocol = __napiModule.exports.ApiProtocol
|
|
97
108
|
export const JsApiProtocol = __napiModule.exports.JsApiProtocol
|
|
98
|
-
export const AssignmentContext = __napiModule.exports.AssignmentContext
|
|
99
|
-
export const JsAssignmentContext = __napiModule.exports.JsAssignmentContext
|
|
100
|
-
export const AudioGenBackend = __napiModule.exports.AudioGenBackend
|
|
101
|
-
export const JsAudioGenBackend = __napiModule.exports.JsAudioGenBackend
|
|
102
109
|
export const AudioMusicProviderDefaults = __napiModule.exports.AudioMusicProviderDefaults
|
|
103
110
|
export const JsAudioMusicProviderDefaults = __napiModule.exports.JsAudioMusicProviderDefaults
|
|
104
111
|
export const AudioSpeechProviderDefaults = __napiModule.exports.AudioSpeechProviderDefaults
|
|
@@ -117,52 +124,28 @@ export const BatchResult = __napiModule.exports.BatchResult
|
|
|
117
124
|
export const JsBatchResult = __napiModule.exports.JsBatchResult
|
|
118
125
|
export const BedrockProvider = __napiModule.exports.BedrockProvider
|
|
119
126
|
export const JsBedrockProvider = __napiModule.exports.JsBedrockProvider
|
|
120
|
-
export const BlazenPeerClient = __napiModule.exports.BlazenPeerClient
|
|
121
|
-
export const JsBlazenPeerClient = __napiModule.exports.JsBlazenPeerClient
|
|
122
|
-
export const BlazenPeerServer = __napiModule.exports.BlazenPeerServer
|
|
123
|
-
export const JsBlazenPeerServer = __napiModule.exports.JsBlazenPeerServer
|
|
124
127
|
export const BytesWrapper = __napiModule.exports.BytesWrapper
|
|
125
128
|
export const JsBytesWrapper = __napiModule.exports.JsBytesWrapper
|
|
126
129
|
export const CachedModel = __napiModule.exports.CachedModel
|
|
127
130
|
export const JsCachedModel = __napiModule.exports.JsCachedModel
|
|
128
131
|
export const CacheMiddleware = __napiModule.exports.CacheMiddleware
|
|
129
132
|
export const JsCacheMiddleware = __napiModule.exports.JsCacheMiddleware
|
|
130
|
-
export const CandleEmbedProvider = __napiModule.exports.CandleEmbedProvider
|
|
131
|
-
export const JsCandleEmbedProvider = __napiModule.exports.JsCandleEmbedProvider
|
|
132
|
-
export const CandleInferenceResult = __napiModule.exports.CandleInferenceResult
|
|
133
|
-
export const JsCandleInferenceResult = __napiModule.exports.JsCandleInferenceResult
|
|
134
|
-
export const CandleLlmProvider = __napiModule.exports.CandleLlmProvider
|
|
135
|
-
export const JsCandleLlmProvider = __napiModule.exports.JsCandleLlmProvider
|
|
136
133
|
export const ChatMessage = __napiModule.exports.ChatMessage
|
|
137
134
|
export const JsChatMessage = __napiModule.exports.JsChatMessage
|
|
138
|
-
export const ChatMessageInput = __napiModule.exports.ChatMessageInput
|
|
139
|
-
export const JsChatMessageInput = __napiModule.exports.JsChatMessageInput
|
|
140
135
|
export const ChatWindow = __napiModule.exports.ChatWindow
|
|
141
136
|
export const JsChatWindow = __napiModule.exports.JsChatWindow
|
|
142
|
-
export const CheckpointStore = __napiModule.exports.CheckpointStore
|
|
143
|
-
export const JsCheckpointStore = __napiModule.exports.JsCheckpointStore
|
|
144
137
|
export const Citation = __napiModule.exports.Citation
|
|
145
138
|
export const JsCitationClass = __napiModule.exports.JsCitationClass
|
|
146
|
-
export const CodecBackendHandle = __napiModule.exports.CodecBackendHandle
|
|
147
|
-
export const JsCodecBackendHandle = __napiModule.exports.JsCodecBackendHandle
|
|
148
139
|
export const CohereProvider = __napiModule.exports.CohereProvider
|
|
149
140
|
export const JsCohereProvider = __napiModule.exports.JsCohereProvider
|
|
150
141
|
export const ContentStore = __napiModule.exports.ContentStore
|
|
151
142
|
export const JsContentStore = __napiModule.exports.JsContentStore
|
|
152
143
|
export const Context = __napiModule.exports.Context
|
|
153
144
|
export const JsContext = __napiModule.exports.JsContext
|
|
154
|
-
export const ControlPlaneClient = __napiModule.exports.ControlPlaneClient
|
|
155
|
-
export const JsControlPlaneClient = __napiModule.exports.JsControlPlaneClient
|
|
156
|
-
export const ControlPlaneWorker = __napiModule.exports.ControlPlaneWorker
|
|
157
|
-
export const JsControlPlaneWorker = __napiModule.exports.JsControlPlaneWorker
|
|
158
|
-
export const ControlPlaneWorkerConfig = __napiModule.exports.ControlPlaneWorkerConfig
|
|
159
|
-
export const JsControlPlaneWorkerConfig = __napiModule.exports.JsControlPlaneWorkerConfig
|
|
160
145
|
export const CustomProvider = __napiModule.exports.CustomProvider
|
|
161
146
|
export const JsCustomProvider = __napiModule.exports.JsCustomProvider
|
|
162
147
|
export const DeepSeekProvider = __napiModule.exports.DeepSeekProvider
|
|
163
148
|
export const JsDeepSeekProvider = __napiModule.exports.JsDeepSeekProvider
|
|
164
|
-
export const DiffusionProvider = __napiModule.exports.DiffusionProvider
|
|
165
|
-
export const JsDiffusionProvider = __napiModule.exports.JsDiffusionProvider
|
|
166
149
|
export const DynamicEvent = __napiModule.exports.DynamicEvent
|
|
167
150
|
export const JsDynamicEvent = __napiModule.exports.JsDynamicEvent
|
|
168
151
|
export const EmbeddingModel = __napiModule.exports.EmbeddingModel
|
|
@@ -171,8 +154,6 @@ export const EmbeddingProvider = __napiModule.exports.EmbeddingProvider
|
|
|
171
154
|
export const JsEmbeddingProvider = __napiModule.exports.JsEmbeddingProvider
|
|
172
155
|
export const EmbeddingProviderDefaults = __napiModule.exports.EmbeddingProviderDefaults
|
|
173
156
|
export const JsEmbeddingProviderDefaults = __napiModule.exports.JsEmbeddingProviderDefaults
|
|
174
|
-
export const EmbedProvider = __napiModule.exports.EmbedProvider
|
|
175
|
-
export const JsEmbedProvider = __napiModule.exports.JsEmbedProvider
|
|
176
157
|
export const EstimateCounter = __napiModule.exports.EstimateCounter
|
|
177
158
|
export const JsEstimateCounter = __napiModule.exports.JsEstimateCounter
|
|
178
159
|
export const FalEmbeddingModel = __napiModule.exports.FalEmbeddingModel
|
|
@@ -181,10 +162,6 @@ export const FallbackModel = __napiModule.exports.FallbackModel
|
|
|
181
162
|
export const JsFallbackModel = __napiModule.exports.JsFallbackModel
|
|
182
163
|
export const FalProvider = __napiModule.exports.FalProvider
|
|
183
164
|
export const JsFalProvider = __napiModule.exports.JsFalProvider
|
|
184
|
-
export const FastEmbedModel = __napiModule.exports.FastEmbedModel
|
|
185
|
-
export const JsFastEmbedModel = __napiModule.exports.JsFastEmbedModel
|
|
186
|
-
export const FasterWhisperBackend = __napiModule.exports.FasterWhisperBackend
|
|
187
|
-
export const JsFasterWhisperBackend = __napiModule.exports.JsFasterWhisperBackend
|
|
188
165
|
export const FireworksProvider = __napiModule.exports.FireworksProvider
|
|
189
166
|
export const JsFireworksProvider = __napiModule.exports.JsFireworksProvider
|
|
190
167
|
export const GeminiProvider = __napiModule.exports.GeminiProvider
|
|
@@ -207,42 +184,12 @@ export const ImageProvider = __napiModule.exports.ImageProvider
|
|
|
207
184
|
export const JsImageProvider = __napiModule.exports.JsImageProvider
|
|
208
185
|
export const ImageUpscaleProviderDefaults = __napiModule.exports.ImageUpscaleProviderDefaults
|
|
209
186
|
export const JsImageUpscaleProviderDefaults = __napiModule.exports.JsImageUpscaleProviderDefaults
|
|
210
|
-
export const InferenceChunk = __napiModule.exports.InferenceChunk
|
|
211
|
-
export const JsInferenceChunk = __napiModule.exports.JsInferenceChunk
|
|
212
|
-
export const InferenceChunkStream = __napiModule.exports.InferenceChunkStream
|
|
213
|
-
export const JsInferenceChunkStream = __napiModule.exports.JsInferenceChunkStream
|
|
214
|
-
export const InferenceImage = __napiModule.exports.InferenceImage
|
|
215
|
-
export const JsInferenceImage = __napiModule.exports.JsInferenceImage
|
|
216
|
-
export const InferenceImageSource = __napiModule.exports.InferenceImageSource
|
|
217
|
-
export const JsInferenceImageSource = __napiModule.exports.JsInferenceImageSource
|
|
218
|
-
export const InferenceResult = __napiModule.exports.InferenceResult
|
|
219
|
-
export const JsInferenceResult = __napiModule.exports.JsInferenceResult
|
|
220
|
-
export const InferenceToolCall = __napiModule.exports.InferenceToolCall
|
|
221
|
-
export const JsInferenceToolCall = __napiModule.exports.JsInferenceToolCall
|
|
222
|
-
export const InferenceUsage = __napiModule.exports.InferenceUsage
|
|
223
|
-
export const JsInferenceUsage = __napiModule.exports.JsInferenceUsage
|
|
224
187
|
export const InMemoryBackend = __napiModule.exports.InMemoryBackend
|
|
225
188
|
export const JsInMemoryBackend = __napiModule.exports.JsInMemoryBackend
|
|
226
189
|
export const JobHandle = __napiModule.exports.JobHandle
|
|
227
190
|
export const JsJobHandleClass = __napiModule.exports.JsJobHandleClass
|
|
228
|
-
export const JsonlBackend = __napiModule.exports.JsonlBackend
|
|
229
|
-
export const JsJsonlBackend = __napiModule.exports.JsJsonlBackend
|
|
230
|
-
export const JsonlDataset = __napiModule.exports.JsonlDataset
|
|
231
|
-
export const JsJsonlDataset = __napiModule.exports.JsJsonlDataset
|
|
232
191
|
export const LangfuseConfig = __napiModule.exports.LangfuseConfig
|
|
233
192
|
export const JsLangfuseConfig = __napiModule.exports.JsLangfuseConfig
|
|
234
|
-
export const LlamaCppChatMessageInput = __napiModule.exports.LlamaCppChatMessageInput
|
|
235
|
-
export const JsLlamaCppChatMessageInput = __napiModule.exports.JsLlamaCppChatMessageInput
|
|
236
|
-
export const LlamaCppInferenceChunk = __napiModule.exports.LlamaCppInferenceChunk
|
|
237
|
-
export const JsLlamaCppInferenceChunk = __napiModule.exports.JsLlamaCppInferenceChunk
|
|
238
|
-
export const LlamaCppInferenceChunkStream = __napiModule.exports.LlamaCppInferenceChunkStream
|
|
239
|
-
export const JsLlamaCppInferenceChunkStream = __napiModule.exports.JsLlamaCppInferenceChunkStream
|
|
240
|
-
export const LlamaCppInferenceResult = __napiModule.exports.LlamaCppInferenceResult
|
|
241
|
-
export const JsLlamaCppInferenceResult = __napiModule.exports.JsLlamaCppInferenceResult
|
|
242
|
-
export const LlamaCppInferenceUsage = __napiModule.exports.LlamaCppInferenceUsage
|
|
243
|
-
export const JsLlamaCppInferenceUsage = __napiModule.exports.JsLlamaCppInferenceUsage
|
|
244
|
-
export const LlamaCppProvider = __napiModule.exports.LlamaCppProvider
|
|
245
|
-
export const JsLlamaCppProvider = __napiModule.exports.JsLlamaCppProvider
|
|
246
193
|
export const LLMProvider = __napiModule.exports.LLMProvider
|
|
247
194
|
export const JsLLMProvider = __napiModule.exports.JsLLMProvider
|
|
248
195
|
export const LlmProviderDefaults = __napiModule.exports.LlmProviderDefaults
|
|
@@ -263,24 +210,12 @@ export const MiddlewareStack = __napiModule.exports.MiddlewareStack
|
|
|
263
210
|
export const JsMiddlewareStack = __napiModule.exports.JsMiddlewareStack
|
|
264
211
|
export const MistralProvider = __napiModule.exports.MistralProvider
|
|
265
212
|
export const JsMistralProvider = __napiModule.exports.JsMistralProvider
|
|
266
|
-
export const MistralRsProvider = __napiModule.exports.MistralRsProvider
|
|
267
|
-
export const JsMistralRsProvider = __napiModule.exports.JsMistralRsProvider
|
|
268
213
|
export const Model = __napiModule.exports.Model
|
|
269
214
|
export const JsModel = __napiModule.exports.JsModel
|
|
270
|
-
export const ModelCache = __napiModule.exports.ModelCache
|
|
271
|
-
export const JsModelCache = __napiModule.exports.JsModelCache
|
|
272
|
-
export const ModelClient = __napiModule.exports.ModelClient
|
|
273
|
-
export const JsModelClient = __napiModule.exports.JsModelClient
|
|
274
215
|
export const ModelManager = __napiModule.exports.ModelManager
|
|
275
216
|
export const JsModelManager = __napiModule.exports.JsModelManager
|
|
276
217
|
export const ModelRegistry = __napiModule.exports.ModelRegistry
|
|
277
218
|
export const JsModelRegistry = __napiModule.exports.JsModelRegistry
|
|
278
|
-
export const MusicBackendHandle = __napiModule.exports.MusicBackendHandle
|
|
279
|
-
export const JsMusicBackendHandle = __napiModule.exports.JsMusicBackendHandle
|
|
280
|
-
export const MusicgenBackend = __napiModule.exports.MusicgenBackend
|
|
281
|
-
export const JsMusicgenBackend = __napiModule.exports.JsMusicgenBackend
|
|
282
|
-
export const MusicModel = __napiModule.exports.MusicModel
|
|
283
|
-
export const JsMusicModel = __napiModule.exports.JsMusicModel
|
|
284
219
|
export const MusicProvider = __napiModule.exports.MusicProvider
|
|
285
220
|
export const JsMusicProvider = __napiModule.exports.JsMusicProvider
|
|
286
221
|
export const NoopUsageEmitter = __napiModule.exports.NoopUsageEmitter
|
|
@@ -299,8 +234,6 @@ export const ParallelStage = __napiModule.exports.ParallelStage
|
|
|
299
234
|
export const JsParallelStage = __napiModule.exports.JsParallelStage
|
|
300
235
|
export const ParallelSubWorkflowsStep = __napiModule.exports.ParallelSubWorkflowsStep
|
|
301
236
|
export const JsParallelSubWorkflowsStep = __napiModule.exports.JsParallelSubWorkflowsStep
|
|
302
|
-
export const PeerClient = __napiModule.exports.PeerClient
|
|
303
|
-
export const JsPeerClient = __napiModule.exports.JsPeerClient
|
|
304
237
|
export const PerplexityProvider = __napiModule.exports.PerplexityProvider
|
|
305
238
|
export const JsPerplexityProvider = __napiModule.exports.JsPerplexityProvider
|
|
306
239
|
export const Pipeline = __napiModule.exports.Pipeline
|
|
@@ -315,10 +248,6 @@ export const PipelineResult = __napiModule.exports.PipelineResult
|
|
|
315
248
|
export const JsPipelineResult = __napiModule.exports.JsPipelineResult
|
|
316
249
|
export const PipelineSnapshot = __napiModule.exports.PipelineSnapshot
|
|
317
250
|
export const JsPipelineSnapshot = __napiModule.exports.JsPipelineSnapshot
|
|
318
|
-
export const PreferenceJsonlDataset = __napiModule.exports.PreferenceJsonlDataset
|
|
319
|
-
export const JsPreferenceJsonlDataset = __napiModule.exports.JsPreferenceJsonlDataset
|
|
320
|
-
export const ProgressCallback = __napiModule.exports.ProgressCallback
|
|
321
|
-
export const JsProgressCallback = __napiModule.exports.JsProgressCallback
|
|
322
251
|
export const PromptFile = __napiModule.exports.PromptFile
|
|
323
252
|
export const JsPromptFile = __napiModule.exports.JsPromptFile
|
|
324
253
|
export const PromptRegistry = __napiModule.exports.PromptRegistry
|
|
@@ -327,12 +256,8 @@ export const PromptTemplate = __napiModule.exports.PromptTemplate
|
|
|
327
256
|
export const JsPromptTemplate = __napiModule.exports.JsPromptTemplate
|
|
328
257
|
export const ProviderDefaults = __napiModule.exports.ProviderDefaults
|
|
329
258
|
export const JsProviderDefaults = __napiModule.exports.JsProviderDefaults
|
|
330
|
-
export const RatedJsonlDataset = __napiModule.exports.RatedJsonlDataset
|
|
331
|
-
export const JsRatedJsonlDataset = __napiModule.exports.JsRatedJsonlDataset
|
|
332
259
|
export const ReasoningTrace = __napiModule.exports.ReasoningTrace
|
|
333
260
|
export const JsReasoningTraceClass = __napiModule.exports.JsReasoningTraceClass
|
|
334
|
-
export const RedbCheckpointStore = __napiModule.exports.RedbCheckpointStore
|
|
335
|
-
export const JsRedbCheckpointStore = __napiModule.exports.JsRedbCheckpointStore
|
|
336
261
|
export const RegistryKey = __napiModule.exports.RegistryKey
|
|
337
262
|
export const JsRegistryKey = __napiModule.exports.JsRegistryKey
|
|
338
263
|
export const RequestTiming = __napiModule.exports.RequestTiming
|
|
@@ -343,16 +268,10 @@ export const RetryMiddleware = __napiModule.exports.RetryMiddleware
|
|
|
343
268
|
export const JsRetryMiddleware = __napiModule.exports.JsRetryMiddleware
|
|
344
269
|
export const RetryModel = __napiModule.exports.RetryModel
|
|
345
270
|
export const JsRetryModel = __napiModule.exports.JsRetryModel
|
|
346
|
-
export const RvcBackend = __napiModule.exports.RvcBackend
|
|
347
|
-
export const JsRvcBackend = __napiModule.exports.JsRvcBackend
|
|
348
271
|
export const SessionNamespace = __napiModule.exports.SessionNamespace
|
|
349
272
|
export const JsSessionNamespace = __napiModule.exports.JsSessionNamespace
|
|
350
273
|
export const SessionRefRegistry = __napiModule.exports.SessionRefRegistry
|
|
351
274
|
export const JsSessionRefRegistry = __napiModule.exports.JsSessionRefRegistry
|
|
352
|
-
export const SparkTtsBackend = __napiModule.exports.SparkTtsBackend
|
|
353
|
-
export const JsSparkTtsBackend = __napiModule.exports.JsSparkTtsBackend
|
|
354
|
-
export const StableAudioBackend = __napiModule.exports.StableAudioBackend
|
|
355
|
-
export const JsStableAudioBackend = __napiModule.exports.JsStableAudioBackend
|
|
356
275
|
export const Stage = __napiModule.exports.Stage
|
|
357
276
|
export const JsStage = __napiModule.exports.JsStage
|
|
358
277
|
export const StageResult = __napiModule.exports.StageResult
|
|
@@ -373,8 +292,6 @@ export const StopEvent = __napiModule.exports.StopEvent
|
|
|
373
292
|
export const JsStopEventClass = __napiModule.exports.JsStopEventClass
|
|
374
293
|
export const StructuredOutput = __napiModule.exports.StructuredOutput
|
|
375
294
|
export const JsStructuredOutput = __napiModule.exports.JsStructuredOutput
|
|
376
|
-
export const SttBackendHandle = __napiModule.exports.SttBackendHandle
|
|
377
|
-
export const JsSttBackendHandle = __napiModule.exports.JsSttBackendHandle
|
|
378
295
|
export const SubExecutable = __napiModule.exports.SubExecutable
|
|
379
296
|
export const JsSubExecutable = __napiModule.exports.JsSubExecutable
|
|
380
297
|
export const SubPipelineStep = __napiModule.exports.SubPipelineStep
|
|
@@ -399,16 +316,10 @@ export const ToolCall = __napiModule.exports.ToolCall
|
|
|
399
316
|
export const JsToolCallClass = __napiModule.exports.JsToolCallClass
|
|
400
317
|
export const ToolDefinition = __napiModule.exports.ToolDefinition
|
|
401
318
|
export const JsToolDefinitionClass = __napiModule.exports.JsToolDefinitionClass
|
|
402
|
-
export const TractEmbedModel = __napiModule.exports.TractEmbedModel
|
|
403
|
-
export const JsTractEmbedModel = __napiModule.exports.JsTractEmbedModel
|
|
404
319
|
export const Transcription = __napiModule.exports.Transcription
|
|
405
320
|
export const JsTranscription = __napiModule.exports.JsTranscription
|
|
406
321
|
export const TranscriptionProviderDefaults = __napiModule.exports.TranscriptionProviderDefaults
|
|
407
322
|
export const JsTranscriptionProviderDefaults = __napiModule.exports.JsTranscriptionProviderDefaults
|
|
408
|
-
export const TtsBackendHandle = __napiModule.exports.TtsBackendHandle
|
|
409
|
-
export const JsTtsBackendHandle = __napiModule.exports.JsTtsBackendHandle
|
|
410
|
-
export const TtsProvider = __napiModule.exports.TtsProvider
|
|
411
|
-
export const JsTtsProvider = __napiModule.exports.JsTtsProvider
|
|
412
323
|
export const TTSProvider = __napiModule.exports.TTSProvider
|
|
413
324
|
export const JsTTSProvider = __napiModule.exports.JsTTSProvider
|
|
414
325
|
export const TypedTool = __napiModule.exports.TypedTool
|
|
@@ -421,12 +332,6 @@ export const UsageRecordingEmbeddingModel = __napiModule.exports.UsageRecordingE
|
|
|
421
332
|
export const JsUsageRecordingEmbeddingModel = __napiModule.exports.JsUsageRecordingEmbeddingModel
|
|
422
333
|
export const UsageRecordingModel = __napiModule.exports.UsageRecordingModel
|
|
423
334
|
export const JsUsageRecordingModel = __napiModule.exports.JsUsageRecordingModel
|
|
424
|
-
export const ValkeyBackend = __napiModule.exports.ValkeyBackend
|
|
425
|
-
export const JsValkeyBackend = __napiModule.exports.JsValkeyBackend
|
|
426
|
-
export const ValkeyCheckpointStore = __napiModule.exports.ValkeyCheckpointStore
|
|
427
|
-
export const JsValkeyCheckpointStore = __napiModule.exports.JsValkeyCheckpointStore
|
|
428
|
-
export const VcModel = __napiModule.exports.VcModel
|
|
429
|
-
export const JsVcModel = __napiModule.exports.JsVcModel
|
|
430
335
|
export const VcProvider = __napiModule.exports.VcProvider
|
|
431
336
|
export const JsVcProvider = __napiModule.exports.JsVcProvider
|
|
432
337
|
export const VideoProvider = __napiModule.exports.VideoProvider
|
|
@@ -437,14 +342,10 @@ export const VoiceCloningProviderDefaults = __napiModule.exports.VoiceCloningPro
|
|
|
437
342
|
export const JsVoiceCloningProviderDefaults = __napiModule.exports.JsVoiceCloningProviderDefaults
|
|
438
343
|
export const VoiceProvider = __napiModule.exports.VoiceProvider
|
|
439
344
|
export const JsVoiceProvider = __napiModule.exports.JsVoiceProvider
|
|
440
|
-
export const WhisperCppProvider = __napiModule.exports.WhisperCppProvider
|
|
441
|
-
export const JsWhisperCppProvider = __napiModule.exports.JsWhisperCppProvider
|
|
442
345
|
export const Workflow = __napiModule.exports.Workflow
|
|
443
346
|
export const JsWorkflow = __napiModule.exports.JsWorkflow
|
|
444
347
|
export const WorkflowBuilder = __napiModule.exports.WorkflowBuilder
|
|
445
348
|
export const JsWorkflowBuilder = __napiModule.exports.JsWorkflowBuilder
|
|
446
|
-
export const WorkflowCheckpoint = __napiModule.exports.WorkflowCheckpoint
|
|
447
|
-
export const JsWorkflowCheckpoint = __napiModule.exports.JsWorkflowCheckpoint
|
|
448
349
|
export const WorkflowHandler = __napiModule.exports.WorkflowHandler
|
|
449
350
|
export const JsWorkflowHandler = __napiModule.exports.JsWorkflowHandler
|
|
450
351
|
export const WorkflowHistory = __napiModule.exports.WorkflowHistory
|
|
@@ -453,13 +354,12 @@ export const WorkflowSnapshot = __napiModule.exports.WorkflowSnapshot
|
|
|
453
354
|
export const JsWorkflowSnapshot = __napiModule.exports.JsWorkflowSnapshot
|
|
454
355
|
export const XaiProvider = __napiModule.exports.XaiProvider
|
|
455
356
|
export const JsXaiProvider = __napiModule.exports.JsXaiProvider
|
|
357
|
+
export const __blazenDrainAsyncQueue = __napiModule.exports.__blazenDrainAsyncQueue
|
|
456
358
|
export const addUsageToTokenUsage = __napiModule.exports.addUsageToTokenUsage
|
|
457
359
|
export const audioInput = __napiModule.exports.audioInput
|
|
458
360
|
export const cadInput = __napiModule.exports.cadInput
|
|
459
361
|
export const CapabilityKind = __napiModule.exports.CapabilityKind
|
|
460
362
|
export const JsCapabilityKind = __napiModule.exports.JsCapabilityKind
|
|
461
|
-
export const ChatRole = __napiModule.exports.ChatRole
|
|
462
|
-
export const JsChatRole = __napiModule.exports.JsChatRole
|
|
463
363
|
export const completeBatch = __napiModule.exports.completeBatch
|
|
464
364
|
export const completeBatchConfig = __napiModule.exports.completeBatchConfig
|
|
465
365
|
export const computeAudioCost = __napiModule.exports.computeAudioCost
|
|
@@ -487,31 +387,15 @@ export const HistoryEventKindTag = __napiModule.exports.HistoryEventKindTag
|
|
|
487
387
|
export const JsHistoryEventKindTag = __napiModule.exports.JsHistoryEventKindTag
|
|
488
388
|
export const imageInput = __napiModule.exports.imageInput
|
|
489
389
|
export const initLangfuse = __napiModule.exports.initLangfuse
|
|
490
|
-
export const initOtlp = __napiModule.exports.initOtlp
|
|
491
|
-
export const initPrometheus = __napiModule.exports.initPrometheus
|
|
492
390
|
export const internEventType = __napiModule.exports.internEventType
|
|
493
391
|
export const JoinStrategy = __napiModule.exports.JoinStrategy
|
|
494
392
|
export const JsJoinStrategy = __napiModule.exports.JsJoinStrategy
|
|
495
|
-
export const JsAdmissionModeTag = __napiModule.exports.JsAdmissionModeTag
|
|
496
393
|
export const JsAuthMethod = __napiModule.exports.JsAuthMethod
|
|
497
|
-
export const JsBackendHint = __napiModule.exports.JsBackendHint
|
|
498
394
|
export const JsCacheStrategy = __napiModule.exports.JsCacheStrategy
|
|
499
395
|
export const JsContentKind = __napiModule.exports.JsContentKind
|
|
500
|
-
export const JsDiffusionScheduler = __napiModule.exports.JsDiffusionScheduler
|
|
501
396
|
export const JsFalLlmEndpointKind = __napiModule.exports.JsFalLlmEndpointKind
|
|
502
397
|
export const JsJobStatus = __napiModule.exports.JsJobStatus
|
|
503
|
-
export const JsMixedPrecision = __napiModule.exports.JsMixedPrecision
|
|
504
|
-
export const JsMusicgenVariant = __napiModule.exports.JsMusicgenVariant
|
|
505
398
|
export const JsRole = __napiModule.exports.JsRole
|
|
506
|
-
export const JsRunStatus = __napiModule.exports.JsRunStatus
|
|
507
|
-
export const JsSchedulerKind = __napiModule.exports.JsSchedulerKind
|
|
508
|
-
export const JsStableAudioVariant = __napiModule.exports.JsStableAudioVariant
|
|
509
|
-
export const JsTtsModel = __napiModule.exports.JsTtsModel
|
|
510
|
-
export const JsWhisperModel = __napiModule.exports.JsWhisperModel
|
|
511
|
-
export const LlamaCppChatRole = __napiModule.exports.LlamaCppChatRole
|
|
512
|
-
export const JsLlamaCppChatRole = __napiModule.exports.JsLlamaCppChatRole
|
|
513
|
-
export const loadClientTls = __napiModule.exports.loadClientTls
|
|
514
|
-
export const loadServerTls = __napiModule.exports.loadServerTls
|
|
515
399
|
export const lookupPricing = __napiModule.exports.lookupPricing
|
|
516
400
|
export const lookupStepBuilder = __napiModule.exports.lookupStepBuilder
|
|
517
401
|
export const LoopDecision = __napiModule.exports.LoopDecision
|
|
@@ -520,12 +404,8 @@ export const Modality = __napiModule.exports.Modality
|
|
|
520
404
|
export const JsModality = __napiModule.exports.JsModality
|
|
521
405
|
export const newRetryStack = __napiModule.exports.newRetryStack
|
|
522
406
|
export const newUsageEvent = __napiModule.exports.newUsageEvent
|
|
523
|
-
export const OtlpProtocol = __napiModule.exports.OtlpProtocol
|
|
524
|
-
export const JsOtlpProtocol = __napiModule.exports.JsOtlpProtocol
|
|
525
407
|
export const PauseReason = __napiModule.exports.PauseReason
|
|
526
408
|
export const JsPauseReason = __napiModule.exports.JsPauseReason
|
|
527
|
-
export const peerEnvelopeVersion = __napiModule.exports.peerEnvelopeVersion
|
|
528
|
-
export const peerTokenEnv = __napiModule.exports.peerTokenEnv
|
|
529
409
|
export const ProgressKind = __napiModule.exports.ProgressKind
|
|
530
410
|
export const JsProgressKind = __napiModule.exports.JsProgressKind
|
|
531
411
|
export const providerEnvVars = __napiModule.exports.providerEnvVars
|
|
@@ -543,12 +423,12 @@ export const registerNativeSerializer = __napiModule.exports.registerNativeSeria
|
|
|
543
423
|
export const registerPricing = __napiModule.exports.registerPricing
|
|
544
424
|
export const registerStepBuilder = __napiModule.exports.registerStepBuilder
|
|
545
425
|
export const resolveApiKey = __napiModule.exports.resolveApiKey
|
|
546
|
-
export const resolvePeerToken = __napiModule.exports.resolvePeerToken
|
|
547
426
|
export const resolveRetryStack = __napiModule.exports.resolveRetryStack
|
|
548
427
|
export const runAgent = __napiModule.exports.runAgent
|
|
549
428
|
export const runAgentWithCallback = __napiModule.exports.runAgentWithCallback
|
|
550
429
|
export const SessionPausePolicy = __napiModule.exports.SessionPausePolicy
|
|
551
430
|
export const JsSessionPausePolicy = __napiModule.exports.JsSessionPausePolicy
|
|
431
|
+
export const setDefaultHttpClient = __napiModule.exports.setDefaultHttpClient
|
|
552
432
|
export const simhashFromHex = __napiModule.exports.simhashFromHex
|
|
553
433
|
export const simhashToHex = __napiModule.exports.simhashToHex
|
|
554
434
|
export const StateValueKind = __napiModule.exports.StateValueKind
|
package/index.d.ts
CHANGED
|
@@ -110,6 +110,14 @@ export declare class AssignmentContext {
|
|
|
110
110
|
* string, number, boolean, null).
|
|
111
111
|
*/
|
|
112
112
|
emitEvent(eventType: string, data: any): Promise<void>
|
|
113
|
+
/**
|
|
114
|
+
* Request input from the orchestrator and await the response.
|
|
115
|
+
*
|
|
116
|
+
* `prompt` is shown to the responder; `metadata` is an arbitrary
|
|
117
|
+
* JSON-serializable payload. `timeoutMs`, when set, bounds the wait.
|
|
118
|
+
* Resolves with the JSON response value.
|
|
119
|
+
*/
|
|
120
|
+
requestInput(prompt: string, metadata: any, timeoutMs?: bigint | undefined | null): Promise<any>
|
|
113
121
|
}
|
|
114
122
|
export type JsAssignmentContext = AssignmentContext
|
|
115
123
|
|
|
@@ -1129,6 +1137,8 @@ export declare class ControlPlaneClient {
|
|
|
1129
1137
|
* away; otherwise let in-flight runs finish first.
|
|
1130
1138
|
*/
|
|
1131
1139
|
drainWorker(nodeId: string, immediate: boolean): Promise<void>
|
|
1140
|
+
/** Respond to a pending input request raised by a worker for a run. */
|
|
1141
|
+
respondToInput(runId: string, requestId: string, response: any): Promise<void>
|
|
1132
1142
|
/**
|
|
1133
1143
|
* Subscribe to events for a specific run. The returned stream is
|
|
1134
1144
|
* a JS `AsyncIterableIterator<RunEvent>` (object with both `next`
|
|
@@ -1210,6 +1220,8 @@ export declare class ControlPlaneWorkerConfig {
|
|
|
1210
1220
|
* predicates.
|
|
1211
1221
|
*/
|
|
1212
1222
|
withTag(key: string, value: string): this
|
|
1223
|
+
/** Attach a bearer token sent on the worker handshake. */
|
|
1224
|
+
withBearerToken(token: string): this
|
|
1213
1225
|
/** Override the admission mode declared at handshake. */
|
|
1214
1226
|
withAdmission(mode: JsAdmissionMode): this
|
|
1215
1227
|
/** Override the heartbeat cadence (milliseconds). */
|
|
@@ -3738,19 +3750,41 @@ export declare class ModelManager {
|
|
|
3738
3750
|
*/
|
|
3739
3751
|
constructor(config?: ModelManagerConfig | undefined | null)
|
|
3740
3752
|
/**
|
|
3741
|
-
* Register a `
|
|
3753
|
+
* Register a provider under `id` so it can be dispatched by name with
|
|
3754
|
+
* [`Self::complete`] / [`Self::stream`].
|
|
3742
3755
|
*
|
|
3743
|
-
*
|
|
3744
|
-
*
|
|
3745
|
-
*
|
|
3756
|
+
* Works for **both** tiers in one place:
|
|
3757
|
+
* - **Remote providers** (`Model.openai()`, `FalProvider.create()`, …)
|
|
3758
|
+
* register as dispatch-only entries — they own no local weights, so
|
|
3759
|
+
* they never count against a memory budget.
|
|
3760
|
+
* - **Local in-process providers** (mistral.rs, llama.cpp, candle)
|
|
3761
|
+
* additionally participate in load/unload lifecycle and per-pool LRU
|
|
3762
|
+
* eviction; `memoryEstimateBytes` reports their footprint.
|
|
3746
3763
|
*
|
|
3747
|
-
*
|
|
3748
|
-
*
|
|
3749
|
-
* register an arbitrary JS-managed resource (embedding model,
|
|
3750
|
-
* tokenizer, custom runtime, …), use
|
|
3764
|
+
* To register an arbitrary JS-managed resource (embedding model,
|
|
3765
|
+
* tokenizer, custom runtime, …) with raw lifecycle callbacks, use
|
|
3751
3766
|
* [`Self::register_local_model`] instead.
|
|
3752
3767
|
*/
|
|
3753
3768
|
register(id: string, model: JsModel, memoryEstimateBytes?: bigint | undefined | null): Promise<void>
|
|
3769
|
+
/**
|
|
3770
|
+
* Run a chat completion against the provider registered under `id`.
|
|
3771
|
+
*
|
|
3772
|
+
* Local entries are auto-loaded on first use; remote entries dispatch
|
|
3773
|
+
* straight through. Throws if `id` is not registered or was registered
|
|
3774
|
+
* for lifecycle only.
|
|
3775
|
+
*/
|
|
3776
|
+
complete(id: string, messages: Array<JsChatMessage>): Promise<JsModelResponse>
|
|
3777
|
+
/**
|
|
3778
|
+
* Streaming counterpart to [`Self::complete`]. The `onChunk` callback
|
|
3779
|
+
* receives each chunk as a typed `StreamChunk`.
|
|
3780
|
+
*/
|
|
3781
|
+
stream(id: string, messages: Array<JsChatMessage>, onChunk: StreamChunkCallbackTsfn): Promise<void>
|
|
3782
|
+
/**
|
|
3783
|
+
* Fetch the chat interface registered under `id` to use or compose
|
|
3784
|
+
* directly. Returns `null` if `id` is unknown or was registered for
|
|
3785
|
+
* lifecycle only (no chat `Model`).
|
|
3786
|
+
*/
|
|
3787
|
+
get(id: string): Promise<JsModel | null>
|
|
3754
3788
|
/**
|
|
3755
3789
|
* Register an arbitrary JS-managed local model with the manager.
|
|
3756
3790
|
*
|
|
@@ -4266,16 +4300,15 @@ export declare class OpenAiEmbeddingModel {
|
|
|
4266
4300
|
export type JsOpenAiEmbeddingModel = OpenAiEmbeddingModel
|
|
4267
4301
|
|
|
4268
4302
|
/**
|
|
4269
|
-
* An `OpenAI`
|
|
4303
|
+
* An `OpenAI` provider exposing chat completion, streaming, and text-to-speech.
|
|
4270
4304
|
*
|
|
4271
|
-
*
|
|
4272
|
-
* [`Model.openai`](crate::providers::model::JsModel::openai)
|
|
4273
|
-
*
|
|
4274
|
-
* capabilities (currently text-to-speech) that the `OpenAI` provider
|
|
4275
|
-
* implements directly.
|
|
4305
|
+
* This is the standalone class form of
|
|
4306
|
+
* [`Model.openai`](crate::providers::model::JsModel::openai); both surfaces
|
|
4307
|
+
* wrap the same Rust provider.
|
|
4276
4308
|
*
|
|
4277
4309
|
* ```typescript
|
|
4278
4310
|
* const openai = OpenAiProvider.create({ apiKey: "sk-..." });
|
|
4311
|
+
* const response = await openai.complete([ChatMessage.user("Hi")]);
|
|
4279
4312
|
* const audio = await openai.textToSpeech({
|
|
4280
4313
|
* text: "Hello, world!",
|
|
4281
4314
|
* voice: "alloy",
|
|
@@ -4292,6 +4325,16 @@ export declare class OpenAiProvider {
|
|
|
4292
4325
|
* [`OpenAiProvider::from_options`] are applied.
|
|
4293
4326
|
*/
|
|
4294
4327
|
static create(options?: JsProviderOptions | undefined | null): OpenAiProvider
|
|
4328
|
+
/** Get the model ID. */
|
|
4329
|
+
get modelId(): string
|
|
4330
|
+
/** Perform a chat completion. */
|
|
4331
|
+
complete(messages: Array<JsChatMessage>): Promise<JsModelResponse>
|
|
4332
|
+
/** Perform a chat completion with additional options. */
|
|
4333
|
+
completeWithOptions(messages: Array<JsChatMessage>, options: JsModelOptions): Promise<JsModelResponse>
|
|
4334
|
+
/** Stream a chat completion. */
|
|
4335
|
+
stream(messages: Array<JsChatMessage>, onChunk: StreamChunkCallbackTsfn): Promise<void>
|
|
4336
|
+
/** Stream a chat completion with additional options. */
|
|
4337
|
+
streamWithOptions(messages: Array<JsChatMessage>, onChunk: StreamChunkCallbackTsfn, options: JsModelOptions): Promise<void>
|
|
4295
4338
|
/** Synthesize speech from text via `OpenAI`'s `/v1/audio/speech`. */
|
|
4296
4339
|
textToSpeech(request: JsSpeechRequest): Promise<JsAudioResult>
|
|
4297
4340
|
}
|
|
@@ -8246,6 +8289,8 @@ export interface JsCitation {
|
|
|
8246
8289
|
export interface JsClientConnectOptions {
|
|
8247
8290
|
/** mTLS configuration. `None` = plaintext. */
|
|
8248
8291
|
mtls?: JsMtlsOptions
|
|
8292
|
+
/** Bearer token attached to control-plane requests. `None` = anonymous. */
|
|
8293
|
+
bearerToken?: string
|
|
8249
8294
|
}
|
|
8250
8295
|
|
|
8251
8296
|
export interface JsComputeRequest {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "blazen",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.4",
|
|
4
4
|
"description": "Blazen - Event-driven AI workflow framework for Node.js/TypeScript",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"wasm32-wasi"
|
|
31
31
|
],
|
|
32
32
|
"wasm": {
|
|
33
|
-
"initialMemory":
|
|
33
|
+
"initialMemory": 1152
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
36
|
"publishConfig": {
|
|
@@ -90,13 +90,13 @@
|
|
|
90
90
|
"verbose": true
|
|
91
91
|
},
|
|
92
92
|
"optionalDependencies": {
|
|
93
|
-
"@blazen-dev/blazen-linux-x64-gnu": "0.6.
|
|
94
|
-
"@blazen-dev/blazen-linux-x64-musl": "0.6.
|
|
95
|
-
"@blazen-dev/blazen-linux-arm64-gnu": "0.6.
|
|
96
|
-
"@blazen-dev/blazen-linux-arm64-musl": "0.6.
|
|
97
|
-
"@blazen-dev/blazen-darwin-arm64": "0.6.
|
|
98
|
-
"@blazen-dev/blazen-win32-x64-msvc": "0.6.
|
|
99
|
-
"@blazen-dev/blazen-wasm32-wasi": "0.6.
|
|
93
|
+
"@blazen-dev/blazen-linux-x64-gnu": "0.6.4",
|
|
94
|
+
"@blazen-dev/blazen-linux-x64-musl": "0.6.4",
|
|
95
|
+
"@blazen-dev/blazen-linux-arm64-gnu": "0.6.4",
|
|
96
|
+
"@blazen-dev/blazen-linux-arm64-musl": "0.6.4",
|
|
97
|
+
"@blazen-dev/blazen-darwin-arm64": "0.6.4",
|
|
98
|
+
"@blazen-dev/blazen-win32-x64-msvc": "0.6.4",
|
|
99
|
+
"@blazen-dev/blazen-wasm32-wasi": "0.6.4"
|
|
100
100
|
},
|
|
101
101
|
"scripts": {
|
|
102
102
|
"build": "napi build --release --platform --features local-all,langfuse --js index.js && node scripts/post-build.mjs",
|