@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.
- package/CHANGELOG.cn.md +181 -0
- package/CHANGELOG.md +234 -0
- package/LICENSE +0 -0
- package/NOTICE +0 -0
- package/README.cn.md +163 -0
- package/README.md +16 -6
- package/dist/core/anchor-cache.d.ts +0 -0
- package/dist/core/anchor-cache.d.ts.map +0 -0
- package/dist/core/anchor-cache.js +0 -0
- package/dist/core/anchor-cache.js.map +0 -0
- package/dist/core/cache.d.ts +0 -0
- package/dist/core/cache.d.ts.map +0 -0
- package/dist/core/cache.js +0 -0
- package/dist/core/cache.js.map +0 -0
- package/dist/core/canonical-json.d.ts +0 -0
- package/dist/core/canonical-json.d.ts.map +0 -0
- package/dist/core/canonical-json.js +0 -0
- package/dist/core/canonical-json.js.map +0 -0
- package/dist/core/codec.d.ts +0 -0
- package/dist/core/codec.d.ts.map +0 -0
- package/dist/core/codec.js +0 -0
- package/dist/core/codec.js.map +0 -0
- package/dist/core/codecs/index.d.ts +0 -0
- package/dist/core/codecs/index.d.ts.map +0 -0
- package/dist/core/codecs/index.js +0 -0
- package/dist/core/codecs/index.js.map +0 -0
- package/dist/core/codecs/ncp-codec.d.ts +0 -0
- package/dist/core/codecs/ncp-codec.d.ts.map +0 -0
- package/dist/core/codecs/ncp-codec.js +0 -0
- package/dist/core/codecs/ncp-codec.js.map +0 -0
- package/dist/core/codecs/tier1-json-codec.d.ts +0 -0
- package/dist/core/codecs/tier1-json-codec.d.ts.map +0 -0
- package/dist/core/codecs/tier1-json-codec.js +0 -0
- package/dist/core/codecs/tier1-json-codec.js.map +0 -0
- package/dist/core/codecs/tier2-msgpack-codec.d.ts +0 -0
- package/dist/core/codecs/tier2-msgpack-codec.d.ts.map +0 -0
- package/dist/core/codecs/tier2-msgpack-codec.js +0 -0
- package/dist/core/codecs/tier2-msgpack-codec.js.map +0 -0
- package/dist/core/crypto-provider.d.ts +0 -0
- package/dist/core/crypto-provider.d.ts.map +0 -0
- package/dist/core/crypto-provider.js +0 -0
- package/dist/core/crypto-provider.js.map +0 -0
- package/dist/core/exceptions.d.ts +0 -0
- package/dist/core/exceptions.d.ts.map +0 -0
- package/dist/core/exceptions.js +0 -0
- package/dist/core/exceptions.js.map +0 -0
- package/dist/core/frame-header.d.ts +1 -0
- package/dist/core/frame-header.d.ts.map +1 -1
- package/dist/core/frame-header.js +1 -0
- package/dist/core/frame-header.js.map +1 -1
- package/dist/core/frame-registry.d.ts +0 -0
- package/dist/core/frame-registry.d.ts.map +1 -1
- package/dist/core/frame-registry.js +1 -0
- package/dist/core/frame-registry.js.map +1 -1
- package/dist/core/frames.d.ts +3 -0
- package/dist/core/frames.d.ts.map +1 -1
- package/dist/core/frames.js +3 -0
- package/dist/core/frames.js.map +1 -1
- package/dist/core/index.d.ts +6 -4
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +17 -5
- package/dist/core/index.js.map +1 -1
- package/dist/core/registry.d.ts +0 -0
- package/dist/core/registry.d.ts.map +0 -0
- package/dist/core/registry.js +0 -0
- package/dist/core/registry.js.map +0 -0
- package/dist/core/status-codes.d.ts +20 -0
- package/dist/core/status-codes.d.ts.map +1 -1
- package/dist/core/status-codes.js +51 -0
- package/dist/core/status-codes.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/ncp/frames/anchor-frame.d.ts +0 -0
- package/dist/ncp/frames/anchor-frame.d.ts.map +0 -0
- package/dist/ncp/frames/anchor-frame.js +0 -0
- package/dist/ncp/frames/anchor-frame.js.map +0 -0
- package/dist/ncp/frames/caps-frame.d.ts +0 -0
- package/dist/ncp/frames/caps-frame.d.ts.map +0 -0
- package/dist/ncp/frames/caps-frame.js +0 -0
- package/dist/ncp/frames/caps-frame.js.map +0 -0
- package/dist/ncp/frames/diff-frame.d.ts +0 -0
- package/dist/ncp/frames/diff-frame.d.ts.map +0 -0
- package/dist/ncp/frames/diff-frame.js +0 -0
- package/dist/ncp/frames/diff-frame.js.map +0 -0
- package/dist/ncp/frames/error-frame.d.ts +0 -0
- package/dist/ncp/frames/error-frame.d.ts.map +0 -0
- package/dist/ncp/frames/error-frame.js +0 -0
- package/dist/ncp/frames/error-frame.js.map +0 -0
- package/dist/ncp/frames/hello-frame.d.ts +0 -0
- package/dist/ncp/frames/hello-frame.d.ts.map +0 -0
- package/dist/ncp/frames/hello-frame.js +0 -0
- package/dist/ncp/frames/hello-frame.js.map +0 -0
- package/dist/ncp/frames/stream-frame.d.ts +0 -0
- package/dist/ncp/frames/stream-frame.d.ts.map +0 -0
- package/dist/ncp/frames/stream-frame.js +0 -0
- package/dist/ncp/frames/stream-frame.js.map +0 -0
- package/dist/ncp/frames.d.ts +25 -0
- package/dist/ncp/frames.d.ts.map +1 -1
- package/dist/ncp/frames.js +61 -0
- package/dist/ncp/frames.js.map +1 -1
- package/dist/ncp/handshake.d.ts +0 -0
- package/dist/ncp/handshake.d.ts.map +0 -0
- package/dist/ncp/handshake.js +0 -0
- package/dist/ncp/handshake.js.map +0 -0
- package/dist/ncp/index.d.ts +1 -0
- package/dist/ncp/index.d.ts.map +1 -1
- package/dist/ncp/index.js +1 -0
- package/dist/ncp/index.js.map +1 -1
- package/dist/ncp/ncp-error-codes.d.ts +5 -0
- package/dist/ncp/ncp-error-codes.d.ts.map +1 -1
- package/dist/ncp/ncp-error-codes.js +27 -0
- package/dist/ncp/ncp-error-codes.js.map +1 -1
- package/dist/ncp/ncp-patch-format.d.ts +0 -0
- package/dist/ncp/ncp-patch-format.d.ts.map +0 -0
- package/dist/ncp/ncp-patch-format.js +0 -0
- package/dist/ncp/ncp-patch-format.js.map +0 -0
- package/dist/ncp/preamble.d.ts +47 -0
- package/dist/ncp/preamble.d.ts.map +1 -0
- package/dist/ncp/preamble.js +74 -0
- package/dist/ncp/preamble.js.map +1 -0
- package/dist/ncp/registry.d.ts +0 -0
- package/dist/ncp/registry.d.ts.map +1 -1
- package/dist/ncp/registry.js +2 -1
- package/dist/ncp/registry.js.map +1 -1
- package/dist/ncp/stream-manager.d.ts +0 -0
- package/dist/ncp/stream-manager.d.ts.map +0 -0
- package/dist/ncp/stream-manager.js +0 -0
- package/dist/ncp/stream-manager.js.map +0 -0
- package/dist/ndp/dns-txt.d.ts +35 -0
- package/dist/ndp/dns-txt.d.ts.map +1 -0
- package/dist/ndp/dns-txt.js +67 -0
- package/dist/ndp/dns-txt.js.map +1 -0
- package/dist/ndp/frames.d.ts +34 -9
- package/dist/ndp/frames.d.ts.map +1 -1
- package/dist/ndp/frames.js +54 -15
- package/dist/ndp/frames.js.map +1 -1
- package/dist/ndp/index.d.ts +3 -0
- package/dist/ndp/index.d.ts.map +1 -1
- package/dist/ndp/index.js +3 -0
- package/dist/ndp/index.js.map +1 -1
- package/dist/ndp/ndp-error-codes.d.ts +25 -0
- package/dist/ndp/ndp-error-codes.d.ts.map +1 -0
- package/dist/ndp/ndp-error-codes.js +48 -0
- package/dist/ndp/ndp-error-codes.js.map +1 -0
- package/dist/ndp/ndp-registry.d.ts +2 -0
- package/dist/ndp/ndp-registry.d.ts.map +1 -1
- package/dist/ndp/ndp-registry.js +25 -0
- package/dist/ndp/ndp-registry.js.map +1 -1
- package/dist/ndp/registry.d.ts +0 -0
- package/dist/ndp/registry.d.ts.map +0 -0
- package/dist/ndp/registry.js +0 -0
- package/dist/ndp/registry.js.map +0 -0
- package/dist/ndp/security.d.ts +8 -0
- package/dist/ndp/security.d.ts.map +1 -0
- package/dist/ndp/security.js +9 -0
- package/dist/ndp/security.js.map +1 -0
- package/dist/ndp/validator.d.ts +0 -0
- package/dist/ndp/validator.d.ts.map +0 -0
- package/dist/ndp/validator.js +0 -0
- package/dist/ndp/validator.js.map +0 -0
- package/dist/nip/acme/client.d.ts +31 -0
- package/dist/nip/acme/client.d.ts.map +1 -0
- package/dist/nip/acme/client.js +136 -0
- package/dist/nip/acme/client.js.map +1 -0
- package/dist/nip/acme/index.d.ts +6 -0
- package/dist/nip/acme/index.d.ts.map +1 -0
- package/dist/nip/acme/index.js +8 -0
- package/dist/nip/acme/index.js.map +1 -0
- package/dist/nip/acme/jws.d.ts +31 -0
- package/dist/nip/acme/jws.d.ts.map +1 -0
- package/dist/nip/acme/jws.js +76 -0
- package/dist/nip/acme/jws.js.map +1 -0
- package/dist/nip/acme/messages.d.ts +71 -0
- package/dist/nip/acme/messages.d.ts.map +1 -0
- package/dist/nip/acme/messages.js +4 -0
- package/dist/nip/acme/messages.js.map +1 -0
- package/dist/nip/acme/server.d.ts +41 -0
- package/dist/nip/acme/server.d.ts.map +1 -0
- package/dist/nip/acme/server.js +458 -0
- package/dist/nip/acme/server.js.map +1 -0
- package/dist/nip/acme/wire.d.ts +19 -0
- package/dist/nip/acme/wire.d.ts.map +1 -0
- package/dist/nip/acme/wire.js +21 -0
- package/dist/nip/acme/wire.js.map +1 -0
- package/dist/nip/assurance-level.d.ts +19 -0
- package/dist/nip/assurance-level.d.ts.map +1 -0
- package/dist/nip/assurance-level.js +38 -0
- package/dist/nip/assurance-level.js.map +1 -0
- package/dist/nip/cert-format.d.ts +5 -0
- package/dist/nip/cert-format.d.ts.map +1 -0
- package/dist/nip/cert-format.js +6 -0
- package/dist/nip/cert-format.js.map +1 -0
- package/dist/nip/error-codes.d.ts +44 -0
- package/dist/nip/error-codes.d.ts.map +1 -0
- package/dist/nip/error-codes.js +97 -0
- package/dist/nip/error-codes.js.map +1 -0
- package/dist/nip/frames.d.ts +19 -1
- package/dist/nip/frames.d.ts.map +1 -1
- package/dist/nip/frames.js +39 -4
- package/dist/nip/frames.js.map +1 -1
- package/dist/nip/identity.d.ts +0 -0
- package/dist/nip/identity.d.ts.map +0 -0
- package/dist/nip/identity.js +0 -0
- package/dist/nip/identity.js.map +0 -0
- package/dist/nip/index.d.ts +7 -0
- package/dist/nip/index.d.ts.map +1 -1
- package/dist/nip/index.js +9 -0
- package/dist/nip/index.js.map +1 -1
- package/dist/nip/registry.d.ts +0 -0
- package/dist/nip/registry.d.ts.map +0 -0
- package/dist/nip/registry.js +0 -0
- package/dist/nip/registry.js.map +0 -0
- package/dist/nip/reputation-client.d.ts +116 -0
- package/dist/nip/reputation-client.d.ts.map +1 -0
- package/dist/nip/reputation-client.js +261 -0
- package/dist/nip/reputation-client.js.map +1 -0
- package/dist/nip/verifier.d.ts +23 -0
- package/dist/nip/verifier.d.ts.map +1 -0
- package/dist/nip/verifier.js +90 -0
- package/dist/nip/verifier.js.map +1 -0
- package/dist/nip/x509/builder.d.ts +35 -0
- package/dist/nip/x509/builder.d.ts.map +1 -0
- package/dist/nip/x509/builder.js +59 -0
- package/dist/nip/x509/builder.js.map +1 -0
- package/dist/nip/x509/index.d.ts +4 -0
- package/dist/nip/x509/index.d.ts.map +1 -0
- package/dist/nip/x509/index.js +6 -0
- package/dist/nip/x509/index.js.map +1 -0
- package/dist/nip/x509/oids.d.ts +16 -0
- package/dist/nip/x509/oids.d.ts.map +1 -0
- package/dist/nip/x509/oids.js +22 -0
- package/dist/nip/x509/oids.js.map +1 -0
- package/dist/nip/x509/verifier.d.ts +26 -0
- package/dist/nip/x509/verifier.d.ts.map +1 -0
- package/dist/nip/x509/verifier.js +171 -0
- package/dist/nip/x509/verifier.js.map +1 -0
- package/dist/nop/client.d.ts +0 -0
- package/dist/nop/client.d.ts.map +0 -0
- package/dist/nop/client.js +0 -0
- package/dist/nop/client.js.map +1 -1
- package/dist/nop/dag-validator.d.ts +15 -0
- package/dist/nop/dag-validator.d.ts.map +1 -0
- package/dist/nop/dag-validator.js +91 -0
- package/dist/nop/dag-validator.js.map +1 -0
- package/dist/nop/frames.d.ts +8 -3
- package/dist/nop/frames.d.ts.map +1 -1
- package/dist/nop/frames.js +21 -6
- package/dist/nop/frames.js.map +1 -1
- package/dist/nop/index.d.ts +3 -0
- package/dist/nop/index.d.ts.map +1 -1
- package/dist/nop/index.js +3 -0
- package/dist/nop/index.js.map +1 -1
- package/dist/nop/models.d.ts +13 -2
- package/dist/nop/models.d.ts.map +1 -1
- package/dist/nop/models.js +9 -0
- package/dist/nop/models.js.map +1 -1
- package/dist/nop/nop-error-codes.d.ts +31 -0
- package/dist/nop/nop-error-codes.d.ts.map +1 -0
- package/dist/nop/nop-error-codes.js +61 -0
- package/dist/nop/nop-error-codes.js.map +1 -0
- package/dist/nop/nop-types.d.ts +0 -0
- package/dist/nop/nop-types.d.ts.map +0 -0
- package/dist/nop/nop-types.js +0 -0
- package/dist/nop/nop-types.js.map +0 -0
- package/dist/nop/orchestrator.d.ts +66 -0
- package/dist/nop/orchestrator.d.ts.map +1 -0
- package/dist/nop/orchestrator.js +229 -0
- package/dist/nop/orchestrator.js.map +1 -0
- package/dist/nop/registry.d.ts +0 -0
- package/dist/nop/registry.d.ts.map +0 -0
- package/dist/nop/registry.js +0 -0
- package/dist/nop/registry.js.map +0 -0
- package/dist/nwp/anchor-client.d.ts +109 -0
- package/dist/nwp/anchor-client.d.ts.map +1 -0
- package/dist/nwp/anchor-client.js +279 -0
- package/dist/nwp/anchor-client.js.map +1 -0
- package/dist/nwp/anchor-server.d.ts +127 -0
- package/dist/nwp/anchor-server.d.ts.map +1 -0
- package/dist/nwp/anchor-server.js +649 -0
- package/dist/nwp/anchor-server.js.map +1 -0
- package/dist/nwp/bridge.d.ts +24 -0
- package/dist/nwp/bridge.d.ts.map +1 -0
- package/dist/nwp/bridge.js +26 -0
- package/dist/nwp/bridge.js.map +1 -0
- package/dist/nwp/cgn.d.ts +19 -0
- package/dist/nwp/cgn.d.ts.map +1 -0
- package/dist/nwp/cgn.js +29 -0
- package/dist/nwp/cgn.js.map +1 -0
- package/dist/nwp/client.d.ts +10 -3
- package/dist/nwp/client.d.ts.map +1 -1
- package/dist/nwp/client.js +58 -7
- package/dist/nwp/client.js.map +1 -1
- package/dist/nwp/frames.d.ts +56 -2
- package/dist/nwp/frames.d.ts.map +1 -1
- package/dist/nwp/frames.js +86 -4
- package/dist/nwp/frames.js.map +1 -1
- package/dist/nwp/http-headers.d.ts +24 -0
- package/dist/nwp/http-headers.d.ts.map +1 -0
- package/dist/nwp/http-headers.js +29 -0
- package/dist/nwp/http-headers.js.map +1 -0
- package/dist/nwp/index.d.ts +9 -0
- package/dist/nwp/index.d.ts.map +1 -1
- package/dist/nwp/index.js +9 -0
- package/dist/nwp/index.js.map +1 -1
- package/dist/nwp/manifest.d.ts +75 -0
- package/dist/nwp/manifest.d.ts.map +1 -0
- package/dist/nwp/manifest.js +5 -0
- package/dist/nwp/manifest.js.map +1 -0
- package/dist/nwp/memory-node-server.d.ts +70 -0
- package/dist/nwp/memory-node-server.d.ts.map +1 -0
- package/dist/nwp/memory-node-server.js +315 -0
- package/dist/nwp/memory-node-server.js.map +1 -0
- package/dist/nwp/nwp-error-codes.d.ts +48 -0
- package/dist/nwp/nwp-error-codes.d.ts.map +1 -0
- package/dist/nwp/nwp-error-codes.js +108 -0
- package/dist/nwp/nwp-error-codes.js.map +1 -0
- package/dist/nwp/registry.d.ts +0 -0
- package/dist/nwp/registry.d.ts.map +0 -0
- package/dist/nwp/registry.js +0 -0
- package/dist/nwp/registry.js.map +0 -0
- package/dist/nwp/reputation.d.ts +37 -0
- package/dist/nwp/reputation.d.ts.map +1 -0
- package/dist/nwp/reputation.js +118 -0
- package/dist/nwp/reputation.js.map +1 -0
- package/dist/setup.d.ts +0 -0
- package/dist/setup.d.ts.map +0 -0
- package/dist/setup.js +0 -0
- package/dist/setup.js.map +0 -0
- package/doc/nps-sdk.core.cn.md +321 -0
- package/doc/nps-sdk.core.md +326 -0
- package/doc/nps-sdk.ncp.cn.md +270 -0
- package/doc/nps-sdk.ncp.md +276 -0
- package/doc/nps-sdk.ndp.cn.md +267 -0
- package/doc/nps-sdk.ndp.md +273 -0
- package/doc/nps-sdk.nip.cn.md +265 -0
- package/doc/nps-sdk.nip.md +272 -0
- package/doc/nps-sdk.nop.cn.md +329 -0
- package/doc/nps-sdk.nop.md +332 -0
- package/doc/nps-sdk.nwp.cn.md +288 -0
- package/doc/nps-sdk.nwp.md +295 -0
- package/doc/overview.cn.md +149 -0
- package/doc/overview.md +153 -0
- package/package.json +33 -4
- package/CONTRIBUTING.md +0 -33
- package/dist/codec-CmHeovTV.d.cts +0 -120
- package/dist/codec-CmHeovTV.d.ts +0 -120
- package/dist/core/index.cjs +0 -371
- package/dist/core/index.cjs.map +0 -1
- package/dist/core/index.d.cts +0 -41
- package/dist/frames-B3qLdl_g.d.cts +0 -77
- package/dist/frames-Ff7-ZPUl.d.ts +0 -77
- package/dist/index.cjs +0 -1556
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -21
- package/dist/ncp/index.cjs +0 -188
- package/dist/ncp/index.cjs.map +0 -1
- package/dist/ncp/index.d.cts +0 -6
- package/dist/ndp/index.cjs +0 -252
- package/dist/ndp/index.cjs.map +0 -1
- package/dist/ndp/index.d.cts +0 -86
- package/dist/nip/index.cjs +0 -214
- package/dist/nip/index.cjs.map +0 -1
- package/dist/nip/index.d.cts +0 -65
- package/dist/nop/index.cjs +0 -762
- package/dist/nop/index.cjs.map +0 -1
- package/dist/nop/index.d.cts +0 -155
- package/dist/nwp/index.cjs +0 -658
- package/dist/nwp/index.cjs.map +0 -1
- package/dist/nwp/index.d.cts +0 -65
- package/nip-ca-server/Dockerfile +0 -27
- package/nip-ca-server/README.md +0 -45
- package/nip-ca-server/db/001_init.sql +0 -25
- package/nip-ca-server/docker-compose.yml +0 -29
- package/nip-ca-server/package.json +0 -23
- package/nip-ca-server/src/ca.ts +0 -155
- package/nip-ca-server/src/db.ts +0 -104
- package/nip-ca-server/src/index.ts +0 -157
- package/nip-ca-server/tsconfig.json +0 -13
- package/src/core/anchor-cache.ts +0 -129
- package/src/core/cache.ts +0 -93
- package/src/core/canonical-json.ts +0 -50
- package/src/core/codec.ts +0 -158
- package/src/core/codecs/index.ts +0 -5
- package/src/core/codecs/ncp-codec.ts +0 -170
- package/src/core/codecs/tier1-json-codec.ts +0 -33
- package/src/core/codecs/tier2-msgpack-codec.ts +0 -30
- package/src/core/crypto-provider.ts +0 -47
- package/src/core/exceptions.ts +0 -57
- package/src/core/frame-header.ts +0 -282
- package/src/core/frame-registry.ts +0 -91
- package/src/core/frames.ts +0 -183
- package/src/core/index.ts +0 -10
- package/src/core/registry.ts +0 -28
- package/src/core/status-codes.ts +0 -46
- package/src/index.ts +0 -10
- package/src/ncp/frames/anchor-frame.ts +0 -87
- package/src/ncp/frames/caps-frame.ts +0 -59
- package/src/ncp/frames/diff-frame.ts +0 -69
- package/src/ncp/frames/error-frame.ts +0 -26
- package/src/ncp/frames/hello-frame.ts +0 -50
- package/src/ncp/frames/stream-frame.ts +0 -35
- package/src/ncp/frames.ts +0 -199
- package/src/ncp/handshake.ts +0 -95
- package/src/ncp/index.ts +0 -12
- package/src/ncp/ncp-error-codes.ts +0 -34
- package/src/ncp/ncp-patch-format.ts +0 -16
- package/src/ncp/registry.ts +0 -14
- package/src/ncp/stream-manager.ts +0 -212
- package/src/ndp/frames.ts +0 -124
- package/src/ndp/index.ts +0 -7
- package/src/ndp/ndp-registry.ts +0 -82
- package/src/ndp/registry.ts +0 -12
- package/src/ndp/validator.ts +0 -64
- package/src/nip/frames.ts +0 -106
- package/src/nip/identity.ts +0 -113
- package/src/nip/index.ts +0 -6
- package/src/nip/registry.ts +0 -12
- package/src/nop/client.ts +0 -103
- package/src/nop/frames.ts +0 -181
- package/src/nop/index.ts +0 -7
- package/src/nop/models.ts +0 -79
- package/src/nop/nop-types.ts +0 -208
- package/src/nop/registry.ts +0 -13
- package/src/nwp/client.ts +0 -114
- package/src/nwp/frames.ts +0 -116
- package/src/nwp/index.ts +0 -6
- package/src/nwp/registry.ts +0 -11
- package/src/setup.ts +0 -32
- package/tests/core/anchor-cache.test.ts +0 -242
- package/tests/core/codec.test.ts +0 -205
- package/tests/core/frame-registry.test.ts +0 -46
- package/tests/core.test.ts +0 -327
- package/tests/ncp/diff-binary-bitset.test.ts +0 -107
- package/tests/ncp/e2e-enc-reject.test.ts +0 -93
- package/tests/ncp/err-error-frame.test.ts +0 -152
- package/tests/ncp/frames.test.ts +0 -359
- package/tests/ncp/framing.test.ts +0 -233
- package/tests/ncp/hello-frame.test.ts +0 -122
- package/tests/ncp/inline-anchor.test.ts +0 -88
- package/tests/ncp/security.test.ts +0 -184
- package/tests/ncp/stream-window.test.ts +0 -167
- package/tests/ncp/stream.test.ts +0 -242
- package/tests/ncp/version-negotiation.test.ts +0 -123
- package/tests/ndp.test.ts +0 -271
- package/tests/nip.test.ts +0 -184
- package/tests/nop.test.ts +0 -344
- package/tests/nwp.test.ts +0 -237
- package/tsconfig.json +0 -20
- package/tsup.config.ts +0 -20
- package/vitest.config.ts +0 -10
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
[English Version](./overview.md) | 中文版
|
|
2
|
+
|
|
3
|
+
# `@labacacia/nps-sdk` — API 参考总览
|
|
4
|
+
|
|
5
|
+
[](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) |
|
package/doc/overview.md
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
English | [中文版](./overview.cn.md)
|
|
2
|
+
|
|
3
|
+
# `@labacacia/nps-sdk` — API Reference Overview
|
|
4
|
+
|
|
5
|
+
[](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.
|
|
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/
|
|
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 };
|
package/dist/codec-CmHeovTV.d.ts
DELETED
|
@@ -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 };
|