@labacacia/nps-sdk 1.0.0-alpha.6 → 1.0.0-alpha.8

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 (369) hide show
  1. package/CHANGELOG.cn.md +126 -0
  2. package/CHANGELOG.md +135 -0
  3. package/README.cn.md +9 -2
  4. package/README.md +9 -2
  5. package/dist/core/anchor-cache.d.ts +42 -0
  6. package/dist/core/anchor-cache.d.ts.map +1 -0
  7. package/dist/core/anchor-cache.js +104 -0
  8. package/dist/core/anchor-cache.js.map +1 -0
  9. package/dist/core/cache.d.ts +14 -0
  10. package/dist/core/cache.d.ts.map +1 -0
  11. package/dist/core/cache.js +80 -0
  12. package/dist/core/cache.js.map +1 -0
  13. package/dist/core/canonical-json.d.ts +12 -0
  14. package/dist/core/canonical-json.d.ts.map +1 -0
  15. package/dist/core/canonical-json.js +44 -0
  16. package/dist/core/canonical-json.js.map +1 -0
  17. package/dist/core/codec.d.ts +32 -0
  18. package/dist/core/codec.d.ts.map +1 -0
  19. package/dist/core/codec.js +119 -0
  20. package/dist/core/codec.js.map +1 -0
  21. package/dist/core/codecs/index.d.ts +4 -0
  22. package/dist/core/codecs/index.d.ts.map +1 -0
  23. package/{src/core/codecs/index.ts → dist/core/codecs/index.js} +1 -0
  24. package/dist/core/codecs/index.js.map +1 -0
  25. package/dist/core/codecs/ncp-codec.d.ts +39 -0
  26. package/dist/core/codecs/ncp-codec.d.ts.map +1 -0
  27. package/dist/core/codecs/ncp-codec.js +93 -0
  28. package/dist/core/codecs/ncp-codec.js.map +1 -0
  29. package/dist/core/codecs/tier1-json-codec.d.ts +10 -0
  30. package/dist/core/codecs/tier1-json-codec.d.ts.map +1 -0
  31. package/{src/core/codecs/tier1-json-codec.ts → dist/core/codecs/tier1-json-codec.js} +11 -16
  32. package/dist/core/codecs/tier1-json-codec.js.map +1 -0
  33. package/dist/core/codecs/tier2-msgpack-codec.d.ts +10 -0
  34. package/dist/core/codecs/tier2-msgpack-codec.d.ts.map +1 -0
  35. package/{src/core/codecs/tier2-msgpack-codec.ts → dist/core/codecs/tier2-msgpack-codec.js} +10 -14
  36. package/dist/core/codecs/tier2-msgpack-codec.js.map +1 -0
  37. package/dist/core/crypto-provider.d.ts +31 -0
  38. package/dist/core/crypto-provider.d.ts.map +1 -0
  39. package/dist/core/crypto-provider.js +10 -0
  40. package/dist/core/crypto-provider.js.map +1 -0
  41. package/dist/core/exceptions.d.ts +27 -0
  42. package/dist/core/exceptions.d.ts.map +1 -0
  43. package/dist/core/exceptions.js +52 -0
  44. package/dist/core/exceptions.js.map +1 -0
  45. package/dist/core/frame-header.d.ts +87 -0
  46. package/dist/core/frame-header.d.ts.map +1 -0
  47. package/dist/core/frame-header.js +185 -0
  48. package/dist/core/frame-header.js.map +1 -0
  49. package/dist/core/frame-registry.d.ts +35 -0
  50. package/dist/core/frame-registry.d.ts.map +1 -0
  51. package/dist/core/frame-registry.js +63 -0
  52. package/dist/core/frame-registry.js.map +1 -0
  53. package/dist/core/frames.d.ts +82 -0
  54. package/dist/core/frames.d.ts.map +1 -0
  55. package/dist/core/frames.js +155 -0
  56. package/dist/core/frames.js.map +1 -0
  57. package/dist/core/index.d.ts +11 -0
  58. package/dist/core/index.d.ts.map +1 -0
  59. package/{src/core/index.ts → dist/core/index.js} +3 -23
  60. package/dist/core/index.js.map +1 -0
  61. package/dist/core/registry.d.ts +11 -0
  62. package/dist/core/registry.d.ts.map +1 -0
  63. package/dist/core/registry.js +17 -0
  64. package/dist/core/registry.js.map +1 -0
  65. package/dist/core/status-codes.d.ts +29 -0
  66. package/dist/core/status-codes.d.ts.map +1 -0
  67. package/dist/core/status-codes.js +39 -0
  68. package/dist/core/status-codes.js.map +1 -0
  69. package/dist/index.d.ts +2 -0
  70. package/dist/index.d.ts.map +1 -0
  71. package/{src/index.ts → dist/index.js} +1 -1
  72. package/dist/index.js.map +1 -0
  73. package/dist/ncp/frames/anchor-frame.d.ts +29 -0
  74. package/dist/ncp/frames/anchor-frame.d.ts.map +1 -0
  75. package/dist/ncp/frames/anchor-frame.js +54 -0
  76. package/dist/ncp/frames/anchor-frame.js.map +1 -0
  77. package/dist/ncp/frames/caps-frame.d.ts +29 -0
  78. package/dist/ncp/frames/caps-frame.d.ts.map +1 -0
  79. package/dist/ncp/frames/caps-frame.js +29 -0
  80. package/dist/ncp/frames/caps-frame.js.map +1 -0
  81. package/dist/ncp/frames/diff-frame.d.ts +32 -0
  82. package/dist/ncp/frames/diff-frame.d.ts.map +1 -0
  83. package/dist/ncp/frames/diff-frame.js +37 -0
  84. package/dist/ncp/frames/diff-frame.js.map +1 -0
  85. package/dist/ncp/frames/error-frame.d.ts +16 -0
  86. package/dist/ncp/frames/error-frame.d.ts.map +1 -0
  87. package/dist/ncp/frames/error-frame.js +13 -0
  88. package/dist/ncp/frames/error-frame.js.map +1 -0
  89. package/dist/ncp/frames/hello-frame.d.ts +21 -0
  90. package/dist/ncp/frames/hello-frame.d.ts.map +1 -0
  91. package/dist/ncp/frames/hello-frame.js +25 -0
  92. package/dist/ncp/frames/hello-frame.js.map +1 -0
  93. package/dist/ncp/frames/stream-frame.d.ts +16 -0
  94. package/dist/ncp/frames/stream-frame.d.ts.map +1 -0
  95. package/dist/ncp/frames/stream-frame.js +18 -0
  96. package/dist/ncp/frames/stream-frame.js.map +1 -0
  97. package/dist/ncp/frames.d.ts +94 -0
  98. package/dist/ncp/frames.d.ts.map +1 -0
  99. package/dist/ncp/frames.js +192 -0
  100. package/dist/ncp/frames.js.map +1 -0
  101. package/dist/ncp/handshake.d.ts +30 -0
  102. package/dist/ncp/handshake.d.ts.map +1 -0
  103. package/dist/ncp/handshake.js +80 -0
  104. package/dist/ncp/handshake.js.map +1 -0
  105. package/dist/ncp/index.d.ts +12 -0
  106. package/dist/ncp/index.d.ts.map +1 -0
  107. package/{src/ncp/index.ts → dist/ncp/index.js} +1 -0
  108. package/dist/ncp/index.js.map +1 -0
  109. package/dist/ncp/ncp-error-codes.d.ts +23 -0
  110. package/dist/ncp/ncp-error-codes.d.ts.map +1 -0
  111. package/dist/ncp/ncp-error-codes.js +34 -0
  112. package/dist/ncp/ncp-error-codes.js.map +1 -0
  113. package/dist/ncp/ncp-patch-format.d.ts +7 -0
  114. package/dist/ncp/ncp-patch-format.d.ts.map +1 -0
  115. package/dist/ncp/ncp-patch-format.js +13 -0
  116. package/dist/ncp/ncp-patch-format.js.map +1 -0
  117. package/dist/ncp/preamble.d.ts +47 -0
  118. package/dist/ncp/preamble.d.ts.map +1 -0
  119. package/dist/ncp/preamble.js +74 -0
  120. package/dist/ncp/preamble.js.map +1 -0
  121. package/dist/ncp/registry.d.ts +3 -0
  122. package/dist/ncp/registry.d.ts.map +1 -0
  123. package/dist/ncp/registry.js +13 -0
  124. package/dist/ncp/registry.js.map +1 -0
  125. package/dist/ncp/stream-manager.d.ts +57 -0
  126. package/dist/ncp/stream-manager.d.ts.map +1 -0
  127. package/dist/ncp/stream-manager.js +163 -0
  128. package/dist/ncp/stream-manager.js.map +1 -0
  129. package/dist/ndp/dns-txt.d.ts +35 -0
  130. package/dist/ndp/dns-txt.d.ts.map +1 -0
  131. package/dist/ndp/dns-txt.js +67 -0
  132. package/dist/ndp/dns-txt.js.map +1 -0
  133. package/dist/ndp/frames.d.ts +56 -0
  134. package/dist/ndp/frames.d.ts.map +1 -0
  135. package/dist/ndp/frames.js +87 -0
  136. package/dist/ndp/frames.js.map +1 -0
  137. package/dist/ndp/index.d.ts +6 -0
  138. package/dist/ndp/index.d.ts.map +1 -0
  139. package/{src/ndp/index.ts → dist/ndp/index.js} +1 -1
  140. package/dist/ndp/index.js.map +1 -0
  141. package/dist/ndp/ndp-registry.d.ts +13 -0
  142. package/dist/ndp/ndp-registry.d.ts.map +1 -0
  143. package/dist/ndp/ndp-registry.js +104 -0
  144. package/dist/ndp/ndp-registry.js.map +1 -0
  145. package/dist/ndp/registry.d.ts +3 -0
  146. package/dist/ndp/registry.d.ts.map +1 -0
  147. package/dist/ndp/registry.js +10 -0
  148. package/dist/ndp/registry.js.map +1 -0
  149. package/dist/ndp/validator.d.ts +18 -0
  150. package/dist/ndp/validator.d.ts.map +1 -0
  151. package/dist/ndp/validator.js +48 -0
  152. package/dist/ndp/validator.js.map +1 -0
  153. package/dist/nip/acme/client.d.ts +31 -0
  154. package/dist/nip/acme/client.d.ts.map +1 -0
  155. package/dist/nip/acme/client.js +136 -0
  156. package/dist/nip/acme/client.js.map +1 -0
  157. package/dist/nip/acme/index.d.ts +6 -0
  158. package/dist/nip/acme/index.d.ts.map +1 -0
  159. package/{src/nip/acme/index.ts → dist/nip/acme/index.js} +1 -1
  160. package/dist/nip/acme/index.js.map +1 -0
  161. package/dist/nip/acme/jws.d.ts +31 -0
  162. package/dist/nip/acme/jws.d.ts.map +1 -0
  163. package/dist/nip/acme/jws.js +76 -0
  164. package/dist/nip/acme/jws.js.map +1 -0
  165. package/dist/nip/acme/messages.d.ts +71 -0
  166. package/dist/nip/acme/messages.d.ts.map +1 -0
  167. package/dist/nip/acme/messages.js +4 -0
  168. package/dist/nip/acme/messages.js.map +1 -0
  169. package/dist/nip/acme/server.d.ts +41 -0
  170. package/dist/nip/acme/server.d.ts.map +1 -0
  171. package/dist/nip/acme/server.js +458 -0
  172. package/dist/nip/acme/server.js.map +1 -0
  173. package/dist/nip/acme/wire.d.ts +19 -0
  174. package/dist/nip/acme/wire.d.ts.map +1 -0
  175. package/dist/nip/acme/wire.js +21 -0
  176. package/dist/nip/acme/wire.js.map +1 -0
  177. package/dist/nip/assurance-level.d.ts +19 -0
  178. package/dist/nip/assurance-level.d.ts.map +1 -0
  179. package/dist/nip/assurance-level.js +38 -0
  180. package/dist/nip/assurance-level.js.map +1 -0
  181. package/dist/nip/cert-format.d.ts +5 -0
  182. package/dist/nip/cert-format.d.ts.map +1 -0
  183. package/dist/nip/cert-format.js +6 -0
  184. package/dist/nip/cert-format.js.map +1 -0
  185. package/dist/nip/error-codes.d.ts +25 -0
  186. package/dist/nip/error-codes.d.ts.map +1 -0
  187. package/{src/nip/error-codes.ts → dist/nip/error-codes.js} +19 -25
  188. package/dist/nip/error-codes.js.map +1 -0
  189. package/dist/nip/frames.d.ts +53 -0
  190. package/dist/nip/frames.d.ts.map +1 -0
  191. package/dist/nip/frames.js +106 -0
  192. package/dist/nip/frames.js.map +1 -0
  193. package/dist/nip/identity.d.ts +18 -0
  194. package/dist/nip/identity.d.ts.map +1 -0
  195. package/dist/nip/identity.js +94 -0
  196. package/dist/nip/identity.js.map +1 -0
  197. package/dist/nip/index.d.ts +11 -0
  198. package/dist/nip/index.d.ts.map +1 -0
  199. package/{src/nip/index.ts → dist/nip/index.js} +3 -2
  200. package/dist/nip/index.js.map +1 -0
  201. package/dist/nip/registry.d.ts +3 -0
  202. package/dist/nip/registry.d.ts.map +1 -0
  203. package/dist/nip/registry.js +10 -0
  204. package/dist/nip/registry.js.map +1 -0
  205. package/dist/nip/reputation-client.d.ts +116 -0
  206. package/dist/nip/reputation-client.d.ts.map +1 -0
  207. package/dist/nip/reputation-client.js +261 -0
  208. package/dist/nip/reputation-client.js.map +1 -0
  209. package/dist/nip/verifier.d.ts +23 -0
  210. package/dist/nip/verifier.d.ts.map +1 -0
  211. package/dist/nip/verifier.js +90 -0
  212. package/dist/nip/verifier.js.map +1 -0
  213. package/dist/nip/x509/builder.d.ts +35 -0
  214. package/dist/nip/x509/builder.d.ts.map +1 -0
  215. package/dist/nip/x509/builder.js +59 -0
  216. package/dist/nip/x509/builder.js.map +1 -0
  217. package/dist/nip/x509/index.d.ts +4 -0
  218. package/dist/nip/x509/index.d.ts.map +1 -0
  219. package/{src/nip/x509/index.ts → dist/nip/x509/index.js} +1 -1
  220. package/dist/nip/x509/index.js.map +1 -0
  221. package/dist/nip/x509/oids.d.ts +16 -0
  222. package/dist/nip/x509/oids.d.ts.map +1 -0
  223. package/{src/nip/x509/oids.ts → dist/nip/x509/oids.js} +5 -10
  224. package/dist/nip/x509/oids.js.map +1 -0
  225. package/dist/nip/x509/verifier.d.ts +26 -0
  226. package/dist/nip/x509/verifier.d.ts.map +1 -0
  227. package/dist/nip/x509/verifier.js +171 -0
  228. package/dist/nip/x509/verifier.js.map +1 -0
  229. package/dist/nop/client.d.ts +34 -0
  230. package/dist/nop/client.d.ts.map +1 -0
  231. package/dist/nop/client.js +90 -0
  232. package/dist/nop/client.js.map +1 -0
  233. package/dist/nop/frames.d.ts +65 -0
  234. package/dist/nop/frames.d.ts.map +1 -0
  235. package/dist/nop/frames.js +148 -0
  236. package/dist/nop/frames.js.map +1 -0
  237. package/dist/nop/index.d.ts +5 -0
  238. package/dist/nop/index.d.ts.map +1 -0
  239. package/{src/nop/index.ts → dist/nop/index.js} +1 -1
  240. package/dist/nop/index.js.map +1 -0
  241. package/dist/nop/models.d.ts +58 -0
  242. package/dist/nop/models.d.ts.map +1 -0
  243. package/dist/nop/models.js +50 -0
  244. package/dist/nop/models.js.map +1 -0
  245. package/dist/nop/nop-types.d.ts +136 -0
  246. package/dist/nop/nop-types.d.ts.map +1 -0
  247. package/dist/nop/nop-types.js +44 -0
  248. package/dist/nop/nop-types.js.map +1 -0
  249. package/dist/nop/registry.d.ts +3 -0
  250. package/dist/nop/registry.d.ts.map +1 -0
  251. package/dist/nop/registry.js +11 -0
  252. package/dist/nop/registry.js.map +1 -0
  253. package/dist/nwp/anchor-client.d.ts +109 -0
  254. package/dist/nwp/anchor-client.d.ts.map +1 -0
  255. package/dist/nwp/anchor-client.js +279 -0
  256. package/dist/nwp/anchor-client.js.map +1 -0
  257. package/dist/nwp/client.d.ts +28 -0
  258. package/dist/nwp/client.d.ts.map +1 -0
  259. package/dist/nwp/client.js +142 -0
  260. package/dist/nwp/client.js.map +1 -0
  261. package/dist/nwp/frames.d.ts +107 -0
  262. package/dist/nwp/frames.d.ts.map +1 -0
  263. package/dist/nwp/frames.js +198 -0
  264. package/dist/nwp/frames.js.map +1 -0
  265. package/dist/nwp/index.d.ts +6 -0
  266. package/dist/nwp/index.d.ts.map +1 -0
  267. package/{src/nwp/index.ts → dist/nwp/index.js} +3 -1
  268. package/dist/nwp/index.js.map +1 -0
  269. package/dist/nwp/manifest.d.ts +69 -0
  270. package/dist/nwp/manifest.d.ts.map +1 -0
  271. package/dist/nwp/manifest.js +4 -0
  272. package/dist/nwp/manifest.js.map +1 -0
  273. package/dist/nwp/registry.d.ts +3 -0
  274. package/dist/nwp/registry.d.ts.map +1 -0
  275. package/dist/nwp/registry.js +10 -0
  276. package/dist/nwp/registry.js.map +1 -0
  277. package/dist/setup.d.ts +10 -0
  278. package/dist/setup.d.ts.map +1 -0
  279. package/{src/setup.ts → dist/setup.js} +13 -16
  280. package/dist/setup.js.map +1 -0
  281. package/package.json +12 -1
  282. package/CONTRIBUTING.cn.md +0 -35
  283. package/CONTRIBUTING.md +0 -35
  284. package/nip-ca-server/Dockerfile +0 -27
  285. package/nip-ca-server/README.md +0 -45
  286. package/nip-ca-server/db/001_init.sql +0 -25
  287. package/nip-ca-server/docker-compose.yml +0 -29
  288. package/nip-ca-server/package.json +0 -23
  289. package/nip-ca-server/src/ca.ts +0 -155
  290. package/nip-ca-server/src/db.ts +0 -104
  291. package/nip-ca-server/src/index.ts +0 -157
  292. package/nip-ca-server/tsconfig.json +0 -13
  293. package/src/core/anchor-cache.ts +0 -129
  294. package/src/core/cache.ts +0 -93
  295. package/src/core/canonical-json.ts +0 -50
  296. package/src/core/codec.ts +0 -158
  297. package/src/core/codecs/ncp-codec.ts +0 -170
  298. package/src/core/crypto-provider.ts +0 -47
  299. package/src/core/exceptions.ts +0 -57
  300. package/src/core/frame-header.ts +0 -282
  301. package/src/core/frame-registry.ts +0 -91
  302. package/src/core/frames.ts +0 -184
  303. package/src/core/registry.ts +0 -28
  304. package/src/core/status-codes.ts +0 -47
  305. package/src/ncp/frames/anchor-frame.ts +0 -87
  306. package/src/ncp/frames/caps-frame.ts +0 -59
  307. package/src/ncp/frames/diff-frame.ts +0 -69
  308. package/src/ncp/frames/error-frame.ts +0 -26
  309. package/src/ncp/frames/hello-frame.ts +0 -50
  310. package/src/ncp/frames/stream-frame.ts +0 -35
  311. package/src/ncp/frames.ts +0 -251
  312. package/src/ncp/handshake.ts +0 -95
  313. package/src/ncp/ncp-error-codes.ts +0 -36
  314. package/src/ncp/ncp-patch-format.ts +0 -16
  315. package/src/ncp/preamble.ts +0 -79
  316. package/src/ncp/registry.ts +0 -15
  317. package/src/ncp/stream-manager.ts +0 -212
  318. package/src/ndp/dns-txt.ts +0 -86
  319. package/src/ndp/frames.ts +0 -124
  320. package/src/ndp/ndp-registry.ts +0 -116
  321. package/src/ndp/registry.ts +0 -12
  322. package/src/ndp/validator.ts +0 -64
  323. package/src/nip/acme/client.ts +0 -185
  324. package/src/nip/acme/jws.ts +0 -109
  325. package/src/nip/acme/messages.ts +0 -85
  326. package/src/nip/acme/server.ts +0 -480
  327. package/src/nip/acme/wire.ts +0 -24
  328. package/src/nip/assurance-level.ts +0 -40
  329. package/src/nip/cert-format.ts +0 -9
  330. package/src/nip/frames.ts +0 -138
  331. package/src/nip/identity.ts +0 -113
  332. package/src/nip/registry.ts +0 -12
  333. package/src/nip/verifier.ts +0 -122
  334. package/src/nip/x509/builder.ts +0 -91
  335. package/src/nip/x509/verifier.ts +0 -214
  336. package/src/nop/client.ts +0 -103
  337. package/src/nop/frames.ts +0 -181
  338. package/src/nop/models.ts +0 -79
  339. package/src/nop/nop-types.ts +0 -208
  340. package/src/nop/registry.ts +0 -13
  341. package/src/nwp/client.ts +0 -114
  342. package/src/nwp/frames.ts +0 -116
  343. package/src/nwp/registry.ts +0 -11
  344. package/tests/_rfc0002-keys.ts +0 -57
  345. package/tests/core/anchor-cache.test.ts +0 -242
  346. package/tests/core/codec.test.ts +0 -205
  347. package/tests/core/frame-registry.test.ts +0 -46
  348. package/tests/core.test.ts +0 -327
  349. package/tests/ncp/diff-binary-bitset.test.ts +0 -107
  350. package/tests/ncp/e2e-enc-reject.test.ts +0 -93
  351. package/tests/ncp/err-error-frame.test.ts +0 -152
  352. package/tests/ncp/frames.test.ts +0 -359
  353. package/tests/ncp/framing.test.ts +0 -233
  354. package/tests/ncp/hello-frame.test.ts +0 -122
  355. package/tests/ncp/inline-anchor.test.ts +0 -88
  356. package/tests/ncp/preamble.test.ts +0 -93
  357. package/tests/ncp/security.test.ts +0 -184
  358. package/tests/ncp/stream-window.test.ts +0 -167
  359. package/tests/ncp/stream.test.ts +0 -242
  360. package/tests/ncp/version-negotiation.test.ts +0 -123
  361. package/tests/ndp.test.ts +0 -377
  362. package/tests/nip-acme-agent01.test.ts +0 -192
  363. package/tests/nip-x509.test.ts +0 -280
  364. package/tests/nip.test.ts +0 -184
  365. package/tests/nop.test.ts +0 -344
  366. package/tests/nwp.test.ts +0 -237
  367. package/tsconfig.json +0 -20
  368. package/tsup.config.ts +0 -20
  369. package/vitest.config.ts +0 -10
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anchor-client.js","sourceRoot":"","sources":["../../src/nwp/anchor-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { EncodingTier } from "../core/frames.js";
2
+ import { FrameRegistry } from "../core/registry.js";
3
+ import { CapsFrame } from "../ncp/frames.js";
4
+ import type { StreamFrame } from "../ncp/frames.js";
5
+ import { ActionFrame, SubscribeFrame } from "./frames.js";
6
+ import type { QueryFrame } from "./frames.js";
7
+ import type { NeuralWebManifest } from "../nwp/manifest.js";
8
+ export declare class NwpClient {
9
+ private readonly _baseUrl;
10
+ private readonly _codec;
11
+ private readonly _tier;
12
+ constructor(baseUrl: string, options?: {
13
+ defaultTier?: EncodingTier;
14
+ maxPayload?: number;
15
+ registry?: FrameRegistry;
16
+ });
17
+ /** Fetch the NWM manifest from `/.nwm` (NPS-2 §3.2, §4). */
18
+ fetchManifest(): Promise<NeuralWebManifest>;
19
+ /** Fetch the schema AnchorFrame from `/.schema` (NPS-2 §3.2). */
20
+ fetchSchema(): Promise<unknown>;
21
+ /** List callable actions from `/actions` (NPS-2 §3.2). */
22
+ listActions(): Promise<unknown>;
23
+ query(frame: QueryFrame): Promise<CapsFrame>;
24
+ stream(frame: QueryFrame): AsyncGenerator<StreamFrame>;
25
+ invoke(frame: ActionFrame): Promise<unknown>;
26
+ subscribe(frame: SubscribeFrame): Promise<CapsFrame>;
27
+ }
28
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/nwp/client.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,cAAc,EAA+B,MAAM,aAAa,CAAC;AACvF,OAAO,KAAK,EAAE,UAAU,EAAuB,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAO5D,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;gBAGtC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QAAE,WAAW,CAAC,EAAE,YAAY,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,aAAa,CAAA;KAAO;IAiB7F,4DAA4D;IACtD,aAAa,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAQjD,iEAAiE;IAC3D,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IASrC,0DAA0D;IACpD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAU/B,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAiB3C,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,CAAC,WAAW,CAAC;IA0BvD,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAuB5C,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;CAe3D"}
@@ -0,0 +1,142 @@
1
+ // Copyright 2026 INNO LOTUS PTY LTD
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ /**
4
+ * NwpClient — async HTTP-mode client for NPS Neural Web Protocol nodes (NPS-2).
5
+ */
6
+ import { NpsFrameCodec } from "../core/codec.js";
7
+ import { EncodingTier } from "../core/frames.js";
8
+ import { FrameRegistry } from "../core/registry.js";
9
+ import { registerNcpFrames } from "../ncp/registry.js";
10
+ import { CapsFrame } from "../ncp/frames.js";
11
+ import { registerNwpFrames } from "./registry.js";
12
+ import { asyncActionResponseFromDict } from "./frames.js";
13
+ // NPS-2 §9.2 / §10
14
+ const MIME_FRAME = "application/nwp-frame";
15
+ const MIME_CAPSULE = "application/nwp-capsule";
16
+ const MIME_MANIFEST = "application/nwp-manifest+json";
17
+ export class NwpClient {
18
+ _baseUrl;
19
+ _codec;
20
+ _tier;
21
+ constructor(baseUrl, options = {}) {
22
+ this._baseUrl = baseUrl.replace(/\/$/, "");
23
+ this._tier = options.defaultTier ?? EncodingTier.MSGPACK;
24
+ const registry = options.registry ?? (() => {
25
+ const r = new FrameRegistry();
26
+ registerNcpFrames(r);
27
+ registerNwpFrames(r);
28
+ return r;
29
+ })();
30
+ const codecOpts = options.maxPayload !== undefined ? { maxPayload: options.maxPayload } : {};
31
+ this._codec = new NpsFrameCodec(registry, codecOpts);
32
+ }
33
+ // ── Discovery ──────────────────────────────────────────────────────────────
34
+ /** Fetch the NWM manifest from `/.nwm` (NPS-2 §3.2, §4). */
35
+ async fetchManifest() {
36
+ const res = await fetch(`${this._baseUrl}/.nwm`, {
37
+ headers: { "Accept": MIME_MANIFEST },
38
+ });
39
+ if (!res.ok)
40
+ throw new Error(`NWP /.nwm failed: HTTP ${res.status}`);
41
+ return res.json();
42
+ }
43
+ /** Fetch the schema AnchorFrame from `/.schema` (NPS-2 §3.2). */
44
+ async fetchSchema() {
45
+ const res = await fetch(`${this._baseUrl}/.schema`, {
46
+ headers: { "Accept": MIME_CAPSULE },
47
+ });
48
+ if (!res.ok)
49
+ throw new Error(`NWP /.schema failed: HTTP ${res.status}`);
50
+ const buf = new Uint8Array(await res.arrayBuffer());
51
+ return this._codec.decode(buf);
52
+ }
53
+ /** List callable actions from `/actions` (NPS-2 §3.2). */
54
+ async listActions() {
55
+ const res = await fetch(`${this._baseUrl}/actions`, {
56
+ headers: { "Accept": "application/json" },
57
+ });
58
+ if (!res.ok)
59
+ throw new Error(`NWP /actions failed: HTTP ${res.status}`);
60
+ return res.json();
61
+ }
62
+ // ── Query ──────────────────────────────────────────────────────────────────
63
+ async query(frame) {
64
+ const wire = this._codec.encode(frame, { overrideTier: this._tier });
65
+ const res = await fetch(`${this._baseUrl}/query`, {
66
+ method: "POST",
67
+ body: wire,
68
+ headers: { "Content-Type": MIME_FRAME, "Accept": MIME_CAPSULE },
69
+ });
70
+ if (!res.ok)
71
+ throw new Error(`NWP /query failed: HTTP ${res.status}`);
72
+ const buf = new Uint8Array(await res.arrayBuffer());
73
+ const result = this._codec.decode(buf);
74
+ if (!(result instanceof CapsFrame)) {
75
+ throw new TypeError(`Expected CapsFrame from /query, got ${result.constructor.name}.`);
76
+ }
77
+ return result;
78
+ }
79
+ async *stream(frame) {
80
+ const wire = this._codec.encode(frame, { overrideTier: this._tier });
81
+ const res = await fetch(`${this._baseUrl}/stream`, {
82
+ method: "POST",
83
+ body: wire,
84
+ headers: { "Content-Type": MIME_FRAME, "Accept": MIME_CAPSULE },
85
+ });
86
+ if (!res.ok)
87
+ throw new Error(`NWP /stream failed: HTTP ${res.status}`);
88
+ if (res.body === null)
89
+ return;
90
+ const { StreamFrame: SF } = await import("../ncp/frames.js");
91
+ for await (const chunk of res.body) {
92
+ const bytes = chunk instanceof Uint8Array ? chunk : new Uint8Array(chunk);
93
+ if (bytes.length === 0)
94
+ continue;
95
+ const result = this._codec.decode(bytes);
96
+ if (!(result instanceof SF)) {
97
+ throw new TypeError(`Expected StreamFrame from /stream, got ${result.constructor.name}.`);
98
+ }
99
+ yield result;
100
+ if (result.isLast)
101
+ break;
102
+ }
103
+ }
104
+ // ── Invoke ─────────────────────────────────────────────────────────────────
105
+ async invoke(frame) {
106
+ const wire = this._codec.encode(frame, { overrideTier: this._tier });
107
+ const res = await fetch(`${this._baseUrl}/invoke`, {
108
+ method: "POST",
109
+ body: wire,
110
+ headers: { "Content-Type": MIME_FRAME, "Accept": MIME_CAPSULE },
111
+ });
112
+ if (!res.ok)
113
+ throw new Error(`NWP /invoke failed: HTTP ${res.status}`);
114
+ if (frame.async_) {
115
+ return asyncActionResponseFromDict(await res.json());
116
+ }
117
+ const contentType = res.headers.get("content-type") ?? "";
118
+ if (contentType.includes(MIME_CAPSULE)) {
119
+ const buf = new Uint8Array(await res.arrayBuffer());
120
+ return this._codec.decode(buf);
121
+ }
122
+ return res.json();
123
+ }
124
+ // ── Subscribe ──────────────────────────────────────────────────────────────
125
+ async subscribe(frame) {
126
+ const wire = this._codec.encode(frame, { overrideTier: this._tier });
127
+ const res = await fetch(`${this._baseUrl}/subscribe`, {
128
+ method: "POST",
129
+ body: wire,
130
+ headers: { "Content-Type": MIME_FRAME, "Accept": MIME_CAPSULE },
131
+ });
132
+ if (!res.ok)
133
+ throw new Error(`NWP /subscribe failed: HTTP ${res.status}`);
134
+ const buf = new Uint8Array(await res.arrayBuffer());
135
+ const result = this._codec.decode(buf);
136
+ if (!(result instanceof CapsFrame)) {
137
+ throw new TypeError(`Expected CapsFrame ack from /subscribe, got ${result.constructor.name}.`);
138
+ }
139
+ return result;
140
+ }
141
+ }
142
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/nwp/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ import { EncodingTier, FrameType } from "../core/frames.js";
2
+ import type { NpsFrame } from "../core/codec.js";
3
+ export interface QueryOrderClause {
4
+ field: string;
5
+ dir: "ASC" | "DESC";
6
+ }
7
+ export interface VectorSearchOptions {
8
+ field?: string;
9
+ vector: readonly number[];
10
+ top_k?: number;
11
+ threshold?: number;
12
+ metric?: "cosine" | "euclidean" | "dot_product";
13
+ }
14
+ export interface QueryFrameOptions {
15
+ anchorRef?: string;
16
+ filter?: Record<string, unknown>;
17
+ limit?: number;
18
+ cursor?: string;
19
+ order?: readonly QueryOrderClause[];
20
+ fields?: readonly string[];
21
+ vectorSearch?: VectorSearchOptions;
22
+ depth?: number;
23
+ type?: string;
24
+ autoAnchor?: boolean;
25
+ stream?: boolean;
26
+ aggregate?: Record<string, unknown>;
27
+ tokenBudget?: number;
28
+ tokenizer?: string;
29
+ requestId?: string;
30
+ }
31
+ export declare class QueryFrame implements NpsFrame {
32
+ readonly frameType = FrameType.QUERY;
33
+ readonly preferredTier = EncodingTier.MSGPACK;
34
+ readonly anchorRef?: string;
35
+ readonly filter?: Record<string, unknown>;
36
+ readonly limit?: number;
37
+ readonly cursor?: string;
38
+ readonly order?: readonly QueryOrderClause[];
39
+ readonly fields?: readonly string[];
40
+ readonly vectorSearch?: VectorSearchOptions;
41
+ readonly depth?: number;
42
+ readonly type?: string;
43
+ readonly autoAnchor?: boolean;
44
+ readonly stream?: boolean;
45
+ readonly aggregate?: Record<string, unknown>;
46
+ readonly tokenBudget?: number;
47
+ readonly tokenizer?: string;
48
+ readonly requestId?: string;
49
+ constructor(opts?: QueryFrameOptions);
50
+ toDict(): Record<string, unknown>;
51
+ static fromDict(data: Record<string, unknown>): QueryFrame;
52
+ }
53
+ export interface ActionFrameOptions {
54
+ actionId: string;
55
+ params?: Record<string, unknown>;
56
+ async_?: boolean;
57
+ idempotencyKey?: string;
58
+ timeoutMs?: number;
59
+ callbackUrl?: string;
60
+ priority?: "low" | "normal" | "high";
61
+ requestId?: string;
62
+ }
63
+ export declare class ActionFrame implements NpsFrame {
64
+ readonly frameType = FrameType.ACTION;
65
+ readonly preferredTier = EncodingTier.MSGPACK;
66
+ readonly actionId: string;
67
+ readonly params?: Record<string, unknown>;
68
+ readonly async_?: boolean;
69
+ readonly idempotencyKey?: string;
70
+ readonly timeoutMs?: number;
71
+ readonly callbackUrl?: string;
72
+ readonly priority?: "low" | "normal" | "high";
73
+ readonly requestId?: string;
74
+ constructor(opts: ActionFrameOptions);
75
+ toDict(): Record<string, unknown>;
76
+ static fromDict(data: Record<string, unknown>): ActionFrame;
77
+ }
78
+ export interface SubscribeFrameOptions {
79
+ action: "subscribe" | "unsubscribe" | "ping";
80
+ streamId: string;
81
+ anchorRef?: string;
82
+ filter?: Record<string, unknown>;
83
+ heartbeatInterval?: number;
84
+ resumeFromSeq?: bigint | number;
85
+ type?: string;
86
+ }
87
+ export declare class SubscribeFrame implements NpsFrame {
88
+ readonly frameType = FrameType.SUBSCRIBE;
89
+ readonly preferredTier = EncodingTier.MSGPACK;
90
+ readonly action: "subscribe" | "unsubscribe" | "ping";
91
+ readonly streamId: string;
92
+ readonly anchorRef?: string;
93
+ readonly filter?: Record<string, unknown>;
94
+ readonly heartbeatInterval?: number;
95
+ readonly resumeFromSeq?: bigint;
96
+ readonly type?: string;
97
+ constructor(opts: SubscribeFrameOptions);
98
+ toDict(): Record<string, unknown>;
99
+ static fromDict(data: Record<string, unknown>): SubscribeFrame;
100
+ }
101
+ export interface AsyncActionResponse {
102
+ taskId: string;
103
+ status: string;
104
+ pollUrl?: string | undefined;
105
+ }
106
+ export declare function asyncActionResponseFromDict(data: Record<string, unknown>): AsyncActionResponse;
107
+ //# sourceMappingURL=frames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frames.d.ts","sourceRoot":"","sources":["../../src/nwp/frames.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,198 @@
1
+ // Copyright 2026 INNO LOTUS PTY LTD
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { EncodingTier, FrameType } from "../core/frames.js";
4
+ export class QueryFrame {
5
+ frameType = FrameType.QUERY;
6
+ preferredTier = EncodingTier.MSGPACK;
7
+ anchorRef;
8
+ filter;
9
+ limit;
10
+ cursor;
11
+ order;
12
+ fields;
13
+ vectorSearch;
14
+ depth;
15
+ type;
16
+ autoAnchor;
17
+ stream;
18
+ aggregate;
19
+ tokenBudget;
20
+ tokenizer;
21
+ requestId;
22
+ constructor(opts = {}) {
23
+ this.anchorRef = opts.anchorRef;
24
+ this.filter = opts.filter;
25
+ this.limit = opts.limit;
26
+ this.cursor = opts.cursor;
27
+ this.order = opts.order;
28
+ this.fields = opts.fields;
29
+ this.vectorSearch = opts.vectorSearch;
30
+ this.depth = opts.depth;
31
+ this.type = opts.type;
32
+ this.autoAnchor = opts.autoAnchor;
33
+ this.stream = opts.stream;
34
+ this.aggregate = opts.aggregate;
35
+ this.tokenBudget = opts.tokenBudget;
36
+ this.tokenizer = opts.tokenizer;
37
+ this.requestId = opts.requestId;
38
+ }
39
+ toDict() {
40
+ const d = {
41
+ anchor_ref: this.anchorRef ?? null,
42
+ filter: this.filter ?? null,
43
+ limit: this.limit ?? null,
44
+ cursor: this.cursor ?? null,
45
+ order: this.order ?? null,
46
+ fields: this.fields ?? null,
47
+ vector_search: this.vectorSearch ?? null,
48
+ depth: this.depth ?? null,
49
+ };
50
+ if (this.type !== undefined)
51
+ d["type"] = this.type;
52
+ if (this.autoAnchor !== undefined)
53
+ d["auto_anchor"] = this.autoAnchor;
54
+ if (this.stream !== undefined)
55
+ d["stream"] = this.stream;
56
+ if (this.aggregate !== undefined)
57
+ d["aggregate"] = this.aggregate;
58
+ if (this.tokenBudget !== undefined)
59
+ d["token_budget"] = this.tokenBudget;
60
+ if (this.tokenizer !== undefined)
61
+ d["tokenizer"] = this.tokenizer;
62
+ if (this.requestId !== undefined)
63
+ d["request_id"] = this.requestId;
64
+ return d;
65
+ }
66
+ static fromDict(data) {
67
+ return new QueryFrame({
68
+ anchorRef: data["anchor_ref"] ?? undefined,
69
+ filter: data["filter"] ?? undefined,
70
+ limit: data["limit"] ?? undefined,
71
+ cursor: data["cursor"] ?? undefined,
72
+ order: data["order"] ?? undefined,
73
+ fields: data["fields"] ?? undefined,
74
+ vectorSearch: data["vector_search"] ?? undefined,
75
+ depth: data["depth"] ?? undefined,
76
+ type: data["type"] ?? undefined,
77
+ autoAnchor: data["auto_anchor"] ?? undefined,
78
+ stream: data["stream"] ?? undefined,
79
+ aggregate: data["aggregate"] ?? undefined,
80
+ tokenBudget: data["token_budget"] ?? undefined,
81
+ tokenizer: data["tokenizer"] ?? undefined,
82
+ requestId: data["request_id"] ?? undefined,
83
+ });
84
+ }
85
+ }
86
+ export class ActionFrame {
87
+ frameType = FrameType.ACTION;
88
+ preferredTier = EncodingTier.MSGPACK;
89
+ actionId;
90
+ params;
91
+ async_;
92
+ idempotencyKey;
93
+ timeoutMs;
94
+ callbackUrl;
95
+ priority;
96
+ requestId;
97
+ constructor(opts) {
98
+ this.actionId = opts.actionId;
99
+ this.params = opts.params;
100
+ this.async_ = opts.async_;
101
+ this.idempotencyKey = opts.idempotencyKey;
102
+ this.timeoutMs = opts.timeoutMs;
103
+ this.callbackUrl = opts.callbackUrl;
104
+ this.priority = opts.priority;
105
+ this.requestId = opts.requestId;
106
+ }
107
+ toDict() {
108
+ const d = {
109
+ action_id: this.actionId,
110
+ params: this.params ?? null,
111
+ async: this.async_ ?? false,
112
+ idempotency_key: this.idempotencyKey ?? null,
113
+ timeout_ms: this.timeoutMs ?? null,
114
+ };
115
+ if (this.callbackUrl !== undefined)
116
+ d["callback_url"] = this.callbackUrl;
117
+ if (this.priority !== undefined)
118
+ d["priority"] = this.priority;
119
+ if (this.requestId !== undefined)
120
+ d["request_id"] = this.requestId;
121
+ return d;
122
+ }
123
+ static fromDict(data) {
124
+ return new ActionFrame({
125
+ actionId: data["action_id"],
126
+ params: data["params"] ?? undefined,
127
+ async_: data["async"] ?? undefined,
128
+ idempotencyKey: data["idempotency_key"] ?? undefined,
129
+ timeoutMs: data["timeout_ms"] ?? undefined,
130
+ callbackUrl: data["callback_url"] ?? undefined,
131
+ priority: data["priority"] ?? undefined,
132
+ requestId: data["request_id"] ?? undefined,
133
+ });
134
+ }
135
+ }
136
+ export class SubscribeFrame {
137
+ frameType = FrameType.SUBSCRIBE;
138
+ preferredTier = EncodingTier.MSGPACK;
139
+ action;
140
+ streamId;
141
+ anchorRef;
142
+ filter;
143
+ heartbeatInterval;
144
+ resumeFromSeq;
145
+ type;
146
+ constructor(opts) {
147
+ this.action = opts.action;
148
+ this.streamId = opts.streamId;
149
+ this.anchorRef = opts.anchorRef;
150
+ this.filter = opts.filter;
151
+ this.heartbeatInterval = opts.heartbeatInterval;
152
+ this.resumeFromSeq = opts.resumeFromSeq !== undefined
153
+ ? BigInt(opts.resumeFromSeq)
154
+ : undefined;
155
+ this.type = opts.type;
156
+ }
157
+ toDict() {
158
+ const d = {
159
+ frame: 0x12,
160
+ action: this.action,
161
+ stream_id: this.streamId,
162
+ };
163
+ if (this.anchorRef !== undefined)
164
+ d["anchor_ref"] = this.anchorRef;
165
+ if (this.filter !== undefined)
166
+ d["filter"] = this.filter;
167
+ if (this.heartbeatInterval !== undefined)
168
+ d["heartbeat_interval"] = this.heartbeatInterval;
169
+ if (this.resumeFromSeq !== undefined)
170
+ d["resume_from_seq"] = this.resumeFromSeq;
171
+ if (this.type !== undefined)
172
+ d["type"] = this.type;
173
+ return d;
174
+ }
175
+ static fromDict(data) {
176
+ const seq = data["resume_from_seq"];
177
+ return new SubscribeFrame({
178
+ action: data["action"],
179
+ streamId: data["stream_id"],
180
+ anchorRef: data["anchor_ref"] ?? undefined,
181
+ filter: data["filter"] ?? undefined,
182
+ heartbeatInterval: data["heartbeat_interval"] ?? undefined,
183
+ resumeFromSeq: seq != null ? BigInt(seq) : undefined,
184
+ type: data["type"] ?? undefined,
185
+ });
186
+ }
187
+ }
188
+ export function asyncActionResponseFromDict(data) {
189
+ const r = {
190
+ taskId: data["task_id"],
191
+ status: data["status"],
192
+ };
193
+ const pollUrl = data["poll_url"];
194
+ if (pollUrl != null)
195
+ r.pollUrl = pollUrl;
196
+ return r;
197
+ }
198
+ //# sourceMappingURL=frames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frames.js","sourceRoot":"","sources":["../../src/nwp/frames.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * from "./frames.js";
2
+ export * from "./manifest.js";
3
+ export * from "./registry.js";
4
+ export * from "./client.js";
5
+ export * from "./anchor-client.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nwp/index.ts"],"names":[],"mappings":"AAGA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
@@ -1,6 +1,8 @@
1
1
  // Copyright 2026 INNO LOTUS PTY LTD
