@z3rno/sdk 0.8.1 → 0.23.0

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/Cargo.toml ADDED
@@ -0,0 +1,23 @@
1
+ [workspace]
2
+
3
+ [package]
4
+ name = "z3rno-sdk-native"
5
+ version = "0.23.0"
6
+ edition = "2021"
7
+ license = "Apache-2.0"
8
+ publish = false
9
+
10
+ [lib]
11
+ crate-type = ["cdylib", "rlib"]
12
+
13
+ [dependencies]
14
+ napi = { version = "2", default-features = false, features = ["napi4", "tokio_rt", "serde-json"] }
15
+ napi-derive = "2"
16
+ z3rno-engine = { path = "../../engine" }
17
+ uuid = { version = "1", features = ["v4"] }
18
+ serde_json = "1"
19
+ anyhow = "1"
20
+ chrono = "0.4"
21
+
22
+ [build-dependencies]
23
+ napi-build = "2"
package/README.md CHANGED
@@ -1,77 +1,73 @@
1
- # @z3rno/sdk (TypeScript)
1
+ # bindings/typescript
2
2
 
3
- [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
4
- [![CI](https://github.com/the-ai-project-co/z3rno-sdk-typescript/actions/workflows/ci.yml/badge.svg)](https://github.com/the-ai-project-co/z3rno-sdk-typescript/actions/workflows/ci.yml)
5
- [![npm](https://img.shields.io/npm/v/@z3rno/sdk)](https://www.npmjs.com/package/@z3rno/sdk)
3
+ TypeScript/Node bindings for z3rno, built with [napi-rs](https://napi.rs)
4
+ native compiled bindings over `z3rno-engine`, not a thin HTTP client. The SDK
5
+ *is* the engine.
6
6
 
7
- TypeScript SDK for Z3rno -- native fetch client with Zod validation.
7
+ The API is **async-only**: every I/O method (`store`, `recall`, `forget`,
8
+ `advanced.audit`) returns a native `Promise`, run on napi-rs's managed Tokio
9
+ runtime. `tier()` is the one exception — no I/O, so it's a plain sync getter.
8
10
 
9
- ## Installation
11
+ ## Local development
10
12
 
11
- ```bash
12
- npm install @z3rno/sdk
13
- ```
14
-
15
- ## Quickstart
16
-
17
- ```typescript
18
- import { Z3rnoClient } from "@z3rno/sdk";
13
+ Not yet published to npm (that's a later slice). To build and test locally
14
+ from this directory:
19
15
 
20
- const client = new Z3rnoClient({ baseUrl: "https://api.z3rno.dev", apiKey: "z3rno_sk_..." });
21
- const memory = await client.store({ agentId: "agent-1", content: "User prefers dark mode", memoryType: "semantic" });
22
- const results = await client.recall({ agentId: "agent-1", query: "What does the user prefer?", topK: 5 });
23
- await client.forget({ agentId: "agent-1", memoryId: memory.id });
16
+ ```bash
17
+ npm install
18
+ npm run build # napi build --platform --release compiles the native addon
19
+ npm test # node test.js — store -> recall -> forget -> audit against the embedded backend
24
20
  ```
25
21
 
26
- ## CJS + ESM Support
22
+ `npm run build` regenerates `index.d.ts` and `index.js` from the Rust
23
+ `#[napi(...)]` annotations in `src/lib.rs` — don't hand-edit those two files.
27
24
 
28
- The SDK ships as a dual build via tsup. Both CommonJS and ES module entry points are provided:
25
+ ## Usage
29
26
 
30
- ```jsonc
31
- // package.json exports
32
- {
33
- "import": "./dist/index.js", // ESM
34
- "require": "./dist/index.cjs" // CJS
35
- }
36
- ```
27
+ ```ts
28
+ import { Client } from "@z3rno/sdk";
37
29
 
38
- Works in Node.js 18+, Bun, Deno, and browsers.
30
+ // Embedded backend (default): opens/creates "z3rno.db" in the cwd.
31
+ const client = await Client.connect();
39
32
 
40
- ## Methods
33
+ const memory = await client.store({
34
+ tenantId: "t1",
35
+ tier: "episodic", // "working" | "episodic" | "semantic" | "procedural"
36
+ content: "hello",
37
+ embedding: [0.1, 0.2, 0.3], // optional — omit if this memory shouldn't be recallable by similarity search
38
+ metadata: { source: "chat" },
39
+ links: [], // optional graph edges: { targetId, relationship }[]
40
+ });
41
41
 
42
- | Method | Description |
43
- |--------|-------------|
44
- | `store(request)` | Store a new memory with optional type, metadata, relationships, TTL, and importance |
45
- | `recall(params)` | Recall memories by semantic similarity query |
46
- | `forget(params)` | Soft-delete a memory by ID |
47
- | `audit(params?)` | Query the audit trail with optional filters and pagination |
42
+ const memories = await client.recall({ tenantId: "t1", query: [0.1, 0.2, 0.3], k: 5 });
48
43
 
49
- ## Features
44
+ const proof = await client.forget({ tenantId: "t1", id: memory.id });
45
+ // proof is `{ auditEventId, hash }`, or `null` if there was nothing to forget
50
46
 
51
- - **Zero runtime dependencies** -- only `zod` for request/response validation. No `axios`, no database drivers.
52
- - **Native fetch** -- works in every modern JavaScript runtime without polyfills.
53
- - **Runtime-validated responses** -- every API response is parsed through a Zod schema, giving both compile-time and runtime type safety.
54
- - **Typed errors** -- `Z3rnoAuthenticationError`, `Z3rnoRateLimitError` (with `retryAfter`), `Z3rnoValidationError`.
55
- - **Tree-shakeable** -- ESM build with clean exports for optimal bundling.
56
-
57
- For a detailed step-by-step setup, see [QUICKSTART.md](QUICKSTART.md).
58
-
59
- ## API Documentation
47
+ client.tier(); // "embedded" or "postgres" sync, no I/O
48
+ ```
60
49
 
61
- Full API reference: [astron-bb4261fd.mintlify.app/sdk/typescript](https://astron-bb4261fd.mintlify.app/sdk/typescript)
50
+ ## Advanced
62
51
 
63
- ## Development
52
+ `client.advanced` exposes operations kept out of the top-level verb surface.
53
+ Today that's just the append-only, hash-chained audit log:
64
54
 
65
- ```bash
66
- npm install
67
- npm run typecheck
68
- npm run format:check
69
- npm test
70
- npm run build
55
+ ```ts
56
+ const events = await client.advanced.audit("t1");
57
+ // each event: { id, tenantId, operation, memoryId, at, prevHash, hash }
58
+ // operation is "store" | "forget"; prevHash is undefined on the first event
71
59
  ```
72
60
 
73
- See [CONTRIBUTING.md](CONTRIBUTING.md) for the full workflow.
61
+ ## Production backend
74
62
 
75
- ## License
63
+ The embedded backend (SQLite + an in-process vector index + an in-process
64
+ graph) is the zero-infra default, with no external services required. For a
65
+ production, multi-tenant deployment, connect to the Postgres + pgvector +
66
+ Apache AGE backend instead:
76
67
 
77
- Apache 2.0 -- see [LICENSE](LICENSE).
68
+ ```ts
69
+ const client = await Client.connect({
70
+ backend: "postgres",
71
+ connectionString: "postgres://user:pass@host:5432/z3rno",
72
+ });
73
+ ```
package/build.rs ADDED
@@ -0,0 +1,5 @@
1
+ extern crate napi_build;
2
+
3
+ fn main() {
4
+ napi_build::setup();
5
+ }
package/index.d.ts ADDED
@@ -0,0 +1,97 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+
4
+ /* auto-generated by NAPI-RS */
5
+
6
+ /**
7
+ * `client.store(...)` input. `embedding` and `links` are optional (a
8
+ * memory with no embedding simply isn't recallable by similarity search;
9
+ * no links means no graph edges).
10
+ */
11
+ export interface StoreOptions {
12
+ tenantId: string
13
+ /** One of "working" | "episodic" | "semantic" | "procedural". */
14
+ tier: string
15
+ content: string
16
+ embedding?: Array<number>
17
+ metadata: JsonValue
18
+ links?: Array<LinkInput>
19
+ }
20
+ /** One graph edge from the memory being stored to an existing memory. */
21
+ export interface LinkInput {
22
+ targetId: string
23
+ relationship: string
24
+ }
25
+ /** `client.recall(...)` input. */
26
+ export interface RecallOptions {
27
+ tenantId: string
28
+ query: Array<number>
29
+ k: number
30
+ }
31
+ /** `client.forget(...)` input. */
32
+ export interface ForgetOptions {
33
+ tenantId: string
34
+ id: string
35
+ }
36
+ /**
37
+ * `Client.connect(...)` input. `backend` defaults to `"embedded"`; `path`
38
+ * defaults to `"z3rno.db"` in the current working directory when the
39
+ * embedded backend is used and `path` is omitted.
40
+ */
41
+ export interface ConnectOptions {
42
+ /** One of "embedded" | "postgres". Defaults to "embedded". */
43
+ backend?: string
44
+ path?: string
45
+ connectionString?: string
46
+ }
47
+ export interface MemoryDto {
48
+ id: string
49
+ tenantId: string
50
+ tier: string
51
+ content: string
52
+ metadata: JsonValue
53
+ /** RFC 3339 timestamp. */
54
+ createdAt: string
55
+ }
56
+ export interface ForgetProofDto {
57
+ auditEventId: string
58
+ hash: string
59
+ }
60
+ export interface AuditEventDto {
61
+ id: string
62
+ tenantId: string
63
+ /** "store" | "forget". */
64
+ operation: string
65
+ memoryId: string
66
+ /** RFC 3339 timestamp. */
67
+ at: string
68
+ prevHash?: string
69
+ hash: string
70
+ }
71
+ /**
72
+ * A connected z3rno client. Construct with `Client.connect(...)`, never
73
+ * `new Client()` — connecting the embedded backend is sync but connecting
74
+ * Postgres needs an `await`, so both go through one consistent async
75
+ * factory rather than a sync constructor plus a separate async path.
76
+ */
77
+ export declare class Client {
78
+ static connect(options?: ConnectOptions | undefined | null): Promise<Client>
79
+ /**
80
+ * Which tenant-isolation guarantee this client's backend provides:
81
+ * "embedded" or "postgres". No I/O, so this is sync (not a Promise).
82
+ */
83
+ tier(): string
84
+ store(options: StoreOptions): Promise<MemoryDto>
85
+ recall(options: RecallOptions): Promise<Array<MemoryDto>>
86
+ forget(options: ForgetOptions): Promise<ForgetProofDto | null>
87
+ /**
88
+ * Advanced operations namespace — currently just `.audit(tenantId)`,
89
+ * the one advanced operation the engine has. Mirrors the engine's own
90
+ * `MemoryEngine::advanced()` two-tier verb surface.
91
+ */
92
+ get advanced(): Advanced
93
+ }
94
+ export declare class Advanced {
95
+ /** The tenant's full audit chain, oldest first. */
96
+ audit(tenantId: string): Promise<Array<AuditEventDto>>
97
+ }
package/index.js ADDED
@@ -0,0 +1,316 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /* prettier-ignore */
4
+
5
+ /* auto-generated by NAPI-RS */
6
+
7
+ const { existsSync, readFileSync } = require('fs')
8
+ const { join } = require('path')
9
+
10
+ const { platform, arch } = process
11
+
12
+ let nativeBinding = null
13
+ let localFileExisted = false
14
+ let loadError = null
15
+
16
+ function isMusl() {
17
+ // For Node 10
18
+ if (!process.report || typeof process.report.getReport !== 'function') {
19
+ try {
20
+ const lddPath = require('child_process').execSync('which ldd').toString().trim()
21
+ return readFileSync(lddPath, 'utf8').includes('musl')
22
+ } catch (e) {
23
+ return true
24
+ }
25
+ } else {
26
+ const { glibcVersionRuntime } = process.report.getReport().header
27
+ return !glibcVersionRuntime
28
+ }
29
+ }
30
+
31
+ switch (platform) {
32
+ case 'android':
33
+ switch (arch) {
34
+ case 'arm64':
35
+ localFileExisted = existsSync(join(__dirname, 'z3rno-sdk-native.android-arm64.node'))
36
+ try {
37
+ if (localFileExisted) {
38
+ nativeBinding = require('./z3rno-sdk-native.android-arm64.node')
39
+ } else {
40
+ nativeBinding = require('@z3rno/sdk-android-arm64')
41
+ }
42
+ } catch (e) {
43
+ loadError = e
44
+ }
45
+ break
46
+ case 'arm':
47
+ localFileExisted = existsSync(join(__dirname, 'z3rno-sdk-native.android-arm-eabi.node'))
48
+ try {
49
+ if (localFileExisted) {
50
+ nativeBinding = require('./z3rno-sdk-native.android-arm-eabi.node')
51
+ } else {
52
+ nativeBinding = require('@z3rno/sdk-android-arm-eabi')
53
+ }
54
+ } catch (e) {
55
+ loadError = e
56
+ }
57
+ break
58
+ default:
59
+ throw new Error(`Unsupported architecture on Android ${arch}`)
60
+ }
61
+ break
62
+ case 'win32':
63
+ switch (arch) {
64
+ case 'x64':
65
+ localFileExisted = existsSync(
66
+ join(__dirname, 'z3rno-sdk-native.win32-x64-msvc.node')
67
+ )
68
+ try {
69
+ if (localFileExisted) {
70
+ nativeBinding = require('./z3rno-sdk-native.win32-x64-msvc.node')
71
+ } else {
72
+ nativeBinding = require('@z3rno/sdk-win32-x64-msvc')
73
+ }
74
+ } catch (e) {
75
+ loadError = e
76
+ }
77
+ break
78
+ case 'ia32':
79
+ localFileExisted = existsSync(
80
+ join(__dirname, 'z3rno-sdk-native.win32-ia32-msvc.node')
81
+ )
82
+ try {
83
+ if (localFileExisted) {
84
+ nativeBinding = require('./z3rno-sdk-native.win32-ia32-msvc.node')
85
+ } else {
86
+ nativeBinding = require('@z3rno/sdk-win32-ia32-msvc')
87
+ }
88
+ } catch (e) {
89
+ loadError = e
90
+ }
91
+ break
92
+ case 'arm64':
93
+ localFileExisted = existsSync(
94
+ join(__dirname, 'z3rno-sdk-native.win32-arm64-msvc.node')
95
+ )
96
+ try {
97
+ if (localFileExisted) {
98
+ nativeBinding = require('./z3rno-sdk-native.win32-arm64-msvc.node')
99
+ } else {
100
+ nativeBinding = require('@z3rno/sdk-win32-arm64-msvc')
101
+ }
102
+ } catch (e) {
103
+ loadError = e
104
+ }
105
+ break
106
+ default:
107
+ throw new Error(`Unsupported architecture on Windows: ${arch}`)
108
+ }
109
+ break
110
+ case 'darwin':
111
+ localFileExisted = existsSync(join(__dirname, 'z3rno-sdk-native.darwin-universal.node'))
112
+ try {
113
+ if (localFileExisted) {
114
+ nativeBinding = require('./z3rno-sdk-native.darwin-universal.node')
115
+ } else {
116
+ nativeBinding = require('@z3rno/sdk-darwin-universal')
117
+ }
118
+ break
119
+ } catch {}
120
+ switch (arch) {
121
+ case 'x64':
122
+ localFileExisted = existsSync(join(__dirname, 'z3rno-sdk-native.darwin-x64.node'))
123
+ try {
124
+ if (localFileExisted) {
125
+ nativeBinding = require('./z3rno-sdk-native.darwin-x64.node')
126
+ } else {
127
+ nativeBinding = require('@z3rno/sdk-darwin-x64')
128
+ }
129
+ } catch (e) {
130
+ loadError = e
131
+ }
132
+ break
133
+ case 'arm64':
134
+ localFileExisted = existsSync(
135
+ join(__dirname, 'z3rno-sdk-native.darwin-arm64.node')
136
+ )
137
+ try {
138
+ if (localFileExisted) {
139
+ nativeBinding = require('./z3rno-sdk-native.darwin-arm64.node')
140
+ } else {
141
+ nativeBinding = require('@z3rno/sdk-darwin-arm64')
142
+ }
143
+ } catch (e) {
144
+ loadError = e
145
+ }
146
+ break
147
+ default:
148
+ throw new Error(`Unsupported architecture on macOS: ${arch}`)
149
+ }
150
+ break
151
+ case 'freebsd':
152
+ if (arch !== 'x64') {
153
+ throw new Error(`Unsupported architecture on FreeBSD: ${arch}`)
154
+ }
155
+ localFileExisted = existsSync(join(__dirname, 'z3rno-sdk-native.freebsd-x64.node'))
156
+ try {
157
+ if (localFileExisted) {
158
+ nativeBinding = require('./z3rno-sdk-native.freebsd-x64.node')
159
+ } else {
160
+ nativeBinding = require('@z3rno/sdk-freebsd-x64')
161
+ }
162
+ } catch (e) {
163
+ loadError = e
164
+ }
165
+ break
166
+ case 'linux':
167
+ switch (arch) {
168
+ case 'x64':
169
+ if (isMusl()) {
170
+ localFileExisted = existsSync(
171
+ join(__dirname, 'z3rno-sdk-native.linux-x64-musl.node')
172
+ )
173
+ try {
174
+ if (localFileExisted) {
175
+ nativeBinding = require('./z3rno-sdk-native.linux-x64-musl.node')
176
+ } else {
177
+ nativeBinding = require('@z3rno/sdk-linux-x64-musl')
178
+ }
179
+ } catch (e) {
180
+ loadError = e
181
+ }
182
+ } else {
183
+ localFileExisted = existsSync(
184
+ join(__dirname, 'z3rno-sdk-native.linux-x64-gnu.node')
185
+ )
186
+ try {
187
+ if (localFileExisted) {
188
+ nativeBinding = require('./z3rno-sdk-native.linux-x64-gnu.node')
189
+ } else {
190
+ nativeBinding = require('@z3rno/sdk-linux-x64-gnu')
191
+ }
192
+ } catch (e) {
193
+ loadError = e
194
+ }
195
+ }
196
+ break
197
+ case 'arm64':
198
+ if (isMusl()) {
199
+ localFileExisted = existsSync(
200
+ join(__dirname, 'z3rno-sdk-native.linux-arm64-musl.node')
201
+ )
202
+ try {
203
+ if (localFileExisted) {
204
+ nativeBinding = require('./z3rno-sdk-native.linux-arm64-musl.node')
205
+ } else {
206
+ nativeBinding = require('@z3rno/sdk-linux-arm64-musl')
207
+ }
208
+ } catch (e) {
209
+ loadError = e
210
+ }
211
+ } else {
212
+ localFileExisted = existsSync(
213
+ join(__dirname, 'z3rno-sdk-native.linux-arm64-gnu.node')
214
+ )
215
+ try {
216
+ if (localFileExisted) {
217
+ nativeBinding = require('./z3rno-sdk-native.linux-arm64-gnu.node')
218
+ } else {
219
+ nativeBinding = require('@z3rno/sdk-linux-arm64-gnu')
220
+ }
221
+ } catch (e) {
222
+ loadError = e
223
+ }
224
+ }
225
+ break
226
+ case 'arm':
227
+ if (isMusl()) {
228
+ localFileExisted = existsSync(
229
+ join(__dirname, 'z3rno-sdk-native.linux-arm-musleabihf.node')
230
+ )
231
+ try {
232
+ if (localFileExisted) {
233
+ nativeBinding = require('./z3rno-sdk-native.linux-arm-musleabihf.node')
234
+ } else {
235
+ nativeBinding = require('@z3rno/sdk-linux-arm-musleabihf')
236
+ }
237
+ } catch (e) {
238
+ loadError = e
239
+ }
240
+ } else {
241
+ localFileExisted = existsSync(
242
+ join(__dirname, 'z3rno-sdk-native.linux-arm-gnueabihf.node')
243
+ )
244
+ try {
245
+ if (localFileExisted) {
246
+ nativeBinding = require('./z3rno-sdk-native.linux-arm-gnueabihf.node')
247
+ } else {
248
+ nativeBinding = require('@z3rno/sdk-linux-arm-gnueabihf')
249
+ }
250
+ } catch (e) {
251
+ loadError = e
252
+ }
253
+ }
254
+ break
255
+ case 'riscv64':
256
+ if (isMusl()) {
257
+ localFileExisted = existsSync(
258
+ join(__dirname, 'z3rno-sdk-native.linux-riscv64-musl.node')
259
+ )
260
+ try {
261
+ if (localFileExisted) {
262
+ nativeBinding = require('./z3rno-sdk-native.linux-riscv64-musl.node')
263
+ } else {
264
+ nativeBinding = require('@z3rno/sdk-linux-riscv64-musl')
265
+ }
266
+ } catch (e) {
267
+ loadError = e
268
+ }
269
+ } else {
270
+ localFileExisted = existsSync(
271
+ join(__dirname, 'z3rno-sdk-native.linux-riscv64-gnu.node')
272
+ )
273
+ try {
274
+ if (localFileExisted) {
275
+ nativeBinding = require('./z3rno-sdk-native.linux-riscv64-gnu.node')
276
+ } else {
277
+ nativeBinding = require('@z3rno/sdk-linux-riscv64-gnu')
278
+ }
279
+ } catch (e) {
280
+ loadError = e
281
+ }
282
+ }
283
+ break
284
+ case 's390x':
285
+ localFileExisted = existsSync(
286
+ join(__dirname, 'z3rno-sdk-native.linux-s390x-gnu.node')
287
+ )
288
+ try {
289
+ if (localFileExisted) {
290
+ nativeBinding = require('./z3rno-sdk-native.linux-s390x-gnu.node')
291
+ } else {
292
+ nativeBinding = require('@z3rno/sdk-linux-s390x-gnu')
293
+ }
294
+ } catch (e) {
295
+ loadError = e
296
+ }
297
+ break
298
+ default:
299
+ throw new Error(`Unsupported architecture on Linux: ${arch}`)
300
+ }
301
+ break
302
+ default:
303
+ throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`)
304
+ }
305
+
306
+ if (!nativeBinding) {
307
+ if (loadError) {
308
+ throw loadError
309
+ }
310
+ throw new Error(`Failed to load native binding`)
311
+ }
312
+
313
+ const { Client, Advanced } = nativeBinding
314
+
315
+ module.exports.Client = Client
316
+ module.exports.Advanced = Advanced
@@ -0,0 +1,3 @@
1
+ # `@z3rno/sdk-darwin-arm64`
2
+
3
+ This is the **aarch64-apple-darwin** binary for `@z3rno/sdk`
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "@z3rno/sdk-darwin-arm64",
3
+ "version": "0.23.0",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "https://github.com/the-ai-project-co/z3rno"
7
+ },
8
+ "os": [
9
+ "darwin"
10
+ ],
11
+ "cpu": [
12
+ "arm64"
13
+ ],
14
+ "main": "z3rno-sdk-native.darwin-arm64.node",
15
+ "files": [
16
+ "z3rno-sdk-native.darwin-arm64.node"
17
+ ],
18
+ "license": "Apache-2.0",
19
+ "engines": {
20
+ "node": ">= 18"
21
+ },
22
+ "publishConfig": {
23
+ "access": "public",
24
+ "provenance": true
25
+ }
26
+ }
@@ -0,0 +1,3 @@
1
+ # `@z3rno/sdk-darwin-x64`
2
+
3
+ This is the **x86_64-apple-darwin** binary for `@z3rno/sdk`
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "@z3rno/sdk-darwin-x64",
3
+ "version": "0.23.0",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "https://github.com/the-ai-project-co/z3rno"
7
+ },
8
+ "os": [
9
+ "darwin"
10
+ ],
11
+ "cpu": [
12
+ "x64"
13
+ ],
14
+ "main": "z3rno-sdk-native.darwin-x64.node",
15
+ "files": [
16
+ "z3rno-sdk-native.darwin-x64.node"
17
+ ],
18
+ "license": "Apache-2.0",
19
+ "engines": {
20
+ "node": ">= 18"
21
+ },
22
+ "publishConfig": {
23
+ "access": "public",
24
+ "provenance": true
25
+ }
26
+ }
@@ -0,0 +1,3 @@
1
+ # `@z3rno/sdk-linux-arm64-gnu`
2
+
3
+ This is the **aarch64-unknown-linux-gnu** binary for `@z3rno/sdk`
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "@z3rno/sdk-linux-arm64-gnu",
3
+ "version": "0.23.0",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "https://github.com/the-ai-project-co/z3rno"
7
+ },
8
+ "os": [
9
+ "linux"
10
+ ],
11
+ "cpu": [
12
+ "arm64"
13
+ ],
14
+ "main": "z3rno-sdk-native.linux-arm64-gnu.node",
15
+ "files": [
16
+ "z3rno-sdk-native.linux-arm64-gnu.node"
17
+ ],
18
+ "license": "Apache-2.0",
19
+ "engines": {
20
+ "node": ">= 18"
21
+ },
22
+ "publishConfig": {
23
+ "access": "public",
24
+ "provenance": true
25
+ },
26
+ "libc": [
27
+ "glibc"
28
+ ]
29
+ }
@@ -0,0 +1,3 @@
1
+ # `@z3rno/sdk-linux-x64-gnu`
2
+
3
+ This is the **x86_64-unknown-linux-gnu** binary for `@z3rno/sdk`