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

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 (365) hide show
  1. package/CHANGELOG.cn.md +115 -0
  2. package/CHANGELOG.md +124 -0
  3. package/README.cn.md +3 -1
  4. package/README.md +3 -1
  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 +81 -0
  54. package/dist/core/frames.d.ts.map +1 -0
  55. package/dist/core/frames.js +154 -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 +22 -0
  258. package/dist/nwp/client.d.ts.map +1 -0
  259. package/dist/nwp/client.js +101 -0
  260. package/dist/nwp/client.js.map +1 -0
  261. package/dist/nwp/frames.d.ts +46 -0
  262. package/dist/nwp/frames.d.ts.map +1 -0
  263. package/dist/nwp/frames.js +81 -0
  264. package/dist/nwp/frames.js.map +1 -0
  265. package/dist/nwp/index.d.ts +5 -0
  266. package/dist/nwp/index.d.ts.map +1 -0
  267. package/{src/nwp/index.ts → dist/nwp/index.js} +2 -1
  268. package/dist/nwp/index.js.map +1 -0
  269. package/dist/nwp/registry.d.ts +3 -0
  270. package/dist/nwp/registry.d.ts.map +1 -0
  271. package/dist/nwp/registry.js +9 -0
  272. package/dist/nwp/registry.js.map +1 -0
  273. package/dist/setup.d.ts +10 -0
  274. package/dist/setup.d.ts.map +1 -0
  275. package/{src/setup.ts → dist/setup.js} +13 -16
  276. package/dist/setup.js.map +1 -0
  277. package/package.json +12 -1
  278. package/CONTRIBUTING.cn.md +0 -35
  279. package/CONTRIBUTING.md +0 -35
  280. package/nip-ca-server/Dockerfile +0 -27
  281. package/nip-ca-server/README.md +0 -45
  282. package/nip-ca-server/db/001_init.sql +0 -25
  283. package/nip-ca-server/docker-compose.yml +0 -29
  284. package/nip-ca-server/package.json +0 -23
  285. package/nip-ca-server/src/ca.ts +0 -155
  286. package/nip-ca-server/src/db.ts +0 -104
  287. package/nip-ca-server/src/index.ts +0 -157
  288. package/nip-ca-server/tsconfig.json +0 -13
  289. package/src/core/anchor-cache.ts +0 -129
  290. package/src/core/cache.ts +0 -93
  291. package/src/core/canonical-json.ts +0 -50
  292. package/src/core/codec.ts +0 -158
  293. package/src/core/codecs/ncp-codec.ts +0 -170
  294. package/src/core/crypto-provider.ts +0 -47
  295. package/src/core/exceptions.ts +0 -57
  296. package/src/core/frame-header.ts +0 -282
  297. package/src/core/frame-registry.ts +0 -91
  298. package/src/core/frames.ts +0 -184
  299. package/src/core/registry.ts +0 -28
  300. package/src/core/status-codes.ts +0 -47
  301. package/src/ncp/frames/anchor-frame.ts +0 -87
  302. package/src/ncp/frames/caps-frame.ts +0 -59
  303. package/src/ncp/frames/diff-frame.ts +0 -69
  304. package/src/ncp/frames/error-frame.ts +0 -26
  305. package/src/ncp/frames/hello-frame.ts +0 -50
  306. package/src/ncp/frames/stream-frame.ts +0 -35
  307. package/src/ncp/frames.ts +0 -251
  308. package/src/ncp/handshake.ts +0 -95
  309. package/src/ncp/ncp-error-codes.ts +0 -36
  310. package/src/ncp/ncp-patch-format.ts +0 -16
  311. package/src/ncp/preamble.ts +0 -79
  312. package/src/ncp/registry.ts +0 -15
  313. package/src/ncp/stream-manager.ts +0 -212
  314. package/src/ndp/dns-txt.ts +0 -86
  315. package/src/ndp/frames.ts +0 -124
  316. package/src/ndp/ndp-registry.ts +0 -116
  317. package/src/ndp/registry.ts +0 -12
  318. package/src/ndp/validator.ts +0 -64
  319. package/src/nip/acme/client.ts +0 -185
  320. package/src/nip/acme/jws.ts +0 -109
  321. package/src/nip/acme/messages.ts +0 -85
  322. package/src/nip/acme/server.ts +0 -480
  323. package/src/nip/acme/wire.ts +0 -24
  324. package/src/nip/assurance-level.ts +0 -40
  325. package/src/nip/cert-format.ts +0 -9
  326. package/src/nip/frames.ts +0 -138
  327. package/src/nip/identity.ts +0 -113
  328. package/src/nip/registry.ts +0 -12
  329. package/src/nip/verifier.ts +0 -122
  330. package/src/nip/x509/builder.ts +0 -91
  331. package/src/nip/x509/verifier.ts +0 -214
  332. package/src/nop/client.ts +0 -103
  333. package/src/nop/frames.ts +0 -181
  334. package/src/nop/models.ts +0 -79
  335. package/src/nop/nop-types.ts +0 -208
  336. package/src/nop/registry.ts +0 -13
  337. package/src/nwp/client.ts +0 -114
  338. package/src/nwp/frames.ts +0 -116
  339. package/src/nwp/registry.ts +0 -11
  340. package/tests/_rfc0002-keys.ts +0 -57
  341. package/tests/core/anchor-cache.test.ts +0 -242
  342. package/tests/core/codec.test.ts +0 -205
  343. package/tests/core/frame-registry.test.ts +0 -46
  344. package/tests/core.test.ts +0 -327
  345. package/tests/ncp/diff-binary-bitset.test.ts +0 -107
  346. package/tests/ncp/e2e-enc-reject.test.ts +0 -93
  347. package/tests/ncp/err-error-frame.test.ts +0 -152
  348. package/tests/ncp/frames.test.ts +0 -359
  349. package/tests/ncp/framing.test.ts +0 -233
  350. package/tests/ncp/hello-frame.test.ts +0 -122
  351. package/tests/ncp/inline-anchor.test.ts +0 -88
  352. package/tests/ncp/preamble.test.ts +0 -93
  353. package/tests/ncp/security.test.ts +0 -184
  354. package/tests/ncp/stream-window.test.ts +0 -167
  355. package/tests/ncp/stream.test.ts +0 -242
  356. package/tests/ncp/version-negotiation.test.ts +0 -123
  357. package/tests/ndp.test.ts +0 -377
  358. package/tests/nip-acme-agent01.test.ts +0 -192
  359. package/tests/nip-x509.test.ts +0 -280
  360. package/tests/nip.test.ts +0 -184
  361. package/tests/nop.test.ts +0 -344
  362. package/tests/nwp.test.ts +0 -237
  363. package/tsconfig.json +0 -20
  364. package/tsup.config.ts +0 -20
  365. 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,22 @@
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 } from "./frames.js";
6
+ import type { AnchorFrame } from "../ncp/frames.js";
7
+ import type { QueryFrame } from "./frames.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
+ sendAnchor(frame: AnchorFrame): Promise<void>;
18
+ query(frame: QueryFrame): Promise<CapsFrame>;
19
+ stream(frame: QueryFrame): AsyncGenerator<StreamFrame>;
20
+ invoke(frame: ActionFrame): Promise<unknown>;
21
+ }
22
+ //# 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,EAA+B,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAuB,MAAM,aAAa,CAAC;AAInE,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;IAevF,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7C,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAiB3C,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,CAAC,WAAW,CAAC;IAwBvD,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;CAoBnD"}
@@ -0,0 +1,101 @@
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
+ const CONTENT_TYPE = "application/x-nps-frame";
14
+ export class NwpClient {
15
+ _baseUrl;
16
+ _codec;
17
+ _tier;
18
+ constructor(baseUrl, options = {}) {
19
+ this._baseUrl = baseUrl.replace(/\/$/, "");
20
+ this._tier = options.defaultTier ?? EncodingTier.MSGPACK;
21
+ const registry = options.registry ?? (() => {
22
+ const r = new FrameRegistry();
23
+ registerNcpFrames(r);
24
+ registerNwpFrames(r);
25
+ return r;
26
+ })();
27
+ const codecOpts = options.maxPayload !== undefined ? { maxPayload: options.maxPayload } : {};
28
+ this._codec = new NpsFrameCodec(registry, codecOpts);
29
+ }
30
+ async sendAnchor(frame) {
31
+ const wire = this._codec.encode(frame, { overrideTier: this._tier });
32
+ const res = await fetch(`${this._baseUrl}/anchor`, {
33
+ method: "POST",
34
+ body: wire,
35
+ headers: { "Content-Type": CONTENT_TYPE, "Accept": CONTENT_TYPE },
36
+ });
37
+ if (!res.ok)
38
+ throw new Error(`NWP /anchor failed: HTTP ${res.status}`);
39
+ }
40
+ async query(frame) {
41
+ const wire = this._codec.encode(frame, { overrideTier: this._tier });
42
+ const res = await fetch(`${this._baseUrl}/query`, {
43
+ method: "POST",
44
+ body: wire,
45
+ headers: { "Content-Type": CONTENT_TYPE, "Accept": CONTENT_TYPE },
46
+ });
47
+ if (!res.ok)
48
+ throw new Error(`NWP /query failed: HTTP ${res.status}`);
49
+ const buf = new Uint8Array(await res.arrayBuffer());
50
+ const result = this._codec.decode(buf);
51
+ if (!(result instanceof CapsFrame)) {
52
+ throw new TypeError(`Expected CapsFrame from /query, got ${result.constructor.name}.`);
53
+ }
54
+ return result;
55
+ }
56
+ async *stream(frame) {
57
+ const wire = this._codec.encode(frame, { overrideTier: this._tier });
58
+ const res = await fetch(`${this._baseUrl}/stream`, {
59
+ method: "POST",
60
+ body: wire,
61
+ headers: { "Content-Type": CONTENT_TYPE, "Accept": CONTENT_TYPE },
62
+ });
63
+ if (!res.ok)
64
+ throw new Error(`NWP /stream failed: HTTP ${res.status}`);
65
+ if (res.body === null)
66
+ return;
67
+ const { StreamFrame: SF } = await import("../ncp/frames.js");
68
+ for await (const chunk of res.body) {
69
+ const bytes = chunk instanceof Uint8Array ? chunk : new Uint8Array(chunk);
70
+ if (bytes.length === 0)
71
+ continue;
72
+ const result = this._codec.decode(bytes);
73
+ if (!(result instanceof SF)) {
74
+ throw new TypeError(`Expected StreamFrame from /stream, got ${result.constructor.name}.`);
75
+ }
76
+ yield result;
77
+ if (result.isLast)
78
+ break;
79
+ }
80
+ }
81
+ async invoke(frame) {
82
+ const wire = this._codec.encode(frame, { overrideTier: this._tier });
83
+ const res = await fetch(`${this._baseUrl}/invoke`, {
84
+ method: "POST",
85
+ body: wire,
86
+ headers: { "Content-Type": CONTENT_TYPE, "Accept": CONTENT_TYPE },
87
+ });
88
+ if (!res.ok)
89
+ throw new Error(`NWP /invoke failed: HTTP ${res.status}`);
90
+ if (frame.async_) {
91
+ return asyncActionResponseFromDict(await res.json());
92
+ }
93
+ const contentType = res.headers.get("content-type") ?? "";
94
+ if (contentType.includes(CONTENT_TYPE)) {
95
+ const buf = new Uint8Array(await res.arrayBuffer());
96
+ return this._codec.decode(buf);
97
+ }
98
+ return res.json();
99
+ }
100
+ }
101
+ //# 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,46 @@
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
+ vector: readonly number[];
9
+ topK?: number;
10
+ minScore?: number;
11
+ vectorField?: string;
12
+ }
13
+ export declare class QueryFrame implements NpsFrame {
14
+ readonly anchorRef?: string | undefined;
15
+ readonly filter?: Record<string, unknown> | undefined;
16
+ readonly limit?: number | undefined;
17
+ readonly offset?: number | undefined;
18
+ readonly orderBy?: readonly QueryOrderClause[] | undefined;
19
+ readonly fields?: readonly string[] | undefined;
20
+ readonly vectorSearch?: VectorSearchOptions | undefined;
21
+ readonly depth?: number | undefined;
22
+ readonly frameType = FrameType.QUERY;
23
+ readonly preferredTier = EncodingTier.MSGPACK;
24
+ constructor(anchorRef?: string | undefined, filter?: Record<string, unknown> | undefined, limit?: number | undefined, offset?: number | undefined, orderBy?: readonly QueryOrderClause[] | undefined, fields?: readonly string[] | undefined, vectorSearch?: VectorSearchOptions | undefined, depth?: number | undefined);
25
+ toDict(): Record<string, unknown>;
26
+ static fromDict(data: Record<string, unknown>): QueryFrame;
27
+ }
28
+ export declare class ActionFrame implements NpsFrame {
29
+ readonly actionId: string;
30
+ readonly params?: Record<string, unknown> | undefined;
31
+ readonly async_?: boolean | undefined;
32
+ readonly idempotencyKey?: string | undefined;
33
+ readonly timeoutMs?: number | undefined;
34
+ readonly frameType = FrameType.ACTION;
35
+ readonly preferredTier = EncodingTier.MSGPACK;
36
+ constructor(actionId: string, params?: Record<string, unknown> | undefined, async_?: boolean | undefined, idempotencyKey?: string | undefined, timeoutMs?: number | undefined);
37
+ toDict(): Record<string, unknown>;
38
+ static fromDict(data: Record<string, unknown>): ActionFrame;
39
+ }
40
+ export interface AsyncActionResponse {
41
+ taskId: string;
42
+ status: string;
43
+ pollUrl?: string | undefined;
44
+ }
45
+ export declare function asyncActionResponseFromDict(data: Record<string, unknown>): AsyncActionResponse;
46
+ //# sourceMappingURL=frames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frames.d.ts","sourceRoot":"","sources":["../../src/nwp/frames.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAI,KAAK,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAO,SAAS,MAAM,EAAE,CAAC;IAC/B,IAAI,CAAC,EAAQ,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAI,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAID,qBAAa,UAAW,YAAW,QAAQ;aAKvB,SAAS,CAAC,EAAK,MAAM;aACrB,MAAM,CAAC,EAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;aACtC,KAAK,CAAC,EAAS,MAAM;aACrB,MAAM,CAAC,EAAQ,MAAM;aACrB,OAAO,CAAC,EAAO,SAAS,gBAAgB,EAAE;aAC1C,MAAM,CAAC,EAAQ,SAAS,MAAM,EAAE;aAChC,YAAY,CAAC,EAAE,mBAAmB;aAClC,KAAK,CAAC,EAAS,MAAM;IAXvC,QAAQ,CAAC,SAAS,mBAAuB;IACzC,QAAQ,CAAC,aAAa,wBAAwB;gBAG5B,SAAS,CAAC,EAAK,MAAM,YAAA,EACrB,MAAM,CAAC,EAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA,EACtC,KAAK,CAAC,EAAS,MAAM,YAAA,EACrB,MAAM,CAAC,EAAQ,MAAM,YAAA,EACrB,OAAO,CAAC,EAAO,SAAS,gBAAgB,EAAE,YAAA,EAC1C,MAAM,CAAC,EAAQ,SAAS,MAAM,EAAE,YAAA,EAChC,YAAY,CAAC,EAAE,mBAAmB,YAAA,EAClC,KAAK,CAAC,EAAS,MAAM,YAAA;IAGvC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAajC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU;CAY3D;AAID,qBAAa,WAAY,YAAW,QAAQ;aAKxB,QAAQ,EAAS,MAAM;aACvB,MAAM,CAAC,EAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;aACxC,MAAM,CAAC,EAAU,OAAO;aACxB,cAAc,CAAC,EAAE,MAAM;aACvB,SAAS,CAAC,EAAO,MAAM;IARzC,QAAQ,CAAC,SAAS,oBAAwB;IAC1C,QAAQ,CAAC,aAAa,wBAAwB;gBAG5B,QAAQ,EAAS,MAAM,EACvB,MAAM,CAAC,EAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA,EACxC,MAAM,CAAC,EAAU,OAAO,YAAA,EACxB,cAAc,CAAC,EAAE,MAAM,YAAA,EACvB,SAAS,CAAC,EAAO,MAAM,YAAA;IAGzC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAUjC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW;CAS5D;AAID,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAK,MAAM,CAAC;IAClB,MAAM,EAAK,MAAM,CAAC;IAClB,OAAO,CAAC,EAAG,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,mBAAmB,CAQ9F"}
@@ -0,0 +1,81 @@
1
+ // Copyright 2026 INNO LOTUS PTY LTD
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { EncodingTier, FrameType } from "../core/frames.js";
4
+ // ── QueryFrame ────────────────────────────────────────────────────────────────
5
+ export class QueryFrame {
6
+ anchorRef;
7
+ filter;
8
+ limit;
9
+ offset;
10
+ orderBy;
11
+ fields;
12
+ vectorSearch;
13
+ depth;
14
+ frameType = FrameType.QUERY;
15
+ preferredTier = EncodingTier.MSGPACK;
16
+ constructor(anchorRef, filter, limit, offset, orderBy, fields, vectorSearch, depth) {
17
+ this.anchorRef = anchorRef;
18
+ this.filter = filter;
19
+ this.limit = limit;
20
+ this.offset = offset;
21
+ this.orderBy = orderBy;
22
+ this.fields = fields;
23
+ this.vectorSearch = vectorSearch;
24
+ this.depth = depth;
25
+ }
26
+ toDict() {
27
+ return {
28
+ anchor_ref: this.anchorRef ?? null,
29
+ filter: this.filter ?? null,
30
+ limit: this.limit ?? null,
31
+ offset: this.offset ?? null,
32
+ order_by: this.orderBy ?? null,
33
+ fields: this.fields ?? null,
34
+ vector_search: this.vectorSearch ?? null,
35
+ depth: this.depth ?? null,
36
+ };
37
+ }
38
+ static fromDict(data) {
39
+ return new QueryFrame(data["anchor_ref"] ?? undefined, data["filter"] ?? undefined, data["limit"] ?? undefined, data["offset"] ?? undefined, data["order_by"] ?? undefined, data["fields"] ?? undefined, data["vector_search"] ?? undefined, data["depth"] ?? undefined);
40
+ }
41
+ }
42
+ // ── ActionFrame ───────────────────────────────────────────────────────────────
43
+ export class ActionFrame {
44
+ actionId;
45
+ params;
46
+ async_;
47
+ idempotencyKey;
48
+ timeoutMs;
49
+ frameType = FrameType.ACTION;
50
+ preferredTier = EncodingTier.MSGPACK;
51
+ constructor(actionId, params, async_, idempotencyKey, timeoutMs) {
52
+ this.actionId = actionId;
53
+ this.params = params;
54
+ this.async_ = async_;
55
+ this.idempotencyKey = idempotencyKey;
56
+ this.timeoutMs = timeoutMs;
57
+ }
58
+ toDict() {
59
+ return {
60
+ action_id: this.actionId,
61
+ params: this.params ?? null,
62
+ async: this.async_ ?? false,
63
+ idempotency_key: this.idempotencyKey ?? null,
64
+ timeout_ms: this.timeoutMs ?? null,
65
+ };
66
+ }
67
+ static fromDict(data) {
68
+ return new ActionFrame(data["action_id"], data["params"] ?? undefined, data["async"] ?? undefined, data["idempotency_key"] ?? undefined, data["timeout_ms"] ?? undefined);
69
+ }
70
+ }
71
+ export function asyncActionResponseFromDict(data) {
72
+ const r = {
73
+ taskId: data["task_id"],
74
+ status: data["status"],
75
+ };
76
+ const pollUrl = data["poll_url"];
77
+ if (pollUrl != null)
78
+ r.pollUrl = pollUrl;
79
+ return r;
80
+ }
81
+ //# 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,5 @@
1
+ export * from "./frames.js";
2
+ export * from "./registry.js";
3
+ export * from "./client.js";
4
+ export * from "./anchor-client.js";
5
+ //# 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,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  // Copyright 2026 INNO LOTUS PTY LTD
2
2
  // SPDX-License-Identifier: Apache-2.0
