@labacacia/nps-sdk 1.0.0-alpha.13 → 1.0.0-alpha.14

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conformance.d.ts","sourceRoot":"","sources":["../src/conformance.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,EAAG,aAAsB,CAAC;AAC9C,eAAO,MAAM,OAAO,EAAG,aAAsB,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAW,MAAM,CAAC;IACpB,OAAO,EAAM,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAQ,MAAM,CAAC;IACpB,QAAQ,EAAK,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAQ,MAAM,CAAC;IACjB,MAAM,EAAI,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAM,MAAM,CAAC;IACjB,OAAO,EAAG,MAAM,CAAC;IACjB,GAAG,CAAC,EAAM,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAU,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,GAAG,EAAc,mBAAmB,CAAC;IACrC,IAAI,EAAa,mBAAmB,CAAC;IACrC,GAAG,EAAc;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,KAAK,EAAY,SAAS,wBAAwB,EAAE,CAAC;IACrD,OAAO,EAAU;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3E;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAI,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,sBAAsB,CAgBzB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,kBAAkB,EAAE,CAIhF;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,sBAAsB,GAAG,wBAAwB,CA2BtG;AAMD,eAAO,MAAM,aAAa,EAAE,SAAS,kBAAkB,EAqBtD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAAS,kBAAkB,EAiBtD,CAAC"}
@@ -0,0 +1,100 @@
1
+ // Copyright 2026 INNO LOTUS PTY LTD
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export const NODE_L1 = "NPS-Node-L1";
4
+ export const NODE_L2 = "NPS-Node-L2";
5
+ export function createConformanceManifest(args) {
6
+ const cases = [...args.results];
7
+ return {
8
+ profile: args.profile,
9
+ profile_version: args.profile === NODE_L2 ? "0.3" : "0.1",
10
+ iut: { name: args.iutName, version: args.iutVersion, nid: args.iutNid },
11
+ peer: { name: args.peerName, version: args.peerVersion },
12
+ run: { date: new Date().toISOString(), environment: args.environment ?? "unspecified" },
13
+ cases,
14
+ summary: {
15
+ pass: cases.filter((c) => c.result === "pass").length,
16
+ fail: cases.filter((c) => c.result === "fail").length,
17
+ skip: cases.filter((c) => c.result === "skip").length,
18
+ na: cases.filter((c) => c.result === "na").length,
19
+ },
20
+ };
21
+ }
22
+ export function catalogForProfile(profile) {
23
+ if (profile === NODE_L1)
24
+ return NODE_L1_CASES;
25
+ if (profile === NODE_L2)
26
+ return NODE_L2_CASES;
27
+ throw new RangeError(`Unknown NPS conformance profile: ${profile}`);
28
+ }
29
+ export function validateConformanceManifest(manifest) {
30
+ const catalog = catalogForProfile(manifest.profile);
31
+ const known = new Map(catalog.map((c) => [c.id, c]));
32
+ const seen = new Set();
33
+ const validResults = new Set(["pass", "fail", "skip", "na"]);
34
+ for (const result of manifest.cases) {
35
+ const knownCase = known.get(result.id);
36
+ if (knownCase === undefined)
37
+ return { valid: false, message: `Unknown conformance case id '${result.id}'.` };
38
+ if (seen.has(result.id))
39
+ return { valid: false, message: `Duplicate conformance case id '${result.id}'.` };
40
+ seen.add(result.id);
41
+ if (!validResults.has(result.result)) {
42
+ return { valid: false, message: `Case '${result.id}' has invalid result '${result.result}'.` };
43
+ }
44
+ if (result.result === "na" && !knownCase.optional) {
45
+ return { valid: false, message: `Case '${result.id}' is required and cannot be marked na.` };
46
+ }
47
+ }
48
+ const missing = catalog.filter((c) => !seen.has(c.id)).map((c) => c.id);
49
+ if (missing.length > 0) {
50
+ return { valid: false, message: `Missing conformance case results: ${missing.join(", ")}.` };
51
+ }
52
+ if (manifest.cases.some((c) => c.result === "fail" || c.result === "skip")) {
53
+ return { valid: false, message: "Conformance manifest contains fail or skip results." };
54
+ }
55
+ return { valid: true, message: "Conformance manifest is valid." };
56
+ }
57
+ function c(id, profile, requirement, title, optional = false) {
58
+ return { id, profile, requirement, title, optional };
59
+ }
60
+ export const NODE_L1_CASES = [
61
+ c("TC-N1-NCP-01", NODE_L1, "N1-NCP-01", "Tier-1 JSON frame round-trip"),
62
+ c("TC-N1-NCP-02", NODE_L1, "N1-NCP-02", "Hello + Anchor handshake"),
63
+ c("TC-N1-NCP-03", NODE_L1, "N1-NCP-03", "Loopback listener default"),
64
+ c("TC-N1-NCP-04", NODE_L1, "N1-NCP-04", "Tier-2 negotiation hygiene"),
65
+ c("TC-N1-NIP-01", NODE_L1, "N1-NIP-01", "Root keypair generation and permission"),
66
+ c("TC-N1-NIP-02", NODE_L1, "N1-NIP-02", "IdentFrame sign and verify"),
67
+ c("TC-N1-NIP-03", NODE_L1, "N1-NIP-03", "NID format"),
68
+ c("TC-N1-NIP-04", NODE_L1, "N1-NIP-04", "Sub-NID issuance", true),
69
+ c("TC-N1-NDP-01", NODE_L1, "N1-NDP-01", "AnnounceFrame carries activation_mode"),
70
+ c("TC-N1-NDP-02", NODE_L1, "N1-NDP-02", "AnnounceFrame signature"),
71
+ c("TC-N1-NDP-03", NODE_L1, "N1-NDP-03", "ResolveFrame response"),
72
+ c("TC-N1-NDP-04", NODE_L1, "N1-NDP-04", "GraphFrame subscription", true),
73
+ c("TC-N1-NWP-01", NODE_L1, "N1-NWP-01", "Inbox accepts ActionFrame"),
74
+ c("TC-N1-NWP-02", NODE_L1, "N1-NWP-02", "Inbox persists across restart"),
75
+ c("TC-N1-NWP-03", NODE_L1, "N1-NWP-03", "NWP pull serves inbox"),
76
+ c("TC-N1-NWP-04", NODE_L1, "N1-NWP-04", "100 QPS baseline"),
77
+ c("TC-N1-NWP-05", NODE_L1, "N1-NWP-05", "Push path", true),
78
+ c("TC-N1-OBS-01", NODE_L1, "N1-OBS-01", "Frame log entry per direction"),
79
+ c("TC-N1-OBS-02", NODE_L1, "N1-OBS-02", "Log entry fields"),
80
+ c("TC-N1-OBS-03", NODE_L1, "N1-OBS-03", "Log destination flexibility"),
81
+ ];
82
+ export const NODE_L2_CASES = [
83
+ c("TC-N2-AnchorTopo-01", NODE_L2, "L2-08", "Snapshot of a 3-member cluster"),
84
+ c("TC-N2-AnchorTopo-02", NODE_L2, "L2-08", "Version monotonicity across joins"),
85
+ c("TC-N2-AnchorTopo-03", NODE_L2, "L2-08", "Sub-Anchor member surfaces"),
86
+ c("TC-N2-AnchorStream-01", NODE_L2, "L2-08", "member_joined on NDP Announce"),
87
+ c("TC-N2-AnchorStream-02", NODE_L2, "L2-08", "member_left on NDP TTL expiry"),
88
+ c("TC-N2-AnchorStream-03", NODE_L2, "L2-08", "Resume from topology.since_version"),
89
+ c("TC-N2-AnchorTopo-04", NODE_L2, "L2-08", "Unauthorized topology access"),
90
+ c("TC-N2-AnchorTopo-05", NODE_L2, "L2-08", "Depth cap exceeded"),
91
+ c("TC-N2-AnchorTopo-06", NODE_L2, "L2-08", "Unsupported topology scope"),
92
+ c("TC-N2-AnchorTopo-07", NODE_L2, "L2-08", "Unsupported topology filter"),
93
+ c("TC-N2-AnchorTopo-08", NODE_L2, "L2-08", "Unsupported reserved topology type"),
94
+ c("TC-N2-AnchorStream-04", NODE_L2, "L2-08", "resync_required when version is too old"),
95
+ c("TC-N2-Tls-01", NODE_L2, "NPS-RFC-0006", "ALPN nps/1.0 negotiated over TLS 1.3"),
96
+ c("TC-N2-Tls-02", NODE_L2, "NPS-RFC-0006", "Mutual TLS required"),
97
+ c("TC-N2-Tls-03", NODE_L2, "NPS-RFC-0006", "Client cert trust anchor and NID binding"),
98
+ c("TC-N2-Tls-04", NODE_L2, "NPS-RFC-0006", "IdentFrame/certificate NID mismatch"),
99
+ ];
100
+ //# sourceMappingURL=conformance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conformance.js","sourceRoot":"","sources":["../src/conformance.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.0.0-alpha.13";
1
+ export declare const VERSION = "1.0.0-alpha.14";
2
2
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -6,5 +6,5 @@
6
6
  // All protocol APIs are accessed via sub-package imports:
