blazen 0.6.3 → 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 -139
- package/index.d.ts +47 -16
- 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,12 +55,18 @@ const __wasi = new __WASI({ version: 'preview1' })
|
|
|
55
55
|
const __emnapiContext = __emnapiGetDefaultContext()
|
|
56
56
|
|
|
57
57
|
const __sharedMemory = new WebAssembly.Memory({
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
//
|
|
61
|
-
//
|
|
62
|
-
//
|
|
63
|
-
|
|
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,
|
|
64
70
|
maximum: 65536,
|
|
65
71
|
shared: true,
|
|
66
72
|
})
|
|
@@ -100,10 +106,6 @@ export const AnthropicProvider = __napiModule.exports.AnthropicProvider
|
|
|
100
106
|
export const JsAnthropicProvider = __napiModule.exports.JsAnthropicProvider
|
|
101
107
|
export const ApiProtocol = __napiModule.exports.ApiProtocol
|
|
102
108
|
export const JsApiProtocol = __napiModule.exports.JsApiProtocol
|
|
103
|
-
export const AssignmentContext = __napiModule.exports.AssignmentContext
|
|
104
|
-
export const JsAssignmentContext = __napiModule.exports.JsAssignmentContext
|
|
105
|
-
export const AudioGenBackend = __napiModule.exports.AudioGenBackend
|
|
106
|
-
export const JsAudioGenBackend = __napiModule.exports.JsAudioGenBackend
|
|
107
109
|
export const AudioMusicProviderDefaults = __napiModule.exports.AudioMusicProviderDefaults
|
|
108
110
|
export const JsAudioMusicProviderDefaults = __napiModule.exports.JsAudioMusicProviderDefaults
|
|
109
111
|
export const AudioSpeechProviderDefaults = __napiModule.exports.AudioSpeechProviderDefaults
|
|
@@ -122,52 +124,28 @@ export const BatchResult = __napiModule.exports.BatchResult
|
|
|
122
124
|
export const JsBatchResult = __napiModule.exports.JsBatchResult
|
|
123
125
|
export const BedrockProvider = __napiModule.exports.BedrockProvider
|
|
124
126
|
export const JsBedrockProvider = __napiModule.exports.JsBedrockProvider
|
|
125
|
-
export const BlazenPeerClient = __napiModule.exports.BlazenPeerClient
|
|
126
|
-
export const JsBlazenPeerClient = __napiModule.exports.JsBlazenPeerClient
|
|
127
|
-
export const BlazenPeerServer = __napiModule.exports.BlazenPeerServer
|
|
128
|
-
export const JsBlazenPeerServer = __napiModule.exports.JsBlazenPeerServer
|
|
129
127
|
export const BytesWrapper = __napiModule.exports.BytesWrapper
|
|
130
128
|
export const JsBytesWrapper = __napiModule.exports.JsBytesWrapper
|
|
131
129
|
export const CachedModel = __napiModule.exports.CachedModel
|
|
132
130
|
export const JsCachedModel = __napiModule.exports.JsCachedModel
|
|
133
131
|
export const CacheMiddleware = __napiModule.exports.CacheMiddleware
|
|
134
132
|
export const JsCacheMiddleware = __napiModule.exports.JsCacheMiddleware
|
|
135
|
-
export const CandleEmbedProvider = __napiModule.exports.CandleEmbedProvider
|
|
136
|
-
export const JsCandleEmbedProvider = __napiModule.exports.JsCandleEmbedProvider
|
|
137
|
-
export const CandleInferenceResult = __napiModule.exports.CandleInferenceResult
|
|
138
|
-
export const JsCandleInferenceResult = __napiModule.exports.JsCandleInferenceResult
|
|
139
|
-
export const CandleLlmProvider = __napiModule.exports.CandleLlmProvider
|
|
140
|
-
export const JsCandleLlmProvider = __napiModule.exports.JsCandleLlmProvider
|
|
141
133
|
export const ChatMessage = __napiModule.exports.ChatMessage
|
|
142
134
|
export const JsChatMessage = __napiModule.exports.JsChatMessage
|
|
143
|
-
export const ChatMessageInput = __napiModule.exports.ChatMessageInput
|
|
144
|
-
export const JsChatMessageInput = __napiModule.exports.JsChatMessageInput
|
|
145
135
|
export const ChatWindow = __napiModule.exports.ChatWindow
|
|
146
136
|
export const JsChatWindow = __napiModule.exports.JsChatWindow
|
|
147
|
-
export const CheckpointStore = __napiModule.exports.CheckpointStore
|
|
148
|
-
export const JsCheckpointStore = __napiModule.exports.JsCheckpointStore
|
|
149
137
|
export const Citation = __napiModule.exports.Citation
|
|
150
138
|
export const JsCitationClass = __napiModule.exports.JsCitationClass
|
|
151
|
-
export const CodecBackendHandle = __napiModule.exports.CodecBackendHandle
|
|
152
|
-
export const JsCodecBackendHandle = __napiModule.exports.JsCodecBackendHandle
|
|
153
139
|
export const CohereProvider = __napiModule.exports.CohereProvider
|
|
154
140
|
export const JsCohereProvider = __napiModule.exports.JsCohereProvider
|
|
155
141
|
export const ContentStore = __napiModule.exports.ContentStore
|
|
156
142
|
export const JsContentStore = __napiModule.exports.JsContentStore
|
|
157
143
|
export const Context = __napiModule.exports.Context
|
|
158
144
|
export const JsContext = __napiModule.exports.JsContext
|
|
159
|
-
export const ControlPlaneClient = __napiModule.exports.ControlPlaneClient
|
|
160
|
-
export const JsControlPlaneClient = __napiModule.exports.JsControlPlaneClient
|
|
161
|
-
export const ControlPlaneWorker = __napiModule.exports.ControlPlaneWorker
|
|
162
|
-
export const JsControlPlaneWorker = __napiModule.exports.JsControlPlaneWorker
|
|
163
|
-
export const ControlPlaneWorkerConfig = __napiModule.exports.ControlPlaneWorkerConfig
|
|
164
|
-
export const JsControlPlaneWorkerConfig = __napiModule.exports.JsControlPlaneWorkerConfig
|
|
165
145
|
export const CustomProvider = __napiModule.exports.CustomProvider
|
|
166
146
|
export const JsCustomProvider = __napiModule.exports.JsCustomProvider
|
|
167
147
|
export const DeepSeekProvider = __napiModule.exports.DeepSeekProvider
|
|
168
148
|
export const JsDeepSeekProvider = __napiModule.exports.JsDeepSeekProvider
|
|
169
|
-
export const DiffusionProvider = __napiModule.exports.DiffusionProvider
|
|
170
|
-
export const JsDiffusionProvider = __napiModule.exports.JsDiffusionProvider
|
|
171
149
|
export const DynamicEvent = __napiModule.exports.DynamicEvent
|
|
172
150
|
export const JsDynamicEvent = __napiModule.exports.JsDynamicEvent
|
|
173
151
|
export const EmbeddingModel = __napiModule.exports.EmbeddingModel
|
|
@@ -176,8 +154,6 @@ export const EmbeddingProvider = __napiModule.exports.EmbeddingProvider
|
|
|
176
154
|
export const JsEmbeddingProvider = __napiModule.exports.JsEmbeddingProvider
|
|
177
155
|
export const EmbeddingProviderDefaults = __napiModule.exports.EmbeddingProviderDefaults
|
|
178
156
|
export const JsEmbeddingProviderDefaults = __napiModule.exports.JsEmbeddingProviderDefaults
|
|
179
|
-
export const EmbedProvider = __napiModule.exports.EmbedProvider
|
|
180
|
-
export const JsEmbedProvider = __napiModule.exports.JsEmbedProvider
|
|
181
157
|
export const EstimateCounter = __napiModule.exports.EstimateCounter
|
|
182
158
|
export const JsEstimateCounter = __napiModule.exports.JsEstimateCounter
|
|
183
159
|
export const FalEmbeddingModel = __napiModule.exports.FalEmbeddingModel
|
|
@@ -186,10 +162,6 @@ export const FallbackModel = __napiModule.exports.FallbackModel
|
|
|
186
162
|
export const JsFallbackModel = __napiModule.exports.JsFallbackModel
|
|
187
163
|
export const FalProvider = __napiModule.exports.FalProvider
|
|
188
164
|
export const JsFalProvider = __napiModule.exports.JsFalProvider
|
|
189
|
-
export const FastEmbedModel = __napiModule.exports.FastEmbedModel
|
|
190
|
-
export const JsFastEmbedModel = __napiModule.exports.JsFastEmbedModel
|
|
191
|
-
export const FasterWhisperBackend = __napiModule.exports.FasterWhisperBackend
|
|
192
|
-
export const JsFasterWhisperBackend = __napiModule.exports.JsFasterWhisperBackend
|
|
193
165
|
export const FireworksProvider = __napiModule.exports.FireworksProvider
|
|
194
166
|
export const JsFireworksProvider = __napiModule.exports.JsFireworksProvider
|
|
195
167
|
export const GeminiProvider = __napiModule.exports.GeminiProvider
|
|
@@ -212,42 +184,12 @@ export const ImageProvider = __napiModule.exports.ImageProvider
|
|
|
212
184
|
export const JsImageProvider = __napiModule.exports.JsImageProvider
|
|
213
185
|
export const ImageUpscaleProviderDefaults = __napiModule.exports.ImageUpscaleProviderDefaults
|
|
214
186
|
export const JsImageUpscaleProviderDefaults = __napiModule.exports.JsImageUpscaleProviderDefaults
|
|
215
|
-
export const InferenceChunk = __napiModule.exports.InferenceChunk
|
|
216
|
-
export const JsInferenceChunk = __napiModule.exports.JsInferenceChunk
|
|
217
|
-
export const InferenceChunkStream = __napiModule.exports.InferenceChunkStream
|
|
218
|
-
export const JsInferenceChunkStream = __napiModule.exports.JsInferenceChunkStream
|
|
219
|
-
export const InferenceImage = __napiModule.exports.InferenceImage
|
|
220
|
-
export const JsInferenceImage = __napiModule.exports.JsInferenceImage
|
|
221
|
-
export const InferenceImageSource = __napiModule.exports.InferenceImageSource
|
|
222
|
-
export const JsInferenceImageSource = __napiModule.exports.JsInferenceImageSource
|
|
223
|
-
export const InferenceResult = __napiModule.exports.InferenceResult
|
|
224
|
-
export const JsInferenceResult = __napiModule.exports.JsInferenceResult
|
|
225
|
-
export const InferenceToolCall = __napiModule.exports.InferenceToolCall
|
|
226
|
-
export const JsInferenceToolCall = __napiModule.exports.JsInferenceToolCall
|
|
227
|
-
export const InferenceUsage = __napiModule.exports.InferenceUsage
|
|
228
|
-
export const JsInferenceUsage = __napiModule.exports.JsInferenceUsage
|
|
229
187
|
export const InMemoryBackend = __napiModule.exports.InMemoryBackend
|
|
230
188
|
export const JsInMemoryBackend = __napiModule.exports.JsInMemoryBackend
|
|
231
189
|
export const JobHandle = __napiModule.exports.JobHandle
|
|
232
190
|
export const JsJobHandleClass = __napiModule.exports.JsJobHandleClass
|
|
233
|
-
export const JsonlBackend = __napiModule.exports.JsonlBackend
|
|
234
|
-
export const JsJsonlBackend = __napiModule.exports.JsJsonlBackend
|
|
235
|
-
export const JsonlDataset = __napiModule.exports.JsonlDataset
|
|
236
|
-
export const JsJsonlDataset = __napiModule.exports.JsJsonlDataset
|
|
237
191
|
export const LangfuseConfig = __napiModule.exports.LangfuseConfig
|
|
238
192
|
export const JsLangfuseConfig = __napiModule.exports.JsLangfuseConfig
|
|
239
|
-
export const LlamaCppChatMessageInput = __napiModule.exports.LlamaCppChatMessageInput
|
|
240
|
-
export const JsLlamaCppChatMessageInput = __napiModule.exports.JsLlamaCppChatMessageInput
|
|
241
|
-
export const LlamaCppInferenceChunk = __napiModule.exports.LlamaCppInferenceChunk
|
|
242
|
-
export const JsLlamaCppInferenceChunk = __napiModule.exports.JsLlamaCppInferenceChunk
|
|
243
|
-
export const LlamaCppInferenceChunkStream = __napiModule.exports.LlamaCppInferenceChunkStream
|
|
244
|
-
export const JsLlamaCppInferenceChunkStream = __napiModule.exports.JsLlamaCppInferenceChunkStream
|
|
245
|
-
export const LlamaCppInferenceResult = __napiModule.exports.LlamaCppInferenceResult
|
|
246
|
-
export const JsLlamaCppInferenceResult = __napiModule.exports.JsLlamaCppInferenceResult
|
|
247
|
-
export const LlamaCppInferenceUsage = __napiModule.exports.LlamaCppInferenceUsage
|
|
248
|
-
export const JsLlamaCppInferenceUsage = __napiModule.exports.JsLlamaCppInferenceUsage
|
|
249
|
-
export const LlamaCppProvider = __napiModule.exports.LlamaCppProvider
|
|
250
|
-
export const JsLlamaCppProvider = __napiModule.exports.JsLlamaCppProvider
|
|
251
193
|
export const LLMProvider = __napiModule.exports.LLMProvider
|
|
252
194
|
export const JsLLMProvider = __napiModule.exports.JsLLMProvider
|
|
253
195
|
export const LlmProviderDefaults = __napiModule.exports.LlmProviderDefaults
|
|
@@ -268,24 +210,12 @@ export const MiddlewareStack = __napiModule.exports.MiddlewareStack
|
|
|
268
210
|
export const JsMiddlewareStack = __napiModule.exports.JsMiddlewareStack
|
|
269
211
|
export const MistralProvider = __napiModule.exports.MistralProvider
|
|
270
212
|
export const JsMistralProvider = __napiModule.exports.JsMistralProvider
|
|
271
|
-
export const MistralRsProvider = __napiModule.exports.MistralRsProvider
|
|
272
|
-
export const JsMistralRsProvider = __napiModule.exports.JsMistralRsProvider
|
|
273
213
|
export const Model = __napiModule.exports.Model
|
|
274
214
|
export const JsModel = __napiModule.exports.JsModel
|
|
275
|
-
export const ModelCache = __napiModule.exports.ModelCache
|
|
276
|
-
export const JsModelCache = __napiModule.exports.JsModelCache
|
|
277
|
-
export const ModelClient = __napiModule.exports.ModelClient
|
|
278
|
-
export const JsModelClient = __napiModule.exports.JsModelClient
|
|
279
215
|
export const ModelManager = __napiModule.exports.ModelManager
|
|
280
216
|
export const JsModelManager = __napiModule.exports.JsModelManager
|
|
281
217
|
export const ModelRegistry = __napiModule.exports.ModelRegistry
|
|
282
218
|
export const JsModelRegistry = __napiModule.exports.JsModelRegistry
|
|
283
|
-
export const MusicBackendHandle = __napiModule.exports.MusicBackendHandle
|
|
284
|
-
export const JsMusicBackendHandle = __napiModule.exports.JsMusicBackendHandle
|
|
285
|
-
export const MusicgenBackend = __napiModule.exports.MusicgenBackend
|
|
286
|
-
export const JsMusicgenBackend = __napiModule.exports.JsMusicgenBackend
|
|
287
|
-
export const MusicModel = __napiModule.exports.MusicModel
|
|
288
|
-
export const JsMusicModel = __napiModule.exports.JsMusicModel
|
|
289
219
|
export const MusicProvider = __napiModule.exports.MusicProvider
|
|
290
220
|
export const JsMusicProvider = __napiModule.exports.JsMusicProvider
|
|
291
221
|
export const NoopUsageEmitter = __napiModule.exports.NoopUsageEmitter
|
|
@@ -304,8 +234,6 @@ export const ParallelStage = __napiModule.exports.ParallelStage
|
|
|
304
234
|
export const JsParallelStage = __napiModule.exports.JsParallelStage
|
|
305
235
|
export const ParallelSubWorkflowsStep = __napiModule.exports.ParallelSubWorkflowsStep
|
|
306
236
|
export const JsParallelSubWorkflowsStep = __napiModule.exports.JsParallelSubWorkflowsStep
|
|
307
|
-
export const PeerClient = __napiModule.exports.PeerClient
|
|
308
|
-
export const JsPeerClient = __napiModule.exports.JsPeerClient
|
|
309
237
|
export const PerplexityProvider = __napiModule.exports.PerplexityProvider
|
|
310
238
|
export const JsPerplexityProvider = __napiModule.exports.JsPerplexityProvider
|
|
311
239
|
export const Pipeline = __napiModule.exports.Pipeline
|
|
@@ -320,10 +248,6 @@ export const PipelineResult = __napiModule.exports.PipelineResult
|
|
|
320
248
|
export const JsPipelineResult = __napiModule.exports.JsPipelineResult
|
|
321
249
|
export const PipelineSnapshot = __napiModule.exports.PipelineSnapshot
|
|
322
250
|
export const JsPipelineSnapshot = __napiModule.exports.JsPipelineSnapshot
|
|
323
|
-
export const PreferenceJsonlDataset = __napiModule.exports.PreferenceJsonlDataset
|
|
324
|
-
export const JsPreferenceJsonlDataset = __napiModule.exports.JsPreferenceJsonlDataset
|
|
325
|
-
export const ProgressCallback = __napiModule.exports.ProgressCallback
|
|
326
|
-
export const JsProgressCallback = __napiModule.exports.JsProgressCallback
|
|
327
251
|
export const PromptFile = __napiModule.exports.PromptFile
|
|
328
252
|
export const JsPromptFile = __napiModule.exports.JsPromptFile
|
|
329
253
|
export const PromptRegistry = __napiModule.exports.PromptRegistry
|
|
@@ -332,12 +256,8 @@ export const PromptTemplate = __napiModule.exports.PromptTemplate
|
|
|
332
256
|
export const JsPromptTemplate = __napiModule.exports.JsPromptTemplate
|
|
333
257
|
export const ProviderDefaults = __napiModule.exports.ProviderDefaults
|
|
334
258
|
export const JsProviderDefaults = __napiModule.exports.JsProviderDefaults
|
|
335
|
-
export const RatedJsonlDataset = __napiModule.exports.RatedJsonlDataset
|
|
336
|
-
export const JsRatedJsonlDataset = __napiModule.exports.JsRatedJsonlDataset
|
|
337
259
|
export const ReasoningTrace = __napiModule.exports.ReasoningTrace
|
|
338
260
|
export const JsReasoningTraceClass = __napiModule.exports.JsReasoningTraceClass
|
|
339
|
-
export const RedbCheckpointStore = __napiModule.exports.RedbCheckpointStore
|
|
340
|
-
export const JsRedbCheckpointStore = __napiModule.exports.JsRedbCheckpointStore
|
|
341
261
|
export const RegistryKey = __napiModule.exports.RegistryKey
|
|
342
262
|
export const JsRegistryKey = __napiModule.exports.JsRegistryKey
|
|
343
263
|
export const RequestTiming = __napiModule.exports.RequestTiming
|
|
@@ -348,16 +268,10 @@ export const RetryMiddleware = __napiModule.exports.RetryMiddleware
|
|
|
348
268
|
export const JsRetryMiddleware = __napiModule.exports.JsRetryMiddleware
|
|
349
269
|
export const RetryModel = __napiModule.exports.RetryModel
|
|
350
270
|
export const JsRetryModel = __napiModule.exports.JsRetryModel
|
|
351
|
-
export const RvcBackend = __napiModule.exports.RvcBackend
|
|
352
|
-
export const JsRvcBackend = __napiModule.exports.JsRvcBackend
|
|
353
271
|
export const SessionNamespace = __napiModule.exports.SessionNamespace
|
|
354
272
|
export const JsSessionNamespace = __napiModule.exports.JsSessionNamespace
|
|
355
273
|
export const SessionRefRegistry = __napiModule.exports.SessionRefRegistry
|
|
356
274
|
export const JsSessionRefRegistry = __napiModule.exports.JsSessionRefRegistry
|
|
357
|
-
export const SparkTtsBackend = __napiModule.exports.SparkTtsBackend
|
|
358
|
-
export const JsSparkTtsBackend = __napiModule.exports.JsSparkTtsBackend
|
|
359
|
-
export const StableAudioBackend = __napiModule.exports.StableAudioBackend
|
|
360
|
-
export const JsStableAudioBackend = __napiModule.exports.JsStableAudioBackend
|
|
361
275
|
export const Stage = __napiModule.exports.Stage
|
|
362
276
|
export const JsStage = __napiModule.exports.JsStage
|
|
363
277
|
export const StageResult = __napiModule.exports.StageResult
|
|
@@ -378,8 +292,6 @@ export const StopEvent = __napiModule.exports.StopEvent
|
|
|
378
292
|
export const JsStopEventClass = __napiModule.exports.JsStopEventClass
|
|
379
293
|
export const StructuredOutput = __napiModule.exports.StructuredOutput
|
|
380
294
|
export const JsStructuredOutput = __napiModule.exports.JsStructuredOutput
|
|
381
|
-
export const SttBackendHandle = __napiModule.exports.SttBackendHandle
|
|
382
|
-
export const JsSttBackendHandle = __napiModule.exports.JsSttBackendHandle
|
|
383
295
|
export const SubExecutable = __napiModule.exports.SubExecutable
|
|
384
296
|
export const JsSubExecutable = __napiModule.exports.JsSubExecutable
|
|
385
297
|
export const SubPipelineStep = __napiModule.exports.SubPipelineStep
|
|
@@ -404,16 +316,10 @@ export const ToolCall = __napiModule.exports.ToolCall
|
|
|
404
316
|
export const JsToolCallClass = __napiModule.exports.JsToolCallClass
|
|
405
317
|
export const ToolDefinition = __napiModule.exports.ToolDefinition
|
|
406
318
|
export const JsToolDefinitionClass = __napiModule.exports.JsToolDefinitionClass
|
|
407
|
-
export const TractEmbedModel = __napiModule.exports.TractEmbedModel
|
|
408
|
-
export const JsTractEmbedModel = __napiModule.exports.JsTractEmbedModel
|
|
409
319
|
export const Transcription = __napiModule.exports.Transcription
|
|
410
320
|
export const JsTranscription = __napiModule.exports.JsTranscription
|
|
411
321
|
export const TranscriptionProviderDefaults = __napiModule.exports.TranscriptionProviderDefaults
|
|
412
322
|
export const JsTranscriptionProviderDefaults = __napiModule.exports.JsTranscriptionProviderDefaults
|
|
413
|
-
export const TtsBackendHandle = __napiModule.exports.TtsBackendHandle
|
|
414
|
-
export const JsTtsBackendHandle = __napiModule.exports.JsTtsBackendHandle
|
|
415
|
-
export const TtsProvider = __napiModule.exports.TtsProvider
|
|
416
|
-
export const JsTtsProvider = __napiModule.exports.JsTtsProvider
|
|
417
323
|
export const TTSProvider = __napiModule.exports.TTSProvider
|
|
418
324
|
export const JsTTSProvider = __napiModule.exports.JsTTSProvider
|
|
419
325
|
export const TypedTool = __napiModule.exports.TypedTool
|
|
@@ -426,12 +332,6 @@ export const UsageRecordingEmbeddingModel = __napiModule.exports.UsageRecordingE
|
|
|
426
332
|
export const JsUsageRecordingEmbeddingModel = __napiModule.exports.JsUsageRecordingEmbeddingModel
|
|
427
333
|
export const UsageRecordingModel = __napiModule.exports.UsageRecordingModel
|
|
428
334
|
export const JsUsageRecordingModel = __napiModule.exports.JsUsageRecordingModel
|
|
429
|
-
export const ValkeyBackend = __napiModule.exports.ValkeyBackend
|
|
430
|
-
export const JsValkeyBackend = __napiModule.exports.JsValkeyBackend
|
|
431
|
-
export const ValkeyCheckpointStore = __napiModule.exports.ValkeyCheckpointStore
|
|
432
|
-
export const JsValkeyCheckpointStore = __napiModule.exports.JsValkeyCheckpointStore
|
|
433
|
-
export const VcModel = __napiModule.exports.VcModel
|
|
434
|
-
export const JsVcModel = __napiModule.exports.JsVcModel
|
|
435
335
|
export const VcProvider = __napiModule.exports.VcProvider
|
|
436
336
|
export const JsVcProvider = __napiModule.exports.JsVcProvider
|
|
437
337
|
export const VideoProvider = __napiModule.exports.VideoProvider
|
|
@@ -442,14 +342,10 @@ export const VoiceCloningProviderDefaults = __napiModule.exports.VoiceCloningPro
|
|
|
442
342
|
export const JsVoiceCloningProviderDefaults = __napiModule.exports.JsVoiceCloningProviderDefaults
|
|
443
343
|
export const VoiceProvider = __napiModule.exports.VoiceProvider
|
|
444
344
|
export const JsVoiceProvider = __napiModule.exports.JsVoiceProvider
|
|
445
|
-
export const WhisperCppProvider = __napiModule.exports.WhisperCppProvider
|
|
446
|
-
export const JsWhisperCppProvider = __napiModule.exports.JsWhisperCppProvider
|
|
447
345
|
export const Workflow = __napiModule.exports.Workflow
|
|
448
346
|
export const JsWorkflow = __napiModule.exports.JsWorkflow
|
|
449
347
|
export const WorkflowBuilder = __napiModule.exports.WorkflowBuilder
|
|
450
348
|
export const JsWorkflowBuilder = __napiModule.exports.JsWorkflowBuilder
|
|
451
|
-
export const WorkflowCheckpoint = __napiModule.exports.WorkflowCheckpoint
|
|
452
|
-
export const JsWorkflowCheckpoint = __napiModule.exports.JsWorkflowCheckpoint
|
|
453
349
|
export const WorkflowHandler = __napiModule.exports.WorkflowHandler
|
|
454
350
|
export const JsWorkflowHandler = __napiModule.exports.JsWorkflowHandler
|
|
455
351
|
export const WorkflowHistory = __napiModule.exports.WorkflowHistory
|
|
@@ -458,13 +354,12 @@ export const WorkflowSnapshot = __napiModule.exports.WorkflowSnapshot
|
|
|
458
354
|
export const JsWorkflowSnapshot = __napiModule.exports.JsWorkflowSnapshot
|
|
459
355
|
export const XaiProvider = __napiModule.exports.XaiProvider
|
|
460
356
|
export const JsXaiProvider = __napiModule.exports.JsXaiProvider
|
|
357
|
+
export const __blazenDrainAsyncQueue = __napiModule.exports.__blazenDrainAsyncQueue
|
|
461
358
|
export const addUsageToTokenUsage = __napiModule.exports.addUsageToTokenUsage
|
|
462
359
|
export const audioInput = __napiModule.exports.audioInput
|
|
463
360
|
export const cadInput = __napiModule.exports.cadInput
|
|
464
361
|
export const CapabilityKind = __napiModule.exports.CapabilityKind
|
|
465
362
|
export const JsCapabilityKind = __napiModule.exports.JsCapabilityKind
|
|
466
|
-
export const ChatRole = __napiModule.exports.ChatRole
|
|
467
|
-
export const JsChatRole = __napiModule.exports.JsChatRole
|
|
468
363
|
export const completeBatch = __napiModule.exports.completeBatch
|
|
469
364
|
export const completeBatchConfig = __napiModule.exports.completeBatchConfig
|
|
470
365
|
export const computeAudioCost = __napiModule.exports.computeAudioCost
|
|
@@ -492,31 +387,15 @@ export const HistoryEventKindTag = __napiModule.exports.HistoryEventKindTag
|
|
|
492
387
|
export const JsHistoryEventKindTag = __napiModule.exports.JsHistoryEventKindTag
|
|
493
388
|
export const imageInput = __napiModule.exports.imageInput
|
|
494
389
|
export const initLangfuse = __napiModule.exports.initLangfuse
|
|
495
|
-
export const initOtlp = __napiModule.exports.initOtlp
|
|
496
|
-
export const initPrometheus = __napiModule.exports.initPrometheus
|
|
497
390
|
export const internEventType = __napiModule.exports.internEventType
|
|
498
391
|
export const JoinStrategy = __napiModule.exports.JoinStrategy
|
|
499
392
|
export const JsJoinStrategy = __napiModule.exports.JsJoinStrategy
|
|
500
|
-
export const JsAdmissionModeTag = __napiModule.exports.JsAdmissionModeTag
|
|
501
393
|
export const JsAuthMethod = __napiModule.exports.JsAuthMethod
|
|
502
|
-
export const JsBackendHint = __napiModule.exports.JsBackendHint
|
|
503
394
|
export const JsCacheStrategy = __napiModule.exports.JsCacheStrategy
|
|
504
395
|
export const JsContentKind = __napiModule.exports.JsContentKind
|
|
505
|
-
export const JsDiffusionScheduler = __napiModule.exports.JsDiffusionScheduler
|
|
506
396
|
export const JsFalLlmEndpointKind = __napiModule.exports.JsFalLlmEndpointKind
|
|
507
397
|
export const JsJobStatus = __napiModule.exports.JsJobStatus
|
|
508
|
-
export const JsMixedPrecision = __napiModule.exports.JsMixedPrecision
|
|
509
|
-
export const JsMusicgenVariant = __napiModule.exports.JsMusicgenVariant
|
|
510
398
|
export const JsRole = __napiModule.exports.JsRole
|
|
511
|
-
export const JsRunStatus = __napiModule.exports.JsRunStatus
|
|
512
|
-
export const JsSchedulerKind = __napiModule.exports.JsSchedulerKind
|
|
513
|
-
export const JsStableAudioVariant = __napiModule.exports.JsStableAudioVariant
|
|
514
|
-
export const JsTtsModel = __napiModule.exports.JsTtsModel
|
|
515
|
-
export const JsWhisperModel = __napiModule.exports.JsWhisperModel
|
|
516
|
-
export const LlamaCppChatRole = __napiModule.exports.LlamaCppChatRole
|
|
517
|
-
export const JsLlamaCppChatRole = __napiModule.exports.JsLlamaCppChatRole
|
|
518
|
-
export const loadClientTls = __napiModule.exports.loadClientTls
|
|
519
|
-
export const loadServerTls = __napiModule.exports.loadServerTls
|
|
520
399
|
export const lookupPricing = __napiModule.exports.lookupPricing
|
|
521
400
|
export const lookupStepBuilder = __napiModule.exports.lookupStepBuilder
|
|
522
401
|
export const LoopDecision = __napiModule.exports.LoopDecision
|
|
@@ -525,12 +404,8 @@ export const Modality = __napiModule.exports.Modality
|
|
|
525
404
|
export const JsModality = __napiModule.exports.JsModality
|
|
526
405
|
export const newRetryStack = __napiModule.exports.newRetryStack
|
|
527
406
|
export const newUsageEvent = __napiModule.exports.newUsageEvent
|
|
528
|
-
export const OtlpProtocol = __napiModule.exports.OtlpProtocol
|
|
529
|
-
export const JsOtlpProtocol = __napiModule.exports.JsOtlpProtocol
|
|
530
407
|
export const PauseReason = __napiModule.exports.PauseReason
|
|
531
408
|
export const JsPauseReason = __napiModule.exports.JsPauseReason
|
|
532
|
-
export const peerEnvelopeVersion = __napiModule.exports.peerEnvelopeVersion
|
|
533
|
-
export const peerTokenEnv = __napiModule.exports.peerTokenEnv
|
|
534
409
|
export const ProgressKind = __napiModule.exports.ProgressKind
|
|
535
410
|
export const JsProgressKind = __napiModule.exports.JsProgressKind
|
|
536
411
|
export const providerEnvVars = __napiModule.exports.providerEnvVars
|
|
@@ -548,12 +423,12 @@ export const registerNativeSerializer = __napiModule.exports.registerNativeSeria
|
|
|
548
423
|
export const registerPricing = __napiModule.exports.registerPricing
|
|
549
424
|
export const registerStepBuilder = __napiModule.exports.registerStepBuilder
|
|
550
425
|
export const resolveApiKey = __napiModule.exports.resolveApiKey
|
|
551
|
-
export const resolvePeerToken = __napiModule.exports.resolvePeerToken
|
|
552
426
|
export const resolveRetryStack = __napiModule.exports.resolveRetryStack
|
|
553
427
|
export const runAgent = __napiModule.exports.runAgent
|
|
554
428
|
export const runAgentWithCallback = __napiModule.exports.runAgentWithCallback
|
|
555
429
|
export const SessionPausePolicy = __napiModule.exports.SessionPausePolicy
|
|
556
430
|
export const JsSessionPausePolicy = __napiModule.exports.JsSessionPausePolicy
|
|
431
|
+
export const setDefaultHttpClient = __napiModule.exports.setDefaultHttpClient
|
|
557
432
|
export const simhashFromHex = __napiModule.exports.simhashFromHex
|
|
558
433
|
export const simhashToHex = __napiModule.exports.simhashToHex
|
|
559
434
|
export const StateValueKind = __napiModule.exports.StateValueKind
|
package/index.d.ts
CHANGED
|
@@ -3750,19 +3750,41 @@ export declare class ModelManager {
|
|
|
3750
3750
|
*/
|
|
3751
3751
|
constructor(config?: ModelManagerConfig | undefined | null)
|
|
3752
3752
|
/**
|
|
3753
|
-
* Register a `
|
|
3754
|
-
*
|
|
3755
|
-
*
|
|
3756
|
-
*
|
|
3757
|
-
*
|
|
3758
|
-
*
|
|
3759
|
-
*
|
|
3760
|
-
*
|
|
3761
|
-
*
|
|
3762
|
-
*
|
|
3753
|
+
* Register a provider under `id` so it can be dispatched by name with
|
|
3754
|
+
* [`Self::complete`] / [`Self::stream`].
|
|
3755
|
+
*
|
|
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.
|
|
3763
|
+
*
|
|
3764
|
+
* To register an arbitrary JS-managed resource (embedding model,
|
|
3765
|
+
* tokenizer, custom runtime, …) with raw lifecycle callbacks, use
|
|
3763
3766
|
* [`Self::register_local_model`] instead.
|
|
3764
3767
|
*/
|
|
3765
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>
|
|
3766
3788
|
/**
|
|
3767
3789
|
* Register an arbitrary JS-managed local model with the manager.
|
|
3768
3790
|
*
|
|
@@ -4278,16 +4300,15 @@ export declare class OpenAiEmbeddingModel {
|
|
|
4278
4300
|
export type JsOpenAiEmbeddingModel = OpenAiEmbeddingModel
|
|
4279
4301
|
|
|
4280
4302
|
/**
|
|
4281
|
-
* An `OpenAI`
|
|
4303
|
+
* An `OpenAI` provider exposing chat completion, streaming, and text-to-speech.
|
|
4282
4304
|
*
|
|
4283
|
-
*
|
|
4284
|
-
* [`Model.openai`](crate::providers::model::JsModel::openai)
|
|
4285
|
-
*
|
|
4286
|
-
* capabilities (currently text-to-speech) that the `OpenAI` provider
|
|
4287
|
-
* 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.
|
|
4288
4308
|
*
|
|
4289
4309
|
* ```typescript
|
|
4290
4310
|
* const openai = OpenAiProvider.create({ apiKey: "sk-..." });
|
|
4311
|
+
* const response = await openai.complete([ChatMessage.user("Hi")]);
|
|
4291
4312
|
* const audio = await openai.textToSpeech({
|
|
4292
4313
|
* text: "Hello, world!",
|
|
4293
4314
|
* voice: "alloy",
|
|
@@ -4304,6 +4325,16 @@ export declare class OpenAiProvider {
|
|
|
4304
4325
|
* [`OpenAiProvider::from_options`] are applied.
|
|
4305
4326
|
*/
|
|
4306
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>
|
|
4307
4338
|
/** Synthesize speech from text via `OpenAI`'s `/v1/audio/speech`. */
|
|
4308
4339
|
textToSpeech(request: JsSpeechRequest): Promise<JsAudioResult>
|
|
4309
4340
|
}
|
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",
|