3
-
4
3
  export * from "./frames.js";
5
4
  export * from "./registry.js";
6
5
  export * from "./client.js";
6
+ export * from "./anchor-client.js";
7
+ //# 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,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
@@ -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,CAG/D"}
@@ -0,0 +1,9 @@
1
+ // Copyright 2026 INNO LOTUS PTY LTD
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { FrameType } from "../core/frames.js";
4
+ import { ActionFrame, QueryFrame } from "./frames.js";
5
+ export function registerNwpFrames(registry) {
6
+ registry.register(FrameType.QUERY, QueryFrame);
7
+ registry.register(FrameType.ACTION, ActionFrame);
8
+ }
9
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/nwp/registry.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAGtC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,UAAU,iBAAiB,CAAC,QAAuB;IACvD,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAG,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACnD,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Registry factory helpers — lives outside core/ to avoid circular imports.
3
+ * Use createDefaultRegistry() for NCP-only, createFullRegistry() for all protocols.
4
+ */
5
+ import { FrameRegistry } from "./core/registry.js";
6
+ /** NCP frames only (ANCHOR, DIFF, STREAM, CAPS, ERROR). */
7
+ export declare function createDefaultRegistry(): FrameRegistry;
8
+ /** All 5 protocols (NCP + NWP + NIP + NDP + NOP). */
9
+ export declare function createFullRegistry(): FrameRegistry;
10
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOnD,2DAA2D;AAC3D,wBAAgB,qBAAqB,IAAI,aAAa,CAIrD;AAED,qDAAqD;AACrD,wBAAgB,kBAAkB,IAAI,aAAa,CAQlD"}
@@ -1,32 +1,29 @@
1
1
  // Copyright 2026 INNO LOTUS PTY LTD
