@labacacia/nps-sdk 1.0.0-alpha.13 → 1.0.0-alpha.15
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/CHANGELOG.cn.md +8 -133
- package/CHANGELOG.md +18 -180
- package/README.cn.md +63 -4
- package/README.md +63 -4
- package/dist/conformance.d.ts +55 -0
- package/dist/conformance.d.ts.map +1 -0
- package/dist/conformance.js +100 -0
- package/dist/conformance.js.map +1 -0
- package/dist/core/codec.d.ts +5 -0
- package/dist/core/codec.d.ts.map +1 -1
- package/dist/core/codec.js +38 -1
- package/dist/core/codec.js.map +1 -1
- package/dist/core/codecs/ncp-codec.d.ts.map +1 -1
- package/dist/core/codecs/ncp-codec.js +20 -2
- package/dist/core/codecs/ncp-codec.js.map +1 -1
- package/dist/core/codecs/tier3-binary-vector-codec.d.ts +9 -0
- package/dist/core/codecs/tier3-binary-vector-codec.d.ts.map +1 -0
- package/dist/core/codecs/tier3-binary-vector-codec.js +155 -0
- package/dist/core/codecs/tier3-binary-vector-codec.js.map +1 -0
- package/dist/core/frame-header.d.ts +3 -1
- package/dist/core/frame-header.d.ts.map +1 -1
- package/dist/core/frame-header.js +2 -1
- package/dist/core/frame-header.js.map +1 -1
- package/dist/core/frames.d.ts +4 -1
- package/dist/core/frames.d.ts.map +1 -1
- package/dist/core/frames.js +3 -0
- package/dist/core/frames.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/ndp/federation.d.ts +8 -0
- package/dist/ndp/federation.d.ts.map +1 -0
- package/dist/ndp/federation.js +23 -0
- package/dist/ndp/federation.js.map +1 -0
- package/dist/ndp/frames.d.ts +4 -4
- package/dist/ndp/frames.d.ts.map +1 -1
- package/dist/ndp/frames.js +44 -9
- package/dist/ndp/frames.js.map +1 -1
- package/dist/ndp/index.d.ts +1 -0
- package/dist/ndp/index.d.ts.map +1 -1
- package/dist/ndp/index.js +1 -0
- package/dist/ndp/index.js.map +1 -1
- package/dist/ndp/ndp-error-codes.d.ts +2 -0
- package/dist/ndp/ndp-error-codes.d.ts.map +1 -1
- package/dist/ndp/ndp-error-codes.js +4 -0
- package/dist/ndp/ndp-error-codes.js.map +1 -1
- package/dist/ndp/validator.d.ts.map +1 -1
- package/dist/ndp/validator.js +5 -4
- package/dist/ndp/validator.js.map +1 -1
- package/dist/nip/ca-client.d.ts +93 -0
- package/dist/nip/ca-client.d.ts.map +1 -0
- package/dist/nip/ca-client.js +83 -0
- package/dist/nip/ca-client.js.map +1 -0
- package/dist/nip/frames.d.ts +18 -8
- package/dist/nip/frames.d.ts.map +1 -1
- package/dist/nip/frames.js +71 -19
- package/dist/nip/frames.js.map +1 -1
- package/dist/nip/index.d.ts +1 -0
- package/dist/nip/index.d.ts.map +1 -1
- package/dist/nip/index.js +1 -0
- package/dist/nip/index.js.map +1 -1
- package/dist/nwp/frames.d.ts.map +1 -1
- package/dist/nwp/frames.js +2 -1
- package/dist/nwp/frames.js.map +1 -1
- package/dist/nwp/index.d.ts +1 -0
- package/dist/nwp/index.d.ts.map +1 -1
- package/dist/nwp/index.js +1 -0
- package/dist/nwp/index.js.map +1 -1
- package/dist/nwp/native-server.d.ts +39 -0
- package/dist/nwp/native-server.d.ts.map +1 -0
- package/dist/nwp/native-server.js +131 -0
- package/dist/nwp/native-server.js.map +1 -0
- package/package.json +5 -1
package/dist/core/frames.d.ts
CHANGED
|
@@ -26,10 +26,12 @@ export declare enum FrameType {
|
|
|
26
26
|
* Wire encoding tier, stored in the lower 2 bits of the flags byte (NPS-1 §3.2).
|
|
27
27
|
* 0x00 = Tier-1 JSON — human-readable; development / compatibility.
|
|
28
28
|
* 0x01 = Tier-2 MsgPack — binary, ~60 % smaller; production default.
|
|
29
|
+
* 0x02 = Tier-3 BinaryVector — MsgPack metadata plus float32 vector segments.
|
|
29
30
|
*/
|
|
30
31
|
export declare enum EncodingTier {
|
|
31
32
|
JSON = 0,
|
|
32
|
-
MSGPACK = 1
|
|
33
|
+
MSGPACK = 1,
|
|
34
|
+
BINARY_VECTOR = 2
|
|
33
35
|
}
|
|
34
36
|
/**
|
|
35
37
|
* Flags byte in the NPS frame header (NPS-1 §3.2).
|
|
@@ -44,6 +46,7 @@ export declare const FrameFlags: {
|
|
|
44
46
|
readonly NONE: 0;
|
|
45
47
|
readonly TIER1_JSON: 0;
|
|
46
48
|
readonly TIER2_MSGPACK: 1;
|
|
49
|
+
readonly TIER3_BINARY_VECTOR: 2;
|
|
47
50
|
readonly FINAL: 4;
|
|
48
51
|
readonly ENCRYPTED: 8;
|
|
49
52
|
readonly EXT: 128;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frames.d.ts","sourceRoot":"","sources":["../../src/core/frames.ts"],"names":[],"mappings":"AAWA,sEAAsE;AACtE,oBAAY,SAAS;IAEnB,MAAM,IAAa;IACnB,IAAI,IAAe;IACnB,MAAM,IAAa;IACnB,IAAI,IAAe;IACnB,KAAK,IAAc,CAAE,sCAAsC;IAC3D,KAAK,IAAc;IACnB,GAAG,IAAgB,CAAE,+BAA+B;IAGpD,KAAK,KAAc;IACnB,MAAM,KAAa;IACnB,SAAS,KAAU;IAGnB,KAAK,KAAc;IACnB,KAAK,KAAc;IACnB,MAAM,KAAa;IAGnB,QAAQ,KAAW;IACnB,OAAO,KAAY;IACnB,KAAK,KAAc;IAGnB,IAAI,KAAe;IACnB,QAAQ,KAAW;IACnB,IAAI,KAAe;IACnB,YAAY,KAAO;IAGnB,KAAK,MAAc;CACpB;AAID
|
|
1
|
+
{"version":3,"file":"frames.d.ts","sourceRoot":"","sources":["../../src/core/frames.ts"],"names":[],"mappings":"AAWA,sEAAsE;AACtE,oBAAY,SAAS;IAEnB,MAAM,IAAa;IACnB,IAAI,IAAe;IACnB,MAAM,IAAa;IACnB,IAAI,IAAe;IACnB,KAAK,IAAc,CAAE,sCAAsC;IAC3D,KAAK,IAAc;IACnB,GAAG,IAAgB,CAAE,+BAA+B;IAGpD,KAAK,KAAc;IACnB,MAAM,KAAa;IACnB,SAAS,KAAU;IAGnB,KAAK,KAAc;IACnB,KAAK,KAAc;IACnB,MAAM,KAAa;IAGnB,QAAQ,KAAW;IACnB,OAAO,KAAY;IACnB,KAAK,KAAc;IAGnB,IAAI,KAAe;IACnB,QAAQ,KAAW;IACnB,IAAI,KAAe;IACnB,YAAY,KAAO;IAGnB,KAAK,MAAc;CACpB;AAID;;;;;GAKG;AACH,oBAAY,YAAY;IACtB,IAAI,IAAgB;IACpB,OAAO,IAAa;IACpB,aAAa,IAAO;CACrB;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU;;;;;;;;CAQb,CAAC;AAIX,eAAO,MAAM,mBAAmB,IAAK,CAAC;AACtC,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,mBAAmB,QAAU,CAAC;AAC3C,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAI/C;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAW;aAEJ,SAAS,EAAE,SAAS;aACpB,KAAK,EAAE,MAAM;aACb,aAAa,EAAE,MAAM;gBAFrB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM;IAGvC,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAID,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,GAAG,WAAW;IAiC1C,OAAO,IAAI,UAAU;IAkBrB,QAAQ,IAAI,MAAM;CAGnB"}
|
package/dist/core/frames.js
CHANGED
|
@@ -41,11 +41,13 @@ export var FrameType;
|
|
|
41
41
|
* Wire encoding tier, stored in the lower 2 bits of the flags byte (NPS-1 §3.2).
|
|
42
42
|
* 0x00 = Tier-1 JSON — human-readable; development / compatibility.
|
|
43
43
|
* 0x01 = Tier-2 MsgPack — binary, ~60 % smaller; production default.
|
|
44
|
+
* 0x02 = Tier-3 BinaryVector — MsgPack metadata plus float32 vector segments.
|
|
44
45
|
*/
|
|
45
46
|
export var EncodingTier;
|
|
46
47
|
(function (EncodingTier) {
|
|
47
48
|
EncodingTier[EncodingTier["JSON"] = 0] = "JSON";
|
|
48
49
|
EncodingTier[EncodingTier["MSGPACK"] = 1] = "MSGPACK";
|
|
50
|
+
EncodingTier[EncodingTier["BINARY_VECTOR"] = 2] = "BINARY_VECTOR";
|
|
49
51
|
})(EncodingTier || (EncodingTier = {}));
|
|
50
52
|
// ── FrameFlags ───────────────────────────────────────────────────────────────
|
|
51
53
|
/**
|
|
@@ -61,6 +63,7 @@ export const FrameFlags = {
|
|
|
61
63
|
NONE: 0x00,
|
|
62
64
|
TIER1_JSON: 0x00,
|
|
63
65
|
TIER2_MSGPACK: 0x01,
|
|
66
|
+
TIER3_BINARY_VECTOR: 0x02,
|
|
64
67
|
FINAL: 0x04,
|
|
65
68
|
ENCRYPTED: 0x08,
|
|
66
69
|
EXT: 0x80,
|
package/dist/core/frames.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frames.js","sourceRoot":"","sources":["../../src/core/frames.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,gFAAgF;AAEhF,sEAAsE;AACtE,MAAM,CAAN,IAAY,SAiCX;AAjCD,WAAY,SAAS;IACnB,iBAAiB;IACjB,6CAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,6CAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,2CAAmB,CAAA;IACnB,2CAAmB,CAAA;IACnB,uCAAmB,CAAA;IAEnB,iBAAiB;IACjB,4CAAmB,CAAA;IACnB,8CAAmB,CAAA;IACnB,oDAAmB,CAAA;IAEnB,iBAAiB;IACjB,4CAAmB,CAAA;IACnB,4CAAmB,CAAA;IACnB,8CAAmB,CAAA;IAEnB,iBAAiB;IACjB,kDAAmB,CAAA;IACnB,gDAAmB,CAAA;IACnB,4CAAmB,CAAA;IAEnB,iBAAiB;IACjB,0CAAmB,CAAA;IACnB,kDAAmB,CAAA;IACnB,0CAAmB,CAAA;IACnB,0DAAmB,CAAA;IAEnB,+BAA+B;IAC/B,6CAAmB,CAAA;AACrB,CAAC,EAjCW,SAAS,KAAT,SAAS,QAiCpB;AAED,gFAAgF;AAEhF
|
|
1
|
+
{"version":3,"file":"frames.js","sourceRoot":"","sources":["../../src/core/frames.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { FrameType, EncodingTier, FrameFlags, FrameHeader, DEFAULT_HEADER_SIZE, EXTENDED_HEADER_SIZE, DEFAULT_MAX_PAYLOAD, EXTENDED_MAX_PAYLOAD, } from "./frames.js";
|
|
2
|
-
export { Tier1JsonCodec, Tier2MsgPackCodec, NpsFrameCodec, } from "./codec.js";
|
|
2
|
+
export { Tier1JsonCodec, Tier2MsgPackCodec, Tier3BinaryVectorCodec, NpsFrameCodec, } from "./codec.js";
|
|
3
3
|
export type { NpsFrame } from "./codec.js";
|
|
4
4
|
export { FrameRegistry } from "./registry.js";
|
|
5
5
|
export type { FrameClass } from "./registry.js";
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACtE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACtE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/core/index.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
// ── Frame primitives (OOP) ────────────────────────────────────────────────────
|
|
11
11
|
export { FrameType, EncodingTier, FrameFlags, FrameHeader, DEFAULT_HEADER_SIZE, EXTENDED_HEADER_SIZE, DEFAULT_MAX_PAYLOAD, EXTENDED_MAX_PAYLOAD, } from "./frames.js";
|
|
12
12
|
// ── Codec (OOP) ───────────────────────────────────────────────────────────────
|
|
13
|
-
export { Tier1JsonCodec, Tier2MsgPackCodec, NpsFrameCodec, } from "./codec.js";
|
|
13
|
+
export { Tier1JsonCodec, Tier2MsgPackCodec, Tier3BinaryVectorCodec, NpsFrameCodec, } from "./codec.js";
|
|
14
14
|
// ── Registry (OOP) ────────────────────────────────────────────────────────────
|
|
15
15
|
export { FrameRegistry } from "./registry.js";
|
|
16
16
|
// ── Anchor cache (OOP) ────────────────────────────────────────────────────────
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AACtC,EAAE;AACF,uEAAuE;AACvE,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,yEAAyE;AACzE,gFAAgF;AAEhF,iFAAiF;AACjF,OAAO,EACL,SAAS,EACT,YAAY,EACZ,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,iFAAiF;AACjF,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,iFAAiF;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG9C,iFAAiF;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,iFAAiF;AACjF,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AACtC,EAAE;AACF,uEAAuE;AACvE,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,yEAAyE;AACzE,gFAAgF;AAEhF,iFAAiF;AACjF,OAAO,EACL,SAAS,EACT,YAAY,EACZ,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,iFAAiF;AACjF,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,iFAAiF;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG9C,iFAAiF;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,iFAAiF;AACjF,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "1.0.0-alpha.
|
|
1
|
+
export declare const VERSION = "1.0.0-alpha.15";
|
|
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.
|
|
9
|
+
export const VERSION = "1.0.0-alpha.15";
|
|
10
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const NDP_FORWARDED_BY_HEADER: "ndp-forwarded-by";
|
|
2
|
+
export declare const MAX_FEDERATION_HOPS = 3;
|
|
3
|
+
export declare class NdpFederationLoopError extends Error {
|
|
4
|
+
readonly code: "NDP-FEDERATION-LOOP";
|
|
5
|
+
}
|
|
6
|
+
export declare function parseForwardedBy(header?: string | null): string[];
|
|
7
|
+
export declare function appendForwardedBy(ownNid: string, header?: string | null): string | undefined;
|
|
8
|
+
//# sourceMappingURL=federation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"federation.d.ts","sourceRoot":"","sources":["../../src/ndp/federation.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,uBAAuB,EAAG,kBAA2B,CAAC;AACnE,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,wBAAuB;CACrC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAGjE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAO5F"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Copyright 2026 INNO LOTUS PTY LTD
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import { NDP_FEDERATION_LOOP } from "./ndp-error-codes.js";
|
|
4
|
+
export const NDP_FORWARDED_BY_HEADER = "ndp-forwarded-by";
|
|
5
|
+
export const MAX_FEDERATION_HOPS = 3;
|
|
6
|
+
export class NdpFederationLoopError extends Error {
|
|
7
|
+
code = NDP_FEDERATION_LOOP;
|
|
8
|
+
}
|
|
9
|
+
export function parseForwardedBy(header) {
|
|
10
|
+
if (!header)
|
|
11
|
+
return [];
|
|
12
|
+
return header.split(",").map((part) => part.trim()).filter(Boolean);
|
|
13
|
+
}
|
|
14
|
+
export function appendForwardedBy(ownNid, header) {
|
|
15
|
+
const hops = parseForwardedBy(header);
|
|
16
|
+
if (hops.includes(ownNid)) {
|
|
17
|
+
throw new NdpFederationLoopError(`${NDP_FEDERATION_LOOP}: own NID already appears in ndp-forwarded-by`);
|
|
18
|
+
}
|
|
19
|
+
if (hops.length >= MAX_FEDERATION_HOPS)
|
|
20
|
+
return undefined;
|
|
21
|
+
return [...hops, ownNid].join(", ");
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=federation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"federation.js","sourceRoot":"","sources":["../../src/ndp/federation.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,CAAC,MAAM,uBAAuB,GAAG,kBAA2B,CAAC;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACtC,IAAI,GAAG,mBAAmB,CAAC;CACrC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAsB;IACrD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,MAAsB;IACtE,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,sBAAsB,CAAC,GAAG,mBAAmB,+CAA+C,CAAC,CAAC;IAC1G,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,IAAI,mBAAmB;QAAE,OAAO,SAAS,CAAC;IACzD,OAAO,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC"}
|
package/dist/ndp/frames.d.ts
CHANGED
|
@@ -32,17 +32,17 @@ export declare class AnnounceFrame implements NpsFrame {
|
|
|
32
32
|
readonly nodeType?: string | undefined;
|
|
33
33
|
readonly node_roles?: string[] | undefined;
|
|
34
34
|
readonly cluster_anchor?: string | undefined;
|
|
35
|
-
readonly spawn_spec_ref?:
|
|
35
|
+
readonly spawn_spec_ref?: string | undefined;
|
|
36
36
|
readonly bridge_protocols?: string[] | undefined;
|
|
37
37
|
readonly activation_mode?: string | undefined;
|
|
38
|
-
readonly activation_endpoint?:
|
|
38
|
+
readonly activation_endpoint?: NdpAddress | undefined;
|
|
39
39
|
readonly heartbeat_interval_ms: number;
|
|
40
40
|
readonly health?: string | undefined;
|
|
41
41
|
readonly last_seen?: string | undefined;
|
|
42
42
|
readonly frameType = FrameType.ANNOUNCE;
|
|
43
43
|
readonly preferredTier = EncodingTier.MSGPACK;
|
|
44
|
-
constructor(nid: string, addresses: readonly NdpAddress[], capabilities: readonly string[], ttl: number, timestamp: string, signature: string, nodeType?: string | undefined, node_roles?: string[] | undefined, cluster_anchor?: string | undefined, spawn_spec_ref?:
|
|
45
|
-
bridge_protocols?: string[] | undefined, activation_mode?: string | undefined, activation_endpoint?:
|
|
44
|
+
constructor(nid: string, addresses: readonly NdpAddress[], capabilities: readonly string[], ttl: number, timestamp: string, signature: string, nodeType?: string | undefined, node_roles?: string[] | undefined, cluster_anchor?: string | undefined, spawn_spec_ref?: string | undefined, // opaque ref resolving to a SpawnSpec
|
|
45
|
+
bridge_protocols?: string[] | undefined, activation_mode?: string | undefined, activation_endpoint?: NdpAddress | undefined, heartbeat_interval_ms?: number, // NDP v0.9 §3.1
|
|
46
46
|
health?: string | undefined, // "healthy" / "degraded" / "draining"
|
|
47
47
|
last_seen?: string | undefined);
|
|
48
48
|
unsignedDict(): Record<string, unknown>;
|
package/dist/ndp/frames.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frames.d.ts","sourceRoot":"","sources":["../../src/ndp/frames.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"frames.d.ts","sourceRoot":"","sources":["../../src/ndp/frames.ts"],"names":[],"mappings":"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"}
|
package/dist/ndp/frames.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
// Copyright 2026 INNO LOTUS PTY LTD
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
import { EncodingTier, FrameType } from "../core/frames.js";
|
|
4
|
+
import { NDP_GRAPH_INVALID, NDP_GRAPH_TOO_LARGE } from "./ndp-error-codes.js";
|
|
5
|
+
const MAX_GRAPH_NODES = 256;
|
|
6
|
+
const MAX_GRAPH_EDGES = 1024;
|
|
4
7
|
export class AnnounceFrame {
|
|
5
8
|
nid;
|
|
6
9
|
addresses;
|
|
@@ -20,7 +23,7 @@ export class AnnounceFrame {
|
|
|
20
23
|
last_seen;
|
|
21
24
|
frameType = FrameType.ANNOUNCE;
|
|
22
25
|
preferredTier = EncodingTier.MSGPACK;
|
|
23
|
-
constructor(nid, addresses, capabilities, ttl, timestamp, signature, nodeType, node_roles, cluster_anchor, spawn_spec_ref, //
|
|
26
|
+
constructor(nid, addresses, capabilities, ttl, timestamp, signature, nodeType, node_roles, cluster_anchor, spawn_spec_ref, // opaque ref resolving to a SpawnSpec
|
|
24
27
|
bridge_protocols, activation_mode, activation_endpoint, heartbeat_interval_ms = 60_000, // NDP v0.9 §3.1
|
|
25
28
|
// NDP v0.9 liveness — wire-only, EXCLUDED from the signed canonical form
|
|
26
29
|
// (last_seen updates every heartbeat → must not require re-signing; §3.2.1).
|
|
@@ -44,21 +47,29 @@ export class AnnounceFrame {
|
|
|
44
47
|
this.last_seen = last_seen;
|
|
45
48
|
}
|
|
46
49
|
unsignedDict() {
|
|
47
|
-
|
|
50
|
+
const d = {
|
|
48
51
|
nid: this.nid,
|
|
49
52
|
addresses: this.addresses,
|
|
50
53
|
capabilities: this.capabilities,
|
|
51
54
|
ttl: this.ttl,
|
|
52
55
|
timestamp: this.timestamp,
|
|
53
|
-
node_type: this.nodeType ?? null,
|
|
54
|
-
node_roles: this.node_roles ?? null,
|
|
55
|
-
cluster_anchor: this.cluster_anchor ?? null,
|
|
56
|
-
spawn_spec_ref: this.spawn_spec_ref ?? null,
|
|
57
|
-
bridge_protocols: this.bridge_protocols ?? null,
|
|
58
|
-
activation_mode: this.activation_mode ?? null,
|
|
59
|
-
activation_endpoint: this.activation_endpoint ?? null,
|
|
60
56
|
heartbeat_interval_ms: this.heartbeat_interval_ms,
|
|
61
57
|
};
|
|
58
|
+
if (this.nodeType !== undefined)
|
|
59
|
+
d["node_type"] = this.nodeType;
|
|
60
|
+
if (this.node_roles !== undefined)
|
|
61
|
+
d["node_roles"] = this.node_roles;
|
|
62
|
+
if (this.cluster_anchor !== undefined)
|
|
63
|
+
d["cluster_anchor"] = this.cluster_anchor;
|
|
64
|
+
if (this.spawn_spec_ref !== undefined)
|
|
65
|
+
d["spawn_spec_ref"] = this.spawn_spec_ref;
|
|
66
|
+
if (this.bridge_protocols !== undefined)
|
|
67
|
+
d["bridge_protocols"] = this.bridge_protocols;
|
|
68
|
+
if (this.activation_mode !== undefined)
|
|
69
|
+
d["activation_mode"] = this.activation_mode;
|
|
70
|
+
if (this.activation_endpoint !== undefined)
|
|
71
|
+
d["activation_endpoint"] = this.activation_endpoint;
|
|
72
|
+
return d;
|
|
62
73
|
}
|
|
63
74
|
toDict() {
|
|
64
75
|
const d = { ...this.unsignedDict(), signature: this.signature };
|
|
@@ -109,6 +120,7 @@ export class GraphFrame {
|
|
|
109
120
|
this.edges = edges;
|
|
110
121
|
this.ttl = ttl;
|
|
111
122
|
this.metadata = metadata;
|
|
123
|
+
validateGraphFrame(nodes, edges);
|
|
112
124
|
}
|
|
113
125
|
toDict() {
|
|
114
126
|
return {
|
|
@@ -123,4 +135,27 @@ export class GraphFrame {
|
|
|
123
135
|
return new GraphFrame(data["graph_id"], data["nodes"] ?? [], data["edges"] ?? [], data["ttl"], data["metadata"] ?? undefined);
|
|
124
136
|
}
|
|
125
137
|
}
|
|
138
|
+
function validateGraphFrame(nodes, edges) {
|
|
139
|
+
if (nodes.length > MAX_GRAPH_NODES) {
|
|
140
|
+
throw new Error(`${NDP_GRAPH_TOO_LARGE}: nodes length exceeds ${MAX_GRAPH_NODES}`);
|
|
141
|
+
}
|
|
142
|
+
if (edges.length > MAX_GRAPH_EDGES) {
|
|
143
|
+
throw new Error(`${NDP_GRAPH_TOO_LARGE}: edges length exceeds ${MAX_GRAPH_EDGES}`);
|
|
144
|
+
}
|
|
145
|
+
const nodeIds = new Set(nodes.map((node) => node.nid));
|
|
146
|
+
if (nodes.some((node) => !node.nid)) {
|
|
147
|
+
throw new Error(`${NDP_GRAPH_INVALID}: graph nodes require nid`);
|
|
148
|
+
}
|
|
149
|
+
for (const edge of edges) {
|
|
150
|
+
if (!edge.from_nid || !edge.to_nid) {
|
|
151
|
+
throw new Error(`${NDP_GRAPH_INVALID}: graph edges require from_nid and to_nid`);
|
|
152
|
+
}
|
|
153
|
+
if (edge.from_nid === edge.to_nid) {
|
|
154
|
+
throw new Error(`${NDP_GRAPH_INVALID}: graph self-edges are forbidden`);
|
|
155
|
+
}
|
|
156
|
+
if (!nodeIds.has(edge.from_nid) || !nodeIds.has(edge.to_nid)) {
|
|
157
|
+
throw new Error(`${NDP_GRAPH_INVALID}: graph edge endpoints must appear in nodes`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
126
161
|
//# sourceMappingURL=frames.js.map
|
package/dist/ndp/frames.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frames.js","sourceRoot":"","sources":["../../src/ndp/frames.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"frames.js","sourceRoot":"","sources":["../../src/ndp/frames.ts"],"names":[],"mappings":"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"}
|
package/dist/ndp/index.d.ts
CHANGED
package/dist/ndp/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ndp/index.ts"],"names":[],"mappings":"AAGA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ndp/index.ts"],"names":[],"mappings":"AAGA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
|
package/dist/ndp/index.js
CHANGED
package/dist/ndp/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ndp/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ndp/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
export declare const NDP_RESOLVE_NOT_FOUND: "NDP-RESOLVE-NOT-FOUND";
|
|
2
2
|
export declare const NDP_RESOLVE_AMBIGUOUS: "NDP-RESOLVE-AMBIGUOUS";
|
|
3
3
|
export declare const NDP_RESOLVE_TIMEOUT: "NDP-RESOLVE-TIMEOUT";
|
|
4
|
+
export declare const NDP_RESOLVE_STALE: "NDP-RESOLVE-STALE";
|
|
4
5
|
export declare const NDP_ANNOUNCE_SIGNATURE_INVALID: "NDP-ANNOUNCE-SIGNATURE-INVALID";
|
|
5
6
|
export declare const NDP_ANNOUNCE_NID_MISMATCH: "NDP-ANNOUNCE-NID-MISMATCH";
|
|
6
7
|
/** NPS-CR-0001: legacy "gateway" role removed; use "anchor" or "bridge" */
|
|
7
8
|
export declare const NDP_ANNOUNCE_ROLE_REMOVED: "NDP-ANNOUNCE-ROLE-REMOVED";
|
|
8
9
|
export declare const NDP_ANNOUNCE_ROLE_UNKNOWN: "NDP-ANNOUNCE-ROLE-UNKNOWN";
|
|
9
10
|
export declare const NDP_ANNOUNCE_CONFLICT: "NDP-ANNOUNCE-CONFLICT";
|
|
11
|
+
export declare const NDP_ANNOUNCE_PROFILE_VIOLATION: "NDP-ANNOUNCE-PROFILE-VIOLATION";
|
|
10
12
|
export declare const NDP_GRAPH_SEQ_ROLLBACK: "NDP-GRAPH-SEQ-ROLLBACK";
|
|
11
13
|
export declare const NDP_GRAPH_SEQ_GAP: "NDP-GRAPH-SEQ-GAP";
|
|
12
14
|
export declare const NDP_ISSUER_NOT_ALLOWED: "NDP-ISSUER-NOT-ALLOWED";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ndp-error-codes.d.ts","sourceRoot":"","sources":["../../src/ndp/ndp-error-codes.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,qBAAqB,EAAW,uBAAgC,CAAC;AAC9E,eAAO,MAAM,qBAAqB,EAAW,uBAAgC,CAAC;AAC9E,eAAO,MAAM,mBAAmB,EAAa,qBAA8B,CAAC;AAC5E,eAAO,MAAM,8BAA8B,EAAG,gCAAyC,CAAC;AACxF,eAAO,MAAM,yBAAyB,EAAO,2BAAoC,CAAC;AAClF,2EAA2E;AAC3E,eAAO,MAAM,yBAAyB,EAAO,2BAAoC,CAAC;AAClF,eAAO,MAAM,yBAAyB,EAAO,2BAAoC,CAAC;AAClF,eAAO,MAAM,qBAAqB,EAAW,uBAAgC,CAAC;AAC9E,eAAO,MAAM,sBAAsB,EAAU,wBAAiC,CAAC;AAC/E,eAAO,MAAM,iBAAiB,EAAe,mBAA4B,CAAC;AAC1E,eAAO,MAAM,sBAAsB,EAAU,wBAAiC,CAAC;AAC/E,eAAO,MAAM,sBAAsB,EAAU,wBAAiC,CAAC;AAC/E,eAAO,MAAM,wBAAwB,EAAQ,0BAAmC,CAAC;AAGjF,qCAAqC;AACrC,eAAO,MAAM,iBAAiB,EAAe,mBAA4B,CAAC;AAC1E,+CAA+C;AAC/C,eAAO,MAAM,mBAAmB,EAAa,qBAA8B,CAAC;AAC5E,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,EAAa,qBAA8B,CAAC;AAC5E,wFAAwF;AACxF,eAAO,MAAM,kBAAkB,EAAc,oBAA6B,CAAC;AAE3E,uDAAuD;AACvD,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ndp-error-codes.d.ts","sourceRoot":"","sources":["../../src/ndp/ndp-error-codes.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,qBAAqB,EAAW,uBAAgC,CAAC;AAC9E,eAAO,MAAM,qBAAqB,EAAW,uBAAgC,CAAC;AAC9E,eAAO,MAAM,mBAAmB,EAAa,qBAA8B,CAAC;AAC5E,eAAO,MAAM,iBAAiB,EAAe,mBAA4B,CAAC;AAC1E,eAAO,MAAM,8BAA8B,EAAG,gCAAyC,CAAC;AACxF,eAAO,MAAM,yBAAyB,EAAO,2BAAoC,CAAC;AAClF,2EAA2E;AAC3E,eAAO,MAAM,yBAAyB,EAAO,2BAAoC,CAAC;AAClF,eAAO,MAAM,yBAAyB,EAAO,2BAAoC,CAAC;AAClF,eAAO,MAAM,qBAAqB,EAAW,uBAAgC,CAAC;AAC9E,eAAO,MAAM,8BAA8B,EAAG,gCAAyC,CAAC;AACxF,eAAO,MAAM,sBAAsB,EAAU,wBAAiC,CAAC;AAC/E,eAAO,MAAM,iBAAiB,EAAe,mBAA4B,CAAC;AAC1E,eAAO,MAAM,sBAAsB,EAAU,wBAAiC,CAAC;AAC/E,eAAO,MAAM,sBAAsB,EAAU,wBAAiC,CAAC;AAC/E,eAAO,MAAM,wBAAwB,EAAQ,0BAAmC,CAAC;AAGjF,qCAAqC;AACrC,eAAO,MAAM,iBAAiB,EAAe,mBAA4B,CAAC;AAC1E,+CAA+C;AAC/C,eAAO,MAAM,mBAAmB,EAAa,qBAA8B,CAAC;AAC5E,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,EAAa,qBAA8B,CAAC;AAC5E,wFAAwF;AACxF,eAAO,MAAM,kBAAkB,EAAc,oBAA6B,CAAC;AAE3E,uDAAuD;AACvD,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoB1D,CAAC"}
|
|
@@ -5,12 +5,14 @@
|
|
|
5
5
|
export const NDP_RESOLVE_NOT_FOUND = "NDP-RESOLVE-NOT-FOUND";
|
|
6
6
|
export const NDP_RESOLVE_AMBIGUOUS = "NDP-RESOLVE-AMBIGUOUS";
|
|
7
7
|
export const NDP_RESOLVE_TIMEOUT = "NDP-RESOLVE-TIMEOUT";
|
|
8
|
+
export const NDP_RESOLVE_STALE = "NDP-RESOLVE-STALE";
|
|
8
9
|
export const NDP_ANNOUNCE_SIGNATURE_INVALID = "NDP-ANNOUNCE-SIGNATURE-INVALID";
|
|
9
10
|
export const NDP_ANNOUNCE_NID_MISMATCH = "NDP-ANNOUNCE-NID-MISMATCH";
|
|
10
11
|
/** NPS-CR-0001: legacy "gateway" role removed; use "anchor" or "bridge" */
|
|
11
12
|
export const NDP_ANNOUNCE_ROLE_REMOVED = "NDP-ANNOUNCE-ROLE-REMOVED";
|
|
12
13
|
export const NDP_ANNOUNCE_ROLE_UNKNOWN = "NDP-ANNOUNCE-ROLE-UNKNOWN";
|
|
13
14
|
export const NDP_ANNOUNCE_CONFLICT = "NDP-ANNOUNCE-CONFLICT";
|
|
15
|
+
export const NDP_ANNOUNCE_PROFILE_VIOLATION = "NDP-ANNOUNCE-PROFILE-VIOLATION";
|
|
14
16
|
export const NDP_GRAPH_SEQ_ROLLBACK = "NDP-GRAPH-SEQ-ROLLBACK";
|
|
15
17
|
export const NDP_GRAPH_SEQ_GAP = "NDP-GRAPH-SEQ-GAP";
|
|
16
18
|
export const NDP_ISSUER_NOT_ALLOWED = "NDP-ISSUER-NOT-ALLOWED";
|
|
@@ -30,11 +32,13 @@ export const NDP_ERROR_TO_NPS_STATUS = {
|
|
|
30
32
|
"NDP-RESOLVE-NOT-FOUND": "NPS-CLIENT-NOT-FOUND",
|
|
31
33
|
"NDP-RESOLVE-AMBIGUOUS": "NPS-CLIENT-CONFLICT",
|
|
32
34
|
"NDP-RESOLVE-TIMEOUT": "NPS-SERVER-TIMEOUT",
|
|
35
|
+
"NDP-RESOLVE-STALE": "NPS-CLIENT-NOT-FOUND",
|
|
33
36
|
"NDP-ANNOUNCE-SIGNATURE-INVALID": "NPS-AUTH-UNAUTHENTICATED",
|
|
34
37
|
"NDP-ANNOUNCE-NID-MISMATCH": "NPS-CLIENT-BAD-FRAME",
|
|
35
38
|
"NDP-ANNOUNCE-ROLE-REMOVED": "NPS-CLIENT-BAD-FRAME",
|
|
36
39
|
"NDP-ANNOUNCE-ROLE-UNKNOWN": "NPS-CLIENT-BAD-FRAME",
|
|
37
40
|
"NDP-ANNOUNCE-CONFLICT": "NPS-CLIENT-CONFLICT",
|
|
41
|
+
"NDP-ANNOUNCE-PROFILE-VIOLATION": "NPS-AUTH-FORBIDDEN",
|
|
38
42
|
"NDP-GRAPH-SEQ-ROLLBACK": "NPS-CLIENT-BAD-FRAME",
|
|
39
43
|
"NDP-GRAPH-SEQ-GAP": "NPS-STREAM-SEQ-GAP",
|
|
40
44
|
"NDP-ISSUER-NOT-ALLOWED": "NPS-AUTH-FORBIDDEN",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ndp-error-codes.js","sourceRoot":"","sources":["../../src/ndp/ndp-error-codes.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,oDAAoD;AACpD,EAAE;AACF,wEAAwE;AAExE,MAAM,CAAC,MAAM,qBAAqB,GAAW,uBAAgC,CAAC;AAC9E,MAAM,CAAC,MAAM,qBAAqB,GAAW,uBAAgC,CAAC;AAC9E,MAAM,CAAC,MAAM,mBAAmB,GAAa,qBAA8B,CAAC;AAC5E,MAAM,CAAC,MAAM,8BAA8B,GAAG,gCAAyC,CAAC;AACxF,MAAM,CAAC,MAAM,yBAAyB,GAAO,2BAAoC,CAAC;AAClF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,yBAAyB,GAAO,2BAAoC,CAAC;AAClF,MAAM,CAAC,MAAM,yBAAyB,GAAO,2BAAoC,CAAC;AAClF,MAAM,CAAC,MAAM,qBAAqB,GAAW,uBAAgC,CAAC;AAC9E,MAAM,CAAC,MAAM,sBAAsB,GAAU,wBAAiC,CAAC;AAC/E,MAAM,CAAC,MAAM,iBAAiB,GAAe,mBAA4B,CAAC;AAC1E,MAAM,CAAC,MAAM,sBAAsB,GAAU,wBAAiC,CAAC;AAC/E,MAAM,CAAC,MAAM,sBAAsB,GAAU,wBAAiC,CAAC;AAC/E,MAAM,CAAC,MAAM,wBAAwB,GAAQ,0BAAmC,CAAC;AAEjF,iFAAiF;AACjF,qCAAqC;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAe,mBAA4B,CAAC;AAC1E,+CAA+C;AAC/C,MAAM,CAAC,MAAM,mBAAmB,GAAa,qBAA8B,CAAC;AAC5E,uDAAuD;AACvD,MAAM,CAAC,MAAM,mBAAmB,GAAa,qBAA8B,CAAC;AAC5E,wFAAwF;AACxF,MAAM,CAAC,MAAM,kBAAkB,GAAc,oBAA6B,CAAC;AAE3E,uDAAuD;AACvD,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC7D,uBAAuB,EAAW,sBAAsB;IACxD,uBAAuB,EAAW,qBAAqB;IACvD,qBAAqB,EAAa,oBAAoB;IACtD,gCAAgC,EAAE,0BAA0B;IAC5D,2BAA2B,EAAO,sBAAsB;IACxD,2BAA2B,EAAO,sBAAsB;IACxD,2BAA2B,EAAO,sBAAsB;IACxD,uBAAuB,EAAW,qBAAqB;IACvD,wBAAwB,EAAU,sBAAsB;IACxD,mBAAmB,EAAe,oBAAoB;IACtD,wBAAwB,EAAU,oBAAoB;IACtD,wBAAwB,EAAU,0BAA0B;IAC5D,0BAA0B,EAAQ,wBAAwB;IAC1D,mBAAmB,EAAe,sBAAsB;IACxD,qBAAqB,EAAa,mBAAmB;IACrD,qBAAqB,EAAa,qBAAqB;IACvD,oBAAoB,EAAc,sBAAsB;CACzD,CAAC"}
|
|
1
|
+
{"version":3,"file":"ndp-error-codes.js","sourceRoot":"","sources":["../../src/ndp/ndp-error-codes.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,oDAAoD;AACpD,EAAE;AACF,wEAAwE;AAExE,MAAM,CAAC,MAAM,qBAAqB,GAAW,uBAAgC,CAAC;AAC9E,MAAM,CAAC,MAAM,qBAAqB,GAAW,uBAAgC,CAAC;AAC9E,MAAM,CAAC,MAAM,mBAAmB,GAAa,qBAA8B,CAAC;AAC5E,MAAM,CAAC,MAAM,iBAAiB,GAAe,mBAA4B,CAAC;AAC1E,MAAM,CAAC,MAAM,8BAA8B,GAAG,gCAAyC,CAAC;AACxF,MAAM,CAAC,MAAM,yBAAyB,GAAO,2BAAoC,CAAC;AAClF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,yBAAyB,GAAO,2BAAoC,CAAC;AAClF,MAAM,CAAC,MAAM,yBAAyB,GAAO,2BAAoC,CAAC;AAClF,MAAM,CAAC,MAAM,qBAAqB,GAAW,uBAAgC,CAAC;AAC9E,MAAM,CAAC,MAAM,8BAA8B,GAAG,gCAAyC,CAAC;AACxF,MAAM,CAAC,MAAM,sBAAsB,GAAU,wBAAiC,CAAC;AAC/E,MAAM,CAAC,MAAM,iBAAiB,GAAe,mBAA4B,CAAC;AAC1E,MAAM,CAAC,MAAM,sBAAsB,GAAU,wBAAiC,CAAC;AAC/E,MAAM,CAAC,MAAM,sBAAsB,GAAU,wBAAiC,CAAC;AAC/E,MAAM,CAAC,MAAM,wBAAwB,GAAQ,0BAAmC,CAAC;AAEjF,iFAAiF;AACjF,qCAAqC;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAe,mBAA4B,CAAC;AAC1E,+CAA+C;AAC/C,MAAM,CAAC,MAAM,mBAAmB,GAAa,qBAA8B,CAAC;AAC5E,uDAAuD;AACvD,MAAM,CAAC,MAAM,mBAAmB,GAAa,qBAA8B,CAAC;AAC5E,wFAAwF;AACxF,MAAM,CAAC,MAAM,kBAAkB,GAAc,oBAA6B,CAAC;AAE3E,uDAAuD;AACvD,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC7D,uBAAuB,EAAW,sBAAsB;IACxD,uBAAuB,EAAW,qBAAqB;IACvD,qBAAqB,EAAa,oBAAoB;IACtD,mBAAmB,EAAe,sBAAsB;IACxD,gCAAgC,EAAE,0BAA0B;IAC5D,2BAA2B,EAAO,sBAAsB;IACxD,2BAA2B,EAAO,sBAAsB;IACxD,2BAA2B,EAAO,sBAAsB;IACxD,uBAAuB,EAAW,qBAAqB;IACvD,gCAAgC,EAAE,oBAAoB;IACtD,wBAAwB,EAAU,sBAAsB;IACxD,mBAAmB,EAAe,oBAAoB;IACtD,wBAAwB,EAAU,oBAAoB;IACtD,wBAAwB,EAAU,0BAA0B;IAC5D,0BAA0B,EAAQ,wBAAwB;IAC1D,mBAAmB,EAAe,sBAAsB;IACxD,qBAAqB,EAAa,mBAAmB;IACrD,qBAAqB,EAAa,qBAAqB;IACvD,oBAAoB,EAAc,sBAAsB;CACzD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/ndp/validator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/ndp/validator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQjD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAK,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAI,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,iBAAiB;cACpB,iBAAiB;sBACP,MAAM,WAAW,MAAM,KAAG,iBAAiB;CAC9D,CAAC;AAEF,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IAEnD,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAI3D,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIlC,IAAI,eAAe,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAEjD;IAED,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,iBAAiB;CA4BlD"}
|
package/dist/ndp/validator.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
import * as ed25519 from "@noble/ed25519";
|
|
4
4
|
import { sha512 } from "@noble/hashes/sha512";
|
|
5
|
+
import { NDP_ANNOUNCE_NID_MISMATCH, NDP_ANNOUNCE_SIGNATURE_INVALID, } from "./ndp-error-codes.js";
|
|
5
6
|
ed25519.etc.sha512Sync = (...m) => sha512(ed25519.etc.concatBytes(...m));
|
|
6
7
|
export const NdpAnnounceResult = {
|
|
7
8
|
ok: () => ({ isValid: true }),
|
|
@@ -21,7 +22,7 @@ export class NdpAnnounceValidator {
|
|
|
21
22
|
validate(frame) {
|
|
22
23
|
const encoded = this._keys.get(frame.nid);
|
|
23
24
|
if (encoded === undefined) {
|
|
24
|
-
return NdpAnnounceResult.fail(
|
|
25
|
+
return NdpAnnounceResult.fail(NDP_ANNOUNCE_NID_MISMATCH, `No public key registered for NID: ${frame.nid}`);
|
|
25
26
|
}
|
|
26
27
|
try {
|
|
27
28
|
const prefix = "ed25519:";
|
|
@@ -29,7 +30,7 @@ export class NdpAnnounceValidator {
|
|
|
29
30
|
const pubKey = Buffer.from(pubHex, "hex");
|
|
30
31
|
const sig = frame.signature;
|
|
31
32
|
if (!sig.startsWith(prefix)) {
|
|
32
|
-
return NdpAnnounceResult.fail(
|
|
33
|
+
return NdpAnnounceResult.fail(NDP_ANNOUNCE_SIGNATURE_INVALID, "Signature must start with 'ed25519:'");
|
|
33
34
|
}
|
|
34
35
|
const sigBytes = Buffer.from(sig.slice(prefix.length), "base64");
|
|
35
36
|
const unsigned = frame.unsignedDict();
|
|
@@ -37,11 +38,11 @@ export class NdpAnnounceValidator {
|
|
|
37
38
|
const message = new TextEncoder().encode(canonical);
|
|
38
39
|
const valid = ed25519.verify(sigBytes, message, pubKey);
|
|
39
40
|
if (!valid)
|
|
40
|
-
return NdpAnnounceResult.fail(
|
|
41
|
+
return NdpAnnounceResult.fail(NDP_ANNOUNCE_SIGNATURE_INVALID, "Ed25519 signature verification failed.");
|
|
41
42
|
return NdpAnnounceResult.ok();
|
|
42
43
|
}
|
|
43
44
|
catch {
|
|
44
|
-
return NdpAnnounceResult.fail(
|
|
45
|
+
return NdpAnnounceResult.fail(NDP_ANNOUNCE_SIGNATURE_INVALID, "Ed25519 signature verification failed.");
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/ndp/validator.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/ndp/validator.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EACL,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAQzE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,GAAsB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAChD,IAAI,EAAE,CAAC,SAAiB,EAAE,OAAe,EAAqB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;CAC1G,CAAC;AAEF,MAAM,OAAO,oBAAoB;IACd,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,wBAAwB;IAE5E,iBAAiB,CAAC,GAAW,EAAE,aAAqB;QAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACrC,CAAC;IAED,eAAe,CAAC,GAAW;QACzB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,QAAQ,CAAC,KAAoB;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,iBAAiB,CAAC,IAAI,CAAC,yBAAyB,EAAE,qCAAqC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7G,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAI,UAAU,CAAC;YAC3B,MAAM,MAAM,GAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACpF,MAAM,MAAM,GAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAE3C,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,OAAO,iBAAiB,CAAC,IAAI,CAAC,8BAA8B,EAAE,sCAAsC,CAAC,CAAC;YACxG,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;YAEjE,MAAM,QAAQ,GAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACzE,MAAM,OAAO,GAAK,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAEtD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACxD,IAAI,CAAC,KAAK;gBAAE,OAAO,iBAAiB,CAAC,IAAI,CAAC,8BAA8B,EAAE,wCAAwC,CAAC,CAAC;YACpH,OAAO,iBAAiB,CAAC,EAAE,EAAE,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,iBAAiB,CAAC,IAAI,CAAC,8BAA8B,EAAE,wCAAwC,CAAC,CAAC;QAC1G,CAAC;IACH,CAAC;CACF"}
|
|
@@ -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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"}
|