@ryuhq/sdk-native 0.2.1 → 0.2.3
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
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# <img src="https://raw.githubusercontent.com/amajorai/ryu/main/.github/logo.png" width="50" align="middle" alt="" /> ryu-sdk-napi
|
|
2
2
|
|
|
3
|
-
> Node-API addon over the Ryu SDK Rust kernel. Part of [Ryu](
|
|
3
|
+
> Node-API addon over the Ryu SDK Rust kernel. Part of [Ryu](../../../README.md).
|
|
4
4
|
|
|
5
5
|
[](./LICENSE)
|
|
6
|
-
[](
|
|
6
|
+
[](../../../README.md)
|
|
7
7
|
|
|
8
|
-
`ryu-sdk-napi` is a Node-API (napi-rs) binding that exposes the [`ryu-sdk`](../
|
|
8
|
+
`ryu-sdk-napi` is a Node-API (napi-rs) binding that exposes the [`ryu-sdk`](../core) Rust kernel to TypeScript/JavaScript as a native addon. It is published to npm as `@ryuhq/sdk-native`, which is what makes `@ryuhq/sdk` installable. The TS SDK depends on this prebuilt addon for its native logic, so manifest rules and Gateway egress never reimplement in JS.
|
|
9
9
|
|
|
10
10
|
**Tier:** OSS, Apache-2.0
|
|
11
11
|
|
|
@@ -17,17 +17,17 @@ cargo build -p ryu-sdk-napi # → cdylib (.node)
|
|
|
17
17
|
napi build --platform --release
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
The compiled `.node` (e.g. `ryu_sdk_napi.win32-x64-msvc.node`) is what `@
|
|
20
|
+
The compiled `.node` (e.g. `ryu_sdk_napi.win32-x64-msvc.node`) is what `@ryuhq/sdk-native` ships. A `smoke.mjs` exercises the loaded addon.
|
|
21
21
|
|
|
22
22
|
## What it provides
|
|
23
23
|
|
|
24
24
|
- A napi-rs `cdylib` addon (napi8, async + Tokio runtime) wrapping `ryu-sdk`: manifest validation, gateway URL/egress checks, and the model/embedding clients.
|
|
25
25
|
- TypeScript typings (`index.d.ts`) and a JS loader (`index.js`).
|
|
26
|
-
- The npm-published `@
|
|
26
|
+
- The npm-published `@ryuhq/sdk-native` package that backs `@ryuhq/sdk`.
|
|
27
27
|
|
|
28
28
|
## Role / How it fits
|
|
29
29
|
|
|
30
|
-
One of three bindings over the shared kernel, alongside [`ryu-sdk-ffi`](../
|
|
30
|
+
One of three bindings over the shared kernel, alongside [`ryu-sdk-ffi`](../ffi) (C-ABI / Go) and [`ryu-sdk-uniffi`](../uniffi) (Python/Swift/Kotlin/C#). It is the only one that keeps the streaming closure boundary, via napi-rs `ThreadsafeFunction`.
|
|
31
31
|
|
|
32
32
|
## License
|
|
33
33
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ryuhq/sdk-native",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "Native (napi-rs) Node addon backed by the ryu-sdk Rust core.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"scripts": {
|
|
16
16
|
"build": "napi build --platform --release",
|
|
17
17
|
"build:debug": "napi build --platform",
|
|
18
|
+
"test": "bun run build:debug && node smoke.mjs",
|
|
18
19
|
"prepare": "node -e \"try{require('child_process').execSync('napi build --platform',{stdio:'inherit',shell:true})}catch(e){console.log('[sdk-native] napi build skipped (no toolchain or build failed)')}\""
|
|
19
20
|
},
|
|
20
21
|
"devDependencies": {
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|