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

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 (452) hide show
  1. package/CHANGELOG.cn.md +181 -0
  2. package/CHANGELOG.md +234 -0
  3. package/LICENSE +0 -0
  4. package/NOTICE +0 -0
  5. package/README.cn.md +163 -0
  6. package/README.md +16 -6
  7. package/dist/core/anchor-cache.d.ts +0 -0
  8. package/dist/core/anchor-cache.d.ts.map +0 -0
  9. package/dist/core/anchor-cache.js +0 -0
  10. package/dist/core/anchor-cache.js.map +0 -0
  11. package/dist/core/cache.d.ts +0 -0
  12. package/dist/core/cache.d.ts.map +0 -0
  13. package/dist/core/cache.js +0 -0
  14. package/dist/core/cache.js.map +0 -0
  15. package/dist/core/canonical-json.d.ts +0 -0
  16. package/dist/core/canonical-json.d.ts.map +0 -0
  17. package/dist/core/canonical-json.js +0 -0
  18. package/dist/core/canonical-json.js.map +0 -0
  19. package/dist/core/codec.d.ts +0 -0
  20. package/dist/core/codec.d.ts.map +0 -0
  21. package/dist/core/codec.js +0 -0
  22. package/dist/core/codec.js.map +0 -0
  23. package/dist/core/codecs/index.d.ts +0 -0
  24. package/dist/core/codecs/index.d.ts.map +0 -0
  25. package/dist/core/codecs/index.js +0 -0
  26. package/dist/core/codecs/index.js.map +0 -0
  27. package/dist/core/codecs/ncp-codec.d.ts +0 -0
  28. package/dist/core/codecs/ncp-codec.d.ts.map +0 -0
  29. package/dist/core/codecs/ncp-codec.js +0 -0
  30. package/dist/core/codecs/ncp-codec.js.map +0 -0
  31. package/dist/core/codecs/tier1-json-codec.d.ts +0 -0
  32. package/dist/core/codecs/tier1-json-codec.d.ts.map +0 -0
  33. package/dist/core/codecs/tier1-json-codec.js +0 -0
  34. package/dist/core/codecs/tier1-json-codec.js.map +0 -0
  35. package/dist/core/codecs/tier2-msgpack-codec.d.ts +0 -0
  36. package/dist/core/codecs/tier2-msgpack-codec.d.ts.map +0 -0
  37. package/dist/core/codecs/tier2-msgpack-codec.js +0 -0
  38. package/dist/core/codecs/tier2-msgpack-codec.js.map +0 -0
  39. package/dist/core/crypto-provider.d.ts +0 -0
  40. package/dist/core/crypto-provider.d.ts.map +0 -0
  41. package/dist/core/crypto-provider.js +0 -0
  42. package/dist/core/crypto-provider.js.map +0 -0
  43. package/dist/core/exceptions.d.ts +0 -0
  44. package/dist/core/exceptions.d.ts.map +0 -0
  45. package/dist/core/exceptions.js +0 -0
  46. package/dist/core/exceptions.js.map +0 -0
  47. package/dist/core/frame-header.d.ts +1 -0
  48. package/dist/core/frame-header.d.ts.map +1 -1
  49. package/dist/core/frame-header.js +1 -0
  50. package/dist/core/frame-header.js.map +1 -1
  51. package/dist/core/frame-registry.d.ts +0 -0
  52. package/dist/core/frame-registry.d.ts.map +1 -1
  53. package/dist/core/frame-registry.js +1 -0
  54. package/dist/core/frame-registry.js.map +1 -1
  55. package/dist/core/frames.d.ts +3 -0
  56. package/dist/core/frames.d.ts.map +1 -1
  57. package/dist/core/frames.js +3 -0
  58. package/dist/core/frames.js.map +1 -1
  59. package/dist/core/index.d.ts +6 -4
  60. package/dist/core/index.d.ts.map +1 -1
  61. package/dist/core/index.js +17 -5
  62. package/dist/core/index.js.map +1 -1
  63. package/dist/core/registry.d.ts +0 -0
  64. package/dist/core/registry.d.ts.map +0 -0
  65. package/dist/core/registry.js +0 -0
  66. package/dist/core/registry.js.map +0 -0
  67. package/dist/core/status-codes.d.ts +20 -0
  68. package/dist/core/status-codes.d.ts.map +1 -1
  69. package/dist/core/status-codes.js +51 -0
  70. package/dist/core/status-codes.js.map +1 -1
  71. package/dist/index.d.ts +1 -1
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +1 -1
  74. package/dist/index.js.map +1 -1
  75. package/dist/ncp/frames/anchor-frame.d.ts +0 -0
  76. package/dist/ncp/frames/anchor-frame.d.ts.map +0 -0
  77. package/dist/ncp/frames/anchor-frame.js +0 -0
  78. package/dist/ncp/frames/anchor-frame.js.map +0 -0
  79. package/dist/ncp/frames/caps-frame.d.ts +0 -0
  80. package/dist/ncp/frames/caps-frame.d.ts.map +0 -0
  81. package/dist/ncp/frames/caps-frame.js +0 -0
  82. package/dist/ncp/frames/caps-frame.js.map +0 -0
  83. package/dist/ncp/frames/diff-frame.d.ts +0 -0
  84. package/dist/ncp/frames/diff-frame.d.ts.map +0 -0
  85. package/dist/ncp/frames/diff-frame.js +0 -0
  86. package/dist/ncp/frames/diff-frame.js.map +0 -0
  87. package/dist/ncp/frames/error-frame.d.ts +0 -0
  88. package/dist/ncp/frames/error-frame.d.ts.map +0 -0
  89. package/dist/ncp/frames/error-frame.js +0 -0
  90. package/dist/ncp/frames/error-frame.js.map +0 -0
  91. package/dist/ncp/frames/hello-frame.d.ts +0 -0
  92. package/dist/ncp/frames/hello-frame.d.ts.map +0 -0
  93. package/dist/ncp/frames/hello-frame.js +0 -0
  94. package/dist/ncp/frames/hello-frame.js.map +0 -0
  95. package/dist/ncp/frames/stream-frame.d.ts +0 -0
  96. package/dist/ncp/frames/stream-frame.d.ts.map +0 -0
  97. package/dist/ncp/frames/stream-frame.js +0 -0
  98. package/dist/ncp/frames/stream-frame.js.map +0 -0
  99. package/dist/ncp/frames.d.ts +25 -0
  100. package/dist/ncp/frames.d.ts.map +1 -1
  101. package/dist/ncp/frames.js +61 -0
  102. package/dist/ncp/frames.js.map +1 -1
  103. package/dist/ncp/handshake.d.ts +0 -0
  104. package/dist/ncp/handshake.d.ts.map +0 -0
  105. package/dist/ncp/handshake.js +0 -0
  106. package/dist/ncp/handshake.js.map +0 -0
  107. package/dist/ncp/index.d.ts +1 -0
  108. package/dist/ncp/index.d.ts.map +1 -1
  109. package/dist/ncp/index.js +1 -0
  110. package/dist/ncp/index.js.map +1 -1
  111. package/dist/ncp/ncp-error-codes.d.ts +5 -0
  112. package/dist/ncp/ncp-error-codes.d.ts.map +1 -1
  113. package/dist/ncp/ncp-error-codes.js +27 -0
  114. package/dist/ncp/ncp-error-codes.js.map +1 -1
  115. package/dist/ncp/ncp-patch-format.d.ts +0 -0
  116. package/dist/ncp/ncp-patch-format.d.ts.map +0 -0
  117. package/dist/ncp/ncp-patch-format.js +0 -0
  118. package/dist/ncp/ncp-patch-format.js.map +0 -0
  119. package/dist/ncp/preamble.d.ts +47 -0
  120. package/dist/ncp/preamble.d.ts.map +1 -0
  121. package/dist/ncp/preamble.js +74 -0
  122. package/dist/ncp/preamble.js.map +1 -0
  123. package/dist/ncp/registry.d.ts +0 -0
  124. package/dist/ncp/registry.d.ts.map +1 -1
  125. package/dist/ncp/registry.js +2 -1
  126. package/dist/ncp/registry.js.map +1 -1
  127. package/dist/ncp/stream-manager.d.ts +0 -0
  128. package/dist/ncp/stream-manager.d.ts.map +0 -0
  129. package/dist/ncp/stream-manager.js +0 -0
  130. package/dist/ncp/stream-manager.js.map +0 -0
  131. package/dist/ndp/dns-txt.d.ts +35 -0
  132. package/dist/ndp/dns-txt.d.ts.map +1 -0
  133. package/dist/ndp/dns-txt.js +67 -0
  134. package/dist/ndp/dns-txt.js.map +1 -0
  135. package/dist/ndp/frames.d.ts +34 -9
  136. package/dist/ndp/frames.d.ts.map +1 -1
  137. package/dist/ndp/frames.js +54 -15
  138. package/dist/ndp/frames.js.map +1 -1
  139. package/dist/ndp/index.d.ts +3 -0
  140. package/dist/ndp/index.d.ts.map +1 -1
  141. package/dist/ndp/index.js +3 -0
  142. package/dist/ndp/index.js.map +1 -1
  143. package/dist/ndp/ndp-error-codes.d.ts +25 -0
  144. package/dist/ndp/ndp-error-codes.d.ts.map +1 -0
  145. package/dist/ndp/ndp-error-codes.js +48 -0
  146. package/dist/ndp/ndp-error-codes.js.map +1 -0
  147. package/dist/ndp/ndp-registry.d.ts +2 -0
  148. package/dist/ndp/ndp-registry.d.ts.map +1 -1
  149. package/dist/ndp/ndp-registry.js +25 -0
  150. package/dist/ndp/ndp-registry.js.map +1 -1
  151. package/dist/ndp/registry.d.ts +0 -0
  152. package/dist/ndp/registry.d.ts.map +0 -0
  153. package/dist/ndp/registry.js +0 -0
  154. package/dist/ndp/registry.js.map +0 -0
  155. package/dist/ndp/security.d.ts +8 -0
  156. package/dist/ndp/security.d.ts.map +1 -0
  157. package/dist/ndp/security.js +9 -0
  158. package/dist/ndp/security.js.map +1 -0
  159. package/dist/ndp/validator.d.ts +0 -0
  160. package/dist/ndp/validator.d.ts.map +0 -0
  161. package/dist/ndp/validator.js +0 -0
  162. package/dist/ndp/validator.js.map +0 -0
  163. package/dist/nip/acme/client.d.ts +31 -0
  164. package/dist/nip/acme/client.d.ts.map +1 -0
  165. package/dist/nip/acme/client.js +136 -0
  166. package/dist/nip/acme/client.js.map +1 -0
  167. package/dist/nip/acme/index.d.ts +6 -0
  168. package/dist/nip/acme/index.d.ts.map +1 -0
  169. package/dist/nip/acme/index.js +8 -0
  170. package/dist/nip/acme/index.js.map +1 -0
  171. package/dist/nip/acme/jws.d.ts +31 -0
  172. package/dist/nip/acme/jws.d.ts.map +1 -0
  173. package/dist/nip/acme/jws.js +76 -0
  174. package/dist/nip/acme/jws.js.map +1 -0
  175. package/dist/nip/acme/messages.d.ts +71 -0
  176. package/dist/nip/acme/messages.d.ts.map +1 -0
  177. package/dist/nip/acme/messages.js +4 -0
  178. package/dist/nip/acme/messages.js.map +1 -0
  179. package/dist/nip/acme/server.d.ts +41 -0
  180. package/dist/nip/acme/server.d.ts.map +1 -0
  181. package/dist/nip/acme/server.js +458 -0
  182. package/dist/nip/acme/server.js.map +1 -0
  183. package/dist/nip/acme/wire.d.ts +19 -0
  184. package/dist/nip/acme/wire.d.ts.map +1 -0
  185. package/dist/nip/acme/wire.js +21 -0
  186. package/dist/nip/acme/wire.js.map +1 -0
  187. package/dist/nip/assurance-level.d.ts +19 -0
  188. package/dist/nip/assurance-level.d.ts.map +1 -0
  189. package/dist/nip/assurance-level.js +38 -0
  190. package/dist/nip/assurance-level.js.map +1 -0
  191. package/dist/nip/cert-format.d.ts +5 -0
  192. package/dist/nip/cert-format.d.ts.map +1 -0
  193. package/dist/nip/cert-format.js +6 -0
  194. package/dist/nip/cert-format.js.map +1 -0
  195. package/dist/nip/error-codes.d.ts +44 -0
  196. package/dist/nip/error-codes.d.ts.map +1 -0
  197. package/dist/nip/error-codes.js +97 -0
  198. package/dist/nip/error-codes.js.map +1 -0
  199. package/dist/nip/frames.d.ts +19 -1
  200. package/dist/nip/frames.d.ts.map +1 -1
  201. package/dist/nip/frames.js +39 -4
  202. package/dist/nip/frames.js.map +1 -1
  203. package/dist/nip/identity.d.ts +0 -0
  204. package/dist/nip/identity.d.ts.map +0 -0
  205. package/dist/nip/identity.js +0 -0
  206. package/dist/nip/identity.js.map +0 -0
  207. package/dist/nip/index.d.ts +7 -0
  208. package/dist/nip/index.d.ts.map +1 -1
  209. package/dist/nip/index.js +9 -0
  210. package/dist/nip/index.js.map +1 -1
  211. package/dist/nip/registry.d.ts +0 -0
  212. package/dist/nip/registry.d.ts.map +0 -0
  213. package/dist/nip/registry.js +0 -0
  214. package/dist/nip/registry.js.map +0 -0
  215. package/dist/nip/reputation-client.d.ts +116 -0
  216. package/dist/nip/reputation-client.d.ts.map +1 -0
  217. package/dist/nip/reputation-client.js +261 -0
  218. package/dist/nip/reputation-client.js.map +1 -0
  219. package/dist/nip/verifier.d.ts +23 -0
  220. package/dist/nip/verifier.d.ts.map +1 -0
  221. package/dist/nip/verifier.js +90 -0
  222. package/dist/nip/verifier.js.map +1 -0
  223. package/dist/nip/x509/builder.d.ts +35 -0
  224. package/dist/nip/x509/builder.d.ts.map +1 -0
  225. package/dist/nip/x509/builder.js +59 -0
  226. package/dist/nip/x509/builder.js.map +1 -0
  227. package/dist/nip/x509/index.d.ts +4 -0
  228. package/dist/nip/x509/index.d.ts.map +1 -0
  229. package/dist/nip/x509/index.js +6 -0
  230. package/dist/nip/x509/index.js.map +1 -0
  231. package/dist/nip/x509/oids.d.ts +16 -0
  232. package/dist/nip/x509/oids.d.ts.map +1 -0
  233. package/dist/nip/x509/oids.js +22 -0
  234. package/dist/nip/x509/oids.js.map +1 -0
  235. package/dist/nip/x509/verifier.d.ts +26 -0
  236. package/dist/nip/x509/verifier.d.ts.map +1 -0
  237. package/dist/nip/x509/verifier.js +171 -0
  238. package/dist/nip/x509/verifier.js.map +1 -0
  239. package/dist/nop/client.d.ts +0 -0
  240. package/dist/nop/client.d.ts.map +0 -0
  241. package/dist/nop/client.js +0 -0
  242. package/dist/nop/client.js.map +1 -1
  243. package/dist/nop/dag-validator.d.ts +15 -0
  244. package/dist/nop/dag-validator.d.ts.map +1 -0
  245. package/dist/nop/dag-validator.js +91 -0
  246. package/dist/nop/dag-validator.js.map +1 -0
  247. package/dist/nop/frames.d.ts +8 -3
  248. package/dist/nop/frames.d.ts.map +1 -1
  249. package/dist/nop/frames.js +21 -6
  250. package/dist/nop/frames.js.map +1 -1
  251. package/dist/nop/index.d.ts +3 -0
  252. package/dist/nop/index.d.ts.map +1 -1
  253. package/dist/nop/index.js +3 -0
  254. package/dist/nop/index.js.map +1 -1
  255. package/dist/nop/models.d.ts +13 -2
  256. package/dist/nop/models.d.ts.map +1 -1
  257. package/dist/nop/models.js +9 -0
  258. package/dist/nop/models.js.map +1 -1
  259. package/dist/nop/nop-error-codes.d.ts +31 -0
  260. package/dist/nop/nop-error-codes.d.ts.map +1 -0
  261. package/dist/nop/nop-error-codes.js +61 -0
  262. package/dist/nop/nop-error-codes.js.map +1 -0
  263. package/dist/nop/nop-types.d.ts +0 -0
  264. package/dist/nop/nop-types.d.ts.map +0 -0
  265. package/dist/nop/nop-types.js +0 -0
  266. package/dist/nop/nop-types.js.map +0 -0
  267. package/dist/nop/orchestrator.d.ts +66 -0
  268. package/dist/nop/orchestrator.d.ts.map +1 -0
  269. package/dist/nop/orchestrator.js +229 -0
  270. package/dist/nop/orchestrator.js.map +1 -0
  271. package/dist/nop/registry.d.ts +0 -0
  272. package/dist/nop/registry.d.ts.map +0 -0
  273. package/dist/nop/registry.js +0 -0
  274. package/dist/nop/registry.js.map +0 -0
  275. package/dist/nwp/anchor-client.d.ts +109 -0
  276. package/dist/nwp/anchor-client.d.ts.map +1 -0
  277. package/dist/nwp/anchor-client.js +279 -0
  278. package/dist/nwp/anchor-client.js.map +1 -0
  279. package/dist/nwp/anchor-server.d.ts +127 -0
  280. package/dist/nwp/anchor-server.d.ts.map +1 -0
  281. package/dist/nwp/anchor-server.js +649 -0
  282. package/dist/nwp/anchor-server.js.map +1 -0
  283. package/dist/nwp/bridge.d.ts +24 -0
  284. package/dist/nwp/bridge.d.ts.map +1 -0
  285. package/dist/nwp/bridge.js +26 -0
  286. package/dist/nwp/bridge.js.map +1 -0
  287. package/dist/nwp/cgn.d.ts +19 -0
  288. package/dist/nwp/cgn.d.ts.map +1 -0
  289. package/dist/nwp/cgn.js +29 -0
  290. package/dist/nwp/cgn.js.map +1 -0
  291. package/dist/nwp/client.d.ts +10 -3
  292. package/dist/nwp/client.d.ts.map +1 -1
  293. package/dist/nwp/client.js +58 -7
  294. package/dist/nwp/client.js.map +1 -1
  295. package/dist/nwp/frames.d.ts +56 -2
  296. package/dist/nwp/frames.d.ts.map +1 -1
  297. package/dist/nwp/frames.js +86 -4
  298. package/dist/nwp/frames.js.map +1 -1
  299. package/dist/nwp/http-headers.d.ts +24 -0
  300. package/dist/nwp/http-headers.d.ts.map +1 -0
  301. package/dist/nwp/http-headers.js +29 -0
  302. package/dist/nwp/http-headers.js.map +1 -0
  303. package/dist/nwp/index.d.ts +9 -0
  304. package/dist/nwp/index.d.ts.map +1 -1
  305. package/dist/nwp/index.js +9 -0
  306. package/dist/nwp/index.js.map +1 -1
  307. package/dist/nwp/manifest.d.ts +75 -0
  308. package/dist/nwp/manifest.d.ts.map +1 -0
  309. package/dist/nwp/manifest.js +5 -0
  310. package/dist/nwp/manifest.js.map +1 -0
  311. package/dist/nwp/memory-node-server.d.ts +70 -0
  312. package/dist/nwp/memory-node-server.d.ts.map +1 -0
  313. package/dist/nwp/memory-node-server.js +315 -0
  314. package/dist/nwp/memory-node-server.js.map +1 -0
  315. package/dist/nwp/nwp-error-codes.d.ts +48 -0
  316. package/dist/nwp/nwp-error-codes.d.ts.map +1 -0
  317. package/dist/nwp/nwp-error-codes.js +108 -0
  318. package/dist/nwp/nwp-error-codes.js.map +1 -0
  319. package/dist/nwp/registry.d.ts +0 -0
  320. package/dist/nwp/registry.d.ts.map +0 -0
  321. package/dist/nwp/registry.js +0 -0
  322. package/dist/nwp/registry.js.map +0 -0
  323. package/dist/nwp/reputation.d.ts +37 -0
  324. package/dist/nwp/reputation.d.ts.map +1 -0
  325. package/dist/nwp/reputation.js +118 -0
  326. package/dist/nwp/reputation.js.map +1 -0
  327. package/dist/setup.d.ts +0 -0
  328. package/dist/setup.d.ts.map +0 -0
  329. package/dist/setup.js +0 -0
  330. package/dist/setup.js.map +0 -0
  331. package/doc/nps-sdk.core.cn.md +321 -0
  332. package/doc/nps-sdk.core.md +326 -0
  333. package/doc/nps-sdk.ncp.cn.md +270 -0
  334. package/doc/nps-sdk.ncp.md +276 -0
  335. package/doc/nps-sdk.ndp.cn.md +267 -0
  336. package/doc/nps-sdk.ndp.md +273 -0
  337. package/doc/nps-sdk.nip.cn.md +265 -0
  338. package/doc/nps-sdk.nip.md +272 -0
  339. package/doc/nps-sdk.nop.cn.md +329 -0
  340. package/doc/nps-sdk.nop.md +332 -0
  341. package/doc/nps-sdk.nwp.cn.md +288 -0
  342. package/doc/nps-sdk.nwp.md +295 -0
  343. package/doc/overview.cn.md +149 -0
  344. package/doc/overview.md +153 -0
  345. package/package.json +33 -4
  346. package/CONTRIBUTING.md +0 -33
  347. package/dist/codec-CmHeovTV.d.cts +0 -120
  348. package/dist/codec-CmHeovTV.d.ts +0 -120
  349. package/dist/core/index.cjs +0 -371
  350. package/dist/core/index.cjs.map +0 -1
  351. package/dist/core/index.d.cts +0 -41
  352. package/dist/frames-B3qLdl_g.d.cts +0 -77
  353. package/dist/frames-Ff7-ZPUl.d.ts +0 -77
  354. package/dist/index.cjs +0 -1556
  355. package/dist/index.cjs.map +0 -1
  356. package/dist/index.d.cts +0 -21
  357. package/dist/ncp/index.cjs +0 -188
  358. package/dist/ncp/index.cjs.map +0 -1
  359. package/dist/ncp/index.d.cts +0 -6
  360. package/dist/ndp/index.cjs +0 -252
  361. package/dist/ndp/index.cjs.map +0 -1
  362. package/dist/ndp/index.d.cts +0 -86
  363. package/dist/nip/index.cjs +0 -214
  364. package/dist/nip/index.cjs.map +0 -1
  365. package/dist/nip/index.d.cts +0 -65
  366. package/dist/nop/index.cjs +0 -762
  367. package/dist/nop/index.cjs.map +0 -1
  368. package/dist/nop/index.d.cts +0 -155
  369. package/dist/nwp/index.cjs +0 -658
  370. package/dist/nwp/index.cjs.map +0 -1
  371. package/dist/nwp/index.d.cts +0 -65
  372. package/nip-ca-server/Dockerfile +0 -27
  373. package/nip-ca-server/README.md +0 -45
  374. package/nip-ca-server/db/001_init.sql +0 -25
  375. package/nip-ca-server/docker-compose.yml +0 -29
  376. package/nip-ca-server/package.json +0 -23
  377. package/nip-ca-server/src/ca.ts +0 -155
  378. package/nip-ca-server/src/db.ts +0 -104
  379. package/nip-ca-server/src/index.ts +0 -157
  380. package/nip-ca-server/tsconfig.json +0 -13
  381. package/src/core/anchor-cache.ts +0 -129
  382. package/src/core/cache.ts +0 -93
  383. package/src/core/canonical-json.ts +0 -50
  384. package/src/core/codec.ts +0 -158
  385. package/src/core/codecs/index.ts +0 -5
  386. package/src/core/codecs/ncp-codec.ts +0 -170
  387. package/src/core/codecs/tier1-json-codec.ts +0 -33
  388. package/src/core/codecs/tier2-msgpack-codec.ts +0 -30
  389. package/src/core/crypto-provider.ts +0 -47
  390. package/src/core/exceptions.ts +0 -57
  391. package/src/core/frame-header.ts +0 -282
  392. package/src/core/frame-registry.ts +0 -91
  393. package/src/core/frames.ts +0 -183
  394. package/src/core/index.ts +0 -10
  395. package/src/core/registry.ts +0 -28
  396. package/src/core/status-codes.ts +0 -46
  397. package/src/index.ts +0 -10
  398. package/src/ncp/frames/anchor-frame.ts +0 -87
  399. package/src/ncp/frames/caps-frame.ts +0 -59
  400. package/src/ncp/frames/diff-frame.ts +0 -69
  401. package/src/ncp/frames/error-frame.ts +0 -26
  402. package/src/ncp/frames/hello-frame.ts +0 -50
  403. package/src/ncp/frames/stream-frame.ts +0 -35
  404. package/src/ncp/frames.ts +0 -199
  405. package/src/ncp/handshake.ts +0 -95
  406. package/src/ncp/index.ts +0 -12
  407. package/src/ncp/ncp-error-codes.ts +0 -34
  408. package/src/ncp/ncp-patch-format.ts +0 -16
  409. package/src/ncp/registry.ts +0 -14
  410. package/src/ncp/stream-manager.ts +0 -212
  411. package/src/ndp/frames.ts +0 -124
  412. package/src/ndp/index.ts +0 -7
  413. package/src/ndp/ndp-registry.ts +0 -82
  414. package/src/ndp/registry.ts +0 -12
  415. package/src/ndp/validator.ts +0 -64
  416. package/src/nip/frames.ts +0 -106
  417. package/src/nip/identity.ts +0 -113
  418. package/src/nip/index.ts +0 -6
  419. package/src/nip/registry.ts +0 -12
  420. package/src/nop/client.ts +0 -103
  421. package/src/nop/frames.ts +0 -181
  422. package/src/nop/index.ts +0 -7
  423. package/src/nop/models.ts +0 -79
  424. package/src/nop/nop-types.ts +0 -208
  425. package/src/nop/registry.ts +0 -13
  426. package/src/nwp/client.ts +0 -114
  427. package/src/nwp/frames.ts +0 -116
  428. package/src/nwp/index.ts +0 -6
  429. package/src/nwp/registry.ts +0 -11
  430. package/src/setup.ts +0 -32
  431. package/tests/core/anchor-cache.test.ts +0 -242
  432. package/tests/core/codec.test.ts +0 -205
  433. package/tests/core/frame-registry.test.ts +0 -46
  434. package/tests/core.test.ts +0 -327
  435. package/tests/ncp/diff-binary-bitset.test.ts +0 -107
  436. package/tests/ncp/e2e-enc-reject.test.ts +0 -93
  437. package/tests/ncp/err-error-frame.test.ts +0 -152
  438. package/tests/ncp/frames.test.ts +0 -359
  439. package/tests/ncp/framing.test.ts +0 -233
  440. package/tests/ncp/hello-frame.test.ts +0 -122
  441. package/tests/ncp/inline-anchor.test.ts +0 -88
  442. package/tests/ncp/security.test.ts +0 -184
  443. package/tests/ncp/stream-window.test.ts +0 -167
  444. package/tests/ncp/stream.test.ts +0 -242
  445. package/tests/ncp/version-negotiation.test.ts +0 -123
  446. package/tests/ndp.test.ts +0 -271
  447. package/tests/nip.test.ts +0 -184
  448. package/tests/nop.test.ts +0 -344
  449. package/tests/nwp.test.ts +0 -237
  450. package/tsconfig.json +0 -20
  451. package/tsup.config.ts +0 -20
  452. package/vitest.config.ts +0 -10
