@labacacia/nps-sdk 1.0.0-alpha.4 → 1.0.0-alpha.5

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.
Files changed (54) hide show
  1. package/CHANGELOG.cn.md +20 -0
  2. package/CHANGELOG.md +20 -0
  3. package/README.cn.md +10 -3
  4. package/README.md +10 -3
  5. package/dist/core/status-codes.d.ts +1 -0
  6. package/dist/core/status-codes.d.ts.map +1 -1
  7. package/dist/core/status-codes.js +1 -0
  8. package/dist/core/status-codes.js.map +1 -1
  9. package/dist/ndp/dns-txt.d.ts +35 -0
  10. package/dist/ndp/dns-txt.d.ts.map +1 -0
  11. package/dist/ndp/dns-txt.js +67 -0
  12. package/dist/ndp/dns-txt.js.map +1 -0
  13. package/dist/ndp/index.d.ts +1 -0
  14. package/dist/ndp/index.d.ts.map +1 -1
  15. package/dist/ndp/index.js +1 -0
  16. package/dist/ndp/index.js.map +1 -1
  17. package/dist/ndp/ndp-registry.d.ts +2 -0
  18. package/dist/ndp/ndp-registry.d.ts.map +1 -1
  19. package/dist/ndp/ndp-registry.js +25 -0
  20. package/dist/ndp/ndp-registry.js.map +1 -1
  21. package/dist/nip/assurance-level.d.ts +5 -0
  22. package/dist/nip/assurance-level.d.ts.map +1 -1
  23. package/dist/nip/assurance-level.js +7 -2
  24. package/dist/nip/assurance-level.js.map +1 -1
  25. package/dist/nip/error-codes.d.ts +2 -0
  26. package/dist/nip/error-codes.d.ts.map +1 -1
  27. package/dist/nip/error-codes.js +2 -0
  28. package/dist/nip/error-codes.js.map +1 -1
  29. package/dist/nop/client.js.map +1 -1
  30. package/dist/nwp/client.js.map +1 -1
  31. package/dist/nwp/error-codes.d.ts +42 -0
  32. package/dist/nwp/error-codes.d.ts.map +1 -0
  33. package/dist/nwp/error-codes.js +53 -0
  34. package/dist/nwp/error-codes.js.map +1 -0
  35. package/dist/nwp/index.d.ts +1 -0
  36. package/dist/nwp/index.d.ts.map +1 -1
  37. package/dist/nwp/index.js +1 -0
  38. package/dist/nwp/index.js.map +1 -1
  39. package/doc/nps-sdk.nip.cn.md +30 -0
  40. package/doc/nps-sdk.nip.md +30 -0
  41. package/doc/nps-sdk.nwp.cn.md +71 -0
  42. package/doc/nps-sdk.nwp.md +71 -0
  43. package/package.json +1 -1
  44. package/src/core/status-codes.ts +1 -0
  45. package/src/ndp/dns-txt.ts +86 -0
  46. package/src/ndp/index.ts +1 -0
  47. package/src/ndp/ndp-registry.ts +34 -0
  48. package/src/nip/assurance-level.ts +6 -1
  49. package/src/nip/error-codes.ts +4 -2
  50. package/src/nop/client.ts +1 -1
  51. package/src/nwp/client.ts +4 -4
  52. package/src/nwp/error-codes.ts +62 -0
  53. package/src/nwp/index.ts +1 -0
  54. package/tests/ndp.test.ts +106 -0
package/CHANGELOG.cn.md CHANGED
@@ -8,6 +8,25 @@
8
8
 
9
9
  ---
10
10
 
11
+ ## [1.0.0-alpha.5] —— 2026-05-01
12
+
13
+ ### 新增
14
+
15
+ - **NWP 错误码常量** —— 新增 `NwpErrorCodes` 命名空间,从 `@labacacia/nps-sdk/nwp` 导出,包含全部 30 个 NWP wire 错误码(auth、query、action、task、subscribe、infrastructure、manifest、topology、reserved-type)。此前版本均未提供。
16
+ - **`NpsStatusCodes.NPS_SERVER_UNSUPPORTED`** —— 在 `src/core/status-codes.ts` 新增状态码 `"NPS-SERVER-UNSUPPORTED"`(HTTP 501),符合 spec/status-codes.md alpha.5 更新。
17
+ - **`NDP.resolveWithDns` —— DNS TXT 回退解析** —— 新增 `InMemoryNdpRegistry.resolveWithDns(target, resolver?)`,当内存注册表无匹配时回退查询 `_nps-node.{host}` TXT 记录(NPS-4 §5)。新增 `DnsTxtLookup` 接口 + `SystemDnsTxtLookup`(Node.js `dns.promises`);`parseNpsTxtRecord` + `extractHostFromTarget` 从 `@labacacia/nps-sdk/ndp` 导出。测试数:284 → 294。
18
+
19
+ ### 变更
20
+
21
+ - **`AssuranceLevel.fromWire("")` 返回 `Anonymous`** —— `if (wire == null)` 改为 `if (!wire)`,使 `""` 返回 `Anonymous` 而非 `Unknown`(spec §5.1.1 向后兼容修复)。
22
+ - **版本升至 `1.0.0-alpha.5`** —— 与 NPS 套件 alpha.5 同步。
23
+
24
+ ### 修复
25
+
26
+ - **`REPUTATION_GOSSIP_FORK` / `REPUTATION_GOSSIP_SIG_INVALID`** —— 向 `src/nip/error-codes.ts` 新增两个 NIP 声誉 gossip 错误码(RFC-0004 Phase 3)。
27
+
28
+ ---
29
+
11
30
  ## [1.0.0-alpha.4] —— 2026-04-30
12
31
 
13
32
  ### 新增
@@ -104,6 +123,7 @@
104
123
 
105
124
  作为 NPS 套件 `v1.0.0-alpha.1` 的一部分首次公开 alpha。
106
125
 
126
+ [1.0.0-alpha.5]: https://github.com/labacacia/NPS-sdk-ts/releases/tag/v1.0.0-alpha.5
107
127
  [1.0.0-alpha.4]: https://gitee.com/labacacia/NPS-sdk-ts/releases/tag/v1.0.0-alpha.4
108
128
  [1.0.0-alpha.3]: https://github.com/LabAcacia/NPS-Dev/releases/tag/v1.0.0-alpha.3
109
129
  [1.0.0-alpha.2]: https://github.com/LabAcacia/NPS-Dev/releases/tag/v1.0.0-alpha.2
package/CHANGELOG.md CHANGED
@@ -8,6 +8,25 @@ Until NPS reaches v1.0 stable, every repository in the suite is synchronized to
8
8
 
9
9
  ---
10
10
 
11
+ ## [1.0.0-alpha.5] — 2026-05-01
12
+
13
+ ### Added
14
+
15
+ - **NWP error code constants** — new `NwpErrorCodes` namespace exported from `@labacacia/nps-sdk/nwp` with all 30 NWP wire error codes (auth, query, action, task, subscribe, infrastructure, manifest, topology, reserved-type). Missing from previous releases.
16
+ - **`NpsStatusCodes.NPS_SERVER_UNSUPPORTED`** — new status code `"NPS-SERVER-UNSUPPORTED"` (HTTP 501) in `src/core/status-codes.ts`, per spec/status-codes.md alpha.5 update.
17
+ - **`NDP.resolveWithDns` — DNS TXT fallback resolution** — new `InMemoryNdpRegistry.resolveWithDns(target, resolver?)` falls back to `_nps-node.{host}` TXT record lookup (NPS-4 §5) when no in-memory entry matches. New `DnsTxtLookup` interface + `SystemDnsTxtLookup` (Node.js `dns.promises`); `parseNpsTxtRecord` + `extractHostFromTarget` helpers exported from `@labacacia/nps-sdk/ndp`. Tests: 284 → 294.
18
+
19
+ ### Changed
20
+
21
+ - **`AssuranceLevel.fromWire("")` returns `Anonymous`** — `if (wire == null)` changed to `if (!wire)` so `""` returns `Anonymous` instead of `Unknown` (spec §5.1.1 backward-compat fix).
22
+ - **Version bump to `1.0.0-alpha.5`** — synchronized with NPS suite alpha.5 release.
23
+
24
+ ### Fixed
25
+
26
+ - **`REPUTATION_GOSSIP_FORK` / `REPUTATION_GOSSIP_SIG_INVALID`** — two new NIP reputation gossip error codes added to `src/nip/error-codes.ts` (RFC-0004 Phase 3).
27
+
28
+ ---
29
+
11
30
  ## [1.0.0-alpha.4] — 2026-04-30