7
7
  // import { ... } from "@labacacia/nps-sdk/core"
8
8
  // import { ... } from "@labacacia/nps-sdk/ncp"
9
- export const VERSION = "1.0.0-alpha.13";
9
+ export const VERSION = "1.0.0-alpha.14";
10
10
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,93 @@
1
+ export interface NipCaRegisterRequest {
2
+ identifier: string;
3
+ pub_key: string;
4
+ capabilities?: readonly string[];
5
+ scope_json?: string | null;
6
+ metadata_json?: string | null;
7
+ }
8
+ export interface NipCaRegisterX509Request extends NipCaRegisterRequest {
9
+ assurance_level?: string | null;
10
+ }
11
+ export interface NipCaIdentFrame {
12
+ frame?: string;
13
+ nid: string;
14
+ pub_key: string;
15
+ capabilities?: readonly string[];
16
+ scope?: unknown;
17
+ issued_by?: string;
18
+ issued_at?: string;
19
+ expires_at?: string;
20
+ serial?: string;
21
+ signature?: string;
22
+ cert_format?: string;
23
+ cert_chain?: readonly string[];
24
+ ocsp_staple?: string;
25
+ [key: string]: unknown;
26
+ }
27
+ export interface NipCaCrlEntry {
28
+ nid: string;
29
+ serial: string;
30
+ revoked_at?: string | null;
31
+ reason?: string | null;
32
+ }
33
+ export interface NipCaCrl {
34
+ issued_by: string;
35
+ issued_at: string;
36
+ entries: readonly NipCaCrlEntry[];
37
+ signature: string;
38
+ }
39
+ export interface NipCaRevokeFrame {
40
+ frame?: string;
41
+ target_nid?: string;
42
+ nid?: string;
43
+ serial?: string;
44
+ reason?: string;
45
+ revoked_at?: string;
46
+ signature?: string;
47
+ [key: string]: unknown;
48
+ }
49
+ export interface NipCaDiscoveryDocument {
50
+ nps_ca: string;
51
+ issuer: string;
52
+ public_key: string;
53
+ display_name?: string;
54
+ algorithms?: readonly string[];
55
+ endpoints?: Record<string, unknown>;
56
+ capabilities?: readonly string[];
57
+ max_cert_validity_days?: number;
58
+ }
59
+ export interface NipCaVerifyResponse {
60
+ valid: boolean;
61
+ nid?: string;
62
+ expires_at?: string;
63
+ serial?: string;
64
+ error_code?: string;
65
+ message?: string;
66
+ }
67
+ export declare class NipCaClientError extends Error {
68
+ readonly errorCode: string;
69
+ readonly statusCode?: number | undefined;
70
+ constructor(errorCode: string, message: string, statusCode?: number | undefined);
71
+ }
72
+ export declare class NipCaClient {
73
+ private readonly baseUrl;
74
+ private readonly prefix;
75
+ constructor(baseUrl: string, options?: {
76
+ routePrefix?: string;
77
+ });
78
+ getDiscovery(): Promise<NipCaDiscoveryDocument>;
79
+ getCrl(): Promise<NipCaCrl>;
80
+ registerAgent(request: NipCaRegisterRequest, bearerToken?: string): Promise<NipCaIdentFrame>;
81
+ registerNode(request: NipCaRegisterRequest, bearerToken?: string): Promise<NipCaIdentFrame>;
82
+ registerAgentX509(request: NipCaRegisterX509Request, bearerToken?: string): Promise<NipCaIdentFrame>;
83
+ registerNodeX509(request: NipCaRegisterX509Request, bearerToken?: string): Promise<NipCaIdentFrame>;
84
+ renewAgent(nid: string, bearerToken?: string): Promise<NipCaIdentFrame>;
85
+ renewNode(nid: string, bearerToken?: string): Promise<NipCaIdentFrame>;
86
+ revokeAgent(nid: string, reason?: string, bearerToken?: string): Promise<NipCaRevokeFrame>;
87
+ revokeNode(nid: string, reason?: string, bearerToken?: string): Promise<NipCaRevokeFrame>;
88
+ verifyAgent(nid: string): Promise<NipCaVerifyResponse>;
89
+ verifyNode(nid: string): Promise<NipCaVerifyResponse>;
90
+ private getJson;
91
+ private sendJson;
92
+ }
93
+ //# sourceMappingURL=ca-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ca-client.d.ts","sourceRoot":"","sources":["../../src/nip/ca-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ // Copyright 2026 INNO LOTUS PTY LTD
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export class NipCaClientError extends Error {
4
+ errorCode;
5
+ statusCode;
6
+ constructor(errorCode, message, statusCode) {
7
+ super(message);
8
+ this.errorCode = errorCode;
9
+ this.statusCode = statusCode;
10
+ this.name = "NipCaClientError";
11
+ }
12
+ }
13
+ export class NipCaClient {
14
+ baseUrl;
15
+ prefix;
16
+ constructor(baseUrl, options = {}) {
17
+ this.baseUrl = baseUrl.replace(/\/$/, "");
18
+ this.prefix = (options.routePrefix ?? "").replace(/\/$/, "");
19
+ }
20
+ getDiscovery() {
21
+ return this.getJson("/.well-known/nps-ca");
22
+ }
23
+ getCrl() {
24
+ return this.getJson(`${this.prefix}/v1/crl`);
25
+ }
26
+ registerAgent(request, bearerToken) {
27
+ return this.sendJson("POST", `${this.prefix}/v1/agents/register`, request, bearerToken);
28
+ }
29
+ registerNode(request, bearerToken) {
30
+ return this.sendJson("POST", `${this.prefix}/v1/nodes/register`, request, bearerToken);
31
+ }
32
+ registerAgentX509(request, bearerToken) {
33
+ return this.sendJson("POST", `${this.prefix}/v1/agents/register-x509`, request, bearerToken);
34
+ }
35
+ registerNodeX509(request, bearerToken) {
36
+ return this.sendJson("POST", `${this.prefix}/v1/nodes/register-x509`, request, bearerToken);
37
+ }
38
+ renewAgent(nid, bearerToken) {
39
+ return this.sendJson("POST", `${this.prefix}/v1/agents/${encodeURIComponent(nid)}/renew`, undefined, bearerToken);
40
+ }
41
+ renewNode(nid, bearerToken) {
42
+ return this.sendJson("POST", `${this.prefix}/v1/nodes/${encodeURIComponent(nid)}/renew`, undefined, bearerToken);
43
+ }
44
+ revokeAgent(nid, reason = "cessation_of_operation", bearerToken) {
45
+ return this.sendJson("POST", `${this.prefix}/v1/agents/${encodeURIComponent(nid)}/revoke`, { reason }, bearerToken);
46
+ }
47
+ revokeNode(nid, reason = "cessation_of_operation", bearerToken) {
48
+ return this.sendJson("POST", `${this.prefix}/v1/nodes/${encodeURIComponent(nid)}/revoke`, { reason }, bearerToken);
49
+ }
50
+ verifyAgent(nid) {
51
+ return this.getJson(`${this.prefix}/v1/agents/${encodeURIComponent(nid)}/verify`);
52
+ }
53
+ verifyNode(nid) {
54
+ return this.getJson(`${this.prefix}/v1/nodes/${encodeURIComponent(nid)}/verify`);
55
+ }
56
+ async getJson(path) {
57
+ const response = await fetch(`${this.baseUrl}${path}`, {
58
+ headers: { "Accept": "application/json" },
59
+ });
60
+ return readJsonResponse(response);
61
+ }
62
+ async sendJson(method, path, body, bearerToken) {
63
+ const headers = { "Accept": "application/json" };
64
+ if (body !== undefined)
65
+ headers["Content-Type"] = "application/json";
66
+ if (bearerToken !== undefined && bearerToken !== "")
67
+ headers["Authorization"] = `Bearer ${bearerToken}`;
68
+ const response = await fetch(`${this.baseUrl}${path}`, {
69
+ method,
70
+ headers,
71
+ body: body === undefined ? undefined : JSON.stringify(body),
72
+ });
73
+ return readJsonResponse(response);
74
+ }
75
+ }
76
+ async function readJsonResponse(response) {
77
+ const text = await response.text();
78
+ const data = text.length === 0 ? {} : JSON.parse(text);
79
+ if (response.ok)
80
+ return data;
81
+ throw new NipCaClientError((data["error_code"] ?? data["error"] ?? "NIP-CA-HTTP-ERROR"), (data["message"] ?? `NIP CA returned HTTP ${response.status}.`), response.status);
82
+ }
83
+ //# sourceMappingURL=ca-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ca-client.js","sourceRoot":"","sources":["../../src/nip/ca-client.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export * from "./assurance-level.js";
5
5
  export * from "./cert-format.js";