@@ -0,0 +1,149 @@
1
+ [English Version](./overview.md) | 中文版
2
+
3
+ # `@labacacia/nps-sdk` — API 参考总览
4
+
5
+ [![npm](https://img.shields.io/npm/v/@labacacia/nps-sdk)](https://www.npmjs.com/package/@labacacia/nps-sdk)
6
+
7
+ NPS TypeScript SDK 是 .NET 参考实现的双格式(ESM + CJS)移植。本文档是
8
+ 各模块 API 参考的入口 —— 每个协议有独立文件,见下。
9
+
10
+ ---
11
+
12
+ ## 包结构
13
+
14
+ ```
15
+ @labacacia/nps-sdk
16
+ ├── / # 根:VERSION、createDefaultRegistry、createFullRegistry
17
+ ├── /core # 线缆原语:FrameHeader、编解码、AnchorFrame 缓存、错误
18
+ ├── /ncp # NCP 帧 + 握手 + 流管理
19
+ ├── /nwp # NWP 帧 + 异步 NwpClient
20
+ ├── /nip # NIP 帧 + NipIdentity(Ed25519)
21
+ ├── /ndp # NDP 帧 + InMemoryNdpRegistry + 验证器
22
+ └── /nop # NOP 帧 + TaskDag 模型 + NopClient
23
+ ```
24
+
25
+ ## 参考文档
26
+
27
+ | 子路径 | 模块 | 参考文档 |
28
+ |--------|------|----------|
29
+ | — | 根辅助函数与注册表工厂 | 本文件 |
30
+ | `@labacacia/nps-sdk/core` | 帧头、编解码、AnchorFrame 缓存、异常 | [`nps-sdk.core.cn.md`](./nps-sdk.core.cn.md) |
31
+ | `@labacacia/nps-sdk/ncp` | NCP 帧集(`AnchorFrame`、`DiffFrame`、`StreamFrame`、`CapsFrame`、`ErrorFrame`、`HelloFrame`) | [`nps-sdk.ncp.cn.md`](./nps-sdk.ncp.cn.md) |
32
+ | `@labacacia/nps-sdk/nwp` | `QueryFrame`、`ActionFrame`、`NwpClient` | [`nps-sdk.nwp.cn.md`](./nps-sdk.nwp.cn.md) |
33
+ | `@labacacia/nps-sdk/nip` | `IdentFrame`、`TrustFrame`、`RevokeFrame`、`NipIdentity` | [`nps-sdk.nip.cn.md`](./nps-sdk.nip.cn.md) |
34
+ | `@labacacia/nps-sdk/ndp` | `AnnounceFrame`、`ResolveFrame`、`GraphFrame`、注册表、验证器 | [`nps-sdk.ndp.cn.md`](./nps-sdk.ndp.cn.md) |
35
+ | `@labacacia/nps-sdk/nop` | Task DAG、`TaskFrame`、`DelegateFrame`、`SyncFrame`、`AlignStreamFrame`、`NopClient` | [`nps-sdk.nop.cn.md`](./nps-sdk.nop.cn.md) |
36
+
37
+ ---
38
+
39
+ ## 安装
40
+
41
+ ```bash
42
+ npm install @labacacia/nps-sdk
43
+ ```
44
+
45
+ 要求 **Node.js 18+**(Web Crypto)或支持原生 `crypto.subtle` 的
46
+ 现代浏览器。
47
+
48
+ ---
49
+
50
+ ## 根模块
51
+
52
+ ```typescript
53
+ import { VERSION, createDefaultRegistry, createFullRegistry } from "@labacacia/nps-sdk";
54
+ ```
55
+
56
+ - `VERSION` —— SDK 版本常量。
57
+ - `createDefaultRegistry()` —— 只含 NCP 帧(`ANCHOR`、`DIFF`、`STREAM`、`CAPS`、`ERROR`)的新 `FrameRegistry`。
58
+ - `createFullRegistry()` —— 预注册全部五个协议(NCP + NWP + NIP + NDP + NOP)的新 `FrameRegistry`。
59
+ 解码任意帧时使用这个。
60
+
61
+ ```typescript
62
+ const registry = createFullRegistry();
63
+ ```
64
+
65
+ ---
66
+
67
+ ## 最小端到端示例
68
+
69
+ ```typescript
70
+ import { NwpClient, QueryFrame, ActionFrame } from "@labacacia/nps-sdk/nwp";
71
+
72
+ const client = new NwpClient("http://node.example.com:17433");
73
+
74
+ // 分页查询
75
+ const caps = await client.query(
76
+ new QueryFrame("sha256:<anchor-id>", { active: true }, 50),
77
+ );
78
+ console.log(caps.count, caps.data);
79
+
80
+ // 流式查询
81
+ for await (const chunk of client.stream(new QueryFrame("sha256:<anchor-id>"))) {
82
+ console.log(chunk.seq, chunk.data);
83
+ if (chunk.isLast) break;
84
+ }
85
+
86
+ // Action 调用
87
+ const result = await client.invoke(
88
+ new ActionFrame("summarise", { maxTokens: 500 }),
89
+ );
90
+ ```
91
+
92
+ ---
93
+
94
+ ## 编码分层
95
+
96
+ 每个帧都有 `preferredTier`。MsgPack 是生产默认;JSON Tier
97
+ 留给诊断。
98
+
99
+ | Tier | `EncodingTier` 值 | 说明 |
100
+ |------|---------------------|------|
101
+ | Tier-1 JSON | `0x00` | UTF-8 JSON。开发与兼容。 |
102
+ | Tier-2 MsgPack | `0x01` | MessagePack 二进制。**生产默认** —— 约小 60%。 |
103
+
104
+ ```typescript
105
+ import { EncodingTier } from "@labacacia/nps-sdk/core";
106
+ import { NpsFrameCodec } from "@labacacia/nps-sdk/core";
107
+
108
+ const codec = new NpsFrameCodec(createFullRegistry());
109
+ const wire = codec.encode(frame, { overrideTier: EncodingTier.JSON });
110
+ ```
111
+
112
+ ---
113
+
114
+ ## 异步约定
115
+
116
+ - 所有面向网络的客户端(`NwpClient`、`NopClient`)返回 `Promise<T>`。
117
+ - 流式使用 `AsyncGenerator<StreamFrame>` —— 用
118
+ `for await (const chunk of …) { … }` 消费。
119
+ - 客户端 **无需** 显式 dispose —— 底层 `fetch` 拥有连接生命周期。
120
+
121
+ ---
122
+
123
+ ## 错误层级
124
+
125
+ ```
126
+ Error
127
+ └── NpsError 来自 "@labacacia/nps-sdk/core"
128
+ ├── NpsFrameError —— 帧头解析 / 结构错误
129
+ ├── NpsCodecError —— 编解码失败
130
+ ├── NpsAnchorNotFoundError —— AnchorFrame 不在缓存
131
+ ├── NpsAnchorPoisonError —— anchor_id / schema 不一致
132
+ └── NpsStreamError —— 流序号跳跃 / 未知流 id
133
+ ```
134
+
135
+ `NcpError`(来自 `@labacacia/nps-sdk/core`)是一个独立的协议级错误,
136
+ 携带机器可读的 `code`(如 `NCP-ANCHOR-NOT-FOUND`、
137
+ `NCP-STREAM-SEQ-GAP`)。
138
+
139
+ ---
140
+
141
+ ## 参考规范
142
+
143
+ | 模块 | 规范 |
144
+ |------|------|
145
+ | `core` + `ncp` | [NPS-1 NCP v0.7](https://github.com/labacacia/NPS-Release/blob/main/spec/NPS-1-NCP.cn.md) |
146
+ | `nwp` | [NPS-2 NWP v0.13](https://github.com/labacacia/NPS-Release/blob/main/spec/NPS-2-NWP.cn.md) |
147
+ | `nip` | [NPS-3 NIP v0.9](https://github.com/labacacia/NPS-Release/blob/main/spec/NPS-3-NIP.cn.md) |
148
+ | `ndp` | [NPS-4 NDP v0.8](https://github.com/labacacia/NPS-Release/blob/main/spec/NPS-4-NDP.cn.md) |
149
+ | `nop` | [NPS-5 NOP v0.6](https://github.com/labacacia/NPS-Release/blob/main/spec/NPS-5-NOP.cn.md) |
@@ -0,0 +1,153 @@
1
+ English | [中文版](./overview.cn.md)
2
+
3
+ # `@labacacia/nps-sdk` — API Reference Overview
4
+
5
+ [![npm](https://img.shields.io/npm/v/@labacacia/nps-sdk)](https://www.npmjs.com/package/@labacacia/nps-sdk)
6
+
7
+ The NPS TypeScript SDK is a dual-format (ESM + CJS) port of the .NET reference
8
+ implementation. This document is the entry point for the per-module API
9
+ references — each protocol has its own file below.
10
+
11
+ ---
12
+
13
+ ## Package layout
14
+
15
+ ```
16
+ @labacacia/nps-sdk
17
+ ├── / # root: VERSION, createDefaultRegistry, createFullRegistry
18
+ ├── /core # Wire primitives: FrameHeader, codecs, AnchorCache, errors
19
+ ├── /ncp # NCP frames + handshake + stream manager
20
+ ├── /nwp # NWP frames + async NwpClient
21
+ ├── /nip # NIP frames + NipIdentity (Ed25519)
22
+ ├── /ndp # NDP frames + InMemoryNdpRegistry + validator
23
+ └── /nop # NOP frames + TaskDag model + NopClient
24
+ ```
25
+
26
+ ## Reference documents
27
+
28
+ | Subpath | Module | Reference |
29
+ |---------|--------|-----------|
30
+ | — | Root helpers & registry factories | this file |
31
+ | `@labacacia/nps-sdk/core` | Frame header, codec, anchor cache, exceptions | [`nps-sdk.core.md`](./nps-sdk.core.md) |
32
+ | `@labacacia/nps-sdk/ncp` | NCP frame set (`AnchorFrame`, `DiffFrame`, `StreamFrame`, `CapsFrame`, `ErrorFrame`, `HelloFrame`) | [`nps-sdk.ncp.md`](./nps-sdk.ncp.md) |
33
+ | `@labacacia/nps-sdk/nwp` | `QueryFrame`, `ActionFrame`, `NwpClient` | [`nps-sdk.nwp.md`](./nps-sdk.nwp.md) |
34
+ | `@labacacia/nps-sdk/nip` | `IdentFrame`, `TrustFrame`, `RevokeFrame`, `NipIdentity` | [`nps-sdk.nip.md`](./nps-sdk.nip.md) |
35
+ | `@labacacia/nps-sdk/ndp` | `AnnounceFrame`, `ResolveFrame`, `GraphFrame`, registry, validator | [`nps-sdk.ndp.md`](./nps-sdk.ndp.md) |
36
+ | `@labacacia/nps-sdk/nop` | Task DAG, `TaskFrame`, `DelegateFrame`, `SyncFrame`, `AlignStreamFrame`, `NopClient` | [`nps-sdk.nop.md`](./nps-sdk.nop.md) |
37
+
38
+ ---
39
+
40
+ ## Install
41
+
42
+ ```bash
43
+ npm install @labacacia/nps-sdk
44
+ ```
45
+
46
+ Requires **Node.js 18+** (for Web Crypto) or a modern browser with native
47
+ `crypto.subtle`.
48
+
49
+ ---
50
+
51
+ ## Root module
52
+
53
+ ```typescript
54
+ import { VERSION, createDefaultRegistry, createFullRegistry } from "@labacacia/nps-sdk";
55
+ ```
56
+
57
+ - `VERSION` — SDK version constant.
58
+ - `createDefaultRegistry()` — new `FrameRegistry` with NCP frames only
59
+ (`ANCHOR`, `DIFF`, `STREAM`, `CAPS`, `ERROR`).
60
+ - `createFullRegistry()` — new `FrameRegistry` with all five protocols
61
+ (NCP + NWP + NIP + NDP + NOP) pre-registered. Use this when decoding
62
+ arbitrary frames.
63
+
64
+ ```typescript
65
+ const registry = createFullRegistry();
66
+ ```
67
+
68
+ ---
69
+
70
+ ## Minimal end-to-end example
71
+
72
+ ```typescript
73
+ import { NwpClient, QueryFrame, ActionFrame } from "@labacacia/nps-sdk/nwp";
74
+
75
+ const client = new NwpClient("http://node.example.com:17433");
76
+
77
+ // Paginated query
78
+ const caps = await client.query(
79
+ new QueryFrame("sha256:<anchor-id>", { active: true }, 50),
80
+ );
81
+ console.log(caps.count, caps.data);
82
+
83
+ // Streaming query
84
+ for await (const chunk of client.stream(new QueryFrame("sha256:<anchor-id>"))) {
85
+ console.log(chunk.seq, chunk.data);
86
+ if (chunk.isLast) break;
87
+ }
88
+
89
+ // Action invocation
90
+ const result = await client.invoke(
91
+ new ActionFrame("summarise", { maxTokens: 500 }),
92
+ );
93
+ ```
94
+
95
+ ---
96
+
97
+ ## Encoding tiers
98
+
99
+ Every frame has a `preferredTier`. MsgPack is the production default; JSON
100
+ tier stays available for diagnostics.
101
+
102
+ | Tier | `EncodingTier` value | Description |
103
+ |------|---------------------|-------------|
104
+ | Tier-1 JSON | `0x00` | UTF-8 JSON. Development & compatibility. |
105
+ | Tier-2 MsgPack | `0x01` | MessagePack binary. **Production default** — ~60% smaller. |
106
+
107
+ ```typescript
108
+ import { EncodingTier } from "@labacacia/nps-sdk/core";
109
+ import { NpsFrameCodec } from "@labacacia/nps-sdk/core";
110
+
111
+ const codec = new NpsFrameCodec(createFullRegistry());
112
+ const wire = codec.encode(frame, { overrideTier: EncodingTier.JSON });
113
+ ```
114
+
115
+ ---
116
+
117
+ ## Async conventions
118
+
119
+ - All network-facing clients (`NwpClient`, `NopClient`) return `Promise<T>`.
120
+ - Streaming uses `AsyncGenerator<StreamFrame>` — consume with
121
+ `for await (const chunk of …) { … }`.
122
+ - Clients do **not** require explicit dispose — the underlying `fetch`
123
+ owns connection lifecycle.
124
+
125
+ ---
126
+
127
+ ## Error hierarchy
128
+
129
+ ```
130
+ Error
131
+ └── NpsError from "@labacacia/nps-sdk/core"
132
+ ├── NpsFrameError — header parse / structural error
133
+ ├── NpsCodecError — encode/decode failure
134
+ ├── NpsAnchorNotFoundError — anchor not in cache
135
+ ├── NpsAnchorPoisonError — anchor_id / schema mismatch
136
+ └── NpsStreamError — stream seq gap / unknown stream id
137
+ ```
138
+
139
+ `NcpError` (from `@labacacia/nps-sdk/core`) is a separate protocol-level
140
+ error carrying a machine-readable `code` (e.g. `NCP-ANCHOR-NOT-FOUND`,
141
+ `NCP-STREAM-SEQ-GAP`).
142
+
143
+ ---
144
+
145
+ ## Reference specs
146
+
147
+ | Module | Spec |
148
+ |--------|------|
149
+ | `core` + `ncp` | [NPS-1 NCP v0.7](https://github.com/labacacia/NPS-Release/blob/main/spec/NPS-1-NCP.md) |
150
+ | `nwp` | [NPS-2 NWP v0.13](https://github.com/labacacia/NPS-Release/blob/main/spec/NPS-2-NWP.md) |
151
+ | `nip` | [NPS-3 NIP v0.9](https://github.com/labacacia/NPS-Release/blob/main/spec/NPS-3-NIP.md) |
152
+ | `ndp` | [NPS-4 NDP v0.8](https://github.com/labacacia/NPS-Release/blob/main/spec/NPS-4-NDP.md) |
153
+ | `nop` | [NPS-5 NOP v0.6](https://github.com/labacacia/NPS-Release/blob/main/spec/NPS-5-NOP.md) |
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@labacacia/nps-sdk",
3
- "version": "1.0.0-alpha.1",
4
- "description": "TypeScript SDK for the Neural Protocol Suite (NPS)",
3
+ "version": "1.0.0-alpha.13",
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",
7
7
  "types": "dist/index.d.ts",
@@ -17,18 +17,44 @@
17
17
  "./ncp": {
18
18
  "import": "./dist/ncp/index.js",
19
19
  "types": "./dist/ncp/index.d.ts"
20
+ },
21
+ "./nwp": {
22
+ "import": "./dist/nwp/index.js",
23
+ "types": "./dist/nwp/index.d.ts"
24
+ },
25
+ "./nip": {
26
+ "import": "./dist/nip/index.js",
27
+ "types": "./dist/nip/index.d.ts"
28
+ },
29
+ "./ndp": {
30
+ "import": "./dist/ndp/index.js",
31
+ "types": "./dist/ndp/index.d.ts"
32
+ },
33
+ "./nop": {
34
+ "import": "./dist/nop/index.js",
35
+ "types": "./dist/nop/index.d.ts"
20
36
  }
21
37
  },
22
38
  "scripts": {
23
39
  "build": "tsc",
40
+ "prepack": "npm run build && node scripts/verify-pack.mjs",
24
41
  "test": "vitest run",
25
42
  "test:watch": "vitest",
26
43
  "typecheck": "tsc --noEmit"
27
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
+ ],
28
55
  "repository": {
29
56
  "type": "git",
30
- "url": "https://github.com/labacacia/nps.git",
31
- "directory": "impl/typescript"
57
+ "url": "https://github.com/labacacia/NPS-sdk-ts.git"
32
58
  },
33
59
  "license": "Apache-2.0",
34
60
  "engines": {
@@ -36,6 +62,9 @@
36
62
  },
37
63
  "dependencies": {
38
64
  "@msgpack/msgpack": "^3.0.0",
65
+ "@noble/ed25519": "^2.1.0",
66
+ "@noble/hashes": "^1.4.0",
67
+ "@peculiar/x509": "^1.12.0",
39
68
  "canonicalize": "^2.0.0",
40
69
  "fast-json-patch": "^3.1.1"
41
70
  },
package/CONTRIBUTING.md DELETED
@@ -1,33 +0,0 @@
1
- # Contributing to NPS
2
-
3
- Thank you for your interest in contributing to the Neural Protocol Suite.
4
-
5
- ## Issue Prefixes
6
-
7
- | Prefix | Usage |
8
- |--------|-------|
9
- | `spec:` | Specification questions and design discussions |
10
- | `impl:` | Implementation bugs and fixes |
11
- | `sdk:` | SDK (Python / TypeScript) related |
12
- | `docs:` | Documentation improvements |
13
-
14
- ## Workflow
15
-
16
- 1. Open an Issue first for any non-trivial change
17
- 2. Fork the repo and create a branch: `feature/your-feature` or `fix/your-fix`
18
- 3. Submit a Pull Request referencing the Issue
19
-
20
- ## Spec Changes
21
-
22
- Changes to files under `spec/` require a discussion Issue before a PR is accepted.
23
- Spec changes that affect wire format or frame structure require a version bump.
24
-
25
- ## Code Style
26
-
27
- - **C# / .NET**: Follow standard Microsoft C# conventions, nullable enabled
28
- - **Python**: PEP 8, type hints required
29
- - **TypeScript**: Strict mode enabled
30
-
31
- ## License
32
-
33
- By contributing, you agree your contributions will be licensed under Apache 2.0.
@@ -1,120 +0,0 @@
1
- /** Unified frame byte namespace for the full NPS suite (NPS-0 §9). */
2
- declare enum FrameType {
3
- ANCHOR = 1,
4
- DIFF = 2,
5
- STREAM = 3,
6
- CAPS = 4,
7
- ALIGN = 5,// deprecated — use AlignStream (0x43)
8
- QUERY = 16,
9
- ACTION = 17,
10
- IDENT = 32,
11
- TRUST = 33,
12
- REVOKE = 34,
13
- ANNOUNCE = 48,
14
- RESOLVE = 49,
15
- GRAPH = 50,
16
- TASK = 64,
17
- DELEGATE = 65,
18
- SYNC = 66,
19
- ALIGN_STREAM = 67,
20
- ERROR = 254
21
- }
22
- /**
23
- * Wire encoding tier, stored in the lower 2 bits of the flags byte (NPS-1 §3.2).
24
- * 0x00 = Tier-1 JSON — human-readable; development / compatibility.
25
- * 0x01 = Tier-2 MsgPack — binary, ~60 % smaller; production default.
26
- */
27
- declare enum EncodingTier {
28
- JSON = 0,
29
- MSGPACK = 1
30
- }
31
- /**
32
- * Flags byte in the NPS frame header (NPS-1 §3.2).
33
- * Bit layout (LSB = bit 0):
34
- * Bits 0–1 (T0,T1) : Encoding tier
35
- * Bit 2 (FINAL) : Last chunk of a StreamFrame; non-stream frames MUST set this
36
- * Bit 3 (ENC) : Payload encrypted
37
- * Bits 4–6 (RSV) : Reserved — sender MUST write 0
38
- * Bit 7 (EXT) : Extended 8-byte header
39
- */
40
- declare const FrameFlags: {
41
- readonly NONE: 0;
42
- readonly TIER1_JSON: 0;
43
- readonly TIER2_MSGPACK: 1;
44
- readonly FINAL: 4;
45
- readonly ENCRYPTED: 8;
46
- readonly EXT: 128;
47
- };
48
- declare const DEFAULT_HEADER_SIZE = 4;
49
- declare const EXTENDED_HEADER_SIZE = 8;
50
- declare const DEFAULT_MAX_PAYLOAD = 65535;
51
- declare const EXTENDED_MAX_PAYLOAD = 4294967295;
52
- /**
53
- * NPS frame header, present at the start of every wire message (NPS-1 §3.1).
54
- *
55
- * Default (4 bytes, EXT=0):
56
- * Byte 0 : FrameType
57
- * Byte 1 : Flags
58
- * Byte 2–3 : PayloadLength (big-endian uint16)
59
- *
60
- * Extended (8 bytes, EXT=1):
61
- * Byte 0 : FrameType
62
- * Byte 1 : Flags (bit 7 = 1)
63
- * Byte 2–3 : Reserved (must be 0)
64
- * Byte 4–7 : PayloadLength (big-endian uint32)
65
- */
66
- declare class FrameHeader {
67
- readonly frameType: FrameType;
68
- readonly flags: number;
69
- readonly payloadLength: number;
70
- constructor(frameType: FrameType, flags: number, payloadLength: number);
71
- get isExtended(): boolean;
72
- get headerSize(): number;
73
- get encodingTier(): EncodingTier;
74
- get isFinal(): boolean;
75
- get isEncrypted(): boolean;
76
- static parse(buf: Uint8Array): FrameHeader;
77
- toBytes(): Uint8Array;
78
- toString(): string;
79
- }
80
-
81
- interface FrameClass {
82
- fromDict(data: Record<string, unknown>): NpsFrame;
83
- }
84
- declare class FrameRegistry {
85
- private readonly _map;
86
- register(frameType: FrameType, cls: FrameClass): void;
87
- resolve(frameType: FrameType): FrameClass;
88
- }
89
-
90
- interface NpsFrame {
91
- readonly frameType: FrameType;
92
- readonly preferredTier: EncodingTier;
93
- toDict(): Record<string, unknown>;
94
- }
95
- declare class Tier1JsonCodec {
96
- encode(frame: NpsFrame): Uint8Array;
97
- decode(frameType: FrameType, payload: Uint8Array, registry: FrameRegistry): NpsFrame;
98
- }
99
- declare class Tier2MsgPackCodec {
100
- encode(frame: NpsFrame): Uint8Array;
101
- decode(frameType: FrameType, payload: Uint8Array, registry: FrameRegistry): NpsFrame;
102
- }
103
- declare class NpsFrameCodec {
104
- private readonly _registry;
105
- private readonly _maxPayload;
106
- private readonly _json;
107
- private readonly _msgpack;
108
- constructor(registry: FrameRegistry, options?: {
109
- maxPayload?: number;
110
- });
111
- encode(frame: NpsFrame, options?: {
112
- overrideTier?: EncodingTier;
113
- }): Uint8Array;
114
- decode(wire: Uint8Array): NpsFrame;
115
- static peekHeader(wire: Uint8Array): FrameHeader;
116
- private _buildFlags;
117
- private _selectCodec;
118
- }
119
-
120
- export { DEFAULT_HEADER_SIZE as D, EXTENDED_HEADER_SIZE as E, FrameRegistry as F, type NpsFrame as N, Tier1JsonCodec as T, DEFAULT_MAX_PAYLOAD as a, EXTENDED_MAX_PAYLOAD as b, EncodingTier as c, type FrameClass as d, FrameFlags as e, FrameHeader as f, FrameType as g, NpsFrameCodec as h, Tier2MsgPackCodec as i };
@@ -1,120 +0,0 @@
1
- /** Unified frame byte namespace for the full NPS suite (NPS-0 §9). */
2
- declare enum FrameType {
3
- ANCHOR = 1,
4
- DIFF = 2,
5
- STREAM = 3,
6
- CAPS = 4,
7
- ALIGN = 5,// deprecated — use AlignStream (0x43)
8
- QUERY = 16,
9
- ACTION = 17,
10
- IDENT = 32,
11
- TRUST = 33,
12
- REVOKE = 34,
13
- ANNOUNCE = 48,
14
- RESOLVE = 49,
15
- GRAPH = 50,
16
- TASK = 64,
17
- DELEGATE = 65,
18
- SYNC = 66,
19
- ALIGN_STREAM = 67,
20
- ERROR = 254
21
- }
22
- /**
23
- * Wire encoding tier, stored in the lower 2 bits of the flags byte (NPS-1 §3.2).
24
- * 0x00 = Tier-1 JSON — human-readable; development / compatibility.
25
- * 0x01 = Tier-2 MsgPack — binary, ~60 % smaller; production default.
26
- */
27
- declare enum EncodingTier {
28
- JSON = 0,
29
- MSGPACK = 1
30
- }
31
- /**
32
- * Flags byte in the NPS frame header (NPS-1 §3.2).
33
- * Bit layout (LSB = bit 0):
34
- * Bits 0–1 (T0,T1) : Encoding tier
35
- * Bit 2 (FINAL) : Last chunk of a StreamFrame; non-stream frames MUST set this
36
- * Bit 3 (ENC) : Payload encrypted
37
- * Bits 4–6 (RSV) : Reserved — sender MUST write 0
38
- * Bit 7 (EXT) : Extended 8-byte header
39
- */
40
- declare const FrameFlags: {
41
- readonly NONE: 0;
42
- readonly TIER1_JSON: 0;
43
- readonly TIER2_MSGPACK: 1;
44
- readonly FINAL: 4;
45
- readonly ENCRYPTED: 8;
46
- readonly EXT: 128;
47
- };
48
- declare const DEFAULT_HEADER_SIZE = 4;
49
- declare const EXTENDED_HEADER_SIZE = 8;
50
- declare const DEFAULT_MAX_PAYLOAD = 65535;
51
- declare const EXTENDED_MAX_PAYLOAD = 4294967295;
52
- /**
53
- * NPS frame header, present at the start of every wire message (NPS-1 §3.1).
54
- *
55
- * Default (4 bytes, EXT=0):
56
- * Byte 0 : FrameType
57
- * Byte 1 : Flags
58
- * Byte 2–3 : PayloadLength (big-endian uint16)
59
- *
60
- * Extended (8 bytes, EXT=1):
61
- * Byte 0 : FrameType
62
- * Byte 1 : Flags (bit 7 = 1)
63
- * Byte 2–3 : Reserved (must be 0)
64
- * Byte 4–7 : PayloadLength (big-endian uint32)
65
- */
66
- declare class FrameHeader {
67
- readonly frameType: FrameType;
68
- readonly flags: number;
69
- readonly payloadLength: number;
70
- constructor(frameType: FrameType, flags: number, payloadLength: number);
71
- get isExtended(): boolean;
72
- get headerSize(): number;
73
- get encodingTier(): EncodingTier;
74
- get isFinal(): boolean;
75
- get isEncrypted(): boolean;
76
- static parse(buf: Uint8Array): FrameHeader;
77
- toBytes(): Uint8Array;
78
- toString(): string;
79
- }
80
-
81
- interface FrameClass {
82
- fromDict(data: Record<string, unknown>): NpsFrame;
83
- }
84
- declare class FrameRegistry {
85
- private readonly _map;
86
- register(frameType: FrameType, cls: FrameClass): void;
87
- resolve(frameType: FrameType): FrameClass;
88
- }
89
-
90
- interface NpsFrame {
91
- readonly frameType: FrameType;
92
- readonly preferredTier: EncodingTier;
93
- toDict(): Record<string, unknown>;
94
- }
95
- declare class Tier1JsonCodec {
96
- encode(frame: NpsFrame): Uint8Array;
97
- decode(frameType: FrameType, payload: Uint8Array, registry: FrameRegistry): NpsFrame;
98
- }
99
- declare class Tier2MsgPackCodec {
100
- encode(frame: NpsFrame): Uint8Array;
101
- decode(frameType: FrameType, payload: Uint8Array, registry: FrameRegistry): NpsFrame;
102
- }
103
- declare class NpsFrameCodec {
104
- private readonly _registry;
105
- private readonly _maxPayload;
106
- private readonly _json;
107
- private readonly _msgpack;
108
- constructor(registry: FrameRegistry, options?: {
109
- maxPayload?: number;
110
- });
111
- encode(frame: NpsFrame, options?: {
112
- overrideTier?: EncodingTier;
113
- }): Uint8Array;
114
- decode(wire: Uint8Array): NpsFrame;
115
- static peekHeader(wire: Uint8Array): FrameHeader;
116
- private _buildFlags;
117
- private _selectCodec;
118
- }
119
-
120
- export { DEFAULT_HEADER_SIZE as D, EXTENDED_HEADER_SIZE as E, FrameRegistry as F, type NpsFrame as N, Tier1JsonCodec as T, DEFAULT_MAX_PAYLOAD as a, EXTENDED_MAX_PAYLOAD as b, EncodingTier as c, type FrameClass as d, FrameFlags as e, FrameHeader as f, FrameType as g, NpsFrameCodec as h, Tier2MsgPackCodec as i };