2
2
  // SPDX-License-Identifier: Apache-2.0
3
-
4
3
  export * from "./frames.js";
4
+ export * from "./manifest.js";
5
5
  export * from "./registry.js";
6
6
  export * from "./client.js";
7
+ export * from "./anchor-client.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nwp/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Neural Web Manifest (NWM) — machine-readable capability descriptor exposed at
3
+ * `/.nwm` on every NWP node (NPS-2 §4).
4
+ * MIME type: application/nwp-manifest+json
5
+ */
6
+ export interface NeuralWebManifest {
7
+ /** NWP version string, e.g. `"0.2"`. */
8
+ nwp: string;
9
+ /** Node NID in `urn:nps:node:{host}:{path}` format. */
10
+ node_id: string;
11
+ /** `"memory"` / `"action"` / `"complex"` / `"anchor"` / `"bridge"`. */
12
+ node_type: string;
13
+ display_name?: string;
14
+ wire_formats: string[];
15
+ preferred_format: string;
16
+ schema_anchors?: Record<string, string>;
17
+ capabilities: NodeCapabilities;
18
+ data_sources?: string[];
19
+ auth: NodeAuth;
20
+ endpoints: NodeEndpoints;
21
+ tokenizer_support?: string[];
22
+ graph?: NodeGraph;
23
+ min_assurance_level?: string;
24
+ token_budget?: NwmTokenBudget;
25
+ }
26
+ /** Capability flags advertised in the NWM (NPS-2 §4.2). */
27
+ export interface NodeCapabilities {
28
+ query: boolean;
29
+ stream?: boolean;
30
+ subscribe?: boolean;
31
+ vector_search?: boolean;
32
+ token_budget_hint?: boolean;
33
+ ext_frame?: boolean;
34
+ stream_query?: boolean;
35
+ aggregate?: boolean;
36
+ subscribe_filter?: boolean;
37
+ e2e_enc?: boolean;
38
+ }
39
+ /** Authentication requirements declared in the NWM (NPS-2 §4.3). */
40
+ export interface NodeAuth {
41
+ required: boolean;
42
+ identity_type?: string;
43
+ trusted_issuers?: string[];
44
+ required_capabilities?: string[];
45
+ scope_check?: string;
46
+ ocsp_url?: string;
47
+ }
48
+ /** Functional endpoint URLs advertised in the NWM (NPS-2 §4.1). */
49
+ export interface NodeEndpoints {
50
+ query?: string;
51
+ stream?: string;
52
+ invoke?: string;
53
+ schema?: string;
54
+ }
55
+ /** Sub-node graph declaration for Complex Nodes (NPS-2 §9). */
56
+ export interface NodeGraph {
57
+ refs: NodeGraphRef[];
58
+ max_depth?: number;
59
+ }
60
+ export interface NodeGraphRef {
61
+ rel: string;
62
+ node: string;
63
+ }
64
+ /** CGN budget block published in the NWM (token-budget.md §7.1). */
65
+ export interface NwmTokenBudget {
66
+ cgn_limit: number;
67
+ profile?: string;
68
+ }
69
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/nwp/manifest.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,GAAG,EAAgB,MAAM,CAAC;IAC1B,uDAAuD;IACvD,OAAO,EAAY,MAAM,CAAC;IAC1B,uEAAuE;IACvE,SAAS,EAAU,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAM,MAAM,CAAC;IAC1B,YAAY,EAAO,MAAM,EAAE,CAAC;IAC5B,gBAAgB,EAAG,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,YAAY,EAAO,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAM,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAe,QAAQ,CAAC;IAC5B,SAAS,EAAU,aAAa,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAa,SAAS,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAM,cAAc,CAAC;CACnC;AAED,2DAA2D;AAC3D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAe,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAa,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAU,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAM,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAU,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAO,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAU,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAG,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAY,OAAO,CAAC;CAC7B;AAED,oEAAoE;AACpE,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAe,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAS,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAO,MAAM,EAAE,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,WAAW,CAAC,EAAW,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAc,MAAM,CAAC;CAC/B;AAED,mEAAmE;AACnE,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAI,MAAM,CAAC;IACjB,MAAM,CAAC,EAAG,MAAM,CAAC;IACjB,MAAM,CAAC,EAAG,MAAM,CAAC;IACjB,MAAM,CAAC,EAAG,MAAM,CAAC;CAClB;AAED,+DAA+D;AAC/D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAQ,YAAY,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAG,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAG,MAAM,CAAC;CACnB"}
@@ -0,0 +1,4 @@
1
+ // Copyright 2026 INNO LOTUS PTY LTD
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export {};
4
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/nwp/manifest.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC"}
@@ -0,0 +1,3 @@
1
+ import { FrameRegistry } from "../core/registry.js";
2
+ export declare function registerNwpFrames(registry: FrameRegistry): void;
3
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/nwp/registry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAI/D"}