6
6
  export * from "./error-codes.js";
7
7
  export * from "./verifier.js";
8
+ export * from "./ca-client.js";
8
9
  export * as x509 from "./x509/index.js";
9
10
  export * as acme from "./acme/index.js";
10
11
  export * from "./reputation-client.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nip/index.ts"],"names":[],"mappings":"AAGA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGlD,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AAGxC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nip/index.ts"],"names":[],"mappings":"AAGA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGlD,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AAGxC,cAAc,wBAAwB,CAAC"}
package/dist/nip/index.js CHANGED
@@ -8,6 +8,7 @@ export * from "./assurance-level.js";
8
8
  export * from "./cert-format.js";
9
9
  export * from "./error-codes.js";
10
10
  export * from "./verifier.js";
11
+ export * from "./ca-client.js";
11
12
  export * as x509 from "./x509/index.js";
12
13
  export * as acme from "./acme/index.js";
13
14
  // RFC-0004 — Reputation log
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nip/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,2DAA2D;AAC3D,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AAExC,4BAA4B;AAC5B,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nip/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,2DAA2D;AAC3D,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AAExC,4BAA4B;AAC5B,cAAc,wBAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"frames.d.ts","sourceRoot":"","sources":["../../src/nwp/frames.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frames.d.ts","sourceRoot":"","sources":["../../src/nwp/frames.ts"],"names":[],"mappings":"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"}
@@ -111,6 +111,7 @@ export class ActionFrame {
111
111
  toDict() {
112
112
  return {
113
113
  action_id: this.actionId,
114
+ action: this.actionId,
114
115
  params: this.params ?? null,
115
116
  async: this.async_ ?? false,
116
117
  idempotency_key: this.idempotencyKey ?? null,
@@ -118,7 +119,7 @@ export class ActionFrame {
118
119
  };
119
120
  }
120
121
  static fromDict(data) {
121
- return new ActionFrame(data["action_id"], data["params"] ?? undefined, data["async"] ?? undefined, data["idempotency_key"] ?? undefined, data["timeout_ms"] ?? undefined);
122
+ return new ActionFrame((data["action_id"] ?? data["action"]), data["params"] ?? undefined, data["async"] ?? undefined, data["idempotency_key"] ?? undefined, data["timeout_ms"] ?? undefined);
122
123
  }
123
124
  }
124
125
  /** Wrap a SubscribeFrame into a codec-compatible NpsFrame for wire encoding. */
@@ -1 +1 @@
1
- {"version":3,"file":"frames.js","sourceRoot":"","sources":["../../src/nwp/frames.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frames.js","sourceRoot":"","sources":["../../src/nwp/frames.ts"],"names":[],"mappings":"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"}
@@ -10,4 +10,5 @@ export * from "./reputation.js";
10
10
  export * from "./http-headers.js";
11
11
  export * from "./anchor-server.js";
12
12
  export * from "./memory-node-server.js";
13
+ export * from "./native-server.js";
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nwp/index.ts"],"names":[],"mappings":"AAGA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nwp/index.ts"],"names":[],"mappings":"AAGA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC"}
package/dist/nwp/index.js CHANGED
@@ -12,4 +12,5 @@ export * from "./reputation.js";
12
12
  export * from "./http-headers.js";
13
13
  export * from "./anchor-server.js";
14
14
  export * from "./memory-node-server.js";
15
+ export * from "./native-server.js";
15
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nwp/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nwp/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { NpsFrameCodec, type NpsFrame } from "../core/codec.js";
2
+ import { EncodingTier, FrameType } from "../core/frames.js";
3
+ import { FrameRegistry } from "../core/registry.js";
4
+ import { CapsFrame } from "../ncp/frames.js";
5
+ import { ActionFrame, QueryFrame } from "./frames.js";
6
+ export interface NativeQueryResult {
7
+ rows: readonly Record<string, unknown>[];
8
+ nextCursor?: string | null;
9
+ }
10
+ export type NativeQueryHandler = (frame: QueryFrame) => Promise<CapsFrame | NativeQueryResult | readonly Record<string, unknown>[]> | CapsFrame | NativeQueryResult | readonly Record<string, unknown>[];
11
+ export type NativeActionHandler = (frame: ActionFrame) => Promise<NpsFrame | unknown> | NpsFrame | unknown;
12
+ export interface NwpNativeNodeServerOptions {
13
+ codec?: NpsFrameCodec;
14
+ registry?: FrameRegistry;
15
+ tier?: EncodingTier;
16
+ anchorRef?: string;
17
+ queryHandler?: NativeQueryHandler;
18
+ actionHandler?: NativeActionHandler;
19
+ }
20
+ export interface NativeFrameSink {
21
+ write(chunk: Uint8Array<ArrayBufferLike>): void | Promise<void>;
22
+ }
23
+ export declare class NwpNativeNodeServer {
24
+ private readonly codec;
25
+ private readonly tier;
26
+ private readonly anchorRef;
27
+ private readonly queryHandler?;
28
+ private readonly actionHandler?;
29
+ constructor(options?: NwpNativeNodeServerOptions);
30
+ dispatch(frame: NpsFrame): Promise<NpsFrame>;
31
+ dispatchWire(wire: Uint8Array<ArrayBufferLike>): Promise<Uint8Array<ArrayBufferLike>>;
32
+ serve(source: AsyncIterable<Uint8Array<ArrayBufferLike>>, sink: NativeFrameSink): Promise<void>;
33
+ private dispatchQuery;
34
+ private dispatchAction;
35
+ }
36
+ export { FrameType };
37
+ //# sourceMappingURL=native-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-server.d.ts","sourceRoot":"","sources":["../../src/nwp/native-server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAe,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAc,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGtD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,kBAAkB,GAAG,CAC/B,KAAK,EAAE,UAAU,KACd,OAAO,CAAC,SAAS,GAAG,iBAAiB,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,GAC3E,SAAS,GAAG,iBAAiB,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;AAExE,MAAM,MAAM,mBAAmB,GAAG,CAChC,KAAK,EAAE,WAAW,KACf,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEtD,MAAM,WAAW,0BAA0B;IACzC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAsB;gBAEzC,OAAO,GAAE,0BAA+B;IAS9C,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkB5C,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAKrF,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;YAiBvF,aAAa;YAOb,cAAc;CAS7B;AAmDD,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,109 @@
1
+ // Copyright 2026 INNO LOTUS PTY LTD
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { NpsFrameCodec } from "../core/codec.js";
4
+ import { EncodingTier, FrameHeader, FrameType } from "../core/frames.js";
5
+ import { FrameRegistry } from "../core/registry.js";
6
+ import { CapsFrame, ErrorFrame } from "../ncp/frames.js";
7
+ import { registerNcpFrames } from "../ncp/registry.js";
8
+ import { ActionFrame, QueryFrame } from "./frames.js";
9
+ import { registerNwpFrames } from "./registry.js";
10
+ export class NwpNativeNodeServer {
11
+ codec;
12
+ tier;
13
+ anchorRef;
14
+ queryHandler;
15
+ actionHandler;
16
+ constructor(options = {}) {
17
+ const registry = options.registry ?? defaultNativeRegistry();
18
+ this.codec = options.codec ?? new NpsFrameCodec(registry);
19
+ this.tier = options.tier ?? EncodingTier.MSGPACK;
20
+ this.anchorRef = options.anchorRef ?? "native:nwp";
21
+ this.queryHandler = options.queryHandler;
22
+ this.actionHandler = options.actionHandler;
23
+ }
24
+ async dispatch(frame) {
25
+ try {
26
+ if (frame instanceof QueryFrame)
27
+ return await this.dispatchQuery(frame);
28
+ if (frame instanceof ActionFrame)
29
+ return await this.dispatchAction(frame);
30
+ return new ErrorFrame("NPS-CLIENT-BAD-FRAME", "NWP-NATIVE-FRAME-UNSUPPORTED", `Native NWP server does not handle frame type 0x${frame.frameType.toString(16)}.`);
31
+ }
32
+ catch (err) {
33
+ return new ErrorFrame("NPS-SERVER-INTERNAL", "NWP-NATIVE-DISPATCH-FAILED", err instanceof Error ? err.message : String(err));
34
+ }
35
+ }
36
+ async dispatchWire(wire) {
37
+ const response = await this.dispatch(this.codec.decode(wire));
38
+ return this.codec.encode(response, { overrideTier: this.tier });
39
+ }
40
+ async serve(source, sink) {
41
+ let buffer = new Uint8Array(0);
42
+ for await (const chunk of source) {
43
+ buffer = concat(buffer, chunk);
44
+ while (buffer.length >= 4) {
45
+ const header = FrameHeader.parse(buffer);
46
+ const total = header.headerSize + header.payloadLength;
47
+ if (buffer.length < total)
48
+ break;
49
+ await sink.write(await this.dispatchWire(owned(buffer.slice(0, total))));
50
+ buffer = owned(buffer.slice(total));
51
+ }
52
+ }
53
+ if (buffer.length !== 0) {
54
+ throw new Error(`Native NWP stream ended with ${buffer.length} trailing bytes.`);
55
+ }
56
+ }
57
+ async dispatchQuery(frame) {
58
+ if (this.queryHandler === undefined) {
59
+ throw new Error("No native NWP query handler configured.");
60
+ }
61
+ return coerceQueryResult(await this.queryHandler(frame), this.anchorRef);
62
+ }
63
+ async dispatchAction(frame) {
64
+ if (this.actionHandler === undefined) {
65
+ throw new Error("No native NWP action handler configured.");
66
+ }
67
+ const result = await this.actionHandler(frame);
68
+ if (isNpsFrame(result))
69
+ return result;
70
+ if (result === undefined || result === null)
71
+ return new CapsFrame(this.anchorRef, 0, []);
72
+ return new CapsFrame(this.anchorRef, 1, [result]);
73
+ }
74
+ }
75
+ function defaultNativeRegistry() {
76
+ const registry = new FrameRegistry();
77
+ registerNcpFrames(registry);
78
+ registerNwpFrames(registry);
79
+ return registry;
80
+ }
81
+ function coerceQueryResult(result, anchorRef) {
82
+ if (result instanceof CapsFrame)
83
+ return result;
84
+ if (Array.isArray(result)) {
85
+ return new CapsFrame(anchorRef, result.length, result, undefined, estimateTokens(result), undefined, "native-estimate");
86
+ }
87
+ const native = result;
88
+ return new CapsFrame(anchorRef, native.rows.length, native.rows, native.nextCursor ?? undefined, estimateTokens(native.rows), undefined, "native-estimate");
89
+ }
90
+ function isNpsFrame(value) {
91
+ return typeof value === "object" && value !== null &&
92
+ "frameType" in value && "preferredTier" in value && "toDict" in value;
93
+ }
94
+ function estimateTokens(rows) {
95
+ return Math.max(1, Math.floor(JSON.stringify(rows).length / 4));
96
+ }
97
+ function concat(a, b) {
98
+ const out = new Uint8Array(a.length + b.length);
99
+ out.set(a, 0);
100
+ out.set(b, a.length);
101
+ return out;
102
+ }
103
+ function owned(bytes) {
104
+ const out = new Uint8Array(bytes.length);
105
+ out.set(bytes);
106
+ return out;
107
+ }
108
+ export { FrameType };
109
+ //# sourceMappingURL=native-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-server.js","sourceRoot":"","sources":["../../src/nwp/native-server.ts"],"names":[],"mappings":"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"}