blazen 0.1.8
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/index.d.ts +267 -0
- package/index.js +587 -0
- package/package.json +48 -0
package/index.d.ts
ADDED
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
/* auto-generated by NAPI-RS */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* A chat completion model.
|
|
5
|
+
*
|
|
6
|
+
* Use the static factory methods to create an instance for your provider:
|
|
7
|
+
*
|
|
8
|
+
* ```javascript
|
|
9
|
+
* const model = CompletionModel.openai("sk-...");
|
|
10
|
+
* const response = await model.complete([
|
|
11
|
+
* { role: "user", content: "What is 2 + 2?" }
|
|
12
|
+
* ]);
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare class CompletionModel {
|
|
16
|
+
/** Create an `OpenAI` completion model. */
|
|
17
|
+
static openai(apiKey: string): CompletionModel
|
|
18
|
+
/** Create an Anthropic completion model. */
|
|
19
|
+
static anthropic(apiKey: string): CompletionModel
|
|
20
|
+
/** Create a Google Gemini completion model. */
|
|
21
|
+
static gemini(apiKey: string): CompletionModel
|
|
22
|
+
/** Create an Azure `OpenAI` completion model. */
|
|
23
|
+
static azure(apiKey: string, resourceName: string, deploymentName: string): CompletionModel
|
|
24
|
+
/** Create a fal.ai completion model. */
|
|
25
|
+
static fal(apiKey: string): CompletionModel
|
|
26
|
+
/** Create an `OpenRouter` completion model. */
|
|
27
|
+
static openrouter(apiKey: string): CompletionModel
|
|
28
|
+
/** Create a Groq completion model. */
|
|
29
|
+
static groq(apiKey: string): CompletionModel
|
|
30
|
+
/** Create a Together AI completion model. */
|
|
31
|
+
static together(apiKey: string): CompletionModel
|
|
32
|
+
/** Create a Mistral AI completion model. */
|
|
33
|
+
static mistral(apiKey: string): CompletionModel
|
|
34
|
+
/** Create a `DeepSeek` completion model. */
|
|
35
|
+
static deepseek(apiKey: string): CompletionModel
|
|
36
|
+
/** Create a Fireworks AI completion model. */
|
|
37
|
+
static fireworks(apiKey: string): CompletionModel
|
|
38
|
+
/** Create a Perplexity completion model. */
|
|
39
|
+
static perplexity(apiKey: string): CompletionModel
|
|
40
|
+
/** Create an xAI (Grok) completion model. */
|
|
41
|
+
static xai(apiKey: string): CompletionModel
|
|
42
|
+
/** Create a Cohere completion model. */
|
|
43
|
+
static cohere(apiKey: string): CompletionModel
|
|
44
|
+
/** Create an AWS Bedrock completion model. */
|
|
45
|
+
static bedrock(apiKey: string, region: string): CompletionModel
|
|
46
|
+
/** Get the model ID. */
|
|
47
|
+
get modelId(): string
|
|
48
|
+
/**
|
|
49
|
+
* Perform a chat completion.
|
|
50
|
+
*
|
|
51
|
+
* Messages should be an array of `{ role: string, content: string }` objects.
|
|
52
|
+
*
|
|
53
|
+
* Returns the response as a JSON object with `content`, `toolCalls`,
|
|
54
|
+
* `usage`, `model`, and `finishReason` fields.
|
|
55
|
+
*/
|
|
56
|
+
complete(messages: Array<any>): Promise<any>
|
|
57
|
+
/**
|
|
58
|
+
* Perform a chat completion with additional options.
|
|
59
|
+
*
|
|
60
|
+
* Options object may include:
|
|
61
|
+
* - `temperature` (number): Sampling temperature (0.0 - 2.0)
|
|
62
|
+
* - `maxTokens` (number): Maximum tokens to generate
|
|
63
|
+
* - `topP` (number): Nucleus sampling parameter
|
|
64
|
+
* - `model` (string): Override the default model
|
|
65
|
+
* - `tools` (array): Tool definitions for function calling
|
|
66
|
+
*/
|
|
67
|
+
completeWithOptions(messages: Array<any>, options: any): Promise<any>
|
|
68
|
+
}
|
|
69
|
+
export type JsCompletionModel = CompletionModel
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Shared workflow context accessible by all steps.
|
|
73
|
+
*
|
|
74
|
+
* Provides typed key/value storage, event emission, and stream publishing.
|
|
75
|
+
* All values are stored as JSON internally.
|
|
76
|
+
*/
|
|
77
|
+
export declare class Context {
|
|
78
|
+
/**
|
|
79
|
+
* Store a value under the given key.
|
|
80
|
+
*
|
|
81
|
+
* The value is stored as JSON internally.
|
|
82
|
+
*/
|
|
83
|
+
set(key: string, value: any): Promise<void>
|
|
84
|
+
/**
|
|
85
|
+
* Retrieve a value previously stored under the given key.
|
|
86
|
+
*
|
|
87
|
+
* Returns `null` if the key does not exist.
|
|
88
|
+
*/
|
|
89
|
+
get(key: string): Promise<any>
|
|
90
|
+
/**
|
|
91
|
+
* Emit an event into the internal routing queue.
|
|
92
|
+
*
|
|
93
|
+
* The event will be routed to any step whose `eventTypes` list includes
|
|
94
|
+
* its event type. The event object must have a `type` field.
|
|
95
|
+
*/
|
|
96
|
+
sendEvent(event: any): Promise<void>
|
|
97
|
+
/**
|
|
98
|
+
* Publish an event to the external broadcast stream.
|
|
99
|
+
*
|
|
100
|
+
* Consumers that subscribed via streaming will receive this event.
|
|
101
|
+
* Unlike `sendEvent`, this does NOT route the event through the
|
|
102
|
+
* internal step registry.
|
|
103
|
+
*/
|
|
104
|
+
writeEventToStream(event: any): Promise<void>
|
|
105
|
+
/** Get the workflow run ID. */
|
|
106
|
+
runId(): Promise<string>
|
|
107
|
+
}
|
|
108
|
+
export type JsContext = Context
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* A workflow builder and runner.
|
|
112
|
+
*
|
|
113
|
+
* Create a workflow, add steps with async handler functions, then run it.
|
|
114
|
+
*
|
|
115
|
+
* ```javascript
|
|
116
|
+
* const workflow = new Workflow("my-workflow");
|
|
117
|
+
*
|
|
118
|
+
* workflow.addStep("analyze", ["blazen::StartEvent"], async (event, ctx) => {
|
|
119
|
+
* const text = event.message;
|
|
120
|
+
* return { type: "blazen::StopEvent", result: { analyzed: text } };
|
|
121
|
+
* });
|
|
122
|
+
*
|
|
123
|
+
* const result = await workflow.run({ message: "hello" });
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
export declare class Workflow {
|
|
127
|
+
/** Create a new workflow with the given name. */
|
|
128
|
+
constructor(name: string)
|
|
129
|
+
/**
|
|
130
|
+
* Add a step to the workflow.
|
|
131
|
+
*
|
|
132
|
+
* - `name`: Human-readable step name.
|
|
133
|
+
* - `eventTypes`: Array of event type strings this step handles.
|
|
134
|
+
* - `handler`: Async function `(event, ctx) => Event` that processes
|
|
135
|
+
* events and returns the next event.
|
|
136
|
+
*/
|
|
137
|
+
addStep(name: string, eventTypes: Array<string>, handler: StepHandlerTsfn): void
|
|
138
|
+
/**
|
|
139
|
+
* Set the workflow timeout in seconds.
|
|
140
|
+
*
|
|
141
|
+
* Set to 0 or negative to disable the timeout.
|
|
142
|
+
*/
|
|
143
|
+
setTimeout(seconds: number): void
|
|
144
|
+
/**
|
|
145
|
+
* Run the workflow with the given input data.
|
|
146
|
+
*
|
|
147
|
+
* The input is wrapped in a `StartEvent` automatically.
|
|
148
|
+
* Returns the final result when the workflow completes via a `StopEvent`.
|
|
149
|
+
*/
|
|
150
|
+
run(input: any): Promise<JsWorkflowResult>
|
|
151
|
+
/**
|
|
152
|
+
* Run the workflow with streaming.
|
|
153
|
+
*
|
|
154
|
+
* The `onEvent` callback receives intermediate events published via
|
|
155
|
+
* `ctx.writeEventToStream()` from within step handlers.
|
|
156
|
+
*
|
|
157
|
+
* Returns the final result when the workflow completes.
|
|
158
|
+
*/
|
|
159
|
+
runStreaming(input: any, onEvent: StreamCallbackTsfn): Promise<JsWorkflowResult>
|
|
160
|
+
/**
|
|
161
|
+
* Run the workflow and return a handler object.
|
|
162
|
+
*
|
|
163
|
+
* Unlike `run()` which awaits the result internally, this method
|
|
164
|
+
* returns a `WorkflowHandler` that gives you control over the
|
|
165
|
+
* running workflow:
|
|
166
|
+
*
|
|
167
|
+
* - Call `handler.result()` to await the final result.
|
|
168
|
+
* - Call `handler.pause()` to pause and get a snapshot JSON string.
|
|
169
|
+
* - Call `handler.streamEvents(cb)` to subscribe to intermediate events.
|
|
170
|
+
*
|
|
171
|
+
* ```javascript
|
|
172
|
+
* const handler = await workflow.runWithHandler({ message: "hello" });
|
|
173
|
+
* // ... later ...
|
|
174
|
+
* const snapshot = await handler.pause();
|
|
175
|
+
* ```
|
|
176
|
+
*/
|
|
177
|
+
runWithHandler(input: any): Promise<WorkflowHandler>
|
|
178
|
+
/**
|
|
179
|
+
* Resume a previously paused workflow from a snapshot.
|
|
180
|
+
*
|
|
181
|
+
* The snapshot JSON string should have been obtained from a prior
|
|
182
|
+
* call to `handler.pause()`. The workflow will resume with the same
|
|
183
|
+
* steps that were registered on this `Workflow` instance.
|
|
184
|
+
*
|
|
185
|
+
* Returns a new `WorkflowHandler` for the resumed workflow.
|
|
186
|
+
*
|
|
187
|
+
* ```javascript
|
|
188
|
+
* const snapshot = fs.readFileSync("snapshot.json", "utf-8");
|
|
189
|
+
* const handler = await workflow.resume(snapshot);
|
|
190
|
+
* const result = await handler.result();
|
|
191
|
+
* ```
|
|
192
|
+
*/
|
|
193
|
+
resume(snapshotJson: string): Promise<WorkflowHandler>
|
|
194
|
+
}
|
|
195
|
+
export type JsWorkflow = Workflow
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* A handle to a running workflow.
|
|
199
|
+
*
|
|
200
|
+
* Returned by `Workflow.runWithHandler()`. Provides methods to:
|
|
201
|
+
*
|
|
202
|
+
* - **`result()`** -- await the final workflow result.
|
|
203
|
+
* - **`pause()`** -- pause the workflow and get a snapshot JSON string.
|
|
204
|
+
* - **`streamEvents(callback)`** -- subscribe to intermediate events
|
|
205
|
+
* published via `ctx.writeEventToStream()`.
|
|
206
|
+
*
|
|
207
|
+
* **Important:** `result()` and `pause()` each consume the handler
|
|
208
|
+
* internally. You can only call one of them, and only once.
|
|
209
|
+
*
|
|
210
|
+
* ```javascript
|
|
211
|
+
* const handler = await workflow.runWithHandler({ message: "hello" });
|
|
212
|
+
*
|
|
213
|
+
* // Option A: just get the result
|
|
214
|
+
* const result = await handler.result();
|
|
215
|
+
*
|
|
216
|
+
* // Option B: pause and get a snapshot
|
|
217
|
+
* const snapshot = await handler.pause();
|
|
218
|
+
* fs.writeFileSync("snapshot.json", snapshot);
|
|
219
|
+
*
|
|
220
|
+
* // Option C: stream events, then get the result
|
|
221
|
+
* handler.streamEvents((event) => console.log(event));
|
|
222
|
+
* const result = await handler.result();
|
|
223
|
+
* ```
|
|
224
|
+
*/
|
|
225
|
+
export declare class WorkflowHandler {
|
|
226
|
+
/**
|
|
227
|
+
* Await the final workflow result.
|
|
228
|
+
*
|
|
229
|
+
* Returns the result when the workflow completes via a `StopEvent`.
|
|
230
|
+
*
|
|
231
|
+
* This method consumes the handler internally -- it can only be called
|
|
232
|
+
* once, and cannot be called after `pause()`.
|
|
233
|
+
*/
|
|
234
|
+
result(): Promise<JsWorkflowResult>
|
|
235
|
+
/**
|
|
236
|
+
* Pause the running workflow and return a snapshot as a JSON string.
|
|
237
|
+
*
|
|
238
|
+
* The snapshot contains all workflow state and can be saved to a file
|
|
239
|
+
* or database. Use `Workflow.resume(snapshotJson)` to resume later.
|
|
240
|
+
*
|
|
241
|
+
* This method consumes the handler internally -- it can only be called
|
|
242
|
+
* once, and cannot be called after `result()`.
|
|
243
|
+
*/
|
|
244
|
+
pause(): Promise<string>
|
|
245
|
+
/**
|
|
246
|
+
* Subscribe to intermediate events published by steps via
|
|
247
|
+
* `ctx.writeEventToStream()`.
|
|
248
|
+
*
|
|
249
|
+
* The `onEvent` callback receives each event as a plain object.
|
|
250
|
+
* This must be called **before** `result()` or `pause()`.
|
|
251
|
+
*
|
|
252
|
+
* Events published before this call are not replayed.
|
|
253
|
+
*/
|
|
254
|
+
streamEvents(onEvent: StreamCallbackTsfn): Promise<void>
|
|
255
|
+
}
|
|
256
|
+
export type JsWorkflowHandler = WorkflowHandler
|
|
257
|
+
|
|
258
|
+
/** The result of a workflow run. */
|
|
259
|
+
export interface JsWorkflowResult {
|
|
260
|
+
/** The event type of the final result (typically "`blazen::StopEvent`"). */
|
|
261
|
+
type: string
|
|
262
|
+
/** The result data as a JSON object. */
|
|
263
|
+
data: any
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
/** Returns the version of the blazen library. */
|
|
267
|
+
export declare function version(): string
|
package/index.js
ADDED
|
@@ -0,0 +1,587 @@
|
|
|
1
|
+
// prettier-ignore
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
// @ts-nocheck
|
|
4
|
+
/* auto-generated by NAPI-RS */
|
|
5
|
+
|
|
6
|
+
const { readFileSync } = require('node:fs')
|
|
7
|
+
let nativeBinding = null
|
|
8
|
+
const loadErrors = []
|
|
9
|
+
|
|
10
|
+
const isMusl = () => {
|
|
11
|
+
let musl = false
|
|
12
|
+
if (process.platform === 'linux') {
|
|
13
|
+
musl = isMuslFromFilesystem()
|
|
14
|
+
if (musl === null) {
|
|
15
|
+
musl = isMuslFromReport()
|
|
16
|
+
}
|
|
17
|
+
if (musl === null) {
|
|
18
|
+
musl = isMuslFromChildProcess()
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return musl
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const isFileMusl = (f) => f.includes('libc.musl-') || f.includes('ld-musl-')
|
|
25
|
+
|
|
26
|
+
const isMuslFromFilesystem = () => {
|
|
27
|
+
try {
|
|
28
|
+
return readFileSync('/usr/bin/ldd', 'utf-8').includes('musl')
|
|
29
|
+
} catch {
|
|
30
|
+
return null
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const isMuslFromReport = () => {
|
|
35
|
+
let report = null
|
|
36
|
+
if (typeof process.report?.getReport === 'function') {
|
|
37
|
+
process.report.excludeNetwork = true
|
|
38
|
+
report = process.report.getReport()
|
|
39
|
+
}
|
|
40
|
+
if (!report) {
|
|
41
|
+
return null
|
|
42
|
+
}
|
|
43
|
+
if (report.header && report.header.glibcVersionRuntime) {
|
|
44
|
+
return false
|
|
45
|
+
}
|
|
46
|
+
if (Array.isArray(report.sharedObjects)) {
|
|
47
|
+
if (report.sharedObjects.some(isFileMusl)) {
|
|
48
|
+
return true
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return false
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const isMuslFromChildProcess = () => {
|
|
55
|
+
try {
|
|
56
|
+
return require('child_process').execSync('ldd --version', { encoding: 'utf8' }).includes('musl')
|
|
57
|
+
} catch (e) {
|
|
58
|
+
// If we reach this case, we don't know if the system is musl or not, so is better to just fallback to false
|
|
59
|
+
return false
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function requireNative() {
|
|
64
|
+
if (process.env.NAPI_RS_NATIVE_LIBRARY_PATH) {
|
|
65
|
+
try {
|
|
66
|
+
return require(process.env.NAPI_RS_NATIVE_LIBRARY_PATH);
|
|
67
|
+
} catch (err) {
|
|
68
|
+
loadErrors.push(err)
|
|
69
|
+
}
|
|
70
|
+
} else if (process.platform === 'android') {
|
|
71
|
+
if (process.arch === 'arm64') {
|
|
72
|
+
try {
|
|
73
|
+
return require('./blazen.android-arm64.node')
|
|
74
|
+
} catch (e) {
|
|
75
|
+
loadErrors.push(e)
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
const binding = require('blazen-android-arm64')
|
|
79
|
+
const bindingPackageVersion = require('blazen-android-arm64/package.json').version
|
|
80
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
81
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
82
|
+
}
|
|
83
|
+
return binding
|
|
84
|
+
} catch (e) {
|
|
85
|
+
loadErrors.push(e)
|
|
86
|
+
}
|
|
87
|
+
} else if (process.arch === 'arm') {
|
|
88
|
+
try {
|
|
89
|
+
return require('./blazen.android-arm-eabi.node')
|
|
90
|
+
} catch (e) {
|
|
91
|
+
loadErrors.push(e)
|
|
92
|
+
}
|
|
93
|
+
try {
|
|
94
|
+
const binding = require('blazen-android-arm-eabi')
|
|
95
|
+
const bindingPackageVersion = require('blazen-android-arm-eabi/package.json').version
|
|
96
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
97
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
98
|
+
}
|
|
99
|
+
return binding
|
|
100
|
+
} catch (e) {
|
|
101
|
+
loadErrors.push(e)
|
|
102
|
+
}
|
|
103
|
+
} else {
|
|
104
|
+
loadErrors.push(new Error(`Unsupported architecture on Android ${process.arch}`))
|
|
105
|
+
}
|
|
106
|
+
} else if (process.platform === 'win32') {
|
|
107
|
+
if (process.arch === 'x64') {
|
|
108
|
+
if (process.config?.variables?.shlib_suffix === 'dll.a' || process.config?.variables?.node_target_type === 'shared_library') {
|
|
109
|
+
try {
|
|
110
|
+
return require('./blazen.win32-x64-gnu.node')
|
|
111
|
+
} catch (e) {
|
|
112
|
+
loadErrors.push(e)
|
|
113
|
+
}
|
|
114
|
+
try {
|
|
115
|
+
const binding = require('blazen-win32-x64-gnu')
|
|
116
|
+
const bindingPackageVersion = require('blazen-win32-x64-gnu/package.json').version
|
|
117
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
118
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
119
|
+
}
|
|
120
|
+
return binding
|
|
121
|
+
} catch (e) {
|
|
122
|
+
loadErrors.push(e)
|
|
123
|
+
}
|
|
124
|
+
} else {
|
|
125
|
+
try {
|
|
126
|
+
return require('./blazen.win32-x64-msvc.node')
|
|
127
|
+
} catch (e) {
|
|
128
|
+
loadErrors.push(e)
|
|
129
|
+
}
|
|
130
|
+
try {
|
|
131
|
+
const binding = require('blazen-win32-x64-msvc')
|
|
132
|
+
const bindingPackageVersion = require('blazen-win32-x64-msvc/package.json').version
|
|
133
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
134
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
135
|
+
}
|
|
136
|
+
return binding
|
|
137
|
+
} catch (e) {
|
|
138
|
+
loadErrors.push(e)
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
} else if (process.arch === 'ia32') {
|
|
142
|
+
try {
|
|
143
|
+
return require('./blazen.win32-ia32-msvc.node')
|
|
144
|
+
} catch (e) {
|
|
145
|
+
loadErrors.push(e)
|
|
146
|
+
}
|
|
147
|
+
try {
|
|
148
|
+
const binding = require('blazen-win32-ia32-msvc')
|
|
149
|
+
const bindingPackageVersion = require('blazen-win32-ia32-msvc/package.json').version
|
|
150
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
151
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
152
|
+
}
|
|
153
|
+
return binding
|
|
154
|
+
} catch (e) {
|
|
155
|
+
loadErrors.push(e)
|
|
156
|
+
}
|
|
157
|
+
} else if (process.arch === 'arm64') {
|
|
158
|
+
try {
|
|
159
|
+
return require('./blazen.win32-arm64-msvc.node')
|
|
160
|
+
} catch (e) {
|
|
161
|
+
loadErrors.push(e)
|
|
162
|
+
}
|
|
163
|
+
try {
|
|
164
|
+
const binding = require('blazen-win32-arm64-msvc')
|
|
165
|
+
const bindingPackageVersion = require('blazen-win32-arm64-msvc/package.json').version
|
|
166
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
167
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
168
|
+
}
|
|
169
|
+
return binding
|
|
170
|
+
} catch (e) {
|
|
171
|
+
loadErrors.push(e)
|
|
172
|
+
}
|
|
173
|
+
} else {
|
|
174
|
+
loadErrors.push(new Error(`Unsupported architecture on Windows: ${process.arch}`))
|
|
175
|
+
}
|
|
176
|
+
} else if (process.platform === 'darwin') {
|
|
177
|
+
try {
|
|
178
|
+
return require('./blazen.darwin-universal.node')
|
|
179
|
+
} catch (e) {
|
|
180
|
+
loadErrors.push(e)
|
|
181
|
+
}
|
|
182
|
+
try {
|
|
183
|
+
const binding = require('blazen-darwin-universal')
|
|
184
|
+
const bindingPackageVersion = require('blazen-darwin-universal/package.json').version
|
|
185
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
186
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
187
|
+
}
|
|
188
|
+
return binding
|
|
189
|
+
} catch (e) {
|
|
190
|
+
loadErrors.push(e)
|
|
191
|
+
}
|
|
192
|
+
if (process.arch === 'x64') {
|
|
193
|
+
try {
|
|
194
|
+
return require('./blazen.darwin-x64.node')
|
|
195
|
+
} catch (e) {
|
|
196
|
+
loadErrors.push(e)
|
|
197
|
+
}
|
|
198
|
+
try {
|
|
199
|
+
const binding = require('blazen-darwin-x64')
|
|
200
|
+
const bindingPackageVersion = require('blazen-darwin-x64/package.json').version
|
|
201
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
202
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
203
|
+
}
|
|
204
|
+
return binding
|
|
205
|
+
} catch (e) {
|
|
206
|
+
loadErrors.push(e)
|
|
207
|
+
}
|
|
208
|
+
} else if (process.arch === 'arm64') {
|
|
209
|
+
try {
|
|
210
|
+
return require('./blazen.darwin-arm64.node')
|
|
211
|
+
} catch (e) {
|
|
212
|
+
loadErrors.push(e)
|
|
213
|
+
}
|
|
214
|
+
try {
|
|
215
|
+
const binding = require('blazen-darwin-arm64')
|
|
216
|
+
const bindingPackageVersion = require('blazen-darwin-arm64/package.json').version
|
|
217
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
218
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
219
|
+
}
|
|
220
|
+
return binding
|
|
221
|
+
} catch (e) {
|
|
222
|
+
loadErrors.push(e)
|
|
223
|
+
}
|
|
224
|
+
} else {
|
|
225
|
+
loadErrors.push(new Error(`Unsupported architecture on macOS: ${process.arch}`))
|
|
226
|
+
}
|
|
227
|
+
} else if (process.platform === 'freebsd') {
|
|
228
|
+
if (process.arch === 'x64') {
|
|
229
|
+
try {
|
|
230
|
+
return require('./blazen.freebsd-x64.node')
|
|
231
|
+
} catch (e) {
|
|
232
|
+
loadErrors.push(e)
|
|
233
|
+
}
|
|
234
|
+
try {
|
|
235
|
+
const binding = require('blazen-freebsd-x64')
|
|
236
|
+
const bindingPackageVersion = require('blazen-freebsd-x64/package.json').version
|
|
237
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
238
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
239
|
+
}
|
|
240
|
+
return binding
|
|
241
|
+
} catch (e) {
|
|
242
|
+
loadErrors.push(e)
|
|
243
|
+
}
|
|
244
|
+
} else if (process.arch === 'arm64') {
|
|
245
|
+
try {
|
|
246
|
+
return require('./blazen.freebsd-arm64.node')
|
|
247
|
+
} catch (e) {
|
|
248
|
+
loadErrors.push(e)
|
|
249
|
+
}
|
|
250
|
+
try {
|
|
251
|
+
const binding = require('blazen-freebsd-arm64')
|
|
252
|
+
const bindingPackageVersion = require('blazen-freebsd-arm64/package.json').version
|
|
253
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
254
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
255
|
+
}
|
|
256
|
+
return binding
|
|
257
|
+
} catch (e) {
|
|
258
|
+
loadErrors.push(e)
|
|
259
|
+
}
|
|
260
|
+
} else {
|
|
261
|
+
loadErrors.push(new Error(`Unsupported architecture on FreeBSD: ${process.arch}`))
|
|
262
|
+
}
|
|
263
|
+
} else if (process.platform === 'linux') {
|
|
264
|
+
if (process.arch === 'x64') {
|
|
265
|
+
if (isMusl()) {
|
|
266
|
+
try {
|
|
267
|
+
return require('./blazen.linux-x64-musl.node')
|
|
268
|
+
} catch (e) {
|
|
269
|
+
loadErrors.push(e)
|
|
270
|
+
}
|
|
271
|
+
try {
|
|
272
|
+
const binding = require('blazen-linux-x64-musl')
|
|
273
|
+
const bindingPackageVersion = require('blazen-linux-x64-musl/package.json').version
|
|
274
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
275
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
276
|
+
}
|
|
277
|
+
return binding
|
|
278
|
+
} catch (e) {
|
|
279
|
+
loadErrors.push(e)
|
|
280
|
+
}
|
|
281
|
+
} else {
|
|
282
|
+
try {
|
|
283
|
+
return require('./blazen.linux-x64-gnu.node')
|
|
284
|
+
} catch (e) {
|
|
285
|
+
loadErrors.push(e)
|
|
286
|
+
}
|
|
287
|
+
try {
|
|
288
|
+
const binding = require('blazen-linux-x64-gnu')
|
|
289
|
+
const bindingPackageVersion = require('blazen-linux-x64-gnu/package.json').version
|
|
290
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
291
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
292
|
+
}
|
|
293
|
+
return binding
|
|
294
|
+
} catch (e) {
|
|
295
|
+
loadErrors.push(e)
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
} else if (process.arch === 'arm64') {
|
|
299
|
+
if (isMusl()) {
|
|
300
|
+
try {
|
|
301
|
+
return require('./blazen.linux-arm64-musl.node')
|
|
302
|
+
} catch (e) {
|
|
303
|
+
loadErrors.push(e)
|
|
304
|
+
}
|
|
305
|
+
try {
|
|
306
|
+
const binding = require('blazen-linux-arm64-musl')
|
|
307
|
+
const bindingPackageVersion = require('blazen-linux-arm64-musl/package.json').version
|
|
308
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
309
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
310
|
+
}
|
|
311
|
+
return binding
|
|
312
|
+
} catch (e) {
|
|
313
|
+
loadErrors.push(e)
|
|
314
|
+
}
|
|
315
|
+
} else {
|
|
316
|
+
try {
|
|
317
|
+
return require('./blazen.linux-arm64-gnu.node')
|
|
318
|
+
} catch (e) {
|
|
319
|
+
loadErrors.push(e)
|
|
320
|
+
}
|
|
321
|
+
try {
|
|
322
|
+
const binding = require('blazen-linux-arm64-gnu')
|
|
323
|
+
const bindingPackageVersion = require('blazen-linux-arm64-gnu/package.json').version
|
|
324
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
325
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
326
|
+
}
|
|
327
|
+
return binding
|
|
328
|
+
} catch (e) {
|
|
329
|
+
loadErrors.push(e)
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
} else if (process.arch === 'arm') {
|
|
333
|
+
if (isMusl()) {
|
|
334
|
+
try {
|
|
335
|
+
return require('./blazen.linux-arm-musleabihf.node')
|
|
336
|
+
} catch (e) {
|
|
337
|
+
loadErrors.push(e)
|
|
338
|
+
}
|
|
339
|
+
try {
|
|
340
|
+
const binding = require('blazen-linux-arm-musleabihf')
|
|
341
|
+
const bindingPackageVersion = require('blazen-linux-arm-musleabihf/package.json').version
|
|
342
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
343
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
344
|
+
}
|
|
345
|
+
return binding
|
|
346
|
+
} catch (e) {
|
|
347
|
+
loadErrors.push(e)
|
|
348
|
+
}
|
|
349
|
+
} else {
|
|
350
|
+
try {
|
|
351
|
+
return require('./blazen.linux-arm-gnueabihf.node')
|
|
352
|
+
} catch (e) {
|
|
353
|
+
loadErrors.push(e)
|
|
354
|
+
}
|
|
355
|
+
try {
|
|
356
|
+
const binding = require('blazen-linux-arm-gnueabihf')
|
|
357
|
+
const bindingPackageVersion = require('blazen-linux-arm-gnueabihf/package.json').version
|
|
358
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
359
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
360
|
+
}
|
|
361
|
+
return binding
|
|
362
|
+
} catch (e) {
|
|
363
|
+
loadErrors.push(e)
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
} else if (process.arch === 'loong64') {
|
|
367
|
+
if (isMusl()) {
|
|
368
|
+
try {
|
|
369
|
+
return require('./blazen.linux-loong64-musl.node')
|
|
370
|
+
} catch (e) {
|
|
371
|
+
loadErrors.push(e)
|
|
372
|
+
}
|
|
373
|
+
try {
|
|
374
|
+
const binding = require('blazen-linux-loong64-musl')
|
|
375
|
+
const bindingPackageVersion = require('blazen-linux-loong64-musl/package.json').version
|
|
376
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
377
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
378
|
+
}
|
|
379
|
+
return binding
|
|
380
|
+
} catch (e) {
|
|
381
|
+
loadErrors.push(e)
|
|
382
|
+
}
|
|
383
|
+
} else {
|
|
384
|
+
try {
|
|
385
|
+
return require('./blazen.linux-loong64-gnu.node')
|
|
386
|
+
} catch (e) {
|
|
387
|
+
loadErrors.push(e)
|
|
388
|
+
}
|
|
389
|
+
try {
|
|
390
|
+
const binding = require('blazen-linux-loong64-gnu')
|
|
391
|
+
const bindingPackageVersion = require('blazen-linux-loong64-gnu/package.json').version
|
|
392
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
393
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
394
|
+
}
|
|
395
|
+
return binding
|
|
396
|
+
} catch (e) {
|
|
397
|
+
loadErrors.push(e)
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
} else if (process.arch === 'riscv64') {
|
|
401
|
+
if (isMusl()) {
|
|
402
|
+
try {
|
|
403
|
+
return require('./blazen.linux-riscv64-musl.node')
|
|
404
|
+
} catch (e) {
|
|
405
|
+
loadErrors.push(e)
|
|
406
|
+
}
|
|
407
|
+
try {
|
|
408
|
+
const binding = require('blazen-linux-riscv64-musl')
|
|
409
|
+
const bindingPackageVersion = require('blazen-linux-riscv64-musl/package.json').version
|
|
410
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
411
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
412
|
+
}
|
|
413
|
+
return binding
|
|
414
|
+
} catch (e) {
|
|
415
|
+
loadErrors.push(e)
|
|
416
|
+
}
|
|
417
|
+
} else {
|
|
418
|
+
try {
|
|
419
|
+
return require('./blazen.linux-riscv64-gnu.node')
|
|
420
|
+
} catch (e) {
|
|
421
|
+
loadErrors.push(e)
|
|
422
|
+
}
|
|
423
|
+
try {
|
|
424
|
+
const binding = require('blazen-linux-riscv64-gnu')
|
|
425
|
+
const bindingPackageVersion = require('blazen-linux-riscv64-gnu/package.json').version
|
|
426
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
427
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
428
|
+
}
|
|
429
|
+
return binding
|
|
430
|
+
} catch (e) {
|
|
431
|
+
loadErrors.push(e)
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
} else if (process.arch === 'ppc64') {
|
|
435
|
+
try {
|
|
436
|
+
return require('./blazen.linux-ppc64-gnu.node')
|
|
437
|
+
} catch (e) {
|
|
438
|
+
loadErrors.push(e)
|
|
439
|
+
}
|
|
440
|
+
try {
|
|
441
|
+
const binding = require('blazen-linux-ppc64-gnu')
|
|
442
|
+
const bindingPackageVersion = require('blazen-linux-ppc64-gnu/package.json').version
|
|
443
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
444
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
445
|
+
}
|
|
446
|
+
return binding
|
|
447
|
+
} catch (e) {
|
|
448
|
+
loadErrors.push(e)
|
|
449
|
+
}
|
|
450
|
+
} else if (process.arch === 's390x') {
|
|
451
|
+
try {
|
|
452
|
+
return require('./blazen.linux-s390x-gnu.node')
|
|
453
|
+
} catch (e) {
|
|
454
|
+
loadErrors.push(e)
|
|
455
|
+
}
|
|
456
|
+
try {
|
|
457
|
+
const binding = require('blazen-linux-s390x-gnu')
|
|
458
|
+
const bindingPackageVersion = require('blazen-linux-s390x-gnu/package.json').version
|
|
459
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
460
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
461
|
+
}
|
|
462
|
+
return binding
|
|
463
|
+
} catch (e) {
|
|
464
|
+
loadErrors.push(e)
|
|
465
|
+
}
|
|
466
|
+
} else {
|
|
467
|
+
loadErrors.push(new Error(`Unsupported architecture on Linux: ${process.arch}`))
|
|
468
|
+
}
|
|
469
|
+
} else if (process.platform === 'openharmony') {
|
|
470
|
+
if (process.arch === 'arm64') {
|
|
471
|
+
try {
|
|
472
|
+
return require('./blazen.openharmony-arm64.node')
|
|
473
|
+
} catch (e) {
|
|
474
|
+
loadErrors.push(e)
|
|
475
|
+
}
|
|
476
|
+
try {
|
|
477
|
+
const binding = require('blazen-openharmony-arm64')
|
|
478
|
+
const bindingPackageVersion = require('blazen-openharmony-arm64/package.json').version
|
|
479
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
480
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
481
|
+
}
|
|
482
|
+
return binding
|
|
483
|
+
} catch (e) {
|
|
484
|
+
loadErrors.push(e)
|
|
485
|
+
}
|
|
486
|
+
} else if (process.arch === 'x64') {
|
|
487
|
+
try {
|
|
488
|
+
return require('./blazen.openharmony-x64.node')
|
|
489
|
+
} catch (e) {
|
|
490
|
+
loadErrors.push(e)
|
|
491
|
+
}
|
|
492
|
+
try {
|
|
493
|
+
const binding = require('blazen-openharmony-x64')
|
|
494
|
+
const bindingPackageVersion = require('blazen-openharmony-x64/package.json').version
|
|
495
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
496
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
497
|
+
}
|
|
498
|
+
return binding
|
|
499
|
+
} catch (e) {
|
|
500
|
+
loadErrors.push(e)
|
|
501
|
+
}
|
|
502
|
+
} else if (process.arch === 'arm') {
|
|
503
|
+
try {
|
|
504
|
+
return require('./blazen.openharmony-arm.node')
|
|
505
|
+
} catch (e) {
|
|
506
|
+
loadErrors.push(e)
|
|
507
|
+
}
|
|
508
|
+
try {
|
|
509
|
+
const binding = require('blazen-openharmony-arm')
|
|
510
|
+
const bindingPackageVersion = require('blazen-openharmony-arm/package.json').version
|
|
511
|
+
if (bindingPackageVersion !== '0.1.8' && process.env.NAPI_RS_ENFORCE_VERSION_CHECK && process.env.NAPI_RS_ENFORCE_VERSION_CHECK !== '0') {
|
|
512
|
+
throw new Error(`Native binding package version mismatch, expected 0.1.8 but got ${bindingPackageVersion}. You can reinstall dependencies to fix this issue.`)
|
|
513
|
+
}
|
|
514
|
+
return binding
|
|
515
|
+
} catch (e) {
|
|
516
|
+
loadErrors.push(e)
|
|
517
|
+
}
|
|
518
|
+
} else {
|
|
519
|
+
loadErrors.push(new Error(`Unsupported architecture on OpenHarmony: ${process.arch}`))
|
|
520
|
+
}
|
|
521
|
+
} else {
|
|
522
|
+
loadErrors.push(new Error(`Unsupported OS: ${process.platform}, architecture: ${process.arch}`))
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
nativeBinding = requireNative()
|
|
527
|
+
|
|
528
|
+
if (!nativeBinding || process.env.NAPI_RS_FORCE_WASI) {
|
|
529
|
+
let wasiBinding = null
|
|
530
|
+
let wasiBindingError = null
|
|
531
|
+
try {
|
|
532
|
+
wasiBinding = require('./blazen.wasi.cjs')
|
|
533
|
+
nativeBinding = wasiBinding
|
|
534
|
+
} catch (err) {
|
|
535
|
+
if (process.env.NAPI_RS_FORCE_WASI) {
|
|
536
|
+
wasiBindingError = err
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
if (!nativeBinding || process.env.NAPI_RS_FORCE_WASI) {
|
|
540
|
+
try {
|
|
541
|
+
wasiBinding = require('blazen-wasm32-wasi')
|
|
542
|
+
nativeBinding = wasiBinding
|
|
543
|
+
} catch (err) {
|
|
544
|
+
if (process.env.NAPI_RS_FORCE_WASI) {
|
|
545
|
+
if (!wasiBindingError) {
|
|
546
|
+
wasiBindingError = err
|
|
547
|
+
} else {
|
|
548
|
+
wasiBindingError.cause = err
|
|
549
|
+
}
|
|
550
|
+
loadErrors.push(err)
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
if (process.env.NAPI_RS_FORCE_WASI === 'error' && !wasiBinding) {
|
|
555
|
+
const error = new Error('WASI binding not found and NAPI_RS_FORCE_WASI is set to error')
|
|
556
|
+
error.cause = wasiBindingError
|
|
557
|
+
throw error
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
if (!nativeBinding) {
|
|
562
|
+
if (loadErrors.length > 0) {
|
|
563
|
+
throw new Error(
|
|
564
|
+
`Cannot find native binding. ` +
|
|
565
|
+
`npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). ` +
|
|
566
|
+
'Please try `npm i` again after removing both package-lock.json and node_modules directory.',
|
|
567
|
+
{
|
|
568
|
+
cause: loadErrors.reduce((err, cur) => {
|
|
569
|
+
cur.cause = err
|
|
570
|
+
return cur
|
|
571
|
+
}),
|
|
572
|
+
},
|
|
573
|
+
)
|
|
574
|
+
}
|
|
575
|
+
throw new Error(`Failed to load native binding`)
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
module.exports = nativeBinding
|
|
579
|
+
module.exports.CompletionModel = nativeBinding.CompletionModel
|
|
580
|
+
module.exports.JsCompletionModel = nativeBinding.JsCompletionModel
|
|
581
|
+
module.exports.Context = nativeBinding.Context
|
|
582
|
+
module.exports.JsContext = nativeBinding.JsContext
|
|
583
|
+
module.exports.Workflow = nativeBinding.Workflow
|
|
584
|
+
module.exports.JsWorkflow = nativeBinding.JsWorkflow
|
|
585
|
+
module.exports.WorkflowHandler = nativeBinding.WorkflowHandler
|
|
586
|
+
module.exports.JsWorkflowHandler = nativeBinding.JsWorkflowHandler
|
|
587
|
+
module.exports.version = nativeBinding.version
|
package/package.json
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "blazen",
|
|
3
|
+
"version": "0.1.8",
|
|
4
|
+
"description": "Blazen - Event-driven AI workflow framework for Node.js/TypeScript",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"types": "index.d.ts",
|
|
7
|
+
"napi": {
|
|
8
|
+
"binaryName": "blazen",
|
|
9
|
+
"targets": [
|
|
10
|
+
"x86_64-unknown-linux-gnu",
|
|
11
|
+
"x86_64-unknown-linux-musl",
|
|
12
|
+
"aarch64-unknown-linux-gnu",
|
|
13
|
+
"aarch64-unknown-linux-musl",
|
|
14
|
+
"aarch64-apple-darwin",
|
|
15
|
+
"x86_64-apple-darwin"
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
"license": "MIT",
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "https://forge.blackleafdigital.com/BlackLeafDigital/Blazen"
|
|
22
|
+
},
|
|
23
|
+
"keywords": [
|
|
24
|
+
"agents",
|
|
25
|
+
"workflow",
|
|
26
|
+
"llm",
|
|
27
|
+
"ai",
|
|
28
|
+
"event-driven",
|
|
29
|
+
"napi-rs",
|
|
30
|
+
"rust"
|
|
31
|
+
],
|
|
32
|
+
"files": [
|
|
33
|
+
"index.js",
|
|
34
|
+
"index.d.ts"
|
|
35
|
+
],
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@napi-rs/cli": "^3.0.0"
|
|
38
|
+
},
|
|
39
|
+
"engines": {
|
|
40
|
+
"node": ">= 18"
|
|
41
|
+
},
|
|
42
|
+
"scripts": {
|
|
43
|
+
"build": "napi build --release --platform --js index.js",
|
|
44
|
+
"build:debug": "napi build --platform --js index.js",
|
|
45
|
+
"test": "node --test ../../tests/node/test_workflow.mjs",
|
|
46
|
+
"test:smoke": "node --test ../../tests/node/test_llm_smoke.mjs"
|
|
47
|
+
}
|
|
48
|
+
}
|