12
31
 
13
32
  ### Added
@@ -113,6 +132,7 @@ Until NPS reaches v1.0 stable, every repository in the suite is synchronized to
113
132
 
114
133
  First public alpha as part of the NPS suite `v1.0.0-alpha.1` release.
115
134
 
135
+ [1.0.0-alpha.5]: https://github.com/labacacia/NPS-sdk-ts/releases/tag/v1.0.0-alpha.5
116
136
  [1.0.0-alpha.4]: https://github.com/labacacia/NPS-sdk-ts/releases/tag/v1.0.0-alpha.4
117
137
  [1.0.0-alpha.3]: https://github.com/LabAcacia/NPS-Dev/releases/tag/v1.0.0-alpha.3
118
138
  [1.0.0-alpha.2]: https://github.com/LabAcacia/NPS-Dev/releases/tag/v1.0.0-alpha.2
package/README.cn.md CHANGED
@@ -7,16 +7,23 @@
7
7
 
8
8
  ## 状态
9
9
 
10
- **v1.0.0-alpha.4 RFC-0002 SDK 端口波(第三棒)** · 5 个协议 · 271 个测试 · 覆盖率 ≥ 98%
10
+ **v1.0.0-alpha.5 —— NWP 错误码 + NPS 状态码扩展** · 5 个协议 · 284 个测试 · 覆盖率 ≥ 98%
11
11
 
12
12
  | 协议 | 类 | 状态 |
13
13
  |------|----|------|
14
14
  | NCP — Neural Communication Protocol | 帧、编解码器 | ✅ |
15
- | NWP — Neural Web Protocol | `NwpClient` | ✅ |
15
+ | NWP — Neural Web Protocol | `NwpClient`、`NwpErrorCodes` | ✅ |
16
16
  | NIP — Neural Identity Protocol | `NipIdentity`、`NipIdentVerifier`(RFC-0002 §8.1 双信任)、`AssuranceLevel`(RFC-0003)、`nip.x509` + `nip.acme` | ✅ |
17
- | NDP — Neural Discovery Protocol | `InMemoryNdpRegistry`、`NdpAnnounceValidator` | ✅ |
17
+ | NDP — Neural Discovery Protocol | `InMemoryNdpRegistry`、`NdpAnnounceValidator`、`resolveWithDns`(DNS TXT 回退)、`DnsTxtLookup`、`SystemDnsTxtLookup`、`parseNpsTxtRecord` | ✅ |
18
18
  | NOP — Neural Orchestration Protocol | `NopClient` | ✅ |
19
19
 
20
+ **alpha.5 新增:**
21
+
22
+ - `NwpErrorCodes` —— 从 `@labacacia/nps-sdk/nwp` 导出,包含 30 个 NWP wire 错误码字符串常量(`NWP-AUTH-*`、`NWP-QUERY-*`、`NWP-TOPOLOGY-*`、`NWP-RESERVED-TYPE-UNSUPPORTED` 等)。
23
+ - `NpsStatusCodes.NPS_SERVER_UNSUPPORTED` —— 新状态码 `"NPS-SERVER-UNSUPPORTED"`(HTTP 501)。
24
+ - `NipErrorCodes.REPUTATION_GOSSIP_FORK` / `.REPUTATION_GOSSIP_SIG_INVALID` —— RFC-0004 Phase 3 gossip 错误码。
25
+ - `AssuranceLevel.fromWire("")` 改为返回 `Anonymous`(spec §5.1.1 修复)。
26
+
20
27
  **alpha.4 新增** —— 完整的 NPS-RFC-0002 X.509 + ACME `agent-01` NID 证书原语:
21
28
 
22
29
  - `nip.x509` —— `issueLeaf` / `issueRoot` / `verify`(基于 `@peculiar/x509` + 原生 Web Crypto Ed25519)。