2
2
  // SPDX-License-Identifier: Apache-2.0
3
-
4
3
  /**
5
4
  * Registry factory helpers — lives outside core/ to avoid circular imports.
6
5
  * Use createDefaultRegistry() for NCP-only, createFullRegistry() for all protocols.
7
6
  */
8
-
9
7
  import { FrameRegistry } from "./core/registry.js";
10
8
  import { registerNcpFrames } from "./ncp/registry.js";
11
9
  import { registerNwpFrames } from "./nwp/registry.js";
12
10
  import { registerNipFrames } from "./nip/registry.js";
13
11
  import { registerNdpFrames } from "./ndp/registry.js";
14
12
  import { registerNopFrames } from "./nop/registry.js";
15
-
16
13
  /** NCP frames only (ANCHOR, DIFF, STREAM, CAPS, ERROR). */
17
- export function createDefaultRegistry(): FrameRegistry {
18
- const r = new FrameRegistry();
19
- registerNcpFrames(r);
20
- return r;
14
+ export function createDefaultRegistry() {
15
+ const r = new FrameRegistry();
16
+ registerNcpFrames(r);
17
+ return r;
21
18
  }
22
-
23
19
  /** All 5 protocols (NCP + NWP + NIP + NDP + NOP). */
24
- export function createFullRegistry(): FrameRegistry {
25
- const r = new FrameRegistry();
26
- registerNcpFrames(r);
27
- registerNwpFrames(r);
28
- registerNipFrames(r);
29
- registerNdpFrames(r);
30
- registerNopFrames(r);
31
- return r;
20
+ export function createFullRegistry() {
21
+ const r = new FrameRegistry();
22
+ registerNcpFrames(r);
23
+ registerNwpFrames(r);
24
+ registerNipFrames(r);
25
+ registerNdpFrames(r);
26
+ registerNopFrames(r);
27
+ return r;
32
28
  }
29
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,2DAA2D;AAC3D,MAAM,UAAU,qBAAqB;IACnC,MAAM,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC;IAC9B,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,CAAC,CAAC;AACX,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,kBAAkB;IAChC,MAAM,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC;IAC9B,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACrB,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACrB,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACrB,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACrB,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,CAAC,CAAC;AACX,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@labacacia/nps-sdk",
3
- "version": "1.0.0-alpha.6",
3
+ "version": "1.0.0-alpha.7",
4
4
  "description": "TypeScript SDK for the Neural Protocol Suite (NPS) — NCP, NWP, NIP, NDP, NOP",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -37,10 +37,21 @@
37
37
  },
38
38
  "scripts": {
39
39
  "build": "tsc",
40
+ "prepack": "npm run build && node scripts/verify-pack.mjs",
40
41
  "test": "vitest run",
41
42
  "test:watch": "vitest",
42
43
  "typecheck": "tsc --noEmit"
43
44
  },
45
+ "files": [
46
+ "dist/",
47
+ "doc/",
48
+ "README.md",
49
+ "README.cn.md",
50
+ "CHANGELOG.md",
51
+ "CHANGELOG.cn.md",
52
+ "LICENSE",
53
+ "NOTICE"
54
+ ],
44
55
  "repository": {
45
56
  "type": "git",
46
57
  "url": "https://github.com/labacacia/NPS-sdk-ts.git"
@@ -1,35 +0,0 @@
1
- [English Version](./CONTRIBUTING.md) | 中文版
2
-
3
- # 为 NPS 贡献代码
4
-
5
- 感谢你有兴趣为 Neural Protocol Suite 做出贡献。
6
-
7
- ## Issue 前缀
8
-
9
- | 前缀 | 用途 |
10
- |------|------|
11
- | `spec:` | 规范问题与设计讨论 |
12
- | `impl:` | 实现 Bug 与修复 |
13
- | `sdk:` | SDK 相关(Python / TypeScript 等) |
14
- | `docs:` | 文档改进 |
15
-
16
- ## 工作流
17
-
18
- 1. 任何非平凡的变更先开 Issue
19
- 2. Fork 仓库并创建分支:`feature/your-feature` 或 `fix/your-fix`
20
- 3. 提交 Pull Request 并关联对应的 Issue
21
-
22
- ## 规范变更
23
-
24
- 对 `spec/` 目录下文件的变更必须先开讨论 Issue 才能接受 PR。
25
- 涉及线缆格式或帧结构的规范变更必须同时做版本号升级。
26
-
27
- ## 代码风格
28
-
29
- - **C# / .NET**:遵循 Microsoft 标准 C# 约定,开启 Nullable
30
- - **Python**:PEP 8,必须带类型标注
31
- - **TypeScript**:开启严格模式
32
-
33
- ## 许可证
34
-
35
- 一旦提交贡献,你即同意贡献内容按 Apache 2.0 许可证授权。
package/CONTRIBUTING.md DELETED
@@ -1,35 +0,0 @@
1
- English | [中文版](./CONTRIBUTING.cn.md)
2
-
3
- # Contributing to NPS
4
-
5
- Thank you for your interest in contributing to the Neural Protocol Suite.
6
-
7
- ## Issue Prefixes
8
-
9
- | Prefix | Usage |
10
- |--------|-------|
11
- | `spec:` | Specification questions and design discussions |
12
- | `impl:` | Implementation bugs and fixes |
13
- | `sdk:` | SDK (Python / TypeScript) related |
14
- | `docs:` | Documentation improvements |
15
-
16
- ## Workflow
17
-
18
- 1. Open an Issue first for any non-trivial change
19
- 2. Fork the repo and create a branch: `feature/your-feature` or `fix/your-fix`
20
- 3. Submit a Pull Request referencing the Issue
21
-
22
- ## Spec Changes
23
-
24
- Changes to files under `spec/` require a discussion Issue before a PR is accepted.
25
- Spec changes that affect wire format or frame structure require a version bump.
26
-
27
- ## Code Style
28
-
29
- - **C# / .NET**: Follow standard Microsoft C# conventions, nullable enabled
30
- - **Python**: PEP 8, type hints required
31
- - **TypeScript**: Strict mode enabled
32
-
33
- ## License
34
-
35
- By contributing, you agree your contributions will be licensed under Apache 2.0.
@@ -1,27 +0,0 @@
1
- FROM node:22-alpine AS build
2
- WORKDIR /app
3
- COPY package*.json ./
4
- RUN npm ci
5
- COPY tsconfig.json .
6
- COPY src ./src
7
- COPY db ./db
8
- RUN npm run build
9
-
10
- FROM node:22-alpine AS runtime
11
- WORKDIR /app
12
-
13
- RUN addgroup -g 1001 nipca \
14
- && adduser -u 1001 -G nipca -D nipca \
15
- && mkdir -p /data && chown nipca:nipca /data
16
-
17
- COPY --from=build /app/dist ./dist
18
- COPY --from=build /app/node_modules ./node_modules
19
- COPY db ./db
20
-
21
- USER nipca
22
- EXPOSE 17440
23
-
24
- HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
25
- CMD wget -qO- http://localhost:17440/health || exit 1
26
-
27
- CMD ["node", "dist/index.js"]
@@ -1,45 +0,0 @@
1
- # NIP CA Server — TypeScript
2
-
3
- Fastify + better-sqlite3 implementation of the NIP Certificate Authority (NPS-3 §8).
4
-
5
- ## Quick Start
6
-
7
- ```bash
8
- docker compose up -d
9
- ```
10
-
11
- ## Environment Variables
12
-
13
- | Variable | Required | Default | Description |
14
- |----------|----------|---------|-------------|
15
- | `NIP_CA_NID` | Yes | — | CA NID |
16
- | `NIP_CA_PASSPHRASE` | Yes | — | Key file passphrase |
17
- | `NIP_CA_BASE_URL` | Yes | — | Public base URL |
18
- | `NIP_CA_DISPLAY_NAME` | No | `NPS CA` | |
19
- | `NIP_CA_KEY_FILE` | No | `/data/ca.key.enc` | |
20
- | `NIP_CA_DB_PATH` | No | `/data/ca.db` | |
21
- | `NIP_CA_AGENT_VALIDITY_DAYS` | No | `30` | |
22
- | `NIP_CA_NODE_VALIDITY_DAYS` | No | `90` | |
23
- | `NIP_CA_RENEWAL_WINDOW_DAYS` | No | `7` | |
24
- | `PORT` | No | `17440` | |
25
-
26
- ## API
27
-
28
- Same endpoints as all other NIP CA Server implementations — see [NPS-3 §8](https://github.com/labacacia/NPS-Release/blob/main/spec/NPS-3-NIP.md).
29
-
30
- ## Local Development
31
-
32
- ```bash
33
- npm install
34
- NIP_CA_NID=urn:nps:org:ca.local \
35
- NIP_CA_PASSPHRASE=dev-pass \
36
- NIP_CA_BASE_URL=http://localhost:17440 \
37
- npm run dev
38
- ```
39
-
40
- ## Stack
41
-
42
- - **Runtime**: Node.js 22
43
- - **Framework**: Fastify
44
- - **Crypto**: Node.js built-in `crypto` (Ed25519 + AES-256-GCM + PBKDF2)
45
- - **Storage**: better-sqlite3
@@ -1,25 +0,0 @@
1
- -- NIP CA Server — SQLite schema
2
- -- NPS-3 §8 | Copyright 2026 INNO LOTUS PTY LTD | Apache-2.0
3
-
4
- CREATE TABLE IF NOT EXISTS nip_certificates (
5
- id INTEGER PRIMARY KEY AUTOINCREMENT,
6
- nid TEXT NOT NULL,
7
- entity_type TEXT NOT NULL CHECK (entity_type IN ('agent','node','operator')),
8
- serial TEXT NOT NULL UNIQUE,
9
- pub_key TEXT NOT NULL,
10
- capabilities TEXT NOT NULL DEFAULT '[]',
11
- scope_json TEXT NOT NULL DEFAULT '{}',
12
- issued_by TEXT NOT NULL,
13
- issued_at TEXT NOT NULL,
14
- expires_at TEXT NOT NULL,
15
- revoked_at TEXT,
16
- revoke_reason TEXT,
17
- metadata_json TEXT,
18
- created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%SZ','now'))
19
- );
20
-
21
- CREATE INDEX IF NOT EXISTS idx_nip_certs_nid ON nip_certificates (nid, issued_at DESC);
22
- CREATE INDEX IF NOT EXISTS idx_nip_certs_serial ON nip_certificates (serial);
23
- CREATE INDEX IF NOT EXISTS idx_nip_certs_revoked ON nip_certificates (revoked_at)
24
- WHERE revoked_at IS NOT NULL;
25
- CREATE INDEX IF NOT EXISTS idx_nip_certs_expires ON nip_certificates (expires_at);
@@ -1,29 +0,0 @@
1
- version: "3.9"
2
-
3
- services:
4
- nip-ca:
5
- build: .
6
- restart: unless-stopped
7
- ports:
8
- - "${NIP_PORT:-17440}:17440"
9
- volumes:
10
- - ca_data:/data
11
- environment:
12
- NIP_CA_NID: ${NIP_CA_NID:?NIP_CA_NID is required}
13
- NIP_CA_PASSPHRASE: ${NIP_CA_PASSPHRASE:?NIP_CA_PASSPHRASE is required}
14
- NIP_CA_BASE_URL: ${NIP_CA_BASE_URL:?NIP_CA_BASE_URL is required}
15
- NIP_CA_DISPLAY_NAME: ${NIP_CA_DISPLAY_NAME:-NPS CA}
16
- NIP_CA_KEY_FILE: /data/ca.key.enc
17
- NIP_CA_DB_PATH: /data/ca.db
18
- NIP_CA_AGENT_VALIDITY_DAYS: ${NIP_CA_AGENT_VALIDITY_DAYS:-30}
19
- NIP_CA_NODE_VALIDITY_DAYS: ${NIP_CA_NODE_VALIDITY_DAYS:-90}
20
- NIP_CA_RENEWAL_WINDOW_DAYS: ${NIP_CA_RENEWAL_WINDOW_DAYS:-7}
21
- healthcheck:
22
- test: ["CMD", "wget", "-qO-", "http://localhost:17440/health"]
23
- interval: 30s
24
- timeout: 5s
25
- retries: 3
26
- start_period: 10s
27
-
28
- volumes:
29
- ca_data: