@labacacia/nps-sdk 1.0.0-alpha.1 → 1.0.0-alpha.14
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 +49 -0
- package/CHANGELOG.md +65 -0
- package/LICENSE +0 -0
- package/NOTICE +0 -0
- package/README.cn.md +222 -0
- package/README.md +75 -6
- package/dist/conformance.d.ts +55 -0
- package/dist/conformance.d.ts.map +1 -0
- package/dist/conformance.js +100 -0
- package/dist/conformance.js.map +1 -0
- 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/ca-client.d.ts +93 -0
- package/dist/nip/ca-client.d.ts.map +1 -0
- package/dist/nip/ca-client.js +83 -0
- package/dist/nip/ca-client.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 +8 -0
- package/dist/nip/index.d.ts.map +1 -1
- package/dist/nip/index.js +10 -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 +88 -5
- 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 +10 -0
- package/dist/nwp/index.d.ts.map +1 -1
- package/dist/nwp/index.js +10 -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/native-server.d.ts +37 -0
- package/dist/nwp/native-server.d.ts.map +1 -0
- package/dist/nwp/native-server.js +109 -0
- package/dist/nwp/native-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 +37 -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
package/CHANGELOG.cn.md
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
[English Version](./CHANGELOG.md) | 中文版
|
|
2
|
+
|
|
3
|
+
# 变更日志 —— TypeScript SDK (`@labacacia/nps-sdk`)
|
|
4
|
+
|
|
5
|
+
格式参考 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),版本号遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
|
|
6
|
+
|
|
7
|
+
在 NPS 达到 v1.0 稳定版之前,套件内所有仓库同步使用同一个预发布版本号。
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## [1.0.0-alpha.14] —— 2026-06-26
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- `@labacacia/nps-sdk/nip` 下新增 `NipCaClient`:远程 NIP CA 的类型化客户端,覆盖 discovery、CRL、agent/node 注册、X.509 注册、续签、撤销和校验。
|
|
16
|
+
- `@labacacia/nps-sdk/nwp` 下新增 `NwpNativeNodeServer`:native-mode NWP 服务端 helper,用于在已建立的 NCP stream 上分发 QueryFrame/ActionFrame。
|
|
17
|
+
- `@labacacia/nps-sdk/conformance`:TC-N1/TC-N2 一致性用例目录、manifest helper 和校验器,用于 CI/自认证流程。
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## [1.0.0-alpha.2] —— 2026-04-19
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
|
|
25
|
+
- **`NpsFrameCodec is not a constructor`** —— `src/core/index.ts` 现显式从 `./codec.js`、`./registry.js`、`./cache.js` 重新导出随包提供的 OOP API(`NpsFrameCodec`、`Tier1JsonCodec`、`Tier2MsgPackCodec`、`FrameRegistry`、`AnchorFrameCache`)。`./codecs/` 下的并行函数式 API 仍可通过直接路径导入,但不再自动导出(与类 API 在 `FrameType` / `EncodingTier` / `FrameHeader` 上冲突)。
|
|
26
|
+
- **缺失的 Ed25519 运行时依赖** —— `@noble/ed25519` 和 `@noble/hashes` 现已声明为运行时依赖。此前已被 `src/nip/identity.ts` 和 `src/ndp/validator.ts` import 但 `package.json` 未声明,导致 npm 消费者安装失败。
|
|
27
|
+
|
|
28
|
+
### Added
|
|
29
|
+
|
|
30
|
+
- **HelloFrame(NCP 0x06)** —— `src/ncp/frames.ts` 新增 `HelloFrame` 类(snake_case toDict/fromDict),在 `ncp/registry.ts` 中注册。`FrameType.HELLO = 0x06` 加入枚举。
|
|
31
|
+
- **subpath exports** —— `package.json` 的 `exports` 映射新增 `./nwp`、`./nip`、`./ndp`、`./nop`(此前仅声明 `.`、`./core`、`./ncp`,但 README 已示例使用全部六个)。
|
|
32
|
+
|
|
33
|
+
### Changed
|
|
34
|
+
|
|
35
|
+
- Node 引擎要求升级到 `>=22.0.0`。
|
|
36
|
+
- 264 测试全绿(此前为 158 通过 + 5 个文件失败 + 1 个测试失败)。
|
|
37
|
+
|
|
38
|
+
### 涵盖模块
|
|
39
|
+
|
|
40
|
+
- core / ncp / nwp / nip / ndp / nop
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## [1.0.0-alpha.1] —— 2026-04-10
|
|
45
|
+
|
|
46
|
+
作为 NPS 套件 `v1.0.0-alpha.1` 的一部分首次公开 alpha。
|
|
47
|
+
|
|
48
|
+
[1.0.0-alpha.2]: https://github.com/LabAcacia/nps/releases/tag/v1.0.0-alpha.2
|
|
49
|
+
[1.0.0-alpha.1]: https://github.com/LabAcacia/nps/releases/tag/v1.0.0-alpha.1
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
English | [中文版](./CHANGELOG.cn.md)
|
|
2
|
+
|
|
3
|
+
# Changelog — TypeScript SDK (`@labacacia/nps-sdk`)
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
|
+
|
|
7
|
+
Until NPS reaches v1.0 stable, every repository in the suite is synchronized to the same pre-release version tag.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## [1.0.0-alpha.14] — 2026-06-26
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
- `NipCaClient` under `@labacacia/nps-sdk/nip`: typed remote NIP CA client for discovery, CRL, agent/node registration, X.509 registration, renewal, revocation, and verification.
|
|
15
|
+
- `NwpNativeNodeServer` under `@labacacia/nps-sdk/nwp`: native-mode NWP serving helper for dispatching QueryFrame/ActionFrame over an already established NCP stream.
|
|
16
|
+
- `@labacacia/nps-sdk/conformance`: TC-N1/TC-N2 conformance catalog, manifest helper, and validator for CI/self-certification flows.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## [1.0.0-alpha.11] — 2026-05-28
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
|
|
24
|
+
- NOP saga compensation: `DagNode.compensate_action/compensate_params_mapping`, `TaskFrame.compensation_policy`, `TaskState.COMPENSATING/COMPENSATED`, `CompensationPolicy` constants (alpha.9 parity)
|
|
25
|
+
- NOP `AggregateStrategy.WEIGHTED_FIRST_K` and `MERGE_ALL` (alpha.11)
|
|
26
|
+
- NOP `DelegateFrame.target_cluster_anchor`, `AlignStreamFrame.ack_seq/nak_seq` (alpha.11)
|
|
27
|
+
- NDP security profiles: `SecurityProfile` constants + registry enforcement (alpha.9 parity)
|
|
28
|
+
- NDP ephemeral TTL cap (60 s) in registry (alpha.9 parity)
|
|
29
|
+
- NDP `AnnounceFrame` alpha.9 fields: node_roles, cluster_anchor, spawn_spec_ref, bridge_protocols, activation_mode, activation_endpoint
|
|
30
|
+
- NDP `GraphFrame` / `NdpGraphEdge` redesigned to NPS-4 §5 topology snapshot format (alpha.11)
|
|
31
|
+
- NIP `IdentReputationPolicyHint` and `IdentMetadata.reputation_policy` (alpha.10 parity)
|
|
32
|
+
- NIP `IdentFrame.ocsp_staple` (alpha.11)
|
|
33
|
+
- NWP `SubscribeFrame` and NWM `trust_anchors` field (alpha.11)
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## [1.0.0-alpha.2] — 2026-04-19
|
|
38
|
+
|
|
39
|
+
### Fixed
|
|
40
|
+
|
|
41
|
+
- **`NpsFrameCodec is not a constructor`** — `src/core/index.ts` now explicitly re-exports the shipped OOP API (`NpsFrameCodec`, `Tier1JsonCodec`, `Tier2MsgPackCodec`, `FrameRegistry`, `AnchorFrameCache`) from `./codec.js`, `./registry.js`, `./cache.js`. The parallel functional API under `./codecs/` remains reachable by direct path but is no longer auto-exported (it collided on `FrameType` / `EncodingTier` / `FrameHeader`).
|
|
42
|
+
- **Missing Ed25519 runtime deps** — `@noble/ed25519` and `@noble/hashes` are now declared as runtime dependencies. Previously imported by `src/nip/identity.ts` and `src/ndp/validator.ts` but not listed in `package.json`, causing install failures for npm consumers.
|
|
43
|
+
|
|
44
|
+
### Added
|
|
45
|
+
|
|
46
|
+
- **HelloFrame (NCP 0x06)** — new `HelloFrame` class in `src/ncp/frames.ts` with snake_case toDict/fromDict, registered in `ncp/registry.ts`. `FrameType.HELLO = 0x06` added to the enum.
|
|
47
|
+
- **Subpath exports** — `package.json` `exports` map now includes `./nwp`, `./nip`, `./ndp`, `./nop` (previously only `.`, `./core`, `./ncp` were declared even though README documented all six).
|
|
48
|
+
|
|
49
|
+
### Changed
|
|
50
|
+
|
|
51
|
+
- Node engine requirement raised to `>=22.0.0`.
|
|
52
|
+
- 264 tests green (up from 158 previously passing + 5 file failures + 1 test failure).
|
|
53
|
+
|
|
54
|
+
### Covered modules
|
|
55
|
+
|
|
56
|
+
- core / ncp / nwp / nip / ndp / nop
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## [1.0.0-alpha.1] — 2026-04-10
|
|
61
|
+
|
|
62
|
+
First public alpha as part of the NPS suite `v1.0.0-alpha.1` release.
|
|
63
|
+
|
|
64
|
+
[1.0.0-alpha.2]: https://github.com/LabAcacia/nps/releases/tag/v1.0.0-alpha.2
|
|
65
|
+
[1.0.0-alpha.1]: https://github.com/LabAcacia/nps/releases/tag/v1.0.0-alpha.1
|
package/LICENSE
CHANGED
|
File without changes
|
package/NOTICE
CHANGED
|
File without changes
|
package/README.cn.md
ADDED
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
[English Version](./README.md) | 中文版
|
|
2
|
+
|
|
3
|
+
# @labacacia/nps-sdk — TypeScript / Node.js
|
|
4
|
+
[](../../LICENSE)
|
|
5
|
+
[](../../CHANGELOG.cn.md)
|
|
6
|
+
[]()
|
|
7
|
+
[]()
|
|
8
|
+
[]()
|
|
9
|
+
[]()
|
|
10
|
+
[]()
|
|
11
|
+
|
|
12
|
+
面向 **Neural Protocol Suite (NPS)** 的 TypeScript SDK —— 为 AI Agent 设计的协议族。
|
|
13
|
+
属 [LabAcacia](https://github.com/LabAcacia) / INNO LOTUS PTY LTD 开源生态。
|
|
14
|
+
|
|
15
|
+
## 状态
|
|
16
|
+
|
|
17
|
+
**v1.0.0-alpha.14 — RFC-0002 跨 SDK 端口波(第三棒)** · 5 个协议 · 271 个测试 · 覆盖率 ≥ 98%
|
|
18
|
+
|
|
19
|
+
Alpha.14 候选新增:远程 NIP CA 类型化客户端(`NipCaClient`)、native-mode NWP 服务端 helper(`NwpNativeNodeServer`)和 TC-N1/TC-N2 一致性 manifest helper(`@labacacia/nps-sdk/conformance`)。
|
|
20
|
+
|
|
21
|
+
| 协议 | 类 | 状态 |
|
|
22
|
+
|------|----|------|
|
|
23
|
+
| NCP — Neural Communication Protocol | 帧、编解码器 | ✅ |
|
|
24
|
+
| NWP — Neural Web Protocol | `NwpClient`、`NwpNativeNodeServer` | ✅ |
|
|
25
|
+
| NIP — Neural Identity Protocol | `NipIdentity`、`NipIdentVerifier`(RFC-0002 §8.1 双信任)、`AssuranceLevel`(RFC-0003)、`nip.x509` + `nip.acme` | ✅ |
|
|
26
|
+
| NDP — Neural Discovery Protocol | `InMemoryNdpRegistry`、`NdpAnnounceValidator` | ✅ |
|
|
27
|
+
| NOP — Neural Orchestration Protocol | `NopClient` | ✅ |
|
|
28
|
+
|
|
29
|
+
**早期新增** —— 完整的 NPS-RFC-0002 X.509 + ACME `agent-01` NID 证书原语:
|
|
30
|
+
|
|
31
|
+
- `nip.x509` —— `issueLeaf` / `issueRoot` / `verify`(基于 `@peculiar/x509` + 原生 Web Crypto Ed25519)。
|
|
32
|
+
- `nip.acme` —— `AcmeClient` + 进程内 `AcmeServer` + JWS / messages helpers(RFC 8555 + RFC 8037 EdDSA)。
|
|
33
|
+
- `IdentFrame` 扩展非破坏性可选构造参数 `assuranceLevel` / `certFormat` / `certChain`;v1 verifier 忽略新字段。
|
|
34
|
+
|
|
35
|
+
## 安装
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npm install @labacacia/nps-sdk
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
> **对等依赖:** Node.js 22+
|
|
42
|
+
|
|
43
|
+
## 快速开始
|
|
44
|
+
|
|
45
|
+
### NWP —— 查询节点
|
|
46
|
+
|
|
47
|
+
```typescript
|
|
48
|
+
import { NwpClient, QueryFrame } from "@labacacia/nps-sdk/nwp";
|
|
49
|
+
|
|
50
|
+
const client = new NwpClient("http://node.example.com:17433");
|
|
51
|
+
const caps = await client.query(new QueryFrame("sha256:<anchor-id>", { active: true }, 20));
|
|
52
|
+
console.log(caps.count, caps.data);
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### NWP —— 流式结果
|
|
56
|
+
|
|
57
|
+
```typescript
|
|
58
|
+
for await (const chunk of client.stream(new QueryFrame("sha256:<anchor-id>"))) {
|
|
59
|
+
console.log(chunk.seq, chunk.data);
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### NWP —— 调用 Action
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
import { ActionFrame } from "@labacacia/nps-sdk/nwp";
|
|
67
|
+
|
|
68
|
+
const result = await client.invoke(new ActionFrame("summarise", { maxTokens: 500 }));
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### NWP —— native 服务端
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
import { NwpNativeNodeServer } from "@labacacia/nps-sdk/nwp";
|
|
75
|
+
|
|
76
|
+
const server = new NwpNativeNodeServer({
|
|
77
|
+
queryHandler: () => [{ id: 42 }],
|
|
78
|
+
actionHandler: (action) => ({ action: action.actionId }),
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
// `source`/`sink` 已完成 NCP preamble、TLS 和 Hello negotiation。
|
|
82
|
+
await server.serve(source, sink);
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### NIP —— Ed25519 身份
|
|
86
|
+
|
|
87
|
+
```typescript
|
|
88
|
+
import { NipIdentity } from "@labacacia/nps-sdk/nip";
|
|
89
|
+
|
|
90
|
+
// 生成并持久化
|
|
91
|
+
const id = NipIdentity.generate();
|
|
92
|
+
id.save("./my-key.json", process.env.KEY_PASS!);
|
|
93
|
+
|
|
94
|
+
// 加载并签名
|
|
95
|
+
const loaded = NipIdentity.load("./my-key.json", process.env.KEY_PASS!);
|
|
96
|
+
const sig = loaded.sign({ action: "announce", nid: "urn:nps:node:example.com:data" });
|
|
97
|
+
const ok = loaded.verify({ action: "announce", nid: "urn:nps:node:example.com:data" }, sig);
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### NIP —— 远程 CA Client
|
|
101
|
+
|
|
102
|
+
```typescript
|
|
103
|
+
import { NipCaClient } from "@labacacia/nps-sdk/nip";
|
|
104
|
+
|
|
105
|
+
const ca = new NipCaClient("https://ca.example.com", { routePrefix: "/nip" });
|
|
106
|
+
const discovery = await ca.getDiscovery();
|
|
107
|
+
const ident = await ca.registerAgent(
|
|
108
|
+
{ identifier: "agent-a", pub_key: "ed25519:<pub>", capabilities: ["nwp:query"] },
|
|
109
|
+
"token",
|
|
110
|
+
);
|
|
111
|
+
const status = await ca.verifyAgent(ident.nid);
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### 一致性 Manifest
|
|
115
|
+
|
|
116
|
+
```typescript
|
|
117
|
+
import {
|
|
118
|
+
NODE_L1,
|
|
119
|
+
catalogForProfile,
|
|
120
|
+
createConformanceManifest,
|
|
121
|
+
validateConformanceManifest,
|
|
122
|
+
} from "@labacacia/nps-sdk/conformance";
|
|
123
|
+
|
|
124
|
+
const results = catalogForProfile(NODE_L1).map((c) => ({ id: c.id, result: "pass" as const }));
|
|
125
|
+
const manifest = createConformanceManifest({
|
|
126
|
+
profile: NODE_L1,
|
|
127
|
+
iutName: "my-node",
|
|
128
|
+
iutVersion: "1.0.0-alpha.14",
|
|
129
|
+
iutNid: "urn:nps:node:example.com:my-node",
|
|
130
|
+
peerName: "labacacia-fixture",
|
|
131
|
+
peerVersion: "1.0.0-alpha.14",
|
|
132
|
+
results,
|
|
133
|
+
});
|
|
134
|
+
const validation = validateConformanceManifest(manifest);
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### NDP —— 注册表和签名校验
|
|
138
|
+
|
|
139
|
+
```typescript
|
|
140
|
+
import { InMemoryNdpRegistry, NdpAnnounceValidator } from "@labacacia/nps-sdk/ndp";
|
|
141
|
+
import { AnnounceFrame } from "@labacacia/nps-sdk/ndp";
|
|
142
|
+
|
|
143
|
+
const registry = new InMemoryNdpRegistry();
|
|
144
|
+
const validator = new NdpAnnounceValidator();
|
|
145
|
+
validator.registerPublicKey(nid, identity.pubKeyString);
|
|
146
|
+
|
|
147
|
+
registry.announce(frame);
|
|
148
|
+
const resolved = registry.resolve("nwp://example.com/data/items");
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### NOP —— 提交并等待任务
|
|
152
|
+
|
|
153
|
+
```typescript
|
|
154
|
+
import { NopClient, TaskFrame } from "@labacacia/nps-sdk/nop";
|
|
155
|
+
|
|
156
|
+
const client = new NopClient("http://orchestrator.example.com:17433");
|
|
157
|
+
const dag = {
|
|
158
|
+
nodes: [{ id: "classify", action: "classify-text", agent: "urn:nps:node:ml.example.com:classifier" }],
|
|
159
|
+
edges: [],
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
const taskId = await client.submit(new TaskFrame("my-task-1", dag));
|
|
163
|
+
const status = await client.wait(taskId, { timeoutMs: 30_000 });
|
|
164
|
+
console.log(status.state, status.aggregatedResult);
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## 包导出
|
|
168
|
+
|
|
169
|
+
```typescript
|
|
170
|
+
import { ... } from "@labacacia/nps-sdk"; // 全部
|
|
171
|
+
import { ... } from "@labacacia/nps-sdk/core"; // codec、帧、registry、cache
|
|
172
|
+
import { ... } from "@labacacia/nps-sdk/ncp"; // AnchorFrame、CapsFrame、StreamFrame、HelloFrame、…
|
|
173
|
+
import { ... } from "@labacacia/nps-sdk/nwp"; // NwpClient、QueryFrame、ActionFrame
|
|
174
|
+
import { ... } from "@labacacia/nps-sdk/nip"; // NipIdentity、IdentFrame、TrustFrame、RevokeFrame
|
|
175
|
+
import { ... } from "@labacacia/nps-sdk/ndp"; // InMemoryNdpRegistry、NdpAnnounceValidator、AnnounceFrame、…
|
|
176
|
+
import { ... } from "@labacacia/nps-sdk/nop"; // NopClient、NopTaskStatus、TaskFrame、…
|
|
177
|
+
import { ... } from "@labacacia/nps-sdk/conformance"; // TC-N1/TC-N2 目录和 manifest 校验器
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
## NCP 编解码
|
|
181
|
+
|
|
182
|
+
编解码层支持双 Tier 编码和对线上字节的直接操作:
|
|
183
|
+
|
|
184
|
+
```typescript
|
|
185
|
+
import { NpsFrameCodec, EncodingTier } from "@labacacia/nps-sdk/core";
|
|
186
|
+
import { createDefaultRegistry } from "@labacacia/nps-sdk";
|
|
187
|
+
|
|
188
|
+
const codec = new NpsFrameCodec(createDefaultRegistry());
|
|
189
|
+
|
|
190
|
+
// 编码(默认 MsgPack)
|
|
191
|
+
const wire = codec.encode(frame);
|
|
192
|
+
|
|
193
|
+
// 编码为 JSON(调试 / 互操作)
|
|
194
|
+
const json = codec.encode(frame, { overrideTier: EncodingTier.JSON });
|
|
195
|
+
|
|
196
|
+
// 解码
|
|
197
|
+
const decoded = codec.decode(wire);
|
|
198
|
+
|
|
199
|
+
// 仅读取帧头,不解码 payload
|
|
200
|
+
const header = NpsFrameCodec.peekHeader(wire);
|
|
201
|
+
console.log(header.frameType, header.isExtended, header.payloadLength);
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
## 开发
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
# 安装
|
|
208
|
+
npm install
|
|
209
|
+
|
|
210
|
+
# 测试
|
|
211
|
+
npm test
|
|
212
|
+
|
|
213
|
+
# 测试 + 覆盖率
|
|
214
|
+
npm run test -- --coverage
|
|
215
|
+
|
|
216
|
+
# 构建(ESM + CJS)
|
|
217
|
+
npm run build
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
## 许可证
|
|
221
|
+
|
|
222
|
+
Apache 2.0 —— 详见 [LICENSE](https://github.com/labacacia/NPS-Dev/blob/main/LICENSE)。
|
package/README.md
CHANGED
|
@@ -1,27 +1,44 @@
|
|
|
1
|
+
English | [中文版](./README.cn.md)
|
|
2
|
+
|
|
1
3
|
# @labacacia/nps-sdk — TypeScript / Node.js
|
|
4
|
+
[](../../LICENSE)
|
|
5
|
+
[](../../CHANGELOG.md)
|
|
6
|
+
[]()
|
|
7
|
+
[]()
|
|
8
|
+
[]()
|
|
9
|
+
[]()
|
|
10
|
+
[]()
|
|
2
11
|
|
|
3
12
|
TypeScript SDK for the **Neural Protocol Suite** (NPS) — a protocol suite designed for AI Agents.
|
|
4
13
|
Part of the [LabAcacia](https://github.com/LabAcacia) / INNO LOTUS PTY LTD open-source ecosystem.
|
|
5
14
|
|
|
6
15
|
## Status
|
|
7
16
|
|
|
8
|
-
**
|
|
17
|
+
**v1.0.0-alpha.14 — RFC-0002 cross-SDK port (third language)** · 5 protocols · 271 tests · ≥ 98% coverage
|
|
18
|
+
|
|
19
|
+
Alpha.14 candidate additions: typed remote NIP CA client (`NipCaClient`), native-mode NWP serving helper (`NwpNativeNodeServer`), and TC-N1/TC-N2 conformance manifest helpers (`@labacacia/nps-sdk/conformance`).
|
|
9
20
|
|
|
10
21
|
| Protocol | Class | Status |
|
|
11
22
|
|----------|-------|--------|
|
|
12
23
|
| NCP — Neural Communication Protocol | Framing, codec | ✅ |
|
|
13
|
-
| NWP — Neural Web Protocol | `NwpClient` | ✅ |
|
|
14
|
-
| NIP — Neural Identity Protocol | `NipIdentity` | ✅ |
|
|
24
|
+
| NWP — Neural Web Protocol | `NwpClient`, `NwpNativeNodeServer` | ✅ |
|
|
25
|
+
| NIP — Neural Identity Protocol | `NipIdentity`, `NipIdentVerifier` (RFC-0002 §8.1 dual-trust), `AssuranceLevel` (RFC-0003), `nip.x509` + `nip.acme` | ✅ |
|
|
15
26
|
| NDP — Neural Discovery Protocol | `InMemoryNdpRegistry`, `NdpAnnounceValidator` | ✅ |
|
|
16
27
|
| NOP — Neural Orchestration Protocol | `NopClient` | ✅ |
|
|
17
28
|
|
|
29
|
+
**Earlier additions** — Full NPS-RFC-0002 X.509 + ACME `agent-01` NID certificate primitives:
|
|
30
|
+
|
|
31
|
+
- `nip.x509` — `issueLeaf` / `issueRoot` / `verify` (built on `@peculiar/x509` + native Web Crypto Ed25519).
|
|
32
|
+
- `nip.acme` — `AcmeClient` + in-process `AcmeServer` + JWS / message helpers (RFC 8555 + EdDSA per RFC 8037).
|
|
33
|
+
- `IdentFrame` extended with non-breaking `assuranceLevel` / `certFormat` / `certChain` constructor options; v1 verifiers ignore the new fields.
|
|
34
|
+
|
|
18
35
|
## Installation
|
|
19
36
|
|
|
20
37
|
```bash
|
|
21
38
|
npm install @labacacia/nps-sdk
|
|
22
39
|
```
|
|
23
40
|
|
|
24
|
-
> **Peer requirement:** Node.js
|
|
41
|
+
> **Peer requirement:** Node.js 22+
|
|
25
42
|
|
|
26
43
|
## Quick Start
|
|
27
44
|
|
|
@@ -51,6 +68,20 @@ import { ActionFrame } from "@labacacia/nps-sdk/nwp";
|
|
|
51
68
|
const result = await client.invoke(new ActionFrame("summarise", { maxTokens: 500 }));
|
|
52
69
|
```
|
|
53
70
|
|
|
71
|
+
### NWP — native serving
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
import { NwpNativeNodeServer } from "@labacacia/nps-sdk/nwp";
|
|
75
|
+
|
|
76
|
+
const server = new NwpNativeNodeServer({
|
|
77
|
+
queryHandler: () => [{ id: 42 }],
|
|
78
|
+
actionHandler: (action) => ({ action: action.actionId }),
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
// `source`/`sink` are already past NCP preamble, TLS, and Hello negotiation.
|
|
82
|
+
await server.serve(source, sink);
|
|
83
|
+
```
|
|
84
|
+
|
|
54
85
|
### NIP — Ed25519 identity
|
|
55
86
|
|
|
56
87
|
```typescript
|
|
@@ -66,6 +97,43 @@ const sig = loaded.sign({ action: "announce", nid: "urn:nps:node:example.com:
|
|
|
66
97
|
const ok = loaded.verify({ action: "announce", nid: "urn:nps:node:example.com:data" }, sig);
|
|
67
98
|
```
|
|
68
99
|
|
|
100
|
+
### NIP — remote CA client
|
|
101
|
+
|
|
102
|
+
```typescript
|
|
103
|
+
import { NipCaClient } from "@labacacia/nps-sdk/nip";
|
|
104
|
+
|
|
105
|
+
const ca = new NipCaClient("https://ca.example.com", { routePrefix: "/nip" });
|
|
106
|
+
const discovery = await ca.getDiscovery();
|
|
107
|
+
const ident = await ca.registerAgent(
|
|
108
|
+
{ identifier: "agent-a", pub_key: "ed25519:<pub>", capabilities: ["nwp:query"] },
|
|
109
|
+
"token",
|
|
110
|
+
);
|
|
111
|
+
const status = await ca.verifyAgent(ident.nid);
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Conformance manifest
|
|
115
|
+
|
|
116
|
+
```typescript
|
|
117
|
+
import {
|
|
118
|
+
NODE_L1,
|
|
119
|
+
catalogForProfile,
|
|
120
|
+
createConformanceManifest,
|
|
121
|
+
validateConformanceManifest,
|
|
122
|
+
} from "@labacacia/nps-sdk/conformance";
|
|
123
|
+
|
|
124
|
+
const results = catalogForProfile(NODE_L1).map((c) => ({ id: c.id, result: "pass" as const }));
|
|
125
|
+
const manifest = createConformanceManifest({
|
|
126
|
+
profile: NODE_L1,
|
|
127
|
+
iutName: "my-node",
|
|
128
|
+
iutVersion: "1.0.0-alpha.14",
|
|
129
|
+
iutNid: "urn:nps:node:example.com:my-node",
|
|
130
|
+
peerName: "labacacia-fixture",
|
|
131
|
+
peerVersion: "1.0.0-alpha.14",
|
|
132
|
+
results,
|
|
133
|
+
});
|
|
134
|
+
const validation = validateConformanceManifest(manifest);
|
|
135
|
+
```
|
|
136
|
+
|
|
69
137
|
### NDP — registry and signature validation
|
|
70
138
|
|
|
71
139
|
```typescript
|
|
@@ -101,11 +169,12 @@ console.log(status.state, status.aggregatedResult);
|
|
|
101
169
|
```typescript
|
|
102
170
|
import { ... } from "@labacacia/nps-sdk"; // everything
|
|
103
171
|
import { ... } from "@labacacia/nps-sdk/core"; // codec, frames, registry, cache
|
|
104
|
-
import { ... } from "@labacacia/nps-sdk/ncp"; // AnchorFrame, CapsFrame, StreamFrame, …
|
|
172
|
+
import { ... } from "@labacacia/nps-sdk/ncp"; // AnchorFrame, CapsFrame, StreamFrame, HelloFrame, …
|
|
105
173
|
import { ... } from "@labacacia/nps-sdk/nwp"; // NwpClient, QueryFrame, ActionFrame
|
|
106
174
|
import { ... } from "@labacacia/nps-sdk/nip"; // NipIdentity, IdentFrame, TrustFrame, RevokeFrame
|
|
107
175
|
import { ... } from "@labacacia/nps-sdk/ndp"; // InMemoryNdpRegistry, NdpAnnounceValidator, AnnounceFrame, …
|
|
108
176
|
import { ... } from "@labacacia/nps-sdk/nop"; // NopClient, NopTaskStatus, TaskFrame, …
|
|
177
|
+
import { ... } from "@labacacia/nps-sdk/conformance"; // TC-N1/TC-N2 catalogs and manifest validator
|
|
109
178
|
```
|
|
110
179
|
|
|
111
180
|
## NCP Codec
|
|
@@ -150,4 +219,4 @@ node node_modules/tsup/dist/cli-default.js
|
|
|
150
219
|
|
|
151
220
|
## License
|
|
152
221
|
|
|
153
|
-
Apache 2.0 — see [LICENSE](
|
|
222
|
+
Apache 2.0 — see [LICENSE](https://github.com/labacacia/NPS-Dev/blob/main/LICENSE)
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export declare const NODE_L1: "NPS-Node-L1";
|
|
2
|
+
export declare const NODE_L2: "NPS-Node-L2";
|
|
3
|
+
export interface NpsConformanceCase {
|
|
4
|
+
id: string;
|
|
5
|
+
profile: string;
|
|
6
|
+
requirement: string;
|
|
7
|
+
title: string;
|
|
8
|
+
optional: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface NpsConformanceCaseResult {
|
|
11
|
+
id: string;
|
|
12
|
+
result: "pass" | "fail" | "skip" | "na" | string;
|
|
13
|
+
message?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface NpsConformanceActor {
|
|
16
|
+
name: string;
|
|
17
|
+
version: string;
|
|
18
|
+
nid?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface NpsConformanceManifest {
|
|
21
|
+
profile: string;
|
|
22
|
+
profile_version: string;
|
|
23
|
+
iut: NpsConformanceActor;
|
|
24
|
+
peer: NpsConformanceActor;
|
|
25
|
+
run: {
|
|
26
|
+
date: string;
|
|
27
|
+
environment: string;
|
|
28
|
+
};
|
|
29
|
+
cases: readonly NpsConformanceCaseResult[];
|
|
30
|
+
summary: {
|
|
31
|
+
pass: number;
|
|
32
|
+
fail: number;
|
|
33
|
+
skip: number;
|
|
34
|
+
na: number;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export interface NpsConformanceValidation {
|
|
38
|
+
valid: boolean;
|
|
39
|
+
message: string;
|
|
40
|
+
}
|
|
41
|
+
export declare function createConformanceManifest(args: {
|
|
42
|
+
profile: string;
|
|
43
|
+
iutName: string;
|
|
44
|
+
iutVersion: string;
|
|
45
|
+
iutNid: string;
|
|
46
|
+
peerName: string;
|
|
47
|
+
peerVersion: string;
|
|
48
|
+
results: readonly NpsConformanceCaseResult[];
|
|
49
|
+
environment?: string;
|
|
50
|
+
}): NpsConformanceManifest;
|
|
51
|
+
export declare function catalogForProfile(profile: string): readonly NpsConformanceCase[];
|
|
52
|
+
export declare function validateConformanceManifest(manifest: NpsConformanceManifest): NpsConformanceValidation;
|
|
53
|
+
export declare const NODE_L1_CASES: readonly NpsConformanceCase[];
|
|
54
|
+
export declare const NODE_L2_CASES: readonly NpsConformanceCase[];
|
|
55
|
+
//# sourceMappingURL=conformance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conformance.d.ts","sourceRoot":"","sources":["../src/conformance.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,EAAG,aAAsB,CAAC;AAC9C,eAAO,MAAM,OAAO,EAAG,aAAsB,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAW,MAAM,CAAC;IACpB,OAAO,EAAM,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAQ,MAAM,CAAC;IACpB,QAAQ,EAAK,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAQ,MAAM,CAAC;IACjB,MAAM,EAAI,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAM,MAAM,CAAC;IACjB,OAAO,EAAG,MAAM,CAAC;IACjB,GAAG,CAAC,EAAM,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAU,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,GAAG,EAAc,mBAAmB,CAAC;IACrC,IAAI,EAAa,mBAAmB,CAAC;IACrC,GAAG,EAAc;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,KAAK,EAAY,SAAS,wBAAwB,EAAE,CAAC;IACrD,OAAO,EAAU;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3E;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAI,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,sBAAsB,CAgBzB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,kBAAkB,EAAE,CAIhF;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,sBAAsB,GAAG,wBAAwB,CA2BtG;AAMD,eAAO,MAAM,aAAa,EAAE,SAAS,kBAAkB,EAqBtD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAAS,kBAAkB,EAiBtD,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
// Copyright 2026 INNO LOTUS PTY LTD
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
export const NODE_L1 = "NPS-Node-L1";
|
|
4
|
+
export const NODE_L2 = "NPS-Node-L2";
|
|
5
|
+
export function createConformanceManifest(args) {
|
|
6
|
+
const cases = [...args.results];
|
|
7
|
+
return {
|
|
8
|
+
profile: args.profile,
|
|
9
|
+
profile_version: args.profile === NODE_L2 ? "0.3" : "0.1",
|
|
10
|
+
iut: { name: args.iutName, version: args.iutVersion, nid: args.iutNid },
|
|
11
|
+
peer: { name: args.peerName, version: args.peerVersion },
|
|
12
|
+
run: { date: new Date().toISOString(), environment: args.environment ?? "unspecified" },
|
|
13
|
+
cases,
|
|
14
|
+
summary: {
|
|
15
|
+
pass: cases.filter((c) => c.result === "pass").length,
|
|
16
|
+
fail: cases.filter((c) => c.result === "fail").length,
|
|
17
|
+
skip: cases.filter((c) => c.result === "skip").length,
|
|
18
|
+
na: cases.filter((c) => c.result === "na").length,
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export function catalogForProfile(profile) {
|
|
23
|
+
if (profile === NODE_L1)
|
|
24
|
+
return NODE_L1_CASES;
|
|
25
|
+
if (profile === NODE_L2)
|
|
26
|
+
return NODE_L2_CASES;
|
|
27
|
+
throw new RangeError(`Unknown NPS conformance profile: ${profile}`);
|
|
28
|
+
}
|
|
29
|
+
export function validateConformanceManifest(manifest) {
|
|
30
|
+
const catalog = catalogForProfile(manifest.profile);
|
|
31
|
+
const known = new Map(catalog.map((c) => [c.id, c]));
|
|
32
|
+
const seen = new Set();
|
|
33
|
+
const validResults = new Set(["pass", "fail", "skip", "na"]);
|
|
34
|
+
for (const result of manifest.cases) {
|
|
35
|
+
const knownCase = known.get(result.id);
|
|
36
|
+
if (knownCase === undefined)
|
|
37
|
+
return { valid: false, message: `Unknown conformance case id '${result.id}'.` };
|
|
38
|
+
if (seen.has(result.id))
|
|
39
|
+
return { valid: false, message: `Duplicate conformance case id '${result.id}'.` };
|
|
40
|
+
seen.add(result.id);
|
|
41
|
+
if (!validResults.has(result.result)) {
|
|
42
|
+
return { valid: false, message: `Case '${result.id}' has invalid result '${result.result}'.` };
|
|
43
|
+
}
|
|
44
|
+
if (result.result === "na" && !knownCase.optional) {
|
|
45
|
+
return { valid: false, message: `Case '${result.id}' is required and cannot be marked na.` };
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const missing = catalog.filter((c) => !seen.has(c.id)).map((c) => c.id);
|
|
49
|
+
if (missing.length > 0) {
|
|
50
|
+
return { valid: false, message: `Missing conformance case results: ${missing.join(", ")}.` };
|
|
51
|
+
}
|
|
52
|
+
if (manifest.cases.some((c) => c.result === "fail" || c.result === "skip")) {
|
|
53
|
+
return { valid: false, message: "Conformance manifest contains fail or skip results." };
|
|
54
|
+
}
|
|
55
|
+
return { valid: true, message: "Conformance manifest is valid." };
|
|
56
|
+
}
|
|
57
|
+
function c(id, profile, requirement, title, optional = false) {
|
|
58
|
+
return { id, profile, requirement, title, optional };
|
|
59
|
+
}
|
|
60
|
+
export const NODE_L1_CASES = [
|
|
61
|
+
c("TC-N1-NCP-01", NODE_L1, "N1-NCP-01", "Tier-1 JSON frame round-trip"),
|
|
62
|
+
c("TC-N1-NCP-02", NODE_L1, "N1-NCP-02", "Hello + Anchor handshake"),
|
|
63
|
+
c("TC-N1-NCP-03", NODE_L1, "N1-NCP-03", "Loopback listener default"),
|
|
64
|
+
c("TC-N1-NCP-04", NODE_L1, "N1-NCP-04", "Tier-2 negotiation hygiene"),
|
|
65
|
+
c("TC-N1-NIP-01", NODE_L1, "N1-NIP-01", "Root keypair generation and permission"),
|
|
66
|
+
c("TC-N1-NIP-02", NODE_L1, "N1-NIP-02", "IdentFrame sign and verify"),
|
|
67
|
+
c("TC-N1-NIP-03", NODE_L1, "N1-NIP-03", "NID format"),
|
|
68
|
+
c("TC-N1-NIP-04", NODE_L1, "N1-NIP-04", "Sub-NID issuance", true),
|
|
69
|
+
c("TC-N1-NDP-01", NODE_L1, "N1-NDP-01", "AnnounceFrame carries activation_mode"),
|
|
70
|
+
c("TC-N1-NDP-02", NODE_L1, "N1-NDP-02", "AnnounceFrame signature"),
|
|
71
|
+
c("TC-N1-NDP-03", NODE_L1, "N1-NDP-03", "ResolveFrame response"),
|
|
72
|
+
c("TC-N1-NDP-04", NODE_L1, "N1-NDP-04", "GraphFrame subscription", true),
|
|
73
|
+
c("TC-N1-NWP-01", NODE_L1, "N1-NWP-01", "Inbox accepts ActionFrame"),
|
|
74
|
+
c("TC-N1-NWP-02", NODE_L1, "N1-NWP-02", "Inbox persists across restart"),
|
|
75
|
+
c("TC-N1-NWP-03", NODE_L1, "N1-NWP-03", "NWP pull serves inbox"),
|
|
76
|
+
c("TC-N1-NWP-04", NODE_L1, "N1-NWP-04", "100 QPS baseline"),
|
|
77
|
+
c("TC-N1-NWP-05", NODE_L1, "N1-NWP-05", "Push path", true),
|
|
78
|
+
c("TC-N1-OBS-01", NODE_L1, "N1-OBS-01", "Frame log entry per direction"),
|
|
79
|
+
c("TC-N1-OBS-02", NODE_L1, "N1-OBS-02", "Log entry fields"),
|
|
80
|
+
c("TC-N1-OBS-03", NODE_L1, "N1-OBS-03", "Log destination flexibility"),
|
|
81
|
+
];
|
|
82
|
+
export const NODE_L2_CASES = [
|
|
83
|
+
c("TC-N2-AnchorTopo-01", NODE_L2, "L2-08", "Snapshot of a 3-member cluster"),
|
|
84
|
+
c("TC-N2-AnchorTopo-02", NODE_L2, "L2-08", "Version monotonicity across joins"),
|
|
85
|
+
c("TC-N2-AnchorTopo-03", NODE_L2, "L2-08", "Sub-Anchor member surfaces"),
|
|
86
|
+
c("TC-N2-AnchorStream-01", NODE_L2, "L2-08", "member_joined on NDP Announce"),
|
|
87
|
+
c("TC-N2-AnchorStream-02", NODE_L2, "L2-08", "member_left on NDP TTL expiry"),
|
|
88
|
+
c("TC-N2-AnchorStream-03", NODE_L2, "L2-08", "Resume from topology.since_version"),
|
|
89
|
+
c("TC-N2-AnchorTopo-04", NODE_L2, "L2-08", "Unauthorized topology access"),
|
|
90
|
+
c("TC-N2-AnchorTopo-05", NODE_L2, "L2-08", "Depth cap exceeded"),
|
|
91
|
+
c("TC-N2-AnchorTopo-06", NODE_L2, "L2-08", "Unsupported topology scope"),
|
|
92
|
+
c("TC-N2-AnchorTopo-07", NODE_L2, "L2-08", "Unsupported topology filter"),
|
|
93
|
+
c("TC-N2-AnchorTopo-08", NODE_L2, "L2-08", "Unsupported reserved topology type"),
|
|
94
|
+
c("TC-N2-AnchorStream-04", NODE_L2, "L2-08", "resync_required when version is too old"),
|
|
95
|
+
c("TC-N2-Tls-01", NODE_L2, "NPS-RFC-0006", "ALPN nps/1.0 negotiated over TLS 1.3"),
|
|
96
|
+
c("TC-N2-Tls-02", NODE_L2, "NPS-RFC-0006", "Mutual TLS required"),
|
|
97
|
+
c("TC-N2-Tls-03", NODE_L2, "NPS-RFC-0006", "Client cert trust anchor and NID binding"),
|
|
98
|
+
c("TC-N2-Tls-04", NODE_L2, "NPS-RFC-0006", "IdentFrame/certificate NID mismatch"),
|
|
99
|
+
];
|
|
100
|
+
//# sourceMappingURL=conformance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conformance.js","sourceRoot":"","sources":["../src/conformance.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC,MAAM,CAAC,MAAM,OAAO,GAAG,aAAsB,CAAC;AAC9C,MAAM,CAAC,MAAM,OAAO,GAAG,aAAsB,CAAC;AAqC9C,MAAM,UAAU,yBAAyB,CAAC,IASzC;IACC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,eAAe,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;QACzD,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;QACvE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;QACxD,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,aAAa,EAAE;QACvF,KAAK;QACL,OAAO,EAAE;YACP,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM;YACrD,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM;YACrD,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM;YACrD,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,MAAM;SAClD;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,aAAa,CAAC;IAC9C,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,aAAa,CAAC;IAC9C,MAAM,IAAI,UAAU,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,QAAgC;IAC1E,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAE7D,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,gCAAgC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;QAC7G,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,kCAAkC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;QAC3G,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,MAAM,CAAC,EAAE,yBAAyB,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACjG,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAClD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,MAAM,CAAC,EAAE,wCAAwC,EAAE,CAAC;QAC/F,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,qCAAqC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/F,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;QAC3E,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,qDAAqD,EAAE,CAAC;IAC1F,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,CAAC,CAAC,EAAU,EAAE,OAAe,EAAE,WAAmB,EAAE,KAAa,EAAE,QAAQ,GAAG,KAAK;IAC1F,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAkC;IAC1D,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,8BAA8B,CAAC;IACvE,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,0BAA0B,CAAC;IACnE,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,2BAA2B,CAAC;IACpE,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,4BAA4B,CAAC;IACrE,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,wCAAwC,CAAC;IACjF,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,4BAA4B,CAAC;IACrE,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC;IACrD,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,CAAC;IACjE,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,uCAAuC,CAAC;IAChF,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,yBAAyB,CAAC;IAClE,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,uBAAuB,CAAC;IAChE,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,IAAI,CAAC;IACxE,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,2BAA2B,CAAC;IACpE,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,+BAA+B,CAAC;IACxE,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,uBAAuB,CAAC;IAChE,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,CAAC;IAC3D,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC;IAC1D,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,+BAA+B,CAAC;IACxE,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,CAAC;IAC3D,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,6BAA6B,CAAC;CACvE,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAkC;IAC1D,CAAC,CAAC,qBAAqB,EAAE,OAAO,EAAE,OAAO,EAAE,gCAAgC,CAAC;IAC5E,CAAC,CAAC,qBAAqB,EAAE,OAAO,EAAE,OAAO,EAAE,mCAAmC,CAAC;IAC/E,CAAC,CAAC,qBAAqB,EAAE,OAAO,EAAE,OAAO,EAAE,4BAA4B,CAAC;IACxE,CAAC,CAAC,uBAAuB,EAAE,OAAO,EAAE,OAAO,EAAE,+BAA+B,CAAC;IAC7E,CAAC,CAAC,uBAAuB,EAAE,OAAO,EAAE,OAAO,EAAE,+BAA+B,CAAC;IAC7E,CAAC,CAAC,uBAAuB,EAAE,OAAO,EAAE,OAAO,EAAE,oCAAoC,CAAC;IAClF,CAAC,CAAC,qBAAqB,EAAE,OAAO,EAAE,OAAO,EAAE,8BAA8B,CAAC;IAC1E,CAAC,CAAC,qBAAqB,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,CAAC;IAChE,CAAC,CAAC,qBAAqB,EAAE,OAAO,EAAE,OAAO,EAAE,4BAA4B,CAAC;IACxE,CAAC,CAAC,qBAAqB,EAAE,OAAO,EAAE,OAAO,EAAE,6BAA6B,CAAC;IACzE,CAAC,CAAC,qBAAqB,EAAE,OAAO,EAAE,OAAO,EAAE,oCAAoC,CAAC;IAChF,CAAC,CAAC,uBAAuB,EAAE,OAAO,EAAE,OAAO,EAAE,yCAAyC,CAAC;IACvF,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,sCAAsC,CAAC;IAClF,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,qBAAqB,CAAC;IACjE,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,0CAA0C,CAAC;IACtF,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,qCAAqC,CAAC;CAClF,CAAC"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/core/cache.d.ts
CHANGED
|
File without changes
|
package/dist/core/cache.d.ts.map
CHANGED
|
File without changes
|
package/dist/core/cache.js
CHANGED
|
File without changes
|