package/README.md CHANGED
@@ -7,16 +7,23 @@ Part of the [LabAcacia](https://github.com/LabAcacia) / INNO LOTUS PTY LTD open-
7
7
 
8
8
  ## Status
9
9
 
10
- **v1.0.0-alpha.4RFC-0002 cross-SDK port (third language)** · 5 protocols · 271 tests · ≥ 98% coverage
10
+ **v1.0.0-alpha.5NWP error codes + NPS status code extension** · 5 protocols · 284 tests · ≥ 98% coverage
11
11
 
12
12
  | Protocol | Class | Status |
13
13
  |----------|-------|--------|
14
14
  | NCP — Neural Communication Protocol | Framing, codec | ✅ |
15
- | NWP — Neural Web Protocol | `NwpClient` | ✅ |
15
+ | NWP — Neural Web Protocol | `NwpClient`, `NwpErrorCodes` | ✅ |
16
16
  | NIP — Neural Identity Protocol | `NipIdentity`, `NipIdentVerifier` (RFC-0002 §8.1 dual-trust), `AssuranceLevel` (RFC-0003), `nip.x509` + `nip.acme` | ✅ |
17
- | NDP — Neural Discovery Protocol | `InMemoryNdpRegistry`, `NdpAnnounceValidator` | ✅ |
17
+ | NDP — Neural Discovery Protocol | `InMemoryNdpRegistry`, `NdpAnnounceValidator`, `resolveWithDns` (DNS TXT fallback), `DnsTxtLookup`, `SystemDnsTxtLookup`, `parseNpsTxtRecord` | ✅ |
18
18
  | NOP — Neural Orchestration Protocol | `NopClient` | ✅ |
19
19
 
20
+ **alpha.5 additions:**
21
+
22
+ - `NwpErrorCodes` — exported from `@labacacia/nps-sdk/nwp`; 30 NWP wire error code constants (`NWP-AUTH-*`, `NWP-QUERY-*`, `NWP-TOPOLOGY-*`, `NWP-RESERVED-TYPE-UNSUPPORTED`, …).
23
+ - `NpsStatusCodes.NPS_SERVER_UNSUPPORTED` — new `"NPS-SERVER-UNSUPPORTED"` status code (HTTP 501) in `src/core/status-codes.ts`.
24
+ - `NipErrorCodes.REPUTATION_GOSSIP_FORK` / `.REPUTATION_GOSSIP_SIG_INVALID` — RFC-0004 Phase 3 gossip error codes.
25
+ - `AssuranceLevel.fromWire("")` returns `Anonymous` instead of `Unknown` (spec §5.1.1 fix).
26
+
20
27
  **alpha.4 additions** — Full NPS-RFC-0002 X.509 + ACME `agent-01` NID certificate primitives:
21
28
 
22
29
  - `nip.x509` — `issueLeaf` / `issueRoot` / `verify` (built on `@peculiar/x509` + native Web Crypto Ed25519).
@@ -15,6 +15,7 @@ export declare const NpsStatusCodes: {
15
15
  readonly NPS_SERVER_UNAVAILABLE: "NPS-SERVER-UNAVAILABLE";
16
16
  readonly NPS_SERVER_TIMEOUT: "NPS-SERVER-TIMEOUT";
17
17
  readonly NPS_SERVER_ENCODING_UNSUPPORTED: "NPS-SERVER-ENCODING-UNSUPPORTED";
18
+ readonly NPS_SERVER_UNSUPPORTED: "NPS-SERVER-UNSUPPORTED";
18
19
  readonly NPS_STREAM_SEQ_GAP: "NPS-STREAM-SEQ-GAP";
19
20
  readonly NPS_STREAM_NOT_FOUND: "NPS-STREAM-NOT-FOUND";
20
21
  readonly NPS_STREAM_LIMIT: "NPS-STREAM-LIMIT";
@@ -1 +1 @@
1
- {"version":3,"file":"status-codes.d.ts","sourceRoot":"","sources":["../../src/core/status-codes.ts"],"names":[],"mappings":"AAKA,wCAAwC;AACxC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;CAqCjB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"status-codes.d.ts","sourceRoot":"","sources":["../../src/core/status-codes.ts"],"names":[],"mappings":"AAKA,wCAAwC;AACxC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;CAsCjB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC"}
@@ -23,6 +23,7 @@ export const NpsStatusCodes = {
23
23
  NPS_SERVER_UNAVAILABLE: "NPS-SERVER-UNAVAILABLE",
24
24
  NPS_SERVER_TIMEOUT: "NPS-SERVER-TIMEOUT",
25
25
  NPS_SERVER_ENCODING_UNSUPPORTED: "NPS-SERVER-ENCODING-UNSUPPORTED",
26
+ NPS_SERVER_UNSUPPORTED: "NPS-SERVER-UNSUPPORTED",
26
27
  // Stream
27
28
  NPS_STREAM_SEQ_GAP: "NPS-STREAM-SEQ-GAP",
28
29
  NPS_STREAM_NOT_FOUND: "NPS-STREAM-NOT-FOUND",
@@ -1 +1 @@
1
- {"version":3,"file":"status-codes.js","sourceRoot":"","sources":["../../src/core/status-codes.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,oDAAoD;AACpD,EAAE;AACF,qDAAqD;AAErD,wCAAwC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,UAAU;IACV,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,iBAAiB;IAClC,iBAAiB,EAAE,mBAAmB;IAEtC,OAAO;IACP,wBAAwB,EAAE,0BAA0B;IACpD,kBAAkB,EAAE,oBAAoB;IAExC,gBAAgB;IAChB,oBAAoB,EAAE,sBAAsB;IAC5C,oBAAoB,EAAE,sBAAsB;IAC5C,oBAAoB,EAAE,sBAAsB;IAC5C,mBAAmB,EAAE,qBAAqB;IAC1C,eAAe,EAAE,iBAAiB;IAClC,wBAAwB,EAAE,0BAA0B;IAEpD,gBAAgB;IAChB,mBAAmB,EAAE,qBAAqB;IAC1C,sBAAsB,EAAE,wBAAwB;IAChD,kBAAkB,EAAE,oBAAoB;IACxC,+BAA+B,EAAE,iCAAiC;IAElE,SAAS;IACT,kBAAkB,EAAE,oBAAoB;IACxC,oBAAoB,EAAE,sBAAsB;IAC5C,gBAAgB,EAAE,kBAAkB;IAEpC,QAAQ;IACR,cAAc,EAAE,gBAAgB;IAChC,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IAExC,WAAW;IACX,8BAA8B,EAAE,gCAAgC;CACxD,CAAC"}
1
+ {"version":3,"file":"status-codes.js","sourceRoot":"","sources":["../../src/core/status-codes.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,oDAAoD;AACpD,EAAE;AACF,qDAAqD;AAErD,wCAAwC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,UAAU;IACV,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,iBAAiB;IAClC,iBAAiB,EAAE,mBAAmB;IAEtC,OAAO;IACP,wBAAwB,EAAE,0BAA0B;IACpD,kBAAkB,EAAE,oBAAoB;IAExC,gBAAgB;IAChB,oBAAoB,EAAE,sBAAsB;IAC5C,oBAAoB,EAAE,sBAAsB;IAC5C,oBAAoB,EAAE,sBAAsB;IAC5C,mBAAmB,EAAE,qBAAqB;IAC1C,eAAe,EAAE,iBAAiB;IAClC,wBAAwB,EAAE,0BAA0B;IAEpD,gBAAgB;IAChB,mBAAmB,EAAE,qBAAqB;IAC1C,sBAAsB,EAAE,wBAAwB;IAChD,kBAAkB,EAAE,oBAAoB;IACxC,+BAA+B,EAAE,iCAAiC;IAClE,sBAAsB,EAAE,wBAAwB;IAEhD,SAAS;IACT,kBAAkB,EAAE,oBAAoB;IACxC,oBAAoB,EAAE,sBAAsB;IAC5C,gBAAgB,EAAE,kBAAkB;IAEpC,QAAQ;IACR,cAAc,EAAE,gBAAgB;IAChC,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IAExC,WAAW;IACX,8BAA8B,EAAE,gCAAgC;CACxD,CAAC"}
@@ -0,0 +1,35 @@
1
+ import type { NdpResolveResult } from "./frames.js";
2
+ export declare const DNS_TXT_DEFAULT_TTL = 300;
3
+ /**
4
+ * Extract the hostname from an NWP target URI.
5
+ * e.g. "nwp://api.example.com/products" → "api.example.com"
6
+ */
7
+ export declare function extractHostFromTarget(target: string): string | undefined;
8
+ /**
9
+ * Parse one TXT record (array of string chunks) into an NdpResolveResult.
10
+ *
11
+ * Expected format (chunks joined with a single space):
12
+ * v=nps1 type=<type> port=<port> nid=<nid> fp=sha256:<fingerprint>
13
+ *
14
+ * Rules:
15
+ * - `v` MUST be present and equal to "nps1"
16
+ * - `nid` MUST be present
17
+ * - `port` defaults to 17433 when absent
18
+ * - `fp` is mapped to certFingerprint
19
+ */
20
+ export declare function parseNpsTxtRecord(parts: string[], host: string): NdpResolveResult | undefined;
21
+ /**
22
+ * Abstraction over DNS TXT lookups.
23
+ * The default implementation uses Node's `dns.promises`; pass a mock in tests.
24
+ */
25
+ export interface DnsTxtLookup {
26
+ resolveTxt(hostname: string): Promise<string[][]>;
27
+ }
28
+ /**
29
+ * System DNS TXT resolver backed by Node's built-in `dns.promises`.
30
+ * The dynamic `import()` keeps browser bundles from failing at parse time.
31
+ */
32
+ export declare class SystemDnsTxtLookup implements DnsTxtLookup {
33
+ resolveTxt(hostname: string): Promise<string[][]>;
34
+ }
35
+ //# sourceMappingURL=dns-txt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dns-txt.d.ts","sourceRoot":"","sources":["../../src/ndp/dns-txt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMxE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,EAAE,MAAM,GACX,gBAAgB,GAAG,SAAS,CAgC9B;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;CACnD;AAED;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IAC/C,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;CAIxD"}
@@ -0,0 +1,67 @@
1
+ // Copyright 2026 INNO LOTUS PTY LTD
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export const DNS_TXT_DEFAULT_TTL = 300;
4
+ /**
5
+ * Extract the hostname from an NWP target URI.
6
+ * e.g. "nwp://api.example.com/products" → "api.example.com"
7
+ */
8
+ export function extractHostFromTarget(target) {
9
+ if (!target.startsWith("nwp://"))
10
+ return undefined;
11
+ const rest = target.slice("nwp://".length);
12
+ const slashIdx = rest.indexOf("/");
13
+ const host = slashIdx === -1 ? rest : rest.slice(0, slashIdx);
14
+ return host.length > 0 ? host : undefined;
15
+ }
16
+ /**
17
+ * Parse one TXT record (array of string chunks) into an NdpResolveResult.
18
+ *
19
+ * Expected format (chunks joined with a single space):
20
+ * v=nps1 type=<type> port=<port> nid=<nid> fp=sha256:<fingerprint>
21
+ *
22
+ * Rules:
23
+ * - `v` MUST be present and equal to "nps1"
24
+ * - `nid` MUST be present
25
+ * - `port` defaults to 17433 when absent
26
+ * - `fp` is mapped to certFingerprint
27
+ */
28
+ export function parseNpsTxtRecord(parts, host) {
29
+ const joined = parts.join(" ");
30
+ const kv = new Map();
31
+ for (const token of joined.split(/\s+/)) {
32
+ const eq = token.indexOf("=");
33
+ if (eq === -1)
34
+ continue;
35
+ const key = token.slice(0, eq);
36
+ const val = token.slice(eq + 1);
37
+ kv.set(key, val);
38
+ }
39
+ if (kv.get("v") !== "nps1")
40
+ return undefined;
41
+ const nid = kv.get("nid");
42
+ if (!nid)
43
+ return undefined;
44
+ const rawPort = kv.get("port");
45
+ const port = rawPort !== undefined ? Number(rawPort) : 17433;
46
+ const fp = kv.get("fp");
47
+ const result = {
48
+ host,
49
+ port,
50
+ ttl: DNS_TXT_DEFAULT_TTL,
51
+ };
52
+ if (fp !== undefined) {
53
+ result.certFingerprint = fp;
54
+ }
55
+ return result;
56
+ }
57
+ /**
58
+ * System DNS TXT resolver backed by Node's built-in `dns.promises`.
59
+ * The dynamic `import()` keeps browser bundles from failing at parse time.
60
+ */
61
+ export class SystemDnsTxtLookup {
62
+ async resolveTxt(hostname) {
63
+ const { promises: dns } = await import("node:dns");
64
+ return dns.resolveTxt(hostname);
65
+ }
66
+ }
67
+ //# sourceMappingURL=dns-txt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dns-txt.js","sourceRoot":"","sources":["../../src/ndp/dns-txt.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAItC,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEvC;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAClD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IACnD,MAAM,IAAI,GAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,IAAI,GAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAClE,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAe,EACf,IAAY;IAEZ,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,EAAE,GAAO,IAAI,GAAG,EAAkB,CAAC;IAEzC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,EAAE,KAAK,CAAC,CAAC;YAAE,SAAS;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAChC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IAE7C,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAE3B,MAAM,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAM,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAChE,MAAM,EAAE,GAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE7B,MAAM,MAAM,GAAqB;QAC/B,IAAI;QACJ,IAAI;QACJ,GAAG,EAAE,mBAAmB;KACzB,CAAC;IAEF,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,MAAM,CAAC,eAAe,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAUD;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAC7B,KAAK,CAAC,UAAU,CAAC,QAAgB;QAC/B,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QACnD,OAAO,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;CACF"}
@@ -2,4 +2,5 @@ export * from "./frames.js";
2
2
  export * from "./registry.js";
3
3
  export * from "./ndp-registry.js";
4
4
  export * from "./validator.js";
5
+ export * from "./dns-txt.js";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -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"}
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"}
package/dist/ndp/index.js CHANGED
@@ -4,4 +4,5 @@ export * from "./frames.js";
4
4
  export * from "./registry.js";
5
5
  export * from "./ndp-registry.js";
6
6
  export * from "./validator.js";
7
+ export * from "./dns-txt.js";
7
8
  //# sourceMappingURL=index.js.map
@@ -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"}
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"}
@@ -1,4 +1,5 @@
1
1
  import type { AnnounceFrame, NdpResolveResult } from "./frames.js";
2
+ import { type DnsTxtLookup } from "./dns-txt.js";
2
3
  export declare class InMemoryNdpRegistry {
3
4
  private readonly _store;
4
5
  clock: () => number;
@@ -6,6 +7,7 @@ export declare class InMemoryNdpRegistry {
6
7
  getByNid(nid: string): AnnounceFrame | undefined;
7
8
  resolve(target: string): NdpResolveResult | undefined;
8
9
  getAll(): AnnounceFrame[];
10
+ resolveWithDns(target: string, resolver?: DnsTxtLookup): Promise<NdpResolveResult | undefined>;
9
11
  static nwpTargetMatchesNid(nid: string, target: string): boolean;
10
12
  }
11
13
  //# sourceMappingURL=ndp-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ndp-registry.d.ts","sourceRoot":"","sources":["../../src/ndp/ndp-registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAOnE,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAG3D,KAAK,EAAE,MAAM,MAAM,CAAoB;IAEvC,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IASpC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAUhD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAWrD,MAAM,IAAI,aAAa,EAAE;IAUzB,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;CAyBjE"}
1
+ {"version":3,"file":"ndp-registry.d.ts","sourceRoot":"","sources":["../../src/ndp/ndp-registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAOtB,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAG3D,KAAK,EAAE,MAAM,MAAM,CAAoB;IAEvC,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IASpC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAUhD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAWrD,MAAM,IAAI,aAAa,EAAE;IAUnB,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,YAAuC,GAChD,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAyBxC,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;CAyBjE"}
@@ -1,5 +1,6 @@
1
1
  // Copyright 2026 INNO LOTUS PTY LTD
2
2
  // SPDX-License-Identifier: Apache-2.0
3
+ import { extractHostFromTarget, parseNpsTxtRecord, SystemDnsTxtLookup, } from "./dns-txt.js";
3
4
  export class InMemoryNdpRegistry {
4
5
  _store = new Map();
5
6
  // Replaceable for testing
@@ -49,6 +50,30 @@ export class InMemoryNdpRegistry {
49
50
  }
50
51
  return result;
51
52
  }
53
+ async resolveWithDns(target, resolver = new SystemDnsTxtLookup()) {
54
+ // 1. Try in-memory registry first
55
+ const cached = this.resolve(target);
56
+ if (cached !== undefined)
57
+ return cached;
58
+ // 2. Extract hostname and fall back to DNS TXT lookup
59
+ const host = extractHostFromTarget(target);
60
+ if (host === undefined)
61
+ return undefined;
62
+ const txtHost = `_nps-node.${host}`;
63
+ let records;
64
+ try {
65
+ records = await resolver.resolveTxt(txtHost);
66
+ }
67
+ catch {
68
+ return undefined;
69
+ }
70
+ for (const record of records) {
71
+ const result = parseNpsTxtRecord(record, host);
72
+ if (result !== undefined)
73
+ return result;
74
+ }
75
+ return undefined;
76
+ }
52
77
  static nwpTargetMatchesNid(nid, target) {
53
78
  // NID: urn:nps:node:{authority}:{path-segment}
54
79
  // target: nwp://{authority}/{path}
@@ -1 +1 @@
1
- {"version":3,"file":"ndp-registry.js","sourceRoot":"","sources":["../../src/ndp/ndp-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ndp-registry.js","sourceRoot":"","sources":["../../src/ndp/ndp-registry.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAGtC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,GAEnB,MAAM,cAAc,CAAC;AAOtB,MAAM,OAAO,mBAAmB;IACb,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE3D,0BAA0B;IAC1B,KAAK,GAAiB,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvC,QAAQ,CAAC,KAAoB;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;QAClD,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,MAAc;QACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;gBAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC1E,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC;gBAAE,SAAS;YACpE,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,IAAI,KAAK,SAAS;gBAAE,SAAS;YACjC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACpE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM;QACJ,MAAM,GAAG,GAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACvC,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;gBAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,MAAc,EACd,WAAyB,IAAI,kBAAkB,EAAE;QAEjD,kCAAkC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QAExC,sDAAsD;QACtD,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAEzC,MAAM,OAAO,GAAG,aAAa,IAAI,EAAE,CAAC;QACpC,IAAI,OAAmB,CAAC;QACxB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC/C,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;QAC1C,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,GAAW,EAAE,MAAc;QACpD,+CAA+C;QAC/C,mCAAmC;QACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;YACpG,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAE/C,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QAClC,MAAM,OAAO,GAAQ,QAAQ,CAAC,CAAC,CAAE,CAAC;QAClC,MAAM,IAAI,GAAW,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,QAAQ,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAElC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB;QAEvE,IAAI,YAAY,KAAK,YAAY;YAAE,OAAO,KAAK,CAAC;QAEhD,4DAA4D;QAC5D,IAAI,OAAO,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QACrC,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -8,6 +8,11 @@ export declare class AssuranceLevel {
8
8
  static readonly VERIFIED: AssuranceLevel;
9
9
  private constructor();
10
10
  meetsOrExceeds(required: AssuranceLevel): boolean;
11
+ /**
12
+ * Parse a wire string. `null`, `undefined`, or `""` → `ANONYMOUS`
13
+ * (backward compat per NPS-RFC-0003 §5.1.1). Any other unrecognised
14
+ * non-empty value throws — callers MUST surface it as `NIP-ASSURANCE-UNKNOWN`.
15
+ */
11
16
  static fromWire(wire: string | null | undefined): AssuranceLevel;
12
17
  static fromRank(rank: number): AssuranceLevel;
13
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"assurance-level.d.ts","sourceRoot":"","sources":["../../src/nip/assurance-level.ts"],"names":[],"mappings":"AAGA,8DAA8D;AAC9D,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;AAEvE,qBAAa,cAAc;aAMP,IAAI,EAAE,kBAAkB;aACxB,IAAI,EAAE,MAAM;IAN9B,MAAM,CAAC,QAAQ,CAAC,SAAS,iBAAsC;IAC/D,MAAM,CAAC,QAAQ,CAAC,QAAQ,iBAAuC;IAC/D,MAAM,CAAC,QAAQ,CAAC,QAAQ,iBAAuC;IAE/D,OAAO;IAKP,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO;IAIjD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,cAAc;IAQhE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;CAM9C"}
1
+ {"version":3,"file":"assurance-level.d.ts","sourceRoot":"","sources":["../../src/nip/assurance-level.ts"],"names":[],"mappings":"AAGA,8DAA8D;AAC9D,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;AAEvE,qBAAa,cAAc;aAMP,IAAI,EAAE,kBAAkB;aACxB,IAAI,EAAE,MAAM;IAN9B,MAAM,CAAC,QAAQ,CAAC,SAAS,iBAAsC;IAC/D,MAAM,CAAC,QAAQ,CAAC,QAAQ,iBAAuC;IAC/D,MAAM,CAAC,QAAQ,CAAC,QAAQ,iBAAuC;IAE/D,OAAO;IAKP,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO;IAIjD;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,cAAc;IAQhE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;CAM9C"}
@@ -13,9 +13,14 @@ export class AssuranceLevel {
13
13
  meetsOrExceeds(required) {
14
14
  return this.rank >= required.rank;
15
15
  }
16
+ /**
17
+ * Parse a wire string. `null`, `undefined`, or `""` → `ANONYMOUS`
18
+ * (backward compat per NPS-RFC-0003 §5.1.1). Any other unrecognised
19
+ * non-empty value throws — callers MUST surface it as `NIP-ASSURANCE-UNKNOWN`.
20
+ */
16
21
  static fromWire(wire) {
17
- if (wire == null)
18
- return AssuranceLevel.ANONYMOUS;
22
+ if (!wire)
23
+ return AssuranceLevel.ANONYMOUS; // null, undefined, or ""
19
24
  for (const level of [AssuranceLevel.ANONYMOUS, AssuranceLevel.ATTESTED, AssuranceLevel.VERIFIED]) {
20
25
  if (level.wire === wire)
21
26
  return level;
@@ -1 +1 @@
1
- {"version":3,"file":"assurance-level.js","sourceRoot":"","sources":["../../src/nip/assurance-level.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAKtC,MAAM,OAAO,cAAc;IAMP;IACA;IANlB,MAAM,CAAU,SAAS,GAAG,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,CAAU,QAAQ,GAAI,IAAI,cAAc,CAAC,UAAU,EAAG,CAAC,CAAC,CAAC;IAC/D,MAAM,CAAU,QAAQ,GAAI,IAAI,cAAc,CAAC,UAAU,EAAG,CAAC,CAAC,CAAC;IAE/D,YACkB,IAAwB,EACxB,IAAY;QADZ,SAAI,GAAJ,IAAI,CAAoB;QACxB,SAAI,GAAJ,IAAI,CAAQ;IAC3B,CAAC;IAEJ,cAAc,CAAC,QAAwB;QACrC,OAAO,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAA+B;QAC7C,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,cAAc,CAAC,SAAS,CAAC;QAClD,KAAK,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjG,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAC;QACxC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAY;QAC1B,KAAK,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjG,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAC;QACxC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC"}
1
+ {"version":3,"file":"assurance-level.js","sourceRoot":"","sources":["../../src/nip/assurance-level.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAKtC,MAAM,OAAO,cAAc;IAMP;IACA;IANlB,MAAM,CAAU,SAAS,GAAG,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,CAAU,QAAQ,GAAI,IAAI,cAAc,CAAC,UAAU,EAAG,CAAC,CAAC,CAAC;IAC/D,MAAM,CAAU,QAAQ,GAAI,IAAI,cAAc,CAAC,UAAU,EAAG,CAAC,CAAC,CAAC;IAE/D,YACkB,IAAwB,EACxB,IAAY;QADZ,SAAI,GAAJ,IAAI,CAAoB;QACxB,SAAI,GAAJ,IAAI,CAAQ;IAC3B,CAAC;IAEJ,cAAc,CAAC,QAAwB;QACrC,OAAO,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,IAA+B;QAC7C,IAAI,CAAC,IAAI;YAAE,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC,yBAAyB;QACrE,KAAK,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjG,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAC;QACxC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAY;QAC1B,KAAK,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjG,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAC;QACxC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC"}
@@ -16,6 +16,8 @@ export declare const ASSURANCE_MISMATCH = "NIP-ASSURANCE-MISMATCH";
16
16
  export declare const ASSURANCE_UNKNOWN = "NIP-ASSURANCE-UNKNOWN";
17
17
  export declare const REPUTATION_ENTRY_INVALID = "NIP-REPUTATION-ENTRY-INVALID";
18
18
  export declare const REPUTATION_LOG_UNREACHABLE = "NIP-REPUTATION-LOG-UNREACHABLE";
19
+ export declare const REPUTATION_GOSSIP_FORK = "NIP-REPUTATION-GOSSIP-FORK";
20
+ export declare const REPUTATION_GOSSIP_SIG_INVALID = "NIP-REPUTATION-GOSSIP-SIG-INVALID";
19
21
  export declare const CERT_FORMAT_INVALID = "NIP-CERT-FORMAT-INVALID";
20
22
  export declare const CERT_EKU_MISSING = "NIP-CERT-EKU-MISSING";
21
23
  export declare const CERT_SUBJECT_NID_MISMATCH = "NIP-CERT-SUBJECT-NID-MISMATCH";
@@ -1 +1 @@
1
- {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/nip/error-codes.ts"],"names":[],"mappings":"AAGA,mFAAmF;AAGnF,eAAO,MAAM,YAAY,qBAAgC,CAAC;AAC1D,eAAO,MAAM,YAAY,qBAAgC,CAAC;AAC1D,eAAO,MAAM,sBAAsB,+BAAgC,CAAC;AACpE,eAAO,MAAM,qBAAqB,8BAAgC,CAAC;AACnE,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AACrE,eAAO,MAAM,oBAAoB,6BAAgC,CAAC;AAGlE,eAAO,MAAM,gBAAgB,yBAAkC,CAAC;AAChE,eAAO,MAAM,qBAAqB,8BAAkC,CAAC;AACrE,eAAO,MAAM,mBAAmB,4BAAkC,CAAC;AACnE,eAAO,MAAM,oBAAoB,6BAAkC,CAAC;AACpE,eAAO,MAAM,yBAAyB,kCAAkC,CAAC;AAEzE,eAAO,MAAM,gBAAgB,yBAA6B,CAAC;AAC3D,eAAO,MAAM,mBAAmB,4BAA6B,CAAC;AAG9D,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AAC3D,eAAO,MAAM,iBAAiB,0BAA2B,CAAC;AAG1D,eAAO,MAAM,wBAAwB,iCAAoC,CAAC;AAC1E,eAAO,MAAM,0BAA0B,mCAAoC,CAAC;AAG5E,eAAO,MAAM,mBAAmB,4BAAkC,CAAC;AACnE,eAAO,MAAM,gBAAgB,yBAAkC,CAAC;AAChE,eAAO,MAAM,yBAAyB,kCAAkC,CAAC;AACzE,eAAO,MAAM,qBAAqB,8BAAkC,CAAC"}
1
+ {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/nip/error-codes.ts"],"names":[],"mappings":"AAGA,mFAAmF;AAGnF,eAAO,MAAM,YAAY,qBAAgC,CAAC;AAC1D,eAAO,MAAM,YAAY,qBAAgC,CAAC;AAC1D,eAAO,MAAM,sBAAsB,+BAAgC,CAAC;AACpE,eAAO,MAAM,qBAAqB,8BAAgC,CAAC;AACnE,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AACrE,eAAO,MAAM,oBAAoB,6BAAgC,CAAC;AAGlE,eAAO,MAAM,gBAAgB,yBAAkC,CAAC;AAChE,eAAO,MAAM,qBAAqB,8BAAkC,CAAC;AACrE,eAAO,MAAM,mBAAmB,4BAAkC,CAAC;AACnE,eAAO,MAAM,oBAAoB,6BAAkC,CAAC;AACpE,eAAO,MAAM,yBAAyB,kCAAkC,CAAC;AAEzE,eAAO,MAAM,gBAAgB,yBAA6B,CAAC;AAC3D,eAAO,MAAM,mBAAmB,4BAA6B,CAAC;AAG9D,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AAC3D,eAAO,MAAM,iBAAiB,0BAA2B,CAAC;AAG1D,eAAO,MAAM,wBAAwB,iCAAsC,CAAC;AAC5E,eAAO,MAAM,0BAA0B,mCAAsC,CAAC;AAC9E,eAAO,MAAM,sBAAsB,+BAAsC,CAAC;AAC1E,eAAO,MAAM,6BAA6B,sCAAsC,CAAC;AAGjF,eAAO,MAAM,mBAAmB,4BAAkC,CAAC;AACnE,eAAO,MAAM,gBAAgB,yBAAkC,CAAC;AAChE,eAAO,MAAM,yBAAyB,kCAAkC,CAAC;AACzE,eAAO,MAAM,qBAAqB,8BAAkC,CAAC"}
@@ -22,6 +22,8 @@ export const ASSURANCE_UNKNOWN = "NIP-ASSURANCE-UNKNOWN";
22
22
  // ── RFC-0004 (reputation log) ────────────────────────────────────────────────
23
23
  export const REPUTATION_ENTRY_INVALID = "NIP-REPUTATION-ENTRY-INVALID";
24
24
  export const REPUTATION_LOG_UNREACHABLE = "NIP-REPUTATION-LOG-UNREACHABLE";
25
+ export const REPUTATION_GOSSIP_FORK = "NIP-REPUTATION-GOSSIP-FORK";
26
+ export const REPUTATION_GOSSIP_SIG_INVALID = "NIP-REPUTATION-GOSSIP-SIG-INVALID";
25
27
  // ── RFC-0002 (X.509 + ACME) ──────────────────────────────────────────────────
26
28
  export const CERT_FORMAT_INVALID = "NIP-CERT-FORMAT-INVALID";
27
29
  export const CERT_EKU_MISSING = "NIP-CERT-EKU-MISSING";
@@ -1 +1 @@
1
- {"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../src/nip/error-codes.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC,mFAAmF;AAEnF,gFAAgF;AAChF,MAAM,CAAC,MAAM,YAAY,GAAc,kBAAkB,CAAC;AAC1D,MAAM,CAAC,MAAM,YAAY,GAAc,kBAAkB,CAAC;AAC1D,MAAM,CAAC,MAAM,sBAAsB,GAAI,4BAA4B,CAAC;AACpE,MAAM,CAAC,MAAM,qBAAqB,GAAK,2BAA2B,CAAC;AACnE,MAAM,CAAC,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAM,0BAA0B,CAAC;AAElE,gFAAgF;AAChF,MAAM,CAAC,MAAM,gBAAgB,GAAY,sBAAsB,CAAC;AAChE,MAAM,CAAC,MAAM,qBAAqB,GAAO,2BAA2B,CAAC;AACrE,MAAM,CAAC,MAAM,mBAAmB,GAAS,yBAAyB,CAAC;AACnE,MAAM,CAAC,MAAM,oBAAoB,GAAQ,0BAA0B,CAAC;AACpE,MAAM,CAAC,MAAM,yBAAyB,GAAG,+BAA+B,CAAC;AAEzE,MAAM,CAAC,MAAM,gBAAgB,GAAO,sBAAsB,CAAC;AAC3D,MAAM,CAAC,MAAM,mBAAmB,GAAI,yBAAyB,CAAC;AAE9D,gFAAgF;AAChF,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;AAC3D,MAAM,CAAC,MAAM,iBAAiB,GAAI,uBAAuB,CAAC;AAE1D,gFAAgF;AAChF,MAAM,CAAC,MAAM,wBAAwB,GAAM,8BAA8B,CAAC;AAC1E,MAAM,CAAC,MAAM,0BAA0B,GAAI,gCAAgC,CAAC;AAE5E,gFAAgF;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAAS,yBAAyB,CAAC;AACnE,MAAM,CAAC,MAAM,gBAAgB,GAAY,sBAAsB,CAAC;AAChE,MAAM,CAAC,MAAM,yBAAyB,GAAG,+BAA+B,CAAC;AACzE,MAAM,CAAC,MAAM,qBAAqB,GAAO,2BAA2B,CAAC"}
1
+ {"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../src/nip/error-codes.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC,mFAAmF;AAEnF,gFAAgF;AAChF,MAAM,CAAC,MAAM,YAAY,GAAc,kBAAkB,CAAC;AAC1D,MAAM,CAAC,MAAM,YAAY,GAAc,kBAAkB,CAAC;AAC1D,MAAM,CAAC,MAAM,sBAAsB,GAAI,4BAA4B,CAAC;AACpE,MAAM,CAAC,MAAM,qBAAqB,GAAK,2BAA2B,CAAC;AACnE,MAAM,CAAC,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAM,0BAA0B,CAAC;AAElE,gFAAgF;AAChF,MAAM,CAAC,MAAM,gBAAgB,GAAY,sBAAsB,CAAC;AAChE,MAAM,CAAC,MAAM,qBAAqB,GAAO,2BAA2B,CAAC;AACrE,MAAM,CAAC,MAAM,mBAAmB,GAAS,yBAAyB,CAAC;AACnE,MAAM,CAAC,MAAM,oBAAoB,GAAQ,0BAA0B,CAAC;AACpE,MAAM,CAAC,MAAM,yBAAyB,GAAG,+BAA+B,CAAC;AAEzE,MAAM,CAAC,MAAM,gBAAgB,GAAO,sBAAsB,CAAC;AAC3D,MAAM,CAAC,MAAM,mBAAmB,GAAI,yBAAyB,CAAC;AAE9D,gFAAgF;AAChF,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;AAC3D,MAAM,CAAC,MAAM,iBAAiB,GAAI,uBAAuB,CAAC;AAE1D,gFAAgF;AAChF,MAAM,CAAC,MAAM,wBAAwB,GAAQ,8BAA8B,CAAC;AAC5E,MAAM,CAAC,MAAM,0BAA0B,GAAM,gCAAgC,CAAC;AAC9E,MAAM,CAAC,MAAM,sBAAsB,GAAU,4BAA4B,CAAC;AAC1E,MAAM,CAAC,MAAM,6BAA6B,GAAG,mCAAmC,CAAC;AAEjF,gFAAgF;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAAS,yBAAyB,CAAC;AACnE,MAAM,CAAC,MAAM,gBAAgB,GAAY,sBAAsB,CAAC;AAChE,MAAM,CAAC,MAAM,yBAAyB,GAAG,+BAA+B,CAAC;AACzE,MAAM,CAAC,MAAM,qBAAqB,GAAO,2BAA2B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/nop/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/nop/client.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAY;IACzC,SAAS,CAAC,SAAS;IACnB,SAAS,CAAC,MAAM;IAChB,SAAS,CAAC,SAAS;CACpB,CAAC,CAAC;AAEH,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,IAA6B;QAA7B,SAAI,GAAJ,IAAI,CAAyB;IAAG,CAAC;IAE9D,IAAI,MAAM,KAAoC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAY,CAAC,CAAC,CAAC;IACvF,IAAI,KAAK,KAAqC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAc,CAAC,CAAC,CAAC;IACvF,IAAI,UAAU,KAAgC,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAc,CAAC,CAAC,CAAC,CAAC;IAC5G,IAAI,gBAAgB,KAA0B,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACtF,IAAI,SAAS,KAAiC,OAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAsB,IAAI,SAAS,CAAC,CAAC,CAAC;IAClH,IAAI,YAAY,KAA8B,OAAQ,IAAI,CAAC,IAAI,CAAC,eAAe,CAAmB,IAAI,SAAS,CAAC,CAAC,CAAC;IAClH,IAAI,WAAW,KAAmC,OAAQ,IAAI,CAAC,IAAI,CAAC,cAAc,CAAyC,IAAI,EAAE,CAAC,CAAC,CAAC;IACpI,IAAI,GAAG,KAA2C,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAErE,QAAQ;QACN,OAAO,wBAAwB,IAAI,CAAC,MAAM,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;IACrF,CAAC;CACF;AAED,MAAM,OAAO,SAAS;IACH,QAAQ,CAAS;IACjB,MAAM,CAAkB;IACxB,KAAK,CAAkB;IAExC,YACE,OAAe,EACf,UAAoE,EAAE;QAEtE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAM,OAAO,CAAC,WAAW,IAAI,YAAY,CAAC,OAAO,CAAC;QAE5D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE;YACzC,MAAM,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC;YAC9B,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrB,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACrB,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAgB;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACrE,MAAM,GAAG,GAAI,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,OAAO,EAAE;YAChD,MAAM,EAAG,MAAM;YACf,IAAI,EAAK,IAAgB;YACzB,OAAO,EAAE,EAAE,cAAc,EAAE,yBAAyB,EAAE,QAAQ,EAAE,kBAAkB,EAAE;SACrF,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAA6B,CAAC;QACzD,OAAO,IAAI,CAAC,SAAS,CAAW,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc;QAC5B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,SAAS,MAAM,EAAE,EAAE;YACzD,OAAO,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE;SAC1C,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/E,OAAO,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,EAA6B,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc;QACzB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,SAAS,MAAM,SAAS,EAAE;YAChE,MAAM,EAAG,MAAM;YACf,OAAO,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE;SAC1C,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,MAAM,wBAAwB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,IAAI,CACR,MAAc,EACd,UAA2D,EAAE;QAE7D,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;QACtD,MAAM,SAAS,GAAQ,OAAO,CAAC,SAAS,IAAS,MAAM,CAAC;QACxD,MAAM,QAAQ,GAAS,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAE9C,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,MAAM,CAAC,UAAU;gBAAE,OAAO,MAAM,CAAC;YAErC,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACxC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,6BAA6B,SAAS,cAAc,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;YACtH,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/nwp/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/nwp/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /** NWP error code wire constants — mirror of `spec/error-codes.md` NWP section. */
2
+ export declare const AUTH_NID_SCOPE_VIOLATION = "NWP-AUTH-NID-SCOPE-VIOLATION";
3
+ export declare const AUTH_NID_EXPIRED = "NWP-AUTH-NID-EXPIRED";
4
+ export declare const AUTH_NID_REVOKED = "NWP-AUTH-NID-REVOKED";
5
+ export declare const AUTH_NID_UNTRUSTED_ISSUER = "NWP-AUTH-NID-UNTRUSTED-ISSUER";
6
+ export declare const AUTH_NID_CAPABILITY_MISSING = "NWP-AUTH-NID-CAPABILITY-MISSING";
7
+ export declare const AUTH_ASSURANCE_TOO_LOW = "NWP-AUTH-ASSURANCE-TOO-LOW";
8
+ export declare const AUTH_REPUTATION_BLOCKED = "NWP-AUTH-REPUTATION-BLOCKED";
9
+ export declare const QUERY_FILTER_INVALID = "NWP-QUERY-FILTER-INVALID";
10
+ export declare const QUERY_FIELD_UNKNOWN = "NWP-QUERY-FIELD-UNKNOWN";
11
+ export declare const QUERY_CURSOR_INVALID = "NWP-QUERY-CURSOR-INVALID";
12
+ export declare const QUERY_REGEX_UNSAFE = "NWP-QUERY-REGEX-UNSAFE";
13
+ export declare const QUERY_VECTOR_UNSUPPORTED = "NWP-QUERY-VECTOR-UNSUPPORTED";
14
+ export declare const QUERY_AGGREGATE_UNSUPPORTED = "NWP-QUERY-AGGREGATE-UNSUPPORTED";
15
+ export declare const QUERY_AGGREGATE_INVALID = "NWP-QUERY-AGGREGATE-INVALID";
16
+ export declare const QUERY_STREAM_UNSUPPORTED = "NWP-QUERY-STREAM-UNSUPPORTED";
17
+ export declare const ACTION_NOT_FOUND = "NWP-ACTION-NOT-FOUND";
18
+ export declare const ACTION_PARAMS_INVALID = "NWP-ACTION-PARAMS-INVALID";
19
+ export declare const ACTION_IDEMPOTENCY_CONFLICT = "NWP-ACTION-IDEMPOTENCY-CONFLICT";
20
+ export declare const TASK_NOT_FOUND = "NWP-TASK-NOT-FOUND";
21
+ export declare const TASK_ALREADY_CANCELLED = "NWP-TASK-ALREADY-CANCELLED";
22
+ export declare const TASK_ALREADY_COMPLETED = "NWP-TASK-ALREADY-COMPLETED";
23
+ export declare const TASK_ALREADY_FAILED = "NWP-TASK-ALREADY-FAILED";
24
+ export declare const SUBSCRIBE_STREAM_NOT_FOUND = "NWP-SUBSCRIBE-STREAM-NOT-FOUND";
25
+ export declare const SUBSCRIBE_LIMIT_EXCEEDED = "NWP-SUBSCRIBE-LIMIT-EXCEEDED";
26
+ export declare const SUBSCRIBE_FILTER_UNSUPPORTED = "NWP-SUBSCRIBE-FILTER-UNSUPPORTED";
27
+ export declare const SUBSCRIBE_INTERRUPTED = "NWP-SUBSCRIBE-INTERRUPTED";
28
+ export declare const SUBSCRIBE_SEQ_TOO_OLD = "NWP-SUBSCRIBE-SEQ-TOO-OLD";
29
+ export declare const BUDGET_EXCEEDED = "NWP-BUDGET-EXCEEDED";
30
+ export declare const DEPTH_EXCEEDED = "NWP-DEPTH-EXCEEDED";
31
+ export declare const GRAPH_CYCLE = "NWP-GRAPH-CYCLE";
32
+ export declare const NODE_UNAVAILABLE = "NWP-NODE-UNAVAILABLE";
33
+ export declare const RATE_LIMIT_EXCEEDED = "NWP-RATE-LIMIT-EXCEEDED";
34
+ export declare const MANIFEST_VERSION_UNSUPPORTED = "NWP-MANIFEST-VERSION-UNSUPPORTED";
35
+ export declare const MANIFEST_NODE_TYPE_REMOVED = "NWP-MANIFEST-NODE-TYPE-REMOVED";
36
+ export declare const MANIFEST_NODE_TYPE_UNKNOWN = "NWP-MANIFEST-NODE-TYPE-UNKNOWN";
37
+ export declare const TOPOLOGY_UNAUTHORIZED = "NWP-TOPOLOGY-UNAUTHORIZED";
38
+ export declare const TOPOLOGY_UNSUPPORTED_SCOPE = "NWP-TOPOLOGY-UNSUPPORTED-SCOPE";
39
+ export declare const TOPOLOGY_DEPTH_UNSUPPORTED = "NWP-TOPOLOGY-DEPTH-UNSUPPORTED";
40
+ export declare const TOPOLOGY_FILTER_UNSUPPORTED = "NWP-TOPOLOGY-FILTER-UNSUPPORTED";
41
+ export declare const RESERVED_TYPE_UNSUPPORTED = "NWP-RESERVED-TYPE-UNSUPPORTED";
42
+ //# sourceMappingURL=error-codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/nwp/error-codes.ts"],"names":[],"mappings":"AAGA,mFAAmF;AAGnF,eAAO,MAAM,wBAAwB,iCAAoC,CAAC;AAC1E,eAAO,MAAM,gBAAgB,yBAAoC,CAAC;AAClE,eAAO,MAAM,gBAAgB,yBAAoC,CAAC;AAClE,eAAO,MAAM,yBAAyB,kCAAoC,CAAC;AAC3E,eAAO,MAAM,2BAA2B,oCAAoC,CAAC;AAC7E,eAAO,MAAM,sBAAsB,+BAAoC,CAAC;AACxE,eAAO,MAAM,uBAAuB,gCAAoC,CAAC;AAGzE,eAAO,MAAM,oBAAoB,6BAAoC,CAAC;AACtE,eAAO,MAAM,mBAAmB,4BAAoC,CAAC;AACrE,eAAO,MAAM,oBAAoB,6BAAoC,CAAC;AACtE,eAAO,MAAM,kBAAkB,2BAAoC,CAAC;AACpE,eAAO,MAAM,wBAAwB,iCAAoC,CAAC;AAC1E,eAAO,MAAM,2BAA2B,oCAAoC,CAAC;AAC7E,eAAO,MAAM,uBAAuB,gCAAoC,CAAC;AACzE,eAAO,MAAM,wBAAwB,iCAAoC,CAAC;AAG1E,eAAO,MAAM,gBAAgB,yBAAoC,CAAC;AAClE,eAAO,MAAM,qBAAqB,8BAAoC,CAAC;AACvE,eAAO,MAAM,2BAA2B,oCAAoC,CAAC;AAG7E,eAAO,MAAM,cAAc,uBAA+B,CAAC;AAC3D,eAAO,MAAM,sBAAsB,+BAA+B,CAAC;AACnE,eAAO,MAAM,sBAAsB,+BAA+B,CAAC;AACnE,eAAO,MAAM,mBAAmB,4BAA+B,CAAC;AAGhE,eAAO,MAAM,0BAA0B,mCAAqC,CAAC;AAC7E,eAAO,MAAM,wBAAwB,iCAAqC,CAAC;AAC3E,eAAO,MAAM,4BAA4B,qCAAqC,CAAC;AAC/E,eAAO,MAAM,qBAAqB,8BAAqC,CAAC;AACxE,eAAO,MAAM,qBAAqB,8BAAqC,CAAC;AAGxE,eAAO,MAAM,eAAe,wBAA6B,CAAC;AAC1D,eAAO,MAAM,cAAc,uBAA6B,CAAC;AACzD,eAAO,MAAM,WAAW,oBAA6B,CAAC;AACtD,eAAO,MAAM,gBAAgB,yBAA6B,CAAC;AAC3D,eAAO,MAAM,mBAAmB,4BAA6B,CAAC;AAG9D,eAAO,MAAM,4BAA4B,qCAAqC,CAAC;AAC/E,eAAO,MAAM,0BAA0B,mCAAqC,CAAC;AAC7E,eAAO,MAAM,0BAA0B,mCAAqC,CAAC;AAG7E,eAAO,MAAM,qBAAqB,8BAAoC,CAAC;AACvE,eAAO,MAAM,0BAA0B,mCAAoC,CAAC;AAC5E,eAAO,MAAM,0BAA0B,mCAAoC,CAAC;AAC5E,eAAO,MAAM,2BAA2B,oCAAoC,CAAC;AAG7E,eAAO,MAAM,yBAAyB,kCAAkC,CAAC"}
@@ -0,0 +1,53 @@
1
+ // Copyright 2026 INNO LOTUS PTY LTD
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ /** NWP error code wire constants — mirror of `spec/error-codes.md` NWP section. */
4
+ // ── Auth ─────────────────────────────────────────────────────────────────────
5
+ export const AUTH_NID_SCOPE_VIOLATION = "NWP-AUTH-NID-SCOPE-VIOLATION";
6
+ export const AUTH_NID_EXPIRED = "NWP-AUTH-NID-EXPIRED";
7
+ export const AUTH_NID_REVOKED = "NWP-AUTH-NID-REVOKED";
8
+ export const AUTH_NID_UNTRUSTED_ISSUER = "NWP-AUTH-NID-UNTRUSTED-ISSUER";
9
+ export const AUTH_NID_CAPABILITY_MISSING = "NWP-AUTH-NID-CAPABILITY-MISSING";
10
+ export const AUTH_ASSURANCE_TOO_LOW = "NWP-AUTH-ASSURANCE-TOO-LOW";
11
+ export const AUTH_REPUTATION_BLOCKED = "NWP-AUTH-REPUTATION-BLOCKED";
12
+ // ── Query ─────────────────────────────────────────────────────────────────────
13
+ export const QUERY_FILTER_INVALID = "NWP-QUERY-FILTER-INVALID";
14
+ export const QUERY_FIELD_UNKNOWN = "NWP-QUERY-FIELD-UNKNOWN";
15
+ export const QUERY_CURSOR_INVALID = "NWP-QUERY-CURSOR-INVALID";
16
+ export const QUERY_REGEX_UNSAFE = "NWP-QUERY-REGEX-UNSAFE";
17
+ export const QUERY_VECTOR_UNSUPPORTED = "NWP-QUERY-VECTOR-UNSUPPORTED";
18
+ export const QUERY_AGGREGATE_UNSUPPORTED = "NWP-QUERY-AGGREGATE-UNSUPPORTED";
19
+ export const QUERY_AGGREGATE_INVALID = "NWP-QUERY-AGGREGATE-INVALID";
20
+ export const QUERY_STREAM_UNSUPPORTED = "NWP-QUERY-STREAM-UNSUPPORTED";
21
+ // ── Action ────────────────────────────────────────────────────────────────────
22
+ export const ACTION_NOT_FOUND = "NWP-ACTION-NOT-FOUND";
23
+ export const ACTION_PARAMS_INVALID = "NWP-ACTION-PARAMS-INVALID";
24
+ export const ACTION_IDEMPOTENCY_CONFLICT = "NWP-ACTION-IDEMPOTENCY-CONFLICT";
25
+ // ── Task ──────────────────────────────────────────────────────────────────────
26
+ export const TASK_NOT_FOUND = "NWP-TASK-NOT-FOUND";
27
+ export const TASK_ALREADY_CANCELLED = "NWP-TASK-ALREADY-CANCELLED";
28
+ export const TASK_ALREADY_COMPLETED = "NWP-TASK-ALREADY-COMPLETED";
29
+ export const TASK_ALREADY_FAILED = "NWP-TASK-ALREADY-FAILED";
30
+ // ── Subscribe ─────────────────────────────────────────────────────────────────
31
+ export const SUBSCRIBE_STREAM_NOT_FOUND = "NWP-SUBSCRIBE-STREAM-NOT-FOUND";
32
+ export const SUBSCRIBE_LIMIT_EXCEEDED = "NWP-SUBSCRIBE-LIMIT-EXCEEDED";
33
+ export const SUBSCRIBE_FILTER_UNSUPPORTED = "NWP-SUBSCRIBE-FILTER-UNSUPPORTED";
34
+ export const SUBSCRIBE_INTERRUPTED = "NWP-SUBSCRIBE-INTERRUPTED";
35
+ export const SUBSCRIBE_SEQ_TOO_OLD = "NWP-SUBSCRIBE-SEQ-TOO-OLD";
36
+ // ── Infrastructure ────────────────────────────────────────────────────────────
37
+ export const BUDGET_EXCEEDED = "NWP-BUDGET-EXCEEDED";
38
+ export const DEPTH_EXCEEDED = "NWP-DEPTH-EXCEEDED";
39
+ export const GRAPH_CYCLE = "NWP-GRAPH-CYCLE";
40
+ export const NODE_UNAVAILABLE = "NWP-NODE-UNAVAILABLE";
41
+ export const RATE_LIMIT_EXCEEDED = "NWP-RATE-LIMIT-EXCEEDED";
42
+ // ── Manifest ──────────────────────────────────────────────────────────────────
43
+ export const MANIFEST_VERSION_UNSUPPORTED = "NWP-MANIFEST-VERSION-UNSUPPORTED";
44
+ export const MANIFEST_NODE_TYPE_REMOVED = "NWP-MANIFEST-NODE-TYPE-REMOVED";
45
+ export const MANIFEST_NODE_TYPE_UNKNOWN = "NWP-MANIFEST-NODE-TYPE-UNKNOWN";
46
+ // ── Topology (alpha.4+) ───────────────────────────────────────────────────────
47
+ export const TOPOLOGY_UNAUTHORIZED = "NWP-TOPOLOGY-UNAUTHORIZED";
48
+ export const TOPOLOGY_UNSUPPORTED_SCOPE = "NWP-TOPOLOGY-UNSUPPORTED-SCOPE";
49
+ export const TOPOLOGY_DEPTH_UNSUPPORTED = "NWP-TOPOLOGY-DEPTH-UNSUPPORTED";
50
+ export const TOPOLOGY_FILTER_UNSUPPORTED = "NWP-TOPOLOGY-FILTER-UNSUPPORTED";
51
+ // ── Reserved type (alpha.5+) ─────────────────────────────────────────────────
52
+ export const RESERVED_TYPE_UNSUPPORTED = "NWP-RESERVED-TYPE-UNSUPPORTED";
53
+ //# sourceMappingURL=error-codes.js.map