@macula-io/ts 0.21.0 → 0.22.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/README.md +45 -36
- package/dist/binding.d.ts +19 -14
- package/dist/binding.js +53 -3
- package/dist/binding.js.map +1 -1
- package/dist/content.d.ts +0 -2
- package/dist/content.js +0 -10
- package/dist/content.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/pool.d.ts +6 -0
- package/dist/pool.js +57 -40
- package/dist/pool.js.map +1 -1
- package/dist/stream.d.ts +1 -1
- package/dist/stream.js +8 -7
- package/dist/stream.js.map +1 -1
- package/dist/wire.d.ts +14 -6
- package/dist/wire.js +60 -18
- package/dist/wire.js.map +1 -1
- package/package.json +5 -6
- package/prebuilds/darwin-arm64/@macula-io+ts.node +0 -0
- package/prebuilds/darwin-x64/@macula-io+ts.node +0 -0
- package/prebuilds/linux-arm64/@macula-io+ts.node +0 -0
- package/prebuilds/linux-x64/@macula-io+ts.node +0 -0
- package/prebuilds/win32-x64/@macula-io+ts.node +0 -0
- package/prebuilds/win32-x64/macula-v0.16.0.dll +0 -0
package/README.md
CHANGED
|
@@ -63,11 +63,9 @@ macula-go, macula-rust, macula-dotnet, and macula-php have all already
|
|
|
63
63
|
proven this protocol works and are actively maintained. Rather than
|
|
64
64
|
reimplement QUIC, TLS 1.3 with a hybrid post-quantum key exchange, deterministic CBOR and signed frames a fifth time in a
|
|
65
65
|
language with no mature QUIC story of its own, macula-ts reuses macula-go's
|
|
66
|
-
already-proven implementation through
|
|
67
|
-
[macula
|
|
68
|
-
|
|
69
|
-
is structurally modeled on, including its handle-based memory-ownership
|
|
70
|
-
convention).
|
|
66
|
+
already-proven implementation through macula-go's shared C ABI
|
|
67
|
+
([`cabi/macula.h`](https://github.com/macula-io/macula-go/blob/master/cabi/macula.h),
|
|
68
|
+
contract in `cabi/CONTRACT.md`), the one C ABI every non-Go SDK binds.
|
|
71
69
|
|
|
72
70
|
## Sibling SDKs
|
|
73
71
|
|
|
@@ -141,15 +139,23 @@ compatibility layer.
|
|
|
141
139
|
## Architecture
|
|
142
140
|
|
|
143
141
|
```
|
|
144
|
-
src/ (TypeScript API) ── addon/binding.cc (N-API) ── cabi
|
|
142
|
+
src/ (TypeScript API) ── addon/binding.cc (N-API) ── macula-go cabi (C ABI 1, c-archive) ── macula-go pool
|
|
145
143
|
```
|
|
146
144
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
a
|
|
152
|
-
`
|
|
145
|
+
The addon links macula-go's shared C ABI, built as a c-archive from the
|
|
146
|
+
macula-go release in `native/MACULA_GO` (`scripts/build-native.sh`, which
|
|
147
|
+
takes macula-go through `go mod download` and the Go checksum database and
|
|
148
|
+
checks the release's commit). There is no Go code in this repository. Every Go
|
|
149
|
+
value crosses as a handle; payloads cross as JSON with no booleans and bytes
|
|
150
|
+
as `{"$bytes": "<base64>"}` both ways (this package turns them into `"0x"`
|
|
151
|
+
hex by default, or leaves them tagged with `bytes: "tagged"`); an error
|
|
152
|
+
crosses as JSON with a fixed kind, which becomes `ProviderError`,
|
|
153
|
+
`RelayError`, `NotSharedError`, `ContentUnavailableError` or a `MaculaError`
|
|
154
|
+
carrying the kind. Every call that does network I/O runs on a worker thread
|
|
155
|
+
(`Napi::AsyncWorker`) and returns a Promise. The ABI never calls back into
|
|
156
|
+
Node: each subscription and served procedure has a thread of its own that
|
|
157
|
+
takes from its inbox, with a cancel token of its own, and hands each event,
|
|
158
|
+
call and session to JavaScript through a `ThreadSafeFunction`.
|
|
153
159
|
|
|
154
160
|
## What's implemented
|
|
155
161
|
|
|
@@ -174,12 +180,13 @@ a Promise; events, served calls and served streams reach JavaScript through a
|
|
|
174
180
|
## Testing
|
|
175
181
|
|
|
176
182
|
```bash
|
|
177
|
-
npm test # builds build
|
|
183
|
+
npm test # builds native/build (libmacula.a and the teststation), then the offline suite
|
|
178
184
|
npm run test:live # one live station, see below
|
|
179
185
|
```
|
|
180
186
|
|
|
181
|
-
`npm test` runs `src/pool.test.ts` against
|
|
182
|
-
|
|
187
|
+
`npm test` runs `src/pool.test.ts` against macula-go's own
|
|
188
|
+
`teststation/cmd/teststation` at the pinned release, a helper that runs two
|
|
189
|
+
in-process macula 12 stations sharing
|
|
183
190
|
a DHT, with a test realm that admits the test's provider nodes. It exercises
|
|
184
191
|
keys, calls by direct dial and their errors, providers, server and client
|
|
185
192
|
streams (and that no stream is left unreleased), pubsub and the DHT, through
|
|
@@ -197,8 +204,8 @@ and signs its own, and this SDK verifies it.
|
|
|
197
204
|
(the station's node_id), `MACULA_TS_LIVE_REALM` and `MACULA_TS_LIVE_REALM_KEY`;
|
|
198
205
|
an unset one fails the run naming it. It reads the DHT, calls `mcl-echo/echo`
|
|
199
206
|
by direct dial and hears its own publication.
|
|
200
|
-
`.github/workflows/live.yml` runs it when dispatched by hand, on
|
|
201
|
-
|
|
207
|
+
`.github/workflows/live.yml` runs it when dispatched by hand, on an addon it
|
|
208
|
+
builds from the commit's source.
|
|
202
209
|
|
|
203
210
|
## Packaging: genuinely zero install-time scripts
|
|
204
211
|
|
|
@@ -217,28 +224,29 @@ macula-ts's own exported functions (not a generic bridge), packaged with
|
|
|
217
224
|
[`node-gyp-build`](https://github.com/prebuild/node-gyp-build) — the same
|
|
218
225
|
pattern used by `sharp`, `bcrypt`, and other native modules that need zero
|
|
219
226
|
consumer-side compilation. The compiled `.node` binary for each supported
|
|
220
|
-
platform is
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
`postinstall`, or `preinstall` script at all.
|
|
227
|
+
platform is in the npm package's `prebuilds/` (there is nothing to build or
|
|
228
|
+
fetch at a consumer's `npm install`). `package.json` has no `install`,
|
|
229
|
+
`postinstall`, `preinstall` or `prepublishOnly` script at all.
|
|
224
230
|
|
|
225
231
|
Five platforms are covered: `linux-x64`, `linux-arm64`, `darwin-arm64`,
|
|
226
|
-
`darwin-x64`, and `win32-x64`. `.
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
232
|
+
`darwin-x64`, and `win32-x64`. On Linux and macOS the prebuild is one `.node`
|
|
233
|
+
with macula-go's cabi linked in statically; on Windows it is the `.node` and
|
|
234
|
+
macula-go's DLL beside it (`macula-<release>.dll`, named after macula-go's
|
|
235
|
+
release so two versions of this package never share one), because node-gyp links with MSVC, which
|
|
236
|
+
does not start the Go runtime of a MinGW-built static archive. `.github/workflows/prebuild-matrix.yml` builds
|
|
237
|
+
each from source on a real GitHub-hosted runner for that platform (cgo needs
|
|
238
|
+
the platform's own C toolchain, so no cross-compiling), loads it and generates
|
|
239
|
+
a key with it before uploading it. The release workflow attests each prebuild
|
|
240
|
+
(build provenance) and packs all five into the package it publishes; CI runs
|
|
241
|
+
the same matrix on every push, then installs the packed package into an empty
|
|
242
|
+
project and checks the install compiled nothing. Prebuilds are never committed
|
|
243
|
+
(macula-ts#2).
|
|
237
244
|
|
|
238
245
|
## Development
|
|
239
246
|
|
|
240
247
|
```bash
|
|
241
|
-
npm run build:go # builds
|
|
248
|
+
npm run build:go # builds native/build (libmacula.a, macula.h, teststation)
|
|
249
|
+
# from macula-go at native/MACULA_GO -- must run BEFORE
|
|
242
250
|
# npm install, since binding.gyp's mere presence in
|
|
243
251
|
# this repo (not in the published package) makes npm
|
|
244
252
|
# implicitly run `node-gyp rebuild` as part of
|
|
@@ -246,12 +254,13 @@ npm run build:go # builds cabi/build/libmacula.a -- must run BEFORE
|
|
|
246
254
|
npm install # builds the native addon (via the implicit node-gyp
|
|
247
255
|
# rebuild above) and installs JS deps
|
|
248
256
|
npm run typecheck
|
|
249
|
-
npm test # builds build
|
|
250
|
-
npm run build:prebuilds #
|
|
257
|
+
npm test # builds native/build first
|
|
258
|
+
npm run build:prebuilds # this platform's prebuild, into prebuilds/ (never committed)
|
|
251
259
|
npm run build # local dev build: addon + tsc
|
|
252
260
|
```
|
|
253
261
|
|
|
254
|
-
Requires Go >=1.27
|
|
262
|
+
Requires Go >=1.27 and a C compiler (to build macula-go's cabi), a C++
|
|
263
|
+
toolchain (for `addon/`), and Node
|
|
255
264
|
>=24.18.1 (see `engines` in `package.json` — matches the same floor
|
|
256
265
|
macula-mcp landed on for `node:sqlite`; earlier Node lines don't ship it).
|
|
257
266
|
None of this is required to *consume* the published package — only to
|
package/dist/binding.d.ts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
/** An opaque Go value's handle (runtime/cgo.Handle), as the addon returns it. */
|
|
2
2
|
export type Handle = bigint;
|
|
3
3
|
/** What a listener (a subscription, a served procedure, a served stream
|
|
4
|
-
* procedure) is handed, on the event loop: an event
|
|
5
|
-
*
|
|
4
|
+
* procedure) is handed, on the event loop: an event, a request with the
|
|
5
|
+
* pending call's or stream's handle, or, last, the closing notice, whose json
|
|
6
|
+
* is empty when the listener ended as asked and the error's JSON otherwise. */
|
|
6
7
|
export interface Delivery {
|
|
7
8
|
readonly kind: "event" | "closed" | "request";
|
|
8
9
|
readonly json: string;
|
|
9
10
|
readonly handle: Handle;
|
|
10
11
|
}
|
|
11
12
|
export type Listener = (delivery: Delivery) => void;
|
|
12
|
-
|
|
13
|
+
interface Native {
|
|
14
|
+
abiVersion: number;
|
|
13
15
|
keyGenerate(profile: string): Promise<Handle>;
|
|
14
16
|
keyLoad(path: string, profile: string): Promise<Handle>;
|
|
15
17
|
keySave(key: Handle, path: string): Promise<void>;
|
|
@@ -25,20 +27,21 @@ export declare const native: {
|
|
|
25
27
|
poolClose(pool: Handle): Promise<void>;
|
|
26
28
|
poolNodeId(pool: Handle): Uint8Array;
|
|
27
29
|
poolStatus(pool: Handle): string;
|
|
28
|
-
poolCall(pool: Handle, realm: Uint8Array, procedure: string, payloadJson: string, provider: Uint8Array | null, timeoutMs: number
|
|
30
|
+
poolCall(pool: Handle, realm: Uint8Array, procedure: string, payloadJson: string, provider: Uint8Array | null, timeoutMs: number): Promise<string>;
|
|
29
31
|
poolProviders(pool: Handle, realm: Uint8Array, procedure: string, timeoutMs: number): Promise<string>;
|
|
30
32
|
poolPublish(pool: Handle, realm: Uint8Array, topic: string, payloadJson: string, ttlMs: number): Promise<void>;
|
|
31
|
-
poolSubscribe(pool: Handle, realm: Uint8Array, topic: string,
|
|
33
|
+
poolSubscribe(pool: Handle, realm: Uint8Array, topic: string, listener: Listener): Promise<Handle>;
|
|
32
34
|
subscriptionStop(subscription: Handle): Promise<void>;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
subscriptionDropped(subscription: Handle): number;
|
|
36
|
+
poolFindRecord(pool: Handle, key: Uint8Array, timeoutMs: number): Promise<string>;
|
|
37
|
+
poolFindRecords(pool: Handle, key: Uint8Array, timeoutMs: number): Promise<string>;
|
|
38
|
+
poolFindRecordsByType(pool: Handle, type: number, timeoutMs: number): Promise<string>;
|
|
36
39
|
poolPutRecord(pool: Handle, wire: Uint8Array, timeoutMs: number): Promise<void>;
|
|
37
40
|
poolShareContent(pool: Handle, realm: Uint8Array, data: Uint8Array, name: string, timeoutMs: number): Promise<Uint8Array>;
|
|
38
41
|
poolUnshareContent(pool: Handle, realm: Uint8Array, mcid: Uint8Array, timeoutMs: number): Promise<void>;
|
|
39
|
-
poolGetContent(pool: Handle, realm: Uint8Array, mcid: Uint8Array,
|
|
40
|
-
poolServe(pool: Handle, realm: Uint8Array, procedure: string,
|
|
41
|
-
poolServeStream(pool: Handle, realm: Uint8Array, procedure: string, mode: number,
|
|
42
|
+
poolGetContent(pool: Handle, realm: Uint8Array, mcid: Uint8Array, optionsJson: string, timeoutMs: number): Promise<Uint8Array>;
|
|
43
|
+
poolServe(pool: Handle, realm: Uint8Array, procedure: string, listener: Listener): Promise<Handle>;
|
|
44
|
+
poolServeStream(pool: Handle, realm: Uint8Array, procedure: string, mode: number, listener: Listener): Promise<Handle>;
|
|
42
45
|
pendingReply(pending: Handle, resultJson: string): void;
|
|
43
46
|
pendingError(pending: Handle, message: string): void;
|
|
44
47
|
servedStop(served: Handle): Promise<void>;
|
|
@@ -49,7 +52,9 @@ export declare const native: {
|
|
|
49
52
|
streamClose(stream: Handle): Promise<void>;
|
|
50
53
|
streamReply(stream: Handle, payloadJson: string): Promise<void>;
|
|
51
54
|
streamAbort(stream: Handle, code: string, message: string): Promise<void>;
|
|
52
|
-
streamRecv(stream: Handle, timeoutMs: number
|
|
53
|
-
streamRequest(stream: Handle
|
|
55
|
+
streamRecv(stream: Handle, timeoutMs: number): Promise<string>;
|
|
56
|
+
streamRequest(stream: Handle): string;
|
|
54
57
|
streamFree(stream: Handle): Promise<void>;
|
|
55
|
-
}
|
|
58
|
+
}
|
|
59
|
+
export declare const native: Native;
|
|
60
|
+
export {};
|
package/dist/binding.js
CHANGED
|
@@ -1,16 +1,66 @@
|
|
|
1
1
|
// Loads the compiled N-API addon (addon/binding.cc) and types its functions.
|
|
2
|
-
//
|
|
2
|
+
// macula-go's shared C ABI (cabi/, built as a c-archive from the release in
|
|
3
|
+
// native/MACULA_GO) is linked into the addon statically, so it is one
|
|
3
4
|
// self-contained .node file. node-gyp-build picks, at require time, a local
|
|
4
5
|
// build (build/Release/*.node) or the published prebuild for this platform
|
|
5
6
|
// (prebuilds/<platform>-<arch>/*.node), so a consumer installing from npm
|
|
6
7
|
// never runs a compiler.
|
|
7
8
|
//
|
|
9
|
+
// Every function is wrapped once here: an error the ABI reports (JSON with a
|
|
10
|
+
// fixed kind) reaches the rest of the package as the class its kind names
|
|
11
|
+
// (wire.ts nativeError).
|
|
12
|
+
//
|
|
8
13
|
// Internal to the package: the public API is key.ts, pool.ts and stream.ts.
|
|
9
14
|
import { createRequire } from "node:module";
|
|
10
15
|
import { fileURLToPath } from "node:url";
|
|
11
16
|
import { dirname, join } from "node:path";
|
|
17
|
+
import { readdirSync } from "node:fs";
|
|
18
|
+
import { nativeError } from "./wire.js";
|
|
12
19
|
const require = createRequire(import.meta.url);
|
|
13
20
|
const repoRoot = join(dirname(fileURLToPath(import.meta.url)), "..");
|
|
14
|
-
|
|
15
|
-
|
|
21
|
+
/** The addon for this platform, or an error that says what failed to load. */
|
|
22
|
+
function load() {
|
|
23
|
+
try {
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
25
|
+
return require("node-gyp-build")(repoRoot);
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
const why = e instanceof Error ? e.message : String(e);
|
|
29
|
+
throw new Error(`macula-ts: the native addon did not load on ${process.platform}-${process.arch}: ${why}.${windowsHint()}`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// On Windows the addon needs macula-go's DLL (macula-<release>.dll) beside
|
|
33
|
+
// its .node: say whether it is there, so a missing DLL is told apart from a
|
|
34
|
+
// failure of anything else.
|
|
35
|
+
function windowsHint() {
|
|
36
|
+
if (process.platform !== "win32")
|
|
37
|
+
return "";
|
|
38
|
+
let dir;
|
|
39
|
+
try {
|
|
40
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
41
|
+
dir = dirname(require("node-gyp-build").path(repoRoot));
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return " No prebuild for this platform was found.";
|
|
45
|
+
}
|
|
46
|
+
const dlls = readdirSync(dir).filter((f) => /^macula-v[0-9.]+\.dll$/.test(f));
|
|
47
|
+
return dlls.length === 0
|
|
48
|
+
? ` macula-go's DLL (macula-<release>.dll) is not there, beside the .node in ${dir}.`
|
|
49
|
+
: ` ${dlls.join(", ")} is there, beside the .node, so the failure is elsewhere.`;
|
|
50
|
+
}
|
|
51
|
+
const addon = load();
|
|
52
|
+
/** fn with the ABI's errors as their classes: a rejection or a throw. */
|
|
53
|
+
function typed(fn) {
|
|
54
|
+
return ((...args) => {
|
|
55
|
+
let out;
|
|
56
|
+
try {
|
|
57
|
+
out = fn(...args);
|
|
58
|
+
}
|
|
59
|
+
catch (e) {
|
|
60
|
+
throw nativeError(e);
|
|
61
|
+
}
|
|
62
|
+
return out instanceof Promise ? out.catch((e) => { throw nativeError(e); }) : out;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
export const native = Object.fromEntries(Object.entries(addon).map(([name, value]) => [name, typeof value === "function" ? typed(value) : value]));
|
|
16
66
|
//# sourceMappingURL=binding.js.map
|
package/dist/binding.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding.js","sourceRoot":"","sources":["../src/binding.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,
|
|
1
|
+
{"version":3,"file":"binding.js","sourceRoot":"","sources":["../src/binding.ts"],"names":[],"mappings":"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"}
|
package/dist/content.d.ts
CHANGED
|
@@ -27,7 +27,5 @@ export declare class ContentUnavailableError extends Error {
|
|
|
27
27
|
readonly detail: string;
|
|
28
28
|
constructor(detail: string);
|
|
29
29
|
}
|
|
30
|
-
/** The native layer's content errors, as the classes they name. */
|
|
31
|
-
export declare function contentError(e: unknown): Error;
|
|
32
30
|
/** How long a whole fetch waits when not told: 5 minutes. */
|
|
33
31
|
export declare const DEFAULT_CONTENT_TIMEOUT_MS = 300000;
|
package/dist/content.js
CHANGED
|
@@ -31,16 +31,6 @@ export class ContentUnavailableError extends Error {
|
|
|
31
31
|
this.name = "ContentUnavailableError";
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
/** The native layer's content errors, as the classes they name. */
|
|
35
|
-
export function contentError(e) {
|
|
36
|
-
const message = e instanceof Error ? e.message : String(e);
|
|
37
|
-
if (message === "not_shared")
|
|
38
|
-
return new NotSharedError();
|
|
39
|
-
const unavailable = /^unavailable:([\s\S]*)$/.exec(message);
|
|
40
|
-
if (unavailable)
|
|
41
|
-
return new ContentUnavailableError(unavailable[1] ?? "");
|
|
42
|
-
return e instanceof Error ? e : new Error(message);
|
|
43
|
-
}
|
|
44
34
|
/** How long a whole fetch waits when not told: 5 minutes. */
|
|
45
35
|
export const DEFAULT_CONTENT_TIMEOUT_MS = 300_000;
|
|
46
36
|
//# sourceMappingURL=content.js.map
|
package/dist/content.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,4EAA4E;AAC5E,+EAA+E;AAC/E,2EAA2E;AAC3E,4DAA4D;AAO5D,2DAA2D;AAC3D,MAAM,UAAU,MAAM,CAAC,IAAU;IAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAClH,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACnG,OAAO,IAAI,CAAC;AACd,CAAC;AAgBD,8CAA8C;AAC9C,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC;QACE,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED;qEACqE;AACrE,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC3B,MAAM;IAA3B,YAAqB,MAAc;QACjC,KAAK,CAAC,0CAA0C,MAAM,EAAE,CAAC,CAAC;sBADvC,MAAM;QAEzB,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED,
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,4EAA4E;AAC5E,+EAA+E;AAC/E,2EAA2E;AAC3E,4DAA4D;AAO5D,2DAA2D;AAC3D,MAAM,UAAU,MAAM,CAAC,IAAU;IAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAClH,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACnG,OAAO,IAAI,CAAC;AACd,CAAC;AAgBD,8CAA8C;AAC9C,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC;QACE,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED;qEACqE;AACrE,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC3B,MAAM;IAA3B,YAAqB,MAAc;QACjC,KAAK,CAAC,0CAA0C,MAAM,EAAE,CAAC,CAAC;sBADvC,MAAM;QAEzB,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,4 +2,4 @@ export { NodeKey, JOIN_SESSION_PROCEDURE, MEMBERSHIP_UCAN_PROCEDURE, type Profil
|
|
|
2
2
|
export { Pool, Subscription, Served, RecordType, type Seed, type PoolOptions, type LinkStatus, type Provider, type Event, type Request, type DhtRecord, } from "./pool.js";
|
|
3
3
|
export { NotSharedError, ContentUnavailableError, DEFAULT_CONTENT_TIMEOUT_MS, type ContentOptions, type Mcid, } from "./content.js";
|
|
4
4
|
export { Stream, StreamMode, type StreamEvent, type StreamRequest } from "./stream.js";
|
|
5
|
-
export { ProviderError, RelayError, StreamError, DEFAULT_CALL_TIMEOUT_MS, type JsonValue, type BytesOutput, type Id, } from "./wire.js";
|
|
5
|
+
export { ProviderError, RelayError, StreamError, MaculaError, DEFAULT_CALL_TIMEOUT_MS, type JsonValue, type BytesOutput, type Id, } from "./wire.js";
|
package/dist/index.js
CHANGED
|
@@ -3,5 +3,5 @@ export { NodeKey, JOIN_SESSION_PROCEDURE, MEMBERSHIP_UCAN_PROCEDURE, } from "./k
|
|
|
3
3
|
export { Pool, Subscription, Served, RecordType, } from "./pool.js";
|
|
4
4
|
export { NotSharedError, ContentUnavailableError, DEFAULT_CONTENT_TIMEOUT_MS, } from "./content.js";
|
|
5
5
|
export { Stream, StreamMode } from "./stream.js";
|
|
6
|
-
export { ProviderError, RelayError, StreamError, DEFAULT_CALL_TIMEOUT_MS, } from "./wire.js";
|
|
6
|
+
export { ProviderError, RelayError, StreamError, MaculaError, DEFAULT_CALL_TIMEOUT_MS, } from "./wire.js";
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,OAAO,EACL,OAAO,EACP,sBAAsB,EACtB,yBAAyB,GAI1B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,UAAU,GAQX,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,0BAA0B,GAG3B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAwC,MAAM,aAAa,CAAC;AACvF,OAAO,EACL,aAAa,EACb,UAAU,EACV,WAAW,EACX,uBAAuB,GAIxB,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,OAAO,EACL,OAAO,EACP,sBAAsB,EACtB,yBAAyB,GAI1B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,UAAU,GAQX,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,0BAA0B,GAG3B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAwC,MAAM,aAAa,CAAC;AACvF,OAAO,EACL,aAAa,EACb,UAAU,EACV,WAAW,EACX,WAAW,EACX,uBAAuB,GAIxB,MAAM,WAAW,CAAC"}
|
package/dist/pool.d.ts
CHANGED
|
@@ -78,8 +78,14 @@ export declare enum RecordType {
|
|
|
78
78
|
export declare class Subscription {
|
|
79
79
|
private readonly handle;
|
|
80
80
|
readonly closed: Promise<string | null>;
|
|
81
|
+
private finalDropped;
|
|
81
82
|
/** @internal */
|
|
82
83
|
constructor(handle: Handle, closed: Promise<string | null>);
|
|
84
|
+
/** Events dropped before onEvent heard them: when onEvent was behind and
|
|
85
|
+
* the inbox (256) was full, which drops the newest, and any the pool itself
|
|
86
|
+
* could not hand on. After stop(), the count at stop; read it before the
|
|
87
|
+
* pool closes if the subscription was not stopped, since closing frees it. */
|
|
88
|
+
dropped(): number;
|
|
83
89
|
/** Ends the subscription on every link. */
|
|
84
90
|
stop(): Promise<void>;
|
|
85
91
|
}
|
package/dist/pool.js
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
// pinned.
|
|
8
8
|
import { native } from "./binding.js";
|
|
9
9
|
import { Stream } from "./stream.js";
|
|
10
|
-
import { DEFAULT_CONTENT_TIMEOUT_MS,
|
|
11
|
-
import { DEFAULT_CALL_TIMEOUT_MS,
|
|
10
|
+
import { DEFAULT_CONTENT_TIMEOUT_MS, mcid50 } from "./content.js";
|
|
11
|
+
import { DEFAULT_CALL_TIMEOUT_MS, MaculaError, bytesOut, hex, id32, } from "./wire.js";
|
|
12
12
|
/** macula 12's record types. */
|
|
13
13
|
export var RecordType;
|
|
14
14
|
(function (RecordType) {
|
|
@@ -24,13 +24,24 @@ export var RecordType;
|
|
|
24
24
|
export class Subscription {
|
|
25
25
|
handle;
|
|
26
26
|
closed;
|
|
27
|
+
finalDropped = null;
|
|
27
28
|
/** @internal */
|
|
28
29
|
constructor(handle, closed) {
|
|
29
30
|
this.handle = handle;
|
|
30
31
|
this.closed = closed;
|
|
31
32
|
}
|
|
33
|
+
/** Events dropped before onEvent heard them: when onEvent was behind and
|
|
34
|
+
* the inbox (256) was full, which drops the newest, and any the pool itself
|
|
35
|
+
* could not hand on. After stop(), the count at stop; read it before the
|
|
36
|
+
* pool closes if the subscription was not stopped, since closing frees it. */
|
|
37
|
+
dropped() {
|
|
38
|
+
return this.finalDropped ?? native.subscriptionDropped(this.handle);
|
|
39
|
+
}
|
|
32
40
|
/** Ends the subscription on every link. */
|
|
33
41
|
async stop() {
|
|
42
|
+
if (this.finalDropped !== null)
|
|
43
|
+
return;
|
|
44
|
+
this.finalDropped = native.subscriptionDropped(this.handle);
|
|
34
45
|
await native.subscriptionStop(this.handle);
|
|
35
46
|
}
|
|
36
47
|
}
|
|
@@ -84,19 +95,17 @@ export class Pool {
|
|
|
84
95
|
}
|
|
85
96
|
/** Every link the pool holds. */
|
|
86
97
|
status() {
|
|
87
|
-
|
|
98
|
+
// The ABI carries flags as 0 or 1.
|
|
99
|
+
const links = JSON.parse(native.poolStatus(this.live())) ?? [];
|
|
100
|
+
return links.map((l) => ({ station: l.station, host: l.host, port: l.port, direct: l.direct === 1, up: l.up === 1 }));
|
|
88
101
|
}
|
|
89
102
|
/** Calls procedure in realm at a provider (any trusted one unless
|
|
90
103
|
* `provider` names one) by direct dial. A provider's ERROR is thrown as a
|
|
91
104
|
* ProviderError, a station's relay error as a RelayError. */
|
|
92
105
|
async call(realm, procedure, payload = {}, options = {}) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
97
|
-
catch (e) {
|
|
98
|
-
throw callError(e);
|
|
99
|
-
}
|
|
106
|
+
bytesOut(null, options.bytes);
|
|
107
|
+
const result = await native.poolCall(this.live(), id32(realm, "realm"), procedure, JSON.stringify(payload), options.provider === undefined ? null : id32(options.provider, "provider"), options.timeoutMs ?? DEFAULT_CALL_TIMEOUT_MS);
|
|
108
|
+
return bytesOut(JSON.parse(result), options.bytes);
|
|
100
109
|
}
|
|
101
110
|
/** The procedure's trusted providers, freshest first. */
|
|
102
111
|
async providers(realm, procedure, options = {}) {
|
|
@@ -113,14 +122,15 @@ export class Pool {
|
|
|
113
122
|
async subscribe(realm, topic, onEvent, options = {}) {
|
|
114
123
|
let settle = () => { };
|
|
115
124
|
const closed = new Promise((resolve) => (settle = resolve));
|
|
116
|
-
|
|
125
|
+
bytesOut(null, options.bytes);
|
|
126
|
+
const handle = await native.poolSubscribe(this.live(), id32(realm, "realm"), topic, (d) => {
|
|
117
127
|
if (d.kind === "closed") {
|
|
118
128
|
settle(d.json === "" ? null : d.json);
|
|
119
129
|
return;
|
|
120
130
|
}
|
|
121
131
|
const e = JSON.parse(d.json);
|
|
122
132
|
onEvent({ publisher: e.publisher, realm: e.realm, topic: e.topic, seq: e.seq, publishedAt: e.published_at,
|
|
123
|
-
payload: e.payload, deliveredVia: e.delivered_via });
|
|
133
|
+
payload: bytesOut(e.payload, options.bytes), deliveredVia: e.delivered_via });
|
|
124
134
|
});
|
|
125
135
|
return new Subscription(handle, closed);
|
|
126
136
|
}
|
|
@@ -130,10 +140,11 @@ export class Pool {
|
|
|
130
140
|
* DHT; a procedure in this node's own namespace (ownProcedure) needs
|
|
131
141
|
* neither, and another node's namespace is refused. */
|
|
132
142
|
async serve(realm, procedure, handler, options = {}) {
|
|
133
|
-
|
|
143
|
+
bytesOut(null, options.bytes);
|
|
144
|
+
const handle = await native.poolServe(this.live(), id32(realm, "realm"), procedure, (d) => {
|
|
134
145
|
if (d.kind !== "request")
|
|
135
146
|
return;
|
|
136
|
-
void answer(d, handler);
|
|
147
|
+
void answer(d, handler, options.bytes);
|
|
137
148
|
});
|
|
138
149
|
return new Served(handle);
|
|
139
150
|
}
|
|
@@ -141,7 +152,8 @@ export class Pool {
|
|
|
141
152
|
* session. The stream is closed when the handler returns without ending
|
|
142
153
|
* it, aborted with code error when it throws, and released either way. */
|
|
143
154
|
async serveStream(realm, procedure, mode, handler, options = {}) {
|
|
144
|
-
|
|
155
|
+
bytesOut(null, options.bytes);
|
|
156
|
+
const handle = await native.poolServeStream(this.live(), id32(realm, "realm"), procedure, mode, (d) => {
|
|
145
157
|
if (d.kind !== "request")
|
|
146
158
|
return;
|
|
147
159
|
void runStream(new Stream(d.handle, options.bytes), handler);
|
|
@@ -151,33 +163,32 @@ export class Pool {
|
|
|
151
163
|
/** Opens a stream of mode on procedure in realm at a provider, by direct
|
|
152
164
|
* dial. A refusal arrives on its first recv(). */
|
|
153
165
|
async openStream(realm, procedure, mode, payload = {}, options = {}) {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
}
|
|
158
|
-
catch (e) {
|
|
159
|
-
throw callError(e);
|
|
160
|
-
}
|
|
166
|
+
bytesOut(null, options.bytes);
|
|
167
|
+
const handle = await native.poolOpenStream(this.live(), id32(realm, "realm"), procedure, mode, JSON.stringify(payload), options.provider === undefined ? null : id32(options.provider, "provider"), options.deadlineMs ?? 0, options.timeoutMs ?? DEFAULT_CALL_TIMEOUT_MS);
|
|
168
|
+
return new Stream(handle, options.bytes);
|
|
161
169
|
}
|
|
162
170
|
/** The verified record under key, or null when there is none. */
|
|
163
171
|
async findRecord(key, options = {}) {
|
|
172
|
+
bytesOut(null, options.bytes);
|
|
164
173
|
try {
|
|
165
|
-
return toRecord(JSON.parse(await native.poolFindRecord(this.live(), id32(key, "key"), options.timeoutMs ?? DEFAULT_CALL_TIMEOUT_MS,
|
|
174
|
+
return toRecord(JSON.parse(await native.poolFindRecord(this.live(), id32(key, "key"), options.timeoutMs ?? DEFAULT_CALL_TIMEOUT_MS)), options.bytes);
|
|
166
175
|
}
|
|
167
176
|
catch (e) {
|
|
168
|
-
if (e instanceof
|
|
177
|
+
if (e instanceof MaculaError && e.kind === "not_found")
|
|
169
178
|
return null;
|
|
170
179
|
throw e;
|
|
171
180
|
}
|
|
172
181
|
}
|
|
173
182
|
/** Every verified record under key, and how many did not verify. */
|
|
174
183
|
async findRecords(key, options = {}) {
|
|
175
|
-
|
|
184
|
+
bytesOut(null, options.bytes);
|
|
185
|
+
return toRecords(JSON.parse(await native.poolFindRecords(this.live(), id32(key, "key"), options.timeoutMs ?? DEFAULT_CALL_TIMEOUT_MS)), options.bytes);
|
|
176
186
|
}
|
|
177
187
|
/** Every verified record of type the station holds, and how many did not
|
|
178
188
|
* verify. */
|
|
179
189
|
async findRecordsByType(type, options = {}) {
|
|
180
|
-
|
|
190
|
+
bytesOut(null, options.bytes);
|
|
191
|
+
return toRecords(JSON.parse(await native.poolFindRecordsByType(this.live(), type, options.timeoutMs ?? DEFAULT_CALL_TIMEOUT_MS)), options.bytes);
|
|
181
192
|
}
|
|
182
193
|
/** Shares data in realm: this node keeps it, serves it on its own
|
|
183
194
|
* `~<node_id>/content_v1` and announces it, renewing the announcement until
|
|
@@ -197,12 +208,16 @@ export class Pool {
|
|
|
197
208
|
* ContentUnavailableError. */
|
|
198
209
|
async getContent(realm, mcid, options = {}) {
|
|
199
210
|
const asked = mcid50(mcid);
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
211
|
+
const bounds = {};
|
|
212
|
+
if (options.maxBytes)
|
|
213
|
+
bounds.max_bytes = options.maxBytes;
|
|
214
|
+
if (options.maxChunks)
|
|
215
|
+
bounds.max_chunks = options.maxChunks;
|
|
216
|
+
if (options.parallel)
|
|
217
|
+
bounds.parallel = options.parallel;
|
|
218
|
+
if (options.chunkTimeoutMs)
|
|
219
|
+
bounds.chunk_timeout_ms = options.chunkTimeoutMs;
|
|
220
|
+
return await native.poolGetContent(this.live(), id32(realm, "realm"), asked, Object.keys(bounds).length === 0 ? "" : JSON.stringify(bounds), options.timeoutMs ?? DEFAULT_CONTENT_TIMEOUT_MS);
|
|
206
221
|
}
|
|
207
222
|
/** Puts a signed record's wire bytes in the DHT. */
|
|
208
223
|
async putRecord(wire, options = {}) {
|
|
@@ -222,10 +237,10 @@ export class Pool {
|
|
|
222
237
|
}
|
|
223
238
|
}
|
|
224
239
|
/** Answers one served call with the handler's result or its error, once. */
|
|
225
|
-
async function answer(d, handler) {
|
|
240
|
+
async function answer(d, handler, bytes) {
|
|
226
241
|
const r = JSON.parse(d.json);
|
|
227
|
-
const request = { caller: r.caller, realm: r.realm, procedure: r.procedure,
|
|
228
|
-
deadlineMs: r.deadline_ms };
|
|
242
|
+
const request = { caller: r.caller, realm: r.realm, procedure: r.procedure,
|
|
243
|
+
payload: bytesOut(r.payload, bytes), deadlineMs: r.deadline_ms };
|
|
229
244
|
try {
|
|
230
245
|
native.pendingReply(d.handle, JSON.stringify(await handler(request)));
|
|
231
246
|
}
|
|
@@ -251,11 +266,13 @@ async function runStream(stream, handler) {
|
|
|
251
266
|
await stream.free();
|
|
252
267
|
}
|
|
253
268
|
}
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
269
|
+
// A record's payload follows the caller's bytes option; its wire bytes are
|
|
270
|
+
// always tagged.
|
|
271
|
+
function toRecord(r, bytes) {
|
|
272
|
+
return { type: r.type, keyId: r.key_id, createdAt: r.created_at, expiresAt: r.expires_at,
|
|
273
|
+
payload: bytesOut(r.payload, bytes), wire: r.wire };
|
|
257
274
|
}
|
|
258
|
-
function toRecords(out) {
|
|
259
|
-
return { records: (out.records ?? []).map(toRecord), dropped: out.dropped ?? 0 };
|
|
275
|
+
function toRecords(out, bytes) {
|
|
276
|
+
return { records: (out.records ?? []).map((r) => toRecord(r, bytes)), dropped: out.dropped ?? 0 };
|
|
260
277
|
}
|
|
261
278
|
//# sourceMappingURL=pool.js.map
|
package/dist/pool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"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"}
|
package/dist/stream.d.ts
CHANGED
|
@@ -51,7 +51,7 @@ export declare class Stream {
|
|
|
51
51
|
abort(code: string, message?: string): Promise<void>;
|
|
52
52
|
/** The peer's next frame, or null once the stream has ended normally. A
|
|
53
53
|
* stream error is thrown as a StreamError; `timeoutMs` (0 for none) bounds
|
|
54
|
-
* the wait with
|
|
54
|
+
* the wait with a MaculaError of kind "timeout". */
|
|
55
55
|
recv(options?: {
|
|
56
56
|
timeoutMs?: number;
|
|
57
57
|
}): Promise<StreamEvent | null>;
|
package/dist/stream.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// stream of its own, released on every path; frames are signed by each side
|
|
4
4
|
// and verified before they are handed on.
|
|
5
5
|
import { native } from "./binding.js";
|
|
6
|
-
import { StreamError,
|
|
6
|
+
import { StreamError, bytesOut } from "./wire.js";
|
|
7
7
|
/** The three stream modes: the provider sends (server), the caller sends and
|
|
8
8
|
* the provider replies (client), or both send (bidi). */
|
|
9
9
|
export var StreamMode;
|
|
@@ -23,8 +23,9 @@ export class Stream {
|
|
|
23
23
|
}
|
|
24
24
|
/** The stream's open. */
|
|
25
25
|
request() {
|
|
26
|
-
const r = JSON.parse(native.streamRequest(this.live()
|
|
27
|
-
return { caller: r.caller, realm: r.realm, procedure: r.procedure, payload: r.payload,
|
|
26
|
+
const r = JSON.parse(native.streamRequest(this.live()));
|
|
27
|
+
return { caller: r.caller, realm: r.realm, procedure: r.procedure, payload: bytesOut(r.payload, this.bytes),
|
|
28
|
+
deadlineMs: r.deadline_ms };
|
|
28
29
|
}
|
|
29
30
|
/** Sends a raw chunk. */
|
|
30
31
|
async send(chunk) {
|
|
@@ -52,20 +53,20 @@ export class Stream {
|
|
|
52
53
|
}
|
|
53
54
|
/** The peer's next frame, or null once the stream has ended normally. A
|
|
54
55
|
* stream error is thrown as a StreamError; `timeoutMs` (0 for none) bounds
|
|
55
|
-
* the wait with
|
|
56
|
+
* the wait with a MaculaError of kind "timeout". */
|
|
56
57
|
async recv(options = {}) {
|
|
57
|
-
const e = JSON.parse(await native.streamRecv(this.live(), options.timeoutMs ?? 0
|
|
58
|
+
const e = JSON.parse(await native.streamRecv(this.live(), options.timeoutMs ?? 0));
|
|
58
59
|
switch (e.kind) {
|
|
59
60
|
case "eof":
|
|
60
61
|
return null;
|
|
61
62
|
case "error":
|
|
62
63
|
throw new StreamError(e.code, e.message ?? "", e.relay === 1);
|
|
63
64
|
case "data":
|
|
64
|
-
return { kind: "data", encoding: e.encoding, body: e.body };
|
|
65
|
+
return { kind: "data", encoding: e.encoding, body: bytesOut(e.body, this.bytes) };
|
|
65
66
|
case "end":
|
|
66
67
|
return { kind: "end", role: e.role };
|
|
67
68
|
default:
|
|
68
|
-
return { kind: "reply", payload: e.payload };
|
|
69
|
+
return { kind: "reply", payload: bytesOut(e.payload, this.bytes) };
|
|
69
70
|
}
|
|
70
71
|
}
|
|
71
72
|
/** Every frame until the stream ends. */
|
package/dist/stream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,4EAA4E;AAC5E,4EAA4E;AAC5E,0CAA0C;AAC1C,OAAO,EAAE,MAAM,EAAe,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"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"}
|
package/dist/wire.d.ts
CHANGED
|
@@ -13,8 +13,10 @@ export type JsonValue = string | number | null | JsonValue[] | {
|
|
|
13
13
|
/** How bytes in a result, a request, an event or a record reach JavaScript:
|
|
14
14
|
* "hex" (the default) or "tagged" ({"$bytes": "<base64>"}). */
|
|
15
15
|
export type BytesOutput = "hex" | "tagged";
|
|
16
|
-
/**
|
|
17
|
-
|
|
16
|
+
/** A value from the native layer, whose bytes are always the tagged
|
|
17
|
+
* {"$bytes": ...} object, with its bytes as `bytes` asks: "0x" hex (the
|
|
18
|
+
* default) or left tagged. */
|
|
19
|
+
export declare function bytesOut(value: unknown, bytes: BytesOutput | undefined): JsonValue;
|
|
18
20
|
/** A 32-byte id (a node_id, a realm id, a record key): 64 hex characters or
|
|
19
21
|
* 32 bytes. */
|
|
20
22
|
export type Id = string | Uint8Array;
|
|
@@ -45,9 +47,15 @@ export declare class StreamError extends Error {
|
|
|
45
47
|
readonly relay: boolean;
|
|
46
48
|
constructor(code: string, detail: string, relay: boolean);
|
|
47
49
|
}
|
|
48
|
-
/**
|
|
49
|
-
* "
|
|
50
|
-
*
|
|
51
|
-
export declare
|
|
50
|
+
/** An error the native layer reported: its kind, from macula-go's C ABI
|
|
51
|
+
* (cabi/CONTRACT.md "Errors"), and its message. Provider, relay and content
|
|
52
|
+
* errors have classes of their own; every other kind is this. */
|
|
53
|
+
export declare class MaculaError extends Error {
|
|
54
|
+
readonly kind: string;
|
|
55
|
+
constructor(kind: string, message: string);
|
|
56
|
+
}
|
|
57
|
+
/** The native layer's error, whose message is the ABI's error JSON, as the
|
|
58
|
+
* class its kind names. */
|
|
59
|
+
export declare function nativeError(e: unknown): Error;
|
|
52
60
|
/** How long a call waits, in milliseconds, when not told: macula's 5 s. */
|
|
53
61
|
export declare const DEFAULT_CALL_TIMEOUT_MS = 5000;
|
package/dist/wire.js
CHANGED
|
@@ -1,12 +1,28 @@
|
|
|
1
1
|
// The shapes every part of the API shares: payload values, ids, and the
|
|
2
2
|
// errors a call or a stream ends with.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
import { ContentUnavailableError, NotSharedError } from "./content.js";
|
|
4
|
+
/** A value from the native layer, whose bytes are always the tagged
|
|
5
|
+
* {"$bytes": ...} object, with its bytes as `bytes` asks: "0x" hex (the
|
|
6
|
+
* default) or left tagged. */
|
|
7
|
+
export function bytesOut(value, bytes) {
|
|
8
|
+
if (bytes !== undefined && bytes !== "hex" && bytes !== "tagged") {
|
|
9
|
+
throw new Error(`macula-ts: bytes must be "hex" or "tagged", got ${JSON.stringify(bytes)}`);
|
|
10
|
+
}
|
|
7
11
|
if (bytes === "tagged")
|
|
8
|
-
return
|
|
9
|
-
|
|
12
|
+
return value;
|
|
13
|
+
return hexBytes(value);
|
|
14
|
+
}
|
|
15
|
+
function hexBytes(value) {
|
|
16
|
+
if (Array.isArray(value))
|
|
17
|
+
return value.map(hexBytes);
|
|
18
|
+
if (value !== null && typeof value === "object") {
|
|
19
|
+
const entries = Object.entries(value);
|
|
20
|
+
if (entries.length === 1 && entries[0][0] === "$bytes" && typeof entries[0][1] === "string") {
|
|
21
|
+
return "0x" + Buffer.from(entries[0][1], "base64").toString("hex");
|
|
22
|
+
}
|
|
23
|
+
return Object.fromEntries(entries.map(([k, v]) => [k, hexBytes(v)]));
|
|
24
|
+
}
|
|
25
|
+
return value;
|
|
10
26
|
}
|
|
11
27
|
/** An Id as the 32 bytes the native layer takes. */
|
|
12
28
|
export function id32(id, what = "id") {
|
|
@@ -61,18 +77,44 @@ export class StreamError extends Error {
|
|
|
61
77
|
this.name = "StreamError";
|
|
62
78
|
}
|
|
63
79
|
}
|
|
64
|
-
/**
|
|
65
|
-
* "
|
|
66
|
-
*
|
|
67
|
-
export
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
80
|
+
/** An error the native layer reported: its kind, from macula-go's C ABI
|
|
81
|
+
* (cabi/CONTRACT.md "Errors"), and its message. Provider, relay and content
|
|
82
|
+
* errors have classes of their own; every other kind is this. */
|
|
83
|
+
export class MaculaError extends Error {
|
|
84
|
+
kind;
|
|
85
|
+
constructor(kind, message) {
|
|
86
|
+
super(`macula-ts: ${message}`);
|
|
87
|
+
this.kind = kind;
|
|
88
|
+
this.name = "MaculaError";
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/** The native layer's error, whose message is the ABI's error JSON, as the
|
|
92
|
+
* class its kind names. */
|
|
93
|
+
export function nativeError(e) {
|
|
94
|
+
const text = e instanceof Error ? e.message : String(e);
|
|
95
|
+
let error;
|
|
96
|
+
try {
|
|
97
|
+
error = JSON.parse(text);
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
return e instanceof Error ? e : new Error(text);
|
|
101
|
+
}
|
|
102
|
+
if (typeof error !== "object" || error === null || typeof error.kind !== "string") {
|
|
103
|
+
return e instanceof Error ? e : new Error(text);
|
|
104
|
+
}
|
|
105
|
+
const message = typeof error.message === "string" ? error.message : error.kind;
|
|
106
|
+
switch (error.kind) {
|
|
107
|
+
case "provider_error":
|
|
108
|
+
return new ProviderError(String(error.code ?? ""), typeof error.detail === "string" ? error.detail : "");
|
|
109
|
+
case "relay_error":
|
|
110
|
+
return new RelayError(String(error.code ?? ""));
|
|
111
|
+
case "not_shared":
|
|
112
|
+
return new NotSharedError();
|
|
113
|
+
case "unavailable":
|
|
114
|
+
return new ContentUnavailableError(Array.isArray(error.failures) ? error.failures.map(String).join("; ") : message);
|
|
115
|
+
default:
|
|
116
|
+
return new MaculaError(error.kind, message);
|
|
117
|
+
}
|
|
76
118
|
}
|
|
77
119
|
/** How long a call waits, in milliseconds, when not told: macula's 5 s. */
|
|
78
120
|
export const DEFAULT_CALL_TIMEOUT_MS = 5_000;
|
package/dist/wire.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,uCAAuC;
|
|
1
|
+
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@macula-io/ts",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "TypeScript SDK for the Macula mesh
|
|
3
|
+
"version": "0.22.0",
|
|
4
|
+
"description": "TypeScript SDK for the Macula mesh, over macula-go's shared C ABI",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"macula",
|
|
@@ -41,15 +41,14 @@
|
|
|
41
41
|
"prebuilds"
|
|
42
42
|
],
|
|
43
43
|
"scripts": {
|
|
44
|
-
"build:go": "
|
|
44
|
+
"build:go": "bash scripts/build-native.sh",
|
|
45
45
|
"build:addon:dev": "npm run build:go && node-gyp rebuild",
|
|
46
46
|
"build:prebuilds": "npm run build:go && prebuildify --napi --strip && npm pkg delete scripts.install",
|
|
47
47
|
"build:ts": "rm -rf dist && tsc",
|
|
48
48
|
"build": "npm run build:addon:dev && npm run build:ts",
|
|
49
|
-
"test": "npm run build:
|
|
49
|
+
"test": "npm run build:go && vitest run",
|
|
50
50
|
"test:live": "MACULA_TS_LIVE=1 vitest run src/fleet.live.test.ts",
|
|
51
|
-
"typecheck": "tsc --noEmit"
|
|
52
|
-
"build:teststation": "cd cabi && go build -trimpath -buildvcs=false -o ../build/teststation ./cmd/teststation"
|
|
51
|
+
"typecheck": "tsc --noEmit"
|
|
53
52
|
},
|
|
54
53
|
"dependencies": {
|
|
55
54
|
"node-addon-api": "^8.9.2",
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|