@macula-io/ts 0.17.0 → 0.19.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 +106 -272
- package/dist/binding.d.ts +50 -45
- package/dist/binding.js +8 -125
- package/dist/binding.js.map +1 -1
- package/dist/content.d.ts +32 -13
- package/dist/content.js +43 -41
- package/dist/content.js.map +1 -1
- package/dist/index.d.ts +5 -9
- package/dist/index.js +6 -8
- package/dist/index.js.map +1 -1
- package/dist/key.d.ts +31 -0
- package/dist/key.js +72 -0
- package/dist/key.js.map +1 -0
- package/dist/pool.d.ts +185 -131
- package/dist/pool.js +223 -576
- package/dist/pool.js.map +1 -1
- package/dist/stream.d.ts +63 -0
- package/dist/stream.js +93 -0
- package/dist/stream.js.map +1 -0
- package/dist/wire.d.ts +53 -0
- package/dist/wire.js +79 -0
- package/dist/wire.js.map +1 -0
- package/package.json +7 -5
- 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/dist/dht.d.ts +0 -55
- package/dist/dht.js +0 -25
- package/dist/dht.js.map +0 -1
- package/dist/directdial.d.ts +0 -79
- package/dist/directdial.js +0 -76
- package/dist/directdial.js.map +0 -1
- package/dist/identity.d.ts +0 -43
- package/dist/identity.js +0 -83
- package/dist/identity.js.map +0 -1
- package/dist/pubsub.d.ts +0 -60
- package/dist/pubsub.js +0 -8
- package/dist/pubsub.js.map +0 -1
- package/dist/rpc.d.ts +0 -86
- package/dist/rpc.js +0 -57
- package/dist/rpc.js.map +0 -1
- package/dist/session.d.ts +0 -481
- package/dist/session.js +0 -810
- package/dist/session.js.map +0 -1
- package/dist/ucan.d.ts +0 -110
- package/dist/ucan.js +0 -140
- package/dist/ucan.js.map +0 -1
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
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { type Handle } from "./binding.js";
|
|
2
|
+
import { type BytesOutput, type JsonValue } from "./wire.js";
|
|
3
|
+
/** The three stream modes: the provider sends (server), the caller sends and
|
|
4
|
+
* the provider replies (client), or both send (bidi). */
|
|
5
|
+
export declare enum StreamMode {
|
|
6
|
+
Server = 0,
|
|
7
|
+
Client = 1,
|
|
8
|
+
Bidi = 2
|
|
9
|
+
}
|
|
10
|
+
/** A frame the peer sent: a chunk (raw bytes as hex or tagged, or a value),
|
|
11
|
+
* the end of its sending ("send") or of the stream ("both"), or the
|
|
12
|
+
* provider's reply. */
|
|
13
|
+
export type StreamEvent = {
|
|
14
|
+
readonly kind: "data";
|
|
15
|
+
readonly encoding: "raw" | "msgpack";
|
|
16
|
+
readonly body: JsonValue;
|
|
17
|
+
} | {
|
|
18
|
+
readonly kind: "end";
|
|
19
|
+
readonly role: "send" | "both";
|
|
20
|
+
} | {
|
|
21
|
+
readonly kind: "reply";
|
|
22
|
+
readonly payload: JsonValue;
|
|
23
|
+
};
|
|
24
|
+
/** A stream's open: who opened it, where, and its payload. */
|
|
25
|
+
export interface StreamRequest {
|
|
26
|
+
readonly caller: string;
|
|
27
|
+
readonly realm: string;
|
|
28
|
+
readonly procedure: string;
|
|
29
|
+
readonly payload: JsonValue;
|
|
30
|
+
readonly deadlineMs: number;
|
|
31
|
+
}
|
|
32
|
+
export declare class Stream {
|
|
33
|
+
private readonly handle;
|
|
34
|
+
private readonly bytes;
|
|
35
|
+
private freed;
|
|
36
|
+
/** @internal */
|
|
37
|
+
constructor(handle: Handle, bytes: BytesOutput | undefined);
|
|
38
|
+
/** The stream's open. */
|
|
39
|
+
request(): StreamRequest;
|
|
40
|
+
/** Sends a raw chunk. */
|
|
41
|
+
send(chunk: Uint8Array): Promise<void>;
|
|
42
|
+
/** Sends a structured chunk. */
|
|
43
|
+
sendValue(value: JsonValue): Promise<void>;
|
|
44
|
+
/** Ends this side's sending; the peer may still send. */
|
|
45
|
+
closeSend(): Promise<void>;
|
|
46
|
+
/** Ends the stream on both sides. */
|
|
47
|
+
close(): Promise<void>;
|
|
48
|
+
/** The provider's terminal value; ends the stream. */
|
|
49
|
+
reply(payload: JsonValue): Promise<void>;
|
|
50
|
+
/** Ends the stream with a STREAM_ERROR the peer sees. */
|
|
51
|
+
abort(code: string, message?: string): Promise<void>;
|
|
52
|
+
/** The peer's next frame, or null once the stream has ended normally. A
|
|
53
|
+
* stream error is thrown as a StreamError; `timeoutMs` (0 for none) bounds
|
|
54
|
+
* the wait with an Error("timeout"). */
|
|
55
|
+
recv(options?: {
|
|
56
|
+
timeoutMs?: number;
|
|
57
|
+
}): Promise<StreamEvent | null>;
|
|
58
|
+
/** Every frame until the stream ends. */
|
|
59
|
+
[Symbol.asyncIterator](): AsyncIterator<StreamEvent>;
|
|
60
|
+
/** Releases the stream, aborting it first when it has not ended. */
|
|
61
|
+
free(): Promise<void>;
|
|
62
|
+
private live;
|
|
63
|
+
}
|
package/dist/stream.js
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
// A streaming session, on either side: the caller's from Pool.openStream, or
|
|
2
|
+
// a provider's handed to a Pool.serveStream handler. Each session is a QUIC
|
|
3
|
+
// stream of its own, released on every path; frames are signed by each side
|
|
4
|
+
// and verified before they are handed on.
|
|
5
|
+
import { native } from "./binding.js";
|
|
6
|
+
import { StreamError, bytesModeFor } from "./wire.js";
|
|
7
|
+
/** The three stream modes: the provider sends (server), the caller sends and
|
|
8
|
+
* the provider replies (client), or both send (bidi). */
|
|
9
|
+
export var StreamMode;
|
|
10
|
+
(function (StreamMode) {
|
|
11
|
+
StreamMode[StreamMode["Server"] = 0] = "Server";
|
|
12
|
+
StreamMode[StreamMode["Client"] = 1] = "Client";
|
|
13
|
+
StreamMode[StreamMode["Bidi"] = 2] = "Bidi";
|
|
14
|
+
})(StreamMode || (StreamMode = {}));
|
|
15
|
+
export class Stream {
|
|
16
|
+
handle;
|
|
17
|
+
bytes;
|
|
18
|
+
freed = false;
|
|
19
|
+
/** @internal */
|
|
20
|
+
constructor(handle, bytes) {
|
|
21
|
+
this.handle = handle;
|
|
22
|
+
this.bytes = bytes;
|
|
23
|
+
}
|
|
24
|
+
/** The stream's open. */
|
|
25
|
+
request() {
|
|
26
|
+
const r = JSON.parse(native.streamRequest(this.live(), bytesModeFor(this.bytes)));
|
|
27
|
+
return { caller: r.caller, realm: r.realm, procedure: r.procedure, payload: r.payload, deadlineMs: r.deadline_ms };
|
|
28
|
+
}
|
|
29
|
+
/** Sends a raw chunk. */
|
|
30
|
+
async send(chunk) {
|
|
31
|
+
await native.streamSendBytes(this.live(), chunk);
|
|
32
|
+
}
|
|
33
|
+
/** Sends a structured chunk. */
|
|
34
|
+
async sendValue(value) {
|
|
35
|
+
await native.streamSendJson(this.live(), JSON.stringify(value));
|
|
36
|
+
}
|
|
37
|
+
/** Ends this side's sending; the peer may still send. */
|
|
38
|
+
async closeSend() {
|
|
39
|
+
await native.streamCloseSend(this.live());
|
|
40
|
+
}
|
|
41
|
+
/** Ends the stream on both sides. */
|
|
42
|
+
async close() {
|
|
43
|
+
await native.streamClose(this.live());
|
|
44
|
+
}
|
|
45
|
+
/** The provider's terminal value; ends the stream. */
|
|
46
|
+
async reply(payload) {
|
|
47
|
+
await native.streamReply(this.live(), JSON.stringify(payload));
|
|
48
|
+
}
|
|
49
|
+
/** Ends the stream with a STREAM_ERROR the peer sees. */
|
|
50
|
+
async abort(code, message = "") {
|
|
51
|
+
await native.streamAbort(this.live(), code, message);
|
|
52
|
+
}
|
|
53
|
+
/** The peer's next frame, or null once the stream has ended normally. A
|
|
54
|
+
* stream error is thrown as a StreamError; `timeoutMs` (0 for none) bounds
|
|
55
|
+
* the wait with an Error("timeout"). */
|
|
56
|
+
async recv(options = {}) {
|
|
57
|
+
const e = JSON.parse(await native.streamRecv(this.live(), options.timeoutMs ?? 0, bytesModeFor(this.bytes)));
|
|
58
|
+
switch (e.kind) {
|
|
59
|
+
case "eof":
|
|
60
|
+
return null;
|
|
61
|
+
case "error":
|
|
62
|
+
throw new StreamError(e.code, e.message ?? "", e.relay === 1);
|
|
63
|
+
case "data":
|
|
64
|
+
return { kind: "data", encoding: e.encoding, body: e.body };
|
|
65
|
+
case "end":
|
|
66
|
+
return { kind: "end", role: e.role };
|
|
67
|
+
default:
|
|
68
|
+
return { kind: "reply", payload: e.payload };
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/** Every frame until the stream ends. */
|
|
72
|
+
async *[Symbol.asyncIterator]() {
|
|
73
|
+
for (;;) {
|
|
74
|
+
const event = await this.recv();
|
|
75
|
+
if (event === null)
|
|
76
|
+
return;
|
|
77
|
+
yield event;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/** Releases the stream, aborting it first when it has not ended. */
|
|
81
|
+
async free() {
|
|
82
|
+
if (this.freed)
|
|
83
|
+
return;
|
|
84
|
+
this.freed = true;
|
|
85
|
+
await native.streamFree(this.handle);
|
|
86
|
+
}
|
|
87
|
+
live() {
|
|
88
|
+
if (this.freed)
|
|
89
|
+
throw new Error("macula-ts: this Stream was freed");
|
|
90
|
+
return this.handle;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"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"}
|
package/dist/wire.d.ts
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/** A payload, restricted to what macula's wire CBOR carries: no boolean and
|
|
2
|
+
* no undefined. Encode true/false as 1/0 yourself; a JS boolean reaching the
|
|
3
|
+
* wire is exactly the mistake this type makes impossible at compile time.
|
|
4
|
+
*
|
|
5
|
+
* Bytes have no native JSON shape. Going IN, write them as an object whose
|
|
6
|
+
* ONLY key is "$bytes", holding standard padded base64: `{"$bytes": "AQID"}`
|
|
7
|
+
* is the three bytes 01 02 03. A plain string is always text. Coming OUT,
|
|
8
|
+
* bytes are a "0x"-prefixed lowercase hex string by default, or the same
|
|
9
|
+
* tagged object when you ask for `bytes: "tagged"` (see BytesOutput). */
|
|
10
|
+
export type JsonValue = string | number | null | JsonValue[] | {
|
|
11
|
+
[key: string]: JsonValue;
|
|
12
|
+
};
|
|
13
|
+
/** How bytes in a result, a request, an event or a record reach JavaScript:
|
|
14
|
+
* "hex" (the default) or "tagged" ({"$bytes": "<base64>"}). */
|
|
15
|
+
export type BytesOutput = "hex" | "tagged";
|
|
16
|
+
/** BytesOutput as the integer the native layer takes. */
|
|
17
|
+
export declare function bytesModeFor(bytes: BytesOutput | undefined): number;
|
|
18
|
+
/** A 32-byte id (a node_id, a realm id, a record key): 64 hex characters or
|
|
19
|
+
* 32 bytes. */
|
|
20
|
+
export type Id = string | Uint8Array;
|
|
21
|
+
/** An Id as the 32 bytes the native layer takes. */
|
|
22
|
+
export declare function id32(id: Id, what?: string): Uint8Array;
|
|
23
|
+
/** 32 bytes as lowercase hex. */
|
|
24
|
+
export declare function hex(bytes: Uint8Array): string;
|
|
25
|
+
/** A provider's own ERROR for a call: `handler_error` with the handler's
|
|
26
|
+
* text, `temporary_relay_failure` for a handler that crashed,
|
|
27
|
+
* `unknown_next_peer` for a procedure it does not serve, or an admission
|
|
28
|
+
* refusal (`expired`, `request_copy`, `caller_quota`, ...). */
|
|
29
|
+
export declare class ProviderError extends Error {
|
|
30
|
+
readonly code: string;
|
|
31
|
+
readonly detail: string;
|
|
32
|
+
constructor(code: string, detail: string);
|
|
33
|
+
}
|
|
34
|
+
/** A station's signed relay error for a call: it could not relay it, e.g.
|
|
35
|
+
* `unknown_next_peer` for a provider it cannot reach. */
|
|
36
|
+
export declare class RelayError extends Error {
|
|
37
|
+
readonly code: string;
|
|
38
|
+
constructor(code: string);
|
|
39
|
+
}
|
|
40
|
+
/** A stream ended by a STREAM_ERROR: the peer's, a relay error from the
|
|
41
|
+
* station (`relay`), or this side's own (e.g. `resource_exhausted`). */
|
|
42
|
+
export declare class StreamError extends Error {
|
|
43
|
+
readonly code: string;
|
|
44
|
+
readonly detail: string;
|
|
45
|
+
readonly relay: boolean;
|
|
46
|
+
constructor(code: string, detail: string, relay: boolean);
|
|
47
|
+
}
|
|
48
|
+
/** The error the native layer rejects a call with, as the class it names:
|
|
49
|
+
* "provider_error:<code>:<detail>" and "relay_error:<code>" (cabi's
|
|
50
|
+
* callError), any other text as a plain Error. */
|
|
51
|
+
export declare function callError(e: unknown): Error;
|
|
52
|
+
/** How long a call waits, in milliseconds, when not told: macula's 5 s. */
|
|
53
|
+
export declare const DEFAULT_CALL_TIMEOUT_MS = 5000;
|
package/dist/wire.js
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// The shapes every part of the API shares: payload values, ids, and the
|
|
2
|
+
// errors a call or a stream ends with.
|
|
3
|
+
/** BytesOutput as the integer the native layer takes. */
|
|
4
|
+
export function bytesModeFor(bytes) {
|
|
5
|
+
if (bytes === undefined || bytes === "hex")
|
|
6
|
+
return 0;
|
|
7
|
+
if (bytes === "tagged")
|
|
8
|
+
return 1;
|
|
9
|
+
throw new Error(`macula-ts: bytes must be "hex" or "tagged", got ${JSON.stringify(bytes)}`);
|
|
10
|
+
}
|
|
11
|
+
/** An Id as the 32 bytes the native layer takes. */
|
|
12
|
+
export function id32(id, what = "id") {
|
|
13
|
+
if (typeof id === "string") {
|
|
14
|
+
if (!/^[0-9a-fA-F]{64}$/.test(id))
|
|
15
|
+
throw new Error(`macula-ts: ${what} must be 64 hex characters`);
|
|
16
|
+
return Uint8Array.from(Buffer.from(id, "hex"));
|
|
17
|
+
}
|
|
18
|
+
if (id.length !== 32)
|
|
19
|
+
throw new Error(`macula-ts: ${what} must be 32 bytes, got ${id.length}`);
|
|
20
|
+
return id;
|
|
21
|
+
}
|
|
22
|
+
/** 32 bytes as lowercase hex. */
|
|
23
|
+
export function hex(bytes) {
|
|
24
|
+
return Buffer.from(bytes).toString("hex");
|
|
25
|
+
}
|
|
26
|
+
/** A provider's own ERROR for a call: `handler_error` with the handler's
|
|
27
|
+
* text, `temporary_relay_failure` for a handler that crashed,
|
|
28
|
+
* `unknown_next_peer` for a procedure it does not serve, or an admission
|
|
29
|
+
* refusal (`expired`, `request_copy`, `caller_quota`, ...). */
|
|
30
|
+
export class ProviderError extends Error {
|
|
31
|
+
code;
|
|
32
|
+
detail;
|
|
33
|
+
constructor(code, detail) {
|
|
34
|
+
super(`macula-ts: the provider answered ${code}${detail ? `: ${detail}` : ""}`);
|
|
35
|
+
this.code = code;
|
|
36
|
+
this.detail = detail;
|
|
37
|
+
this.name = "ProviderError";
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/** A station's signed relay error for a call: it could not relay it, e.g.
|
|
41
|
+
* `unknown_next_peer` for a provider it cannot reach. */
|
|
42
|
+
export class RelayError extends Error {
|
|
43
|
+
code;
|
|
44
|
+
constructor(code) {
|
|
45
|
+
super(`macula-ts: the station could not relay the call: ${code}`);
|
|
46
|
+
this.code = code;
|
|
47
|
+
this.name = "RelayError";
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/** A stream ended by a STREAM_ERROR: the peer's, a relay error from the
|
|
51
|
+
* station (`relay`), or this side's own (e.g. `resource_exhausted`). */
|
|
52
|
+
export class StreamError extends Error {
|
|
53
|
+
code;
|
|
54
|
+
detail;
|
|
55
|
+
relay;
|
|
56
|
+
constructor(code, detail, relay) {
|
|
57
|
+
super(`macula-ts: stream error ${code}${detail ? `: ${detail}` : ""}`);
|
|
58
|
+
this.code = code;
|
|
59
|
+
this.detail = detail;
|
|
60
|
+
this.relay = relay;
|
|
61
|
+
this.name = "StreamError";
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/** The error the native layer rejects a call with, as the class it names:
|
|
65
|
+
* "provider_error:<code>:<detail>" and "relay_error:<code>" (cabi's
|
|
66
|
+
* callError), any other text as a plain Error. */
|
|
67
|
+
export function callError(e) {
|
|
68
|
+
const message = e instanceof Error ? e.message : String(e);
|
|
69
|
+
const provider = /^provider_error:([^:]*):([\s\S]*)$/.exec(message);
|
|
70
|
+
if (provider)
|
|
71
|
+
return new ProviderError(provider[1] ?? "", provider[2] ?? "");
|
|
72
|
+
const relay = /^relay_error:(.*)$/.exec(message);
|
|
73
|
+
if (relay)
|
|
74
|
+
return new RelayError(relay[1] ?? "");
|
|
75
|
+
return e instanceof Error ? e : new Error(message);
|
|
76
|
+
}
|
|
77
|
+
/** How long a call waits, in milliseconds, when not told: macula's 5 s. */
|
|
78
|
+
export const DEFAULT_CALL_TIMEOUT_MS = 5_000;
|
|
79
|
+
//# sourceMappingURL=wire.js.map
|
package/dist/wire.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,uCAAuC;AAiBvC,yDAAyD;AACzD,MAAM,UAAU,YAAY,CAAC,KAA8B;IACzD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,CAAC,CAAC;IACrD,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACjC,MAAM,IAAI,KAAK,CAAC,mDAAmD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC9F,CAAC;AAMD,oDAAoD;AACpD,MAAM,UAAU,IAAI,CAAC,EAAM,EAAE,IAAI,GAAG,IAAI;IACtC,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,4BAA4B,CAAC,CAAC;QACnG,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,0BAA0B,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/F,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,GAAG,CAAC,KAAiB;IACnC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED;;;+DAG+D;AAC/D,MAAM,OAAO,aAAc,SAAQ,KAAK;IACjB,IAAI;IAAmB,MAAM;IAAlD,YAAqB,IAAY,EAAW,MAAc;QACxD,KAAK,CAAC,oCAAoC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAD7D,IAAI;sBAAmB,MAAM;QAEhD,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED;yDACyD;AACzD,MAAM,OAAO,UAAW,SAAQ,KAAK;IACd,IAAI;IAAzB,YAAqB,IAAY;QAC/B,KAAK,CAAC,oDAAoD,IAAI,EAAE,CAAC,CAAC;oBAD/C,IAAI;QAEvB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED;wEACwE;AACxE,MAAM,OAAO,WAAY,SAAQ,KAAK;IACf,IAAI;IAAmB,MAAM;IAAmB,KAAK;IAA1E,YAAqB,IAAY,EAAW,MAAc,EAAW,KAAc;QACjF,KAAK,CAAC,2BAA2B,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBADpD,IAAI;sBAAmB,MAAM;qBAAmB,KAAK;QAExE,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED;;kDAEkD;AAClD,MAAM,UAAU,SAAS,CAAC,CAAU;IAClC,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpE,IAAI,QAAQ;QAAE,OAAO,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,KAAK;QAAE,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACrD,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@macula-io/ts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0",
|
|
4
4
|
"description": "TypeScript SDK for the Macula mesh (FFI over macula-go)",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"keywords": [
|
|
@@ -44,10 +44,12 @@
|
|
|
44
44
|
"build:go": "go env -w CGO_ENABLED=1 && cd cabi && go mod tidy && go build -trimpath -buildvcs=false -buildmode=c-archive -o build/libmacula.a .",
|
|
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
|
-
"build": "
|
|
48
|
-
"
|
|
49
|
-
"test
|
|
50
|
-
"
|
|
47
|
+
"build:ts": "rm -rf dist && tsc",
|
|
48
|
+
"build": "npm run build:addon:dev && npm run build:ts",
|
|
49
|
+
"test": "npm run build:teststation && vitest run",
|
|
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
53
|
},
|
|
52
54
|
"dependencies": {
|
|
53
55
|
"node-addon-api": "^8.9.2",
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/dht.d.ts
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import type { JsonValue } from "./rpc.js";
|
|
2
|
-
/** Record type tags -- macula-go's dht.Type* constants (dht/record.go).
|
|
3
|
-
* There is no client-side constructor for StationEndpoint in macula-go
|
|
4
|
-
* (stations publish those themselves, not clients) -- it's listed here
|
|
5
|
-
* because Session.findRecord/findRecords/findRecordsByType can still
|
|
6
|
-
* return one, not because a Session.putRecord* method can build one. */
|
|
7
|
-
export declare enum DhtRecordType {
|
|
8
|
-
ProcedureAdvertisement = 6,
|
|
9
|
-
ContentAnnouncement = 17,
|
|
10
|
-
StationEndpoint = 18
|
|
11
|
-
}
|
|
12
|
-
/** A signed, TTL'd DHT record envelope -- mirrors macula-go's dht.Record
|
|
13
|
-
* (dht/record.go). `key`/`version`/`signature` are raw bytes with no
|
|
14
|
-
* native JSON shape, so they cross the FFI boundary as lowercase hex
|
|
15
|
-
* strings -- deliberately NOT rpc.ts's own "0x"-prefixed convention for
|
|
16
|
-
* bytes embedded inside a payload (see cabi/dht.go's own doc for why:
|
|
17
|
-
* these three fields never go through jsonToCbor/cborToJSON at all,
|
|
18
|
-
* wirevalue.go's "0x"-hex convention is specifically for bytes found
|
|
19
|
-
* *inside* a cbor.Value payload, which these aren't). `payload` DID go
|
|
20
|
-
* through that conversion (it's the record's own cbor.Value map) and
|
|
21
|
-
* follows rpc.ts's JsonValue rules exactly like a CALL payload does --
|
|
22
|
-
* no boolean, embedded bytes always as "0x"-prefixed hex (the DHT
|
|
23
|
-
* methods take no `bytes` option). Note that a
|
|
24
|
-
* procedure_advertisement/content_announcement's own advertiser_node/
|
|
25
|
-
* serving_station/announcer_node/mcid payload fields are themselves raw
|
|
26
|
-
* bytes on the wire (CBOR byte strings) but surface here as the SAME
|
|
27
|
-
* "0x"-prefixed hex JsonValue strings cborToJSON gives any embedded
|
|
28
|
-
* bytes -- consistent with every other payload field this SDK decodes,
|
|
29
|
-
* just called out since they look similar to this record's own
|
|
30
|
-
* top-level key/version/signature while following the other convention.
|
|
31
|
-
*
|
|
32
|
-
* This SDK does not verify a record's signature or check its expiry on
|
|
33
|
-
* the caller's behalf (matching macula-go's own FindRecord/FindRecords/
|
|
34
|
-
* FindRecordsByType, which say the same in their own doc comments) --
|
|
35
|
-
* a caller that needs to trust a record's payload must check both
|
|
36
|
-
* itself (against `key`, `signature`, and `expiresAt`) before relying
|
|
37
|
-
* on it. */
|
|
38
|
-
export interface DhtRecord {
|
|
39
|
-
readonly type: DhtRecordType | number;
|
|
40
|
-
/** Hex-encoded, 32 bytes: the envelope signer's Ed25519 public key. */
|
|
41
|
-
readonly key: string;
|
|
42
|
-
/** Hex-encoded, 16 bytes: a UUIDv7. */
|
|
43
|
-
readonly version: string;
|
|
44
|
-
/** Milliseconds since epoch. */
|
|
45
|
-
readonly createdAt: number;
|
|
46
|
-
/** Milliseconds since epoch. */
|
|
47
|
-
readonly expiresAt: number;
|
|
48
|
-
readonly payload: JsonValue;
|
|
49
|
-
/** Hex-encoded, 64 bytes. */
|
|
50
|
-
readonly signature: string;
|
|
51
|
-
}
|
|
52
|
-
/** Default TTL for a record built by Session.putProcedureAdvertisement()/
|
|
53
|
-
* putContentAnnouncement() when the caller doesn't specify one --
|
|
54
|
-
* matches macula-go's dht.DefaultTTL (48h). */
|
|
55
|
-
export declare const DHT_DEFAULT_TTL_MS: number;
|
package/dist/dht.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
// DHT record shapes -- macula-go's dht package (FindRecord/FindRecords/
|
|
2
|
-
// FindRecordsByType/PutRecord), thin CALL wrappers to the mesh's own
|
|
3
|
-
// reserved `_dht.*` procedures under the DHT's own all-zero realm
|
|
4
|
-
// (threaded internally by macula-go's dht package, never passed from
|
|
5
|
-
// here -- see cabi/dht.go). Session (session.ts) is the actual FFI
|
|
6
|
-
// entry point for these, matching call()/serve()'s own shape (a
|
|
7
|
-
// Session-bound method, using that Session's own retained Identity to
|
|
8
|
-
// sign); this file holds the shapes both directions share, the same
|
|
9
|
-
// split rpc.ts has for call()/serve().
|
|
10
|
-
/** Record type tags -- macula-go's dht.Type* constants (dht/record.go).
|
|
11
|
-
* There is no client-side constructor for StationEndpoint in macula-go
|
|
12
|
-
* (stations publish those themselves, not clients) -- it's listed here
|
|
13
|
-
* because Session.findRecord/findRecords/findRecordsByType can still
|
|
14
|
-
* return one, not because a Session.putRecord* method can build one. */
|
|
15
|
-
export var DhtRecordType;
|
|
16
|
-
(function (DhtRecordType) {
|
|
17
|
-
DhtRecordType[DhtRecordType["ProcedureAdvertisement"] = 6] = "ProcedureAdvertisement";
|
|
18
|
-
DhtRecordType[DhtRecordType["ContentAnnouncement"] = 17] = "ContentAnnouncement";
|
|
19
|
-
DhtRecordType[DhtRecordType["StationEndpoint"] = 18] = "StationEndpoint";
|
|
20
|
-
})(DhtRecordType || (DhtRecordType = {}));
|
|
21
|
-
/** Default TTL for a record built by Session.putProcedureAdvertisement()/
|
|
22
|
-
* putContentAnnouncement() when the caller doesn't specify one --
|
|
23
|
-
* matches macula-go's dht.DefaultTTL (48h). */
|
|
24
|
-
export const DHT_DEFAULT_TTL_MS = 48 * 60 * 60 * 1000;
|
|
25
|
-
//# sourceMappingURL=dht.js.map
|
package/dist/dht.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dht.js","sourceRoot":"","sources":["../src/dht.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,qEAAqE;AACrE,kEAAkE;AAClE,qEAAqE;AACrE,mEAAmE;AACnE,gEAAgE;AAChE,sEAAsE;AACtE,oEAAoE;AACpE,uCAAuC;AAIvC;;;;wEAIwE;AACxE,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,qFAA6B,CAAA;IAC7B,gFAA0B,CAAA;IAC1B,wEAAsB,CAAA;AACxB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AA2CD;;+CAE+C;AAC/C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC"}
|
package/dist/directdial.d.ts
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import type { CallOptions, Session } from "./session.js";
|
|
2
|
-
/** What Session.resolveDirect() resolves with: `procedure`'s
|
|
3
|
-
* currently-advertised serving station and its dialable host/port
|
|
4
|
-
* (macula-go's `directdial.Resolve`). */
|
|
5
|
-
export interface DirectDialTarget {
|
|
6
|
-
/** Hex-encoded, 32 bytes: the resolved station's NodeID (Ed25519
|
|
7
|
-
* public key) -- the SAME identity Session.callDirect()/
|
|
8
|
-
* callDirectWithUcan() pin the one-hop dial against internally before
|
|
9
|
-
* trusting it. */
|
|
10
|
-
readonly station: string;
|
|
11
|
-
readonly host: string;
|
|
12
|
-
readonly port: number;
|
|
13
|
-
}
|
|
14
|
-
/** Options for Session.advertiseDirect(). */
|
|
15
|
-
export interface AdvertiseDirectOptions {
|
|
16
|
-
/** Same 64-character hex realm convention as CallOptions.realm --
|
|
17
|
-
* MUST match whatever realm resolveDirect()/callDirect()/
|
|
18
|
-
* callDirectWithUcan() (or the Erlang/Rust/Go equivalent) resolve
|
|
19
|
-
* under, or the two sides derive a different discovery URI and resolve
|
|
20
|
-
* comes back exactly as if this was never called at all (see
|
|
21
|
-
* directdial.go's own DiscoveryURI note). Omitted means the all-zero
|
|
22
|
-
* realm, this SDK's sole default before this option existed. */
|
|
23
|
-
realm?: string;
|
|
24
|
-
/** Milliseconds. Defaults to DHT_DEFAULT_TTL_MS (48h) -- matches
|
|
25
|
-
* macula-go's own dht.DefaultTTL, applied Go-side for ttlMs<=0 (not
|
|
26
|
-
* duplicated as a second default here; this SDK's default is threaded
|
|
27
|
-
* through explicitly instead, matching putProcedureAdvertisement's own
|
|
28
|
-
* convention). */
|
|
29
|
-
ttlMs?: number;
|
|
30
|
-
}
|
|
31
|
-
/** How long keepAdvertisedDirect() waits between re-advertise ticks, in
|
|
32
|
-
* milliseconds, when opts.intervalMs is left unset. This is a real
|
|
33
|
-
* production margin against AdvertiseDirectOptions' own 48h default TTL
|
|
34
|
-
* actually expiring between ticks -- not chosen to match macula-go's own
|
|
35
|
-
* KeepAdvertisedDirect live-test interval (1s there, only to keep that
|
|
36
|
-
* particular test fast). A caller passing a much shorter `ttlMs` should
|
|
37
|
-
* pass a correspondingly shorter `intervalMs` too; this constant does not
|
|
38
|
-
* scale itself to `opts.ttlMs`. */
|
|
39
|
-
export declare const KEEP_ADVERTISED_DIRECT_INTERVAL_MS: number;
|
|
40
|
-
/** Options for keepAdvertisedDirect(). */
|
|
41
|
-
export interface KeepAdvertisedDirectOptions extends AdvertiseDirectOptions {
|
|
42
|
-
/** Milliseconds between re-advertise ticks. Defaults to
|
|
43
|
-
* KEEP_ADVERTISED_DIRECT_INTERVAL_MS. */
|
|
44
|
-
intervalMs?: number;
|
|
45
|
-
/** Called with a tick's own thrown error when a re-advertise tick
|
|
46
|
-
* fails -- a network blip, a genuinely dead session, etc. Matches
|
|
47
|
-
* macula-go's own KeepAdvertisedDirect: a failed tick is reported, not
|
|
48
|
-
* fatal -- this loop tries again at the next interval regardless, and
|
|
49
|
-
* cannot detect or repair a dead Session on its own (a separate, larger
|
|
50
|
-
* concern this does not attempt to solve). Omit to drop the error
|
|
51
|
-
* silently. */
|
|
52
|
-
onError?: (err: unknown) => void;
|
|
53
|
-
}
|
|
54
|
-
/** Re-advertises `procedure` as direct-dial-reachable on `session` (via
|
|
55
|
-
* `session.advertiseDirect()`) immediately, then again every
|
|
56
|
-
* `opts.intervalMs`, until the returned `stop()` is called -- macula-go's
|
|
57
|
-
* own `KeepAdvertisedDirect` free function, ported here as a standalone
|
|
58
|
-
* helper rather than a Session method for the identical reason
|
|
59
|
-
* macula-go's own is a free function taking a `*connection.Session`
|
|
60
|
-
* rather than a method on one: a station's registration for a procedure
|
|
61
|
-
* does not survive the connection that sent it being replaced, so a
|
|
62
|
-
* long-lived provider needs to call `AdvertiseDirect` again on its own
|
|
63
|
-
* schedule, and it is this function's CALLER's job to decide WHICH
|
|
64
|
-
* Session that runs on. See `Session.advertiseDirect()`'s own doc for why
|
|
65
|
-
* that must NOT be a Session with an active `serve()` on it (a Session
|
|
66
|
-
* takes one role at a time, and `advertiseDirect()`'s own `PutRecord` is a
|
|
67
|
-
* CALL): a long-lived provider that
|
|
68
|
-
* also serves `procedure` needs a SEPARATE Session (and identity -- this
|
|
69
|
-
* fleet enforces one connection per identity, kicking whichever connects
|
|
70
|
-
* second) for that, passed here instead of the serving Session.
|
|
71
|
-
*
|
|
72
|
-
* The returned `stop()` is synchronous -- unlike `Session.serve()`'s own
|
|
73
|
-
* async `stop()`, there is no pending tick to wait out and no unadvertise
|
|
74
|
-
* step: `advertiseDirect()`'s own DHT record simply expires on its own
|
|
75
|
-
* TTL once ticks stop, matching macula-go's own `KeepAdvertisedDirect`,
|
|
76
|
-
* which has no corresponding "undo" either. Calling `stop()` more than
|
|
77
|
-
* once is a no-op. */
|
|
78
|
-
export declare function keepAdvertisedDirect(session: Session, procedure: string, opts?: KeepAdvertisedDirectOptions): () => void;
|
|
79
|
-
export type { CallOptions };
|