@hashgraphonline/standards-sdk 0.1.172 → 0.1.173
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/dist/browser/browser-root.d.ts +3 -0
- package/dist/browser/browser-root.d.ts.map +1 -0
- package/dist/browser/hcs-11/client.d.ts +30 -30
- package/dist/browser/hcs-11/client.d.ts.map +1 -1
- package/dist/browser/hcs-21/types.d.ts +23 -23
- package/dist/browser/inscribe/inscriber.d.ts.map +1 -1
- package/dist/browser/services/registry-broker/client/base-client.d.ts +1 -0
- package/dist/browser/services/registry-broker/client/base-client.d.ts.map +1 -1
- package/dist/browser/services/registry-broker/client/encryption.d.ts.map +1 -1
- package/dist/browser/services/registry-broker/client.d.ts.map +1 -1
- package/dist/browser/services/registry-broker/schemas.d.ts +37 -37
- package/dist/browser/standards-sdk.browser.js +5310 -8958
- package/dist/browser/standards-sdk.browser.js.map +1 -1
- package/dist/browser/utils/dynamic-import.d.ts.map +1 -1
- package/dist/browser-root/browser-root.d.ts +3 -0
- package/dist/browser-root/browser-root.d.ts.map +1 -0
- package/dist/browser-root/browser.d.ts +8 -0
- package/dist/browser-root/browser.d.ts.map +1 -0
- package/dist/browser-root/common/node-operator-resolver.d.ts +58 -0
- package/dist/browser-root/common/node-operator-resolver.d.ts.map +1 -0
- package/dist/browser-root/common/tx/tx-utils.d.ts +15 -0
- package/dist/browser-root/common/tx/tx-utils.d.ts.map +1 -0
- package/dist/browser-root/content-store/ContentResolverRegistry.d.ts +38 -0
- package/dist/browser-root/content-store/ContentResolverRegistry.d.ts.map +1 -0
- package/dist/browser-root/content-store/ContentStoreService.d.ts +40 -0
- package/dist/browser-root/content-store/ContentStoreService.d.ts.map +1 -0
- package/dist/browser-root/content-store/index.d.ts +9 -0
- package/dist/browser-root/content-store/index.d.ts.map +1 -0
- package/dist/browser-root/content-store/types.d.ts +41 -0
- package/dist/browser-root/content-store/types.d.ts.map +1 -0
- package/dist/browser-root/fees/fee-config-builder.d.ts +115 -0
- package/dist/browser-root/fees/fee-config-builder.d.ts.map +1 -0
- package/dist/browser-root/fees/index.d.ts +3 -0
- package/dist/browser-root/fees/index.d.ts.map +1 -0
- package/dist/browser-root/fees/types.d.ts +26 -0
- package/dist/browser-root/fees/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-10/base-client.d.ts +312 -0
- package/dist/browser-root/hcs-10/base-client.d.ts.map +1 -0
- package/dist/browser-root/hcs-10/browser.d.ts +129 -0
- package/dist/browser-root/hcs-10/browser.d.ts.map +1 -0
- package/dist/browser-root/hcs-10/connections-manager.d.ts +367 -0
- package/dist/browser-root/hcs-10/connections-manager.d.ts.map +1 -0
- package/dist/browser-root/hcs-10/errors.d.ts +14 -0
- package/dist/browser-root/hcs-10/errors.d.ts.map +1 -0
- package/dist/browser-root/hcs-10/index.d.ts +9 -0
- package/dist/browser-root/hcs-10/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-10/registrations.d.ts +49 -0
- package/dist/browser-root/hcs-10/registrations.d.ts.map +1 -0
- package/dist/browser-root/hcs-10/sdk.d.ts +293 -0
- package/dist/browser-root/hcs-10/sdk.d.ts.map +1 -0
- package/dist/browser-root/hcs-10/tx.d.ts +85 -0
- package/dist/browser-root/hcs-10/tx.d.ts.map +1 -0
- package/dist/browser-root/hcs-10/types.d.ts +286 -0
- package/dist/browser-root/hcs-10/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-11/agent-builder.d.ts +57 -0
- package/dist/browser-root/hcs-11/agent-builder.d.ts.map +1 -0
- package/dist/browser-root/hcs-11/client.d.ts +1199 -0
- package/dist/browser-root/hcs-11/client.d.ts.map +1 -0
- package/dist/browser-root/hcs-11/flora-builder.d.ts +24 -0
- package/dist/browser-root/hcs-11/flora-builder.d.ts.map +1 -0
- package/dist/browser-root/hcs-11/index.d.ts +7 -0
- package/dist/browser-root/hcs-11/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-11/mcp-server-builder.d.ts +227 -0
- package/dist/browser-root/hcs-11/mcp-server-builder.d.ts.map +1 -0
- package/dist/browser-root/hcs-11/person-builder.d.ts +30 -0
- package/dist/browser-root/hcs-11/person-builder.d.ts.map +1 -0
- package/dist/browser-root/hcs-11/types.d.ts +239 -0
- package/dist/browser-root/hcs-11/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/assembly/assembly-engine.d.ts +83 -0
- package/dist/browser-root/hcs-12/assembly/assembly-engine.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/assembly/index.d.ts +7 -0
- package/dist/browser-root/hcs-12/assembly/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/base-client.d.ts +152 -0
- package/dist/browser-root/hcs-12/base-client.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/browser.d.ts +135 -0
- package/dist/browser-root/hcs-12/browser.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/builders/action-builder.d.ts +112 -0
- package/dist/browser-root/hcs-12/builders/action-builder.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/builders/assembly-builder.d.ts +98 -0
- package/dist/browser-root/hcs-12/builders/assembly-builder.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/builders/block-builder.d.ts +135 -0
- package/dist/browser-root/hcs-12/builders/block-builder.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/builders/index.d.ts +7 -0
- package/dist/browser-root/hcs-12/builders/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/constants.d.ts +35 -0
- package/dist/browser-root/hcs-12/constants.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/index.d.ts +21 -0
- package/dist/browser-root/hcs-12/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/registries/action-registry.d.ts +69 -0
- package/dist/browser-root/hcs-12/registries/action-registry.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/registries/assembly-registry.d.ts +62 -0
- package/dist/browser-root/hcs-12/registries/assembly-registry.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/registries/base-registry.d.ts +76 -0
- package/dist/browser-root/hcs-12/registries/base-registry.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/registries/block-loader.d.ts +43 -0
- package/dist/browser-root/hcs-12/registries/block-loader.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/registries/hashlinks-registry.d.ts +57 -0
- package/dist/browser-root/hcs-12/registries/hashlinks-registry.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/registries/index.d.ts +9 -0
- package/dist/browser-root/hcs-12/registries/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/rendering/block-renderer.d.ts +111 -0
- package/dist/browser-root/hcs-12/rendering/block-renderer.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/rendering/block-state-manager.d.ts +158 -0
- package/dist/browser-root/hcs-12/rendering/block-state-manager.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/rendering/gutenberg-bridge.d.ts +59 -0
- package/dist/browser-root/hcs-12/rendering/gutenberg-bridge.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/rendering/hashlink-resolver.d.ts +69 -0
- package/dist/browser-root/hcs-12/rendering/hashlink-resolver.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/rendering/hashlink-scanner.d.ts +35 -0
- package/dist/browser-root/hcs-12/rendering/hashlink-scanner.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/rendering/index.d.ts +14 -0
- package/dist/browser-root/hcs-12/rendering/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/rendering/resource-manager.d.ts +134 -0
- package/dist/browser-root/hcs-12/rendering/resource-manager.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/rendering/template-engine.d.ts +108 -0
- package/dist/browser-root/hcs-12/rendering/template-engine.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/sdk.d.ts +114 -0
- package/dist/browser-root/hcs-12/sdk.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/security/hash-verifier.d.ts +195 -0
- package/dist/browser-root/hcs-12/security/hash-verifier.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/security/permission-system.d.ts +254 -0
- package/dist/browser-root/hcs-12/security/permission-system.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/security/signature-verifier.d.ts +192 -0
- package/dist/browser-root/hcs-12/security/signature-verifier.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/tx.d.ts +34 -0
- package/dist/browser-root/hcs-12/tx.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/types.d.ts +546 -0
- package/dist/browser-root/hcs-12/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/validation/index.d.ts +6 -0
- package/dist/browser-root/hcs-12/validation/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/validation/schemas.d.ts +361 -0
- package/dist/browser-root/hcs-12/validation/schemas.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/validation/wasm-validator.d.ts +81 -0
- package/dist/browser-root/hcs-12/validation/wasm-validator.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/wasm/index.d.ts +2 -0
- package/dist/browser-root/hcs-12/wasm/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-12/wasm/wasm-executor.d.ts +44 -0
- package/dist/browser-root/hcs-12/wasm/wasm-executor.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/adapters/types.d.ts +24 -0
- package/dist/browser-root/hcs-14/adapters/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/base58.d.ts +7 -0
- package/dist/browser-root/hcs-14/base58.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/browser.d.ts +5 -0
- package/dist/browser-root/hcs-14/browser.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/caip.d.ts +14 -0
- package/dist/browser-root/hcs-14/caip.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/canonical.d.ts +3 -0
- package/dist/browser-root/hcs-14/canonical.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/did.d.ts +7 -0
- package/dist/browser-root/hcs-14/did.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/index.d.ts +18 -0
- package/dist/browser-root/hcs-14/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/issuers/hiero.d.ts +8 -0
- package/dist/browser-root/hcs-14/issuers/hiero.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/issuers/registry.d.ts +15 -0
- package/dist/browser-root/hcs-14/issuers/registry.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/issuers/types.d.ts +28 -0
- package/dist/browser-root/hcs-14/issuers/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/resolvers/aid-dns-web-profile.d.ts +38 -0
- package/dist/browser-root/hcs-14/resolvers/aid-dns-web-profile.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts +23 -0
- package/dist/browser-root/hcs-14/resolvers/ans-dns-web-profile-utils.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/resolvers/ans-dns-web-profile.d.ts +32 -0
- package/dist/browser-root/hcs-14/resolvers/ans-dns-web-profile.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/resolvers/dns.d.ts +3 -0
- package/dist/browser-root/hcs-14/resolvers/dns.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/resolvers/hcs-11-profile.d.ts +9 -0
- package/dist/browser-root/hcs-14/resolvers/hcs-11-profile.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/resolvers/hiero.d.ts +9 -0
- package/dist/browser-root/hcs-14/resolvers/hiero.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/resolvers/profile-utils.d.ts +9 -0
- package/dist/browser-root/hcs-14/resolvers/profile-utils.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/resolvers/registry.d.ts +70 -0
- package/dist/browser-root/hcs-14/resolvers/registry.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/resolvers/types.d.ts +166 -0
- package/dist/browser-root/hcs-14/resolvers/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/resolvers/uaid-did-resolution-profile.d.ts +11 -0
- package/dist/browser-root/hcs-14/resolvers/uaid-did-resolution-profile.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/resolvers/uaid-dns-web-profile.d.ts +23 -0
- package/dist/browser-root/hcs-14/resolvers/uaid-dns-web-profile.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/sdk.d.ts +125 -0
- package/dist/browser-root/hcs-14/sdk.d.ts.map +1 -0
- package/dist/browser-root/hcs-14/types.d.ts +45 -0
- package/dist/browser-root/hcs-14/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-15/base-client.d.ts +22 -0
- package/dist/browser-root/hcs-15/base-client.d.ts.map +1 -0
- package/dist/browser-root/hcs-15/browser.d.ts +36 -0
- package/dist/browser-root/hcs-15/browser.d.ts.map +1 -0
- package/dist/browser-root/hcs-15/index.d.ts +6 -0
- package/dist/browser-root/hcs-15/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-15/sdk.d.ts +45 -0
- package/dist/browser-root/hcs-15/sdk.d.ts.map +1 -0
- package/dist/browser-root/hcs-15/tx.d.ts +26 -0
- package/dist/browser-root/hcs-15/tx.d.ts.map +1 -0
- package/dist/browser-root/hcs-15/types.d.ts +86 -0
- package/dist/browser-root/hcs-15/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-16/base-client.d.ts +67 -0
- package/dist/browser-root/hcs-16/base-client.d.ts.map +1 -0
- package/dist/browser-root/hcs-16/browser.d.ts +119 -0
- package/dist/browser-root/hcs-16/browser.d.ts.map +1 -0
- package/dist/browser-root/hcs-16/index.d.ts +7 -0
- package/dist/browser-root/hcs-16/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-16/sdk.d.ts +164 -0
- package/dist/browser-root/hcs-16/sdk.d.ts.map +1 -0
- package/dist/browser-root/hcs-16/tx.d.ts +142 -0
- package/dist/browser-root/hcs-16/tx.d.ts.map +1 -0
- package/dist/browser-root/hcs-16/types.d.ts +151 -0
- package/dist/browser-root/hcs-16/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-17/base-client.d.ts +86 -0
- package/dist/browser-root/hcs-17/base-client.d.ts.map +1 -0
- package/dist/browser-root/hcs-17/browser.d.ts +41 -0
- package/dist/browser-root/hcs-17/browser.d.ts.map +1 -0
- package/dist/browser-root/hcs-17/index.d.ts +6 -0
- package/dist/browser-root/hcs-17/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-17/sdk.d.ts +40 -0
- package/dist/browser-root/hcs-17/sdk.d.ts.map +1 -0
- package/dist/browser-root/hcs-17/tx.d.ts +27 -0
- package/dist/browser-root/hcs-17/tx.d.ts.map +1 -0
- package/dist/browser-root/hcs-17/types.d.ts +141 -0
- package/dist/browser-root/hcs-17/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-18/base-client.d.ts +28 -0
- package/dist/browser-root/hcs-18/base-client.d.ts.map +1 -0
- package/dist/browser-root/hcs-18/browser.d.ts +33 -0
- package/dist/browser-root/hcs-18/browser.d.ts.map +1 -0
- package/dist/browser-root/hcs-18/index.d.ts +12 -0
- package/dist/browser-root/hcs-18/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-18/sdk.d.ts +60 -0
- package/dist/browser-root/hcs-18/sdk.d.ts.map +1 -0
- package/dist/browser-root/hcs-18/tx.d.ts +22 -0
- package/dist/browser-root/hcs-18/tx.d.ts.map +1 -0
- package/dist/browser-root/hcs-18/types.d.ts +211 -0
- package/dist/browser-root/hcs-18/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-2/base-client.d.ts +138 -0
- package/dist/browser-root/hcs-2/base-client.d.ts.map +1 -0
- package/dist/browser-root/hcs-2/browser.d.ts +76 -0
- package/dist/browser-root/hcs-2/browser.d.ts.map +1 -0
- package/dist/browser-root/hcs-2/client.d.ts +112 -0
- package/dist/browser-root/hcs-2/client.d.ts.map +1 -0
- package/dist/browser-root/hcs-2/index.d.ts +6 -0
- package/dist/browser-root/hcs-2/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-2/tx.d.ts +40 -0
- package/dist/browser-root/hcs-2/tx.d.ts.map +1 -0
- package/dist/browser-root/hcs-2/types.d.ts +379 -0
- package/dist/browser-root/hcs-2/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-20/base-client.d.ts +56 -0
- package/dist/browser-root/hcs-20/base-client.d.ts.map +1 -0
- package/dist/browser-root/hcs-20/browser.d.ts +53 -0
- package/dist/browser-root/hcs-20/browser.d.ts.map +1 -0
- package/dist/browser-root/hcs-20/errors.d.ts +126 -0
- package/dist/browser-root/hcs-20/errors.d.ts.map +1 -0
- package/dist/browser-root/hcs-20/index.d.ts +17 -0
- package/dist/browser-root/hcs-20/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-20/points-indexer.d.ts +92 -0
- package/dist/browser-root/hcs-20/points-indexer.d.ts.map +1 -0
- package/dist/browser-root/hcs-20/sdk.d.ts +53 -0
- package/dist/browser-root/hcs-20/sdk.d.ts.map +1 -0
- package/dist/browser-root/hcs-20/tx.d.ts +46 -0
- package/dist/browser-root/hcs-20/tx.d.ts.map +1 -0
- package/dist/browser-root/hcs-20/types.d.ts +527 -0
- package/dist/browser-root/hcs-20/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-21/base-client.d.ts +35 -0
- package/dist/browser-root/hcs-21/base-client.d.ts.map +1 -0
- package/dist/browser-root/hcs-21/browser.d.ts +30 -0
- package/dist/browser-root/hcs-21/browser.d.ts.map +1 -0
- package/dist/browser-root/hcs-21/errors.d.ts +6 -0
- package/dist/browser-root/hcs-21/errors.d.ts.map +1 -0
- package/dist/browser-root/hcs-21/index.d.ts +8 -0
- package/dist/browser-root/hcs-21/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-21/sdk.d.ts +113 -0
- package/dist/browser-root/hcs-21/sdk.d.ts.map +1 -0
- package/dist/browser-root/hcs-21/tx.d.ts +24 -0
- package/dist/browser-root/hcs-21/tx.d.ts.map +1 -0
- package/dist/browser-root/hcs-21/types.d.ts +774 -0
- package/dist/browser-root/hcs-21/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-21/verify.d.ts +6 -0
- package/dist/browser-root/hcs-21/verify.d.ts.map +1 -0
- package/dist/browser-root/hcs-26/base-client.d.ts +83 -0
- package/dist/browser-root/hcs-26/base-client.d.ts.map +1 -0
- package/dist/browser-root/hcs-26/browser.d.ts +11 -0
- package/dist/browser-root/hcs-26/browser.d.ts.map +1 -0
- package/dist/browser-root/hcs-26/index.d.ts +7 -0
- package/dist/browser-root/hcs-26/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-26/memos.d.ts +28 -0
- package/dist/browser-root/hcs-26/memos.d.ts.map +1 -0
- package/dist/browser-root/hcs-26/resolver.d.ts +60 -0
- package/dist/browser-root/hcs-26/resolver.d.ts.map +1 -0
- package/dist/browser-root/hcs-26/sdk.d.ts +10 -0
- package/dist/browser-root/hcs-26/sdk.d.ts.map +1 -0
- package/dist/browser-root/hcs-26/types.d.ts +2752 -0
- package/dist/browser-root/hcs-26/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-27/base-client.d.ts +41 -0
- package/dist/browser-root/hcs-27/base-client.d.ts.map +1 -0
- package/dist/browser-root/hcs-27/index.d.ts +6 -0
- package/dist/browser-root/hcs-27/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-27/memos.d.ts +5 -0
- package/dist/browser-root/hcs-27/memos.d.ts.map +1 -0
- package/dist/browser-root/hcs-27/merkle.d.ts +23 -0
- package/dist/browser-root/hcs-27/merkle.d.ts.map +1 -0
- package/dist/browser-root/hcs-27/sdk.d.ts +23 -0
- package/dist/browser-root/hcs-27/sdk.d.ts.map +1 -0
- package/dist/browser-root/hcs-27/types.d.ts +1611 -0
- package/dist/browser-root/hcs-27/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-3/index.d.ts +2 -0
- package/dist/browser-root/hcs-3/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-3/src/index.d.ts +46 -0
- package/dist/browser-root/hcs-3/src/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-3/src/types.d.ts +64 -0
- package/dist/browser-root/hcs-3/src/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-5/base-client.d.ts +17 -0
- package/dist/browser-root/hcs-5/base-client.d.ts.map +1 -0
- package/dist/browser-root/hcs-5/browser.d.ts +20 -0
- package/dist/browser-root/hcs-5/browser.d.ts.map +1 -0
- package/dist/browser-root/hcs-5/index.d.ts +5 -0
- package/dist/browser-root/hcs-5/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-5/sdk.d.ts +12 -0
- package/dist/browser-root/hcs-5/sdk.d.ts.map +1 -0
- package/dist/browser-root/hcs-5/tx.d.ts +12 -0
- package/dist/browser-root/hcs-5/tx.d.ts.map +1 -0
- package/dist/browser-root/hcs-5/types.d.ts +53 -0
- package/dist/browser-root/hcs-5/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-6/base-client.d.ts +110 -0
- package/dist/browser-root/hcs-6/base-client.d.ts.map +1 -0
- package/dist/browser-root/hcs-6/browser.d.ts +78 -0
- package/dist/browser-root/hcs-6/browser.d.ts.map +1 -0
- package/dist/browser-root/hcs-6/client.d.ts +2 -0
- package/dist/browser-root/hcs-6/client.d.ts.map +1 -0
- package/dist/browser-root/hcs-6/index.d.ts +6 -0
- package/dist/browser-root/hcs-6/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-6/sdk.d.ts +34 -0
- package/dist/browser-root/hcs-6/sdk.d.ts.map +1 -0
- package/dist/browser-root/hcs-6/tx.d.ts +16 -0
- package/dist/browser-root/hcs-6/tx.d.ts.map +1 -0
- package/dist/browser-root/hcs-6/types.d.ts +254 -0
- package/dist/browser-root/hcs-6/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-7/base-client.d.ts +22 -0
- package/dist/browser-root/hcs-7/base-client.d.ts.map +1 -0
- package/dist/browser-root/hcs-7/browser.d.ts +16 -0
- package/dist/browser-root/hcs-7/browser.d.ts.map +1 -0
- package/dist/browser-root/hcs-7/evm-bridge.d.ts +33 -0
- package/dist/browser-root/hcs-7/evm-bridge.d.ts.map +1 -0
- package/dist/browser-root/hcs-7/index.d.ts +9 -0
- package/dist/browser-root/hcs-7/index.d.ts.map +1 -0
- package/dist/browser-root/hcs-7/redis-cache.d.ts +26 -0
- package/dist/browser-root/hcs-7/redis-cache.d.ts.map +1 -0
- package/dist/browser-root/hcs-7/sdk.d.ts +18 -0
- package/dist/browser-root/hcs-7/sdk.d.ts.map +1 -0
- package/dist/browser-root/hcs-7/tx.d.ts +31 -0
- package/dist/browser-root/hcs-7/tx.d.ts.map +1 -0
- package/dist/browser-root/hcs-7/types.d.ts +386 -0
- package/dist/browser-root/hcs-7/types.d.ts.map +1 -0
- package/dist/browser-root/hcs-7/wasm-bridge.d.ts +72 -0
- package/dist/browser-root/hcs-7/wasm-bridge.d.ts.map +1 -0
- package/dist/browser-root/index.d.ts +23 -0
- package/dist/browser-root/index.d.ts.map +1 -0
- package/dist/browser-root/inscribe/index.d.ts +4 -0
- package/dist/browser-root/inscribe/index.d.ts.map +1 -0
- package/dist/browser-root/inscribe/inscriber.d.ts +132 -0
- package/dist/browser-root/inscribe/inscriber.d.ts.map +1 -0
- package/dist/browser-root/inscribe/inscription-cost.d.ts +12 -0
- package/dist/browser-root/inscribe/inscription-cost.d.ts.map +1 -0
- package/dist/browser-root/inscribe/quote-cache.d.ts +23 -0
- package/dist/browser-root/inscribe/quote-cache.d.ts.map +1 -0
- package/dist/browser-root/inscribe/types.d.ts +130 -0
- package/dist/browser-root/inscribe/types.d.ts.map +1 -0
- package/dist/browser-root/services/index.d.ts +4 -0
- package/dist/browser-root/services/index.d.ts.map +1 -0
- package/dist/browser-root/services/mirror-node.d.ts +472 -0
- package/dist/browser-root/services/mirror-node.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/agent-communicator/agent-communicator.d.ts +1 -0
- package/dist/browser-root/services/registry-broker/agent-communicator/agent-communicator.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/agent-communicator/index.d.ts +1 -0
- package/dist/browser-root/services/registry-broker/agent-communicator/index.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/agent-communicator/types.d.ts +1 -0
- package/dist/browser-root/services/registry-broker/agent-communicator/types.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/client/adapters.d.ts +17 -0
- package/dist/browser-root/services/registry-broker/client/adapters.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/client/agents.d.ts +13 -0
- package/dist/browser-root/services/registry-broker/client/agents.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/client/base-client.d.ts +240 -0
- package/dist/browser-root/services/registry-broker/client/base-client.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/client/chat-history.d.ts +19 -0
- package/dist/browser-root/services/registry-broker/client/chat-history.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/client/chat.d.ts +32 -0
- package/dist/browser-root/services/registry-broker/client/chat.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/client/credits.d.ts +36 -0
- package/dist/browser-root/services/registry-broker/client/credits.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/client/encrypted-chat-manager.d.ts +30 -0
- package/dist/browser-root/services/registry-broker/client/encrypted-chat-manager.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/client/encryption.d.ts +35 -0
- package/dist/browser-root/services/registry-broker/client/encryption.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/client/errors.d.ts +19 -0
- package/dist/browser-root/services/registry-broker/client/errors.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/client/feedback.d.ts +2 -0
- package/dist/browser-root/services/registry-broker/client/feedback.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/client/ledger-auth.d.ts +7 -0
- package/dist/browser-root/services/registry-broker/client/ledger-auth.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/client/search.d.ts +17 -0
- package/dist/browser-root/services/registry-broker/client/search.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/client/skills.d.ts +51 -0
- package/dist/browser-root/services/registry-broker/client/skills.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/client/utils.d.ts +21 -0
- package/dist/browser-root/services/registry-broker/client/utils.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/client/verification.d.ts +16 -0
- package/dist/browser-root/services/registry-broker/client/verification.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/client.d.ts +4 -0
- package/dist/browser-root/services/registry-broker/client.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/hol-chat-ops.d.ts +24 -0
- package/dist/browser-root/services/registry-broker/hol-chat-ops.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/index.d.ts +6 -0
- package/dist/browser-root/services/registry-broker/index.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/ledger-network.d.ts +12 -0
- package/dist/browser-root/services/registry-broker/ledger-network.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/private-key-signer.d.ts +9 -0
- package/dist/browser-root/services/registry-broker/private-key-signer.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/schemas.d.ts +47886 -0
- package/dist/browser-root/services/registry-broker/schemas.d.ts.map +1 -0
- package/dist/browser-root/services/registry-broker/types.d.ts +603 -0
- package/dist/browser-root/services/registry-broker/types.d.ts.map +1 -0
- package/dist/browser-root/services/types.d.ts +614 -0
- package/dist/browser-root/services/types.d.ts.map +1 -0
- package/dist/browser-root/standards-sdk.root-browser.js +41763 -0
- package/dist/browser-root/standards-sdk.root-browser.js.map +1 -0
- package/dist/browser-root/utils/crypto-abstraction.d.ts +89 -0
- package/dist/browser-root/utils/crypto-abstraction.d.ts.map +1 -0
- package/dist/browser-root/utils/crypto-env.d.ts +25 -0
- package/dist/browser-root/utils/crypto-env.d.ts.map +1 -0
- package/dist/browser-root/utils/dynamic-import.d.ts +7 -0
- package/dist/browser-root/utils/dynamic-import.d.ts.map +1 -0
- package/dist/browser-root/utils/hash-adapter.d.ts +46 -0
- package/dist/browser-root/utils/hash-adapter.d.ts.map +1 -0
- package/dist/browser-root/utils/hrl-resolver.d.ts +62 -0
- package/dist/browser-root/utils/hrl-resolver.d.ts.map +1 -0
- package/dist/browser-root/utils/index.d.ts +22 -0
- package/dist/browser-root/utils/index.d.ts.map +1 -0
- package/dist/browser-root/utils/interactive-terminal.d.ts +42 -0
- package/dist/browser-root/utils/interactive-terminal.d.ts.map +1 -0
- package/dist/browser-root/utils/is-browser.d.ts +5 -0
- package/dist/browser-root/utils/is-browser.d.ts.map +1 -0
- package/dist/browser-root/utils/is-dapp-signer.d.ts +4 -0
- package/dist/browser-root/utils/is-dapp-signer.d.ts.map +1 -0
- package/dist/browser-root/utils/key-type-detector.d.ts +194 -0
- package/dist/browser-root/utils/key-type-detector.d.ts.map +1 -0
- package/dist/browser-root/utils/logger-adapter.d.ts +17 -0
- package/dist/browser-root/utils/logger-adapter.d.ts.map +1 -0
- package/dist/browser-root/utils/logger.d.ts +51 -0
- package/dist/browser-root/utils/logger.d.ts.map +1 -0
- package/dist/browser-root/utils/parsers/crypto-parser.d.ts +51 -0
- package/dist/browser-root/utils/parsers/crypto-parser.d.ts.map +1 -0
- package/dist/browser-root/utils/parsers/file-parser.d.ts +55 -0
- package/dist/browser-root/utils/parsers/file-parser.d.ts.map +1 -0
- package/dist/browser-root/utils/parsers/hcs-parser.d.ts +19 -0
- package/dist/browser-root/utils/parsers/hcs-parser.d.ts.map +1 -0
- package/dist/browser-root/utils/parsers/hts-parser.d.ts +56 -0
- package/dist/browser-root/utils/parsers/hts-parser.d.ts.map +1 -0
- package/dist/browser-root/utils/parsers/parser-utils.d.ts +14 -0
- package/dist/browser-root/utils/parsers/parser-utils.d.ts.map +1 -0
- package/dist/browser-root/utils/parsers/schedule-parser.d.ts +89 -0
- package/dist/browser-root/utils/parsers/schedule-parser.d.ts.map +1 -0
- package/dist/browser-root/utils/parsers/scs-parser.d.ts +60 -0
- package/dist/browser-root/utils/parsers/scs-parser.d.ts.map +1 -0
- package/dist/browser-root/utils/parsers/util-parser.d.ts +78 -0
- package/dist/browser-root/utils/parsers/util-parser.d.ts.map +1 -0
- package/dist/browser-root/utils/progress-reporter.d.ts +54 -0
- package/dist/browser-root/utils/progress-reporter.d.ts.map +1 -0
- package/dist/browser-root/utils/sleep.d.ts +2 -0
- package/dist/browser-root/utils/sleep.d.ts.map +1 -0
- package/dist/browser-root/utils/topic-fee-utils.d.ts +12 -0
- package/dist/browser-root/utils/topic-fee-utils.d.ts.map +1 -0
- package/dist/browser-root/utils/topic-id-utils.d.ts +5 -0
- package/dist/browser-root/utils/topic-id-utils.d.ts.map +1 -0
- package/dist/browser-root/utils/transaction-parser-registry.d.ts +31 -0
- package/dist/browser-root/utils/transaction-parser-registry.d.ts.map +1 -0
- package/dist/browser-root/utils/transaction-parser-types.d.ts +568 -0
- package/dist/browser-root/utils/transaction-parser-types.d.ts.map +1 -0
- package/dist/browser-root/utils/transaction-parser.d.ts +147 -0
- package/dist/browser-root/utils/transaction-parser.d.ts.map +1 -0
- package/dist/browser-root/utils/transaction-summary-registry.d.ts +12 -0
- package/dist/browser-root/utils/transaction-summary-registry.d.ts.map +1 -0
- package/dist/browser-root/utils/transaction-type-registries.d.ts +38 -0
- package/dist/browser-root/utils/transaction-type-registries.d.ts.map +1 -0
- package/dist/browser-root/utils/types.d.ts +5 -0
- package/dist/browser-root/utils/types.d.ts.map +1 -0
- package/dist/cjs/browser-root.d.ts +3 -0
- package/dist/cjs/browser-root.d.ts.map +1 -0
- package/dist/cjs/hcs-11/client.d.ts +30 -30
- package/dist/cjs/hcs-11/client.d.ts.map +1 -1
- package/dist/cjs/inscribe/inscriber.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/client/base-client.d.ts +1 -0
- package/dist/cjs/services/registry-broker/client/base-client.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/client/encryption.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
- package/dist/cjs/standards-sdk.cjs +2 -2
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/cjs/utils/dynamic-import.d.ts.map +1 -1
- package/dist/es/browser-root.d.ts +3 -0
- package/dist/es/browser-root.d.ts.map +1 -0
- package/dist/es/hcs-11/client.d.ts +30 -30
- package/dist/es/hcs-11/client.d.ts.map +1 -1
- package/dist/es/inscribe/inscriber.d.ts.map +1 -1
- package/dist/es/services/registry-broker/client/base-client.d.ts +1 -0
- package/dist/es/services/registry-broker/client/base-client.d.ts.map +1 -1
- package/dist/es/services/registry-broker/client/encryption.d.ts.map +1 -1
- package/dist/es/services/registry-broker/client.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +8 -13
- package/dist/es/standards-sdk.es.js.map +1 -1
- package/dist/es/standards-sdk.es104.js +1 -1
- package/dist/es/standards-sdk.es106.js +1 -1
- package/dist/es/standards-sdk.es108.js +1 -1
- package/dist/es/standards-sdk.es11.js +1 -1
- package/dist/es/standards-sdk.es110.js +1 -1
- package/dist/es/standards-sdk.es116.js +1 -1
- package/dist/es/standards-sdk.es12.js +1 -1
- package/dist/es/standards-sdk.es127.js +2 -4
- package/dist/es/standards-sdk.es127.js.map +1 -1
- package/dist/es/standards-sdk.es142.js +3 -2
- package/dist/es/standards-sdk.es142.js.map +1 -1
- package/dist/es/standards-sdk.es145.js +951 -1564
- package/dist/es/standards-sdk.es145.js.map +1 -1
- package/dist/es/standards-sdk.es147.js +3 -3
- package/dist/es/standards-sdk.es148.js +71 -77
- package/dist/es/standards-sdk.es148.js.map +1 -1
- package/dist/es/standards-sdk.es149.js +77 -71
- package/dist/es/standards-sdk.es149.js.map +1 -1
- package/dist/es/standards-sdk.es150.js +53 -934
- package/dist/es/standards-sdk.es150.js.map +1 -1
- package/dist/es/standards-sdk.es151.js +152 -53
- package/dist/es/standards-sdk.es151.js.map +1 -1
- package/dist/es/standards-sdk.es152.js +7 -159
- package/dist/es/standards-sdk.es152.js.map +1 -1
- package/dist/es/standards-sdk.es153.js +86 -7
- package/dist/es/standards-sdk.es153.js.map +1 -1
- package/dist/es/standards-sdk.es154.js +43 -64
- package/dist/es/standards-sdk.es154.js.map +1 -1
- package/dist/es/standards-sdk.es155.js +30 -65
- package/dist/es/standards-sdk.es155.js.map +1 -1
- package/dist/es/standards-sdk.es156.js +34 -30
- package/dist/es/standards-sdk.es156.js.map +1 -1
- package/dist/es/standards-sdk.es157.js +48 -34
- package/dist/es/standards-sdk.es157.js.map +1 -1
- package/dist/es/standards-sdk.es158.js +138 -48
- package/dist/es/standards-sdk.es158.js.map +1 -1
- package/dist/es/standards-sdk.es159.js +37 -133
- package/dist/es/standards-sdk.es159.js.map +1 -1
- package/dist/es/standards-sdk.es16.js +2 -4
- package/dist/es/standards-sdk.es16.js.map +1 -1
- package/dist/es/standards-sdk.es160.js +1564 -42
- package/dist/es/standards-sdk.es160.js.map +1 -1
- package/dist/es/standards-sdk.es162.js +15 -54
- package/dist/es/standards-sdk.es162.js.map +1 -1
- package/dist/es/standards-sdk.es163.js +48 -76
- package/dist/es/standards-sdk.es163.js.map +1 -1
- package/dist/es/standards-sdk.es164.js +88 -65
- package/dist/es/standards-sdk.es164.js.map +1 -1
- package/dist/es/standards-sdk.es165.js +61 -180
- package/dist/es/standards-sdk.es165.js.map +1 -1
- package/dist/es/standards-sdk.es166.js +197 -14
- package/dist/es/standards-sdk.es166.js.map +1 -1
- package/dist/es/standards-sdk.es168.js +1 -1
- package/dist/es/standards-sdk.es175.js +120 -153
- package/dist/es/standards-sdk.es175.js.map +1 -1
- package/dist/es/standards-sdk.es176.js +286 -190
- package/dist/es/standards-sdk.es176.js.map +1 -1
- package/dist/es/standards-sdk.es177.js +238 -218
- package/dist/es/standards-sdk.es177.js.map +1 -1
- package/dist/es/standards-sdk.es178.js +178 -101
- package/dist/es/standards-sdk.es178.js.map +1 -1
- package/dist/es/standards-sdk.es179.js +98 -105
- package/dist/es/standards-sdk.es179.js.map +1 -1
- package/dist/es/standards-sdk.es18.js +4 -6
- package/dist/es/standards-sdk.es18.js.map +1 -1
- package/dist/es/standards-sdk.es180.js +128 -161
- package/dist/es/standards-sdk.es180.js.map +1 -1
- package/dist/es/standards-sdk.es181.js +110 -123
- package/dist/es/standards-sdk.es181.js.map +1 -1
- package/dist/es/standards-sdk.es182.js +152 -298
- package/dist/es/standards-sdk.es182.js.map +1 -1
- package/dist/es/standards-sdk.es183.js +218 -242
- package/dist/es/standards-sdk.es183.js.map +1 -1
- package/dist/es/standards-sdk.es184.js +232 -145
- package/dist/es/standards-sdk.es184.js.map +1 -1
- package/dist/es/standards-sdk.es19.js +2 -4
- package/dist/es/standards-sdk.es19.js.map +1 -1
- package/dist/es/standards-sdk.es22.js +1 -1
- package/dist/es/standards-sdk.es27.js +25 -8
- package/dist/es/standards-sdk.es27.js.map +1 -1
- package/dist/es/standards-sdk.es35.js +2 -5
- package/dist/es/standards-sdk.es35.js.map +1 -1
- package/dist/es/standards-sdk.es36.js +2 -2
- package/dist/es/standards-sdk.es4.js +1 -1
- package/dist/es/standards-sdk.es53.js +1 -1
- package/dist/es/standards-sdk.es56.js +1 -1
- package/dist/es/standards-sdk.es59.js +1 -1
- package/dist/es/standards-sdk.es60.js +1 -1
- package/dist/es/standards-sdk.es62.js +1 -1
- package/dist/es/standards-sdk.es63.js +2 -2
- package/dist/es/standards-sdk.es64.js +1 -1
- package/dist/es/standards-sdk.es65.js +1 -1
- package/dist/es/standards-sdk.es66.js +1 -1
- package/dist/es/standards-sdk.es67.js +3 -5
- package/dist/es/standards-sdk.es67.js.map +1 -1
- package/dist/es/standards-sdk.es69.js +1 -1
- package/dist/es/standards-sdk.es7.js +1 -1
- package/dist/es/standards-sdk.es71.js +1 -1
- package/dist/es/standards-sdk.es72.js +2 -2
- package/dist/es/standards-sdk.es75.js +2 -2
- package/dist/es/standards-sdk.es76.js +1 -1
- package/dist/es/standards-sdk.es78.js +1 -1
- package/dist/es/standards-sdk.es83.js +1 -1
- package/dist/es/standards-sdk.es84.js +2 -4
- package/dist/es/standards-sdk.es84.js.map +1 -1
- package/dist/es/standards-sdk.es85.js +1 -1
- package/dist/es/standards-sdk.es88.js +1 -1
- package/dist/es/standards-sdk.es90.js +1 -1
- package/dist/es/standards-sdk.es94.js +3 -3
- package/dist/es/standards-sdk.es98.js +1 -1
- package/dist/es/standards-sdk.es99.js +1 -1
- package/dist/es/utils/dynamic-import.d.ts.map +1 -1
- package/package.json +105 -76
|
@@ -1,20 +1,203 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { parseSemicolonFields } from "./standards-sdk.es165.js";
|
|
2
|
+
const ANS_HCS27_REGISTRY = "ans";
|
|
3
|
+
function isObjectRecord(value) {
|
|
4
|
+
return typeof value === "object" && value !== null;
|
|
5
|
+
}
|
|
6
|
+
function asString(value) {
|
|
7
|
+
if (typeof value !== "string") {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
const trimmed = value.trim();
|
|
11
|
+
if (!trimmed) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
return trimmed;
|
|
15
|
+
}
|
|
16
|
+
function isSemver(value) {
|
|
17
|
+
return /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/.test(
|
|
18
|
+
value
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
function normalizeAnsVersion(value) {
|
|
22
|
+
const trimmed = value.trim();
|
|
23
|
+
if (!trimmed) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
const withoutPrefix = trimmed.startsWith("v") || trimmed.startsWith("V") ? trimmed.slice(1) : trimmed;
|
|
27
|
+
if (!isSemver(withoutPrefix)) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
return withoutPrefix;
|
|
31
|
+
}
|
|
32
|
+
function parseAnsDnsTxtRecord(rawRecord) {
|
|
33
|
+
const fields = parseSemicolonFields(rawRecord);
|
|
34
|
+
const version = fields["v"];
|
|
35
|
+
const urlValue = fields["url"];
|
|
36
|
+
if (!version || !urlValue || version.toLowerCase() !== "ans1") {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
let parsedUrl;
|
|
40
|
+
try {
|
|
41
|
+
parsedUrl = new URL(urlValue);
|
|
42
|
+
} catch {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
if (parsedUrl.protocol.toLowerCase() !== "https:") {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
const rawAnsVersion = fields["version"];
|
|
49
|
+
let normalizedAnsVersion;
|
|
50
|
+
if (rawAnsVersion !== void 0) {
|
|
51
|
+
const parsedVersion = normalizeAnsVersion(rawAnsVersion);
|
|
52
|
+
if (!parsedVersion) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
normalizedAnsVersion = parsedVersion;
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
version: normalizedAnsVersion,
|
|
59
|
+
url: parsedUrl.toString()
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function isValidAnsProfileVersion(value) {
|
|
63
|
+
return !!value && normalizeAnsVersion(value) !== null;
|
|
64
|
+
}
|
|
65
|
+
function hasProtocolPathSegment(pathname, protocol) {
|
|
66
|
+
const normalizedProtocol = protocol.trim().toLowerCase();
|
|
67
|
+
if (!normalizedProtocol) {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
const pathSegments = pathname.split("/").map((segment) => segment.trim()).filter((segment) => segment.length > 0);
|
|
71
|
+
for (const segment of pathSegments) {
|
|
72
|
+
if (segment.toLowerCase() === normalizedProtocol) {
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
function extractEndpointCandidates(endpoints, supportedSchemes) {
|
|
79
|
+
const candidates = [];
|
|
80
|
+
for (const [key, value] of Object.entries(endpoints)) {
|
|
81
|
+
if (!isObjectRecord(value)) {
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
const endpoint = asString(value["url"]);
|
|
85
|
+
if (!endpoint) {
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
let parsedUrl;
|
|
89
|
+
try {
|
|
90
|
+
parsedUrl = new URL(endpoint);
|
|
91
|
+
} catch {
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
const scheme = parsedUrl.protocol.replace(/:$/, "").toLowerCase();
|
|
95
|
+
if (!supportedSchemes.has(scheme)) {
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
candidates.push({
|
|
99
|
+
key,
|
|
100
|
+
endpointUrl: parsedUrl.toString(),
|
|
101
|
+
parsedUrl
|
|
13
102
|
});
|
|
14
|
-
this.mirrorNode = new HederaMirrorNode(this.network, this.logger);
|
|
15
103
|
}
|
|
104
|
+
return candidates;
|
|
105
|
+
}
|
|
106
|
+
function validateAnsHcs27Hints(input) {
|
|
107
|
+
if (!isObjectRecord(input)) {
|
|
108
|
+
return void 0;
|
|
109
|
+
}
|
|
110
|
+
const checkpointTopicId = asString(input["checkpoint_topic_id"]);
|
|
111
|
+
const registry = asString(input["registry"]);
|
|
112
|
+
const logId = asString(input["log_id"]);
|
|
113
|
+
if (!checkpointTopicId || !registry || !logId || registry !== ANS_HCS27_REGISTRY) {
|
|
114
|
+
return void 0;
|
|
115
|
+
}
|
|
116
|
+
const checkpointUri = asString(input["checkpoint_uri"]) ?? void 0;
|
|
117
|
+
const viewerUri = asString(input["viewer_uri"]) ?? void 0;
|
|
118
|
+
return {
|
|
119
|
+
checkpointTopicId,
|
|
120
|
+
registry,
|
|
121
|
+
logId,
|
|
122
|
+
checkpointUri,
|
|
123
|
+
viewerUri
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
function validateHcs28Hints(input) {
|
|
127
|
+
if (!isObjectRecord(input)) {
|
|
128
|
+
return void 0;
|
|
129
|
+
}
|
|
130
|
+
const directoryTopicId = asString(input["directory_topic_id"]);
|
|
131
|
+
const tId = asString(input["t_id"]);
|
|
132
|
+
const agentId = asString(input["agent_id"]);
|
|
133
|
+
if (!directoryTopicId || !tId || !agentId) {
|
|
134
|
+
return void 0;
|
|
135
|
+
}
|
|
136
|
+
const proofProfile = asString(input["proof_profile"]) ?? void 0;
|
|
137
|
+
return {
|
|
138
|
+
directoryTopicId,
|
|
139
|
+
tId,
|
|
140
|
+
agentId,
|
|
141
|
+
proofProfile
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
function parseTransparencyHints(input) {
|
|
145
|
+
if (!isObjectRecord(input)) {
|
|
146
|
+
return void 0;
|
|
147
|
+
}
|
|
148
|
+
const hcs27 = validateAnsHcs27Hints(input["hcs27"]);
|
|
149
|
+
const hcs28 = validateHcs28Hints(input["hcs28"]);
|
|
150
|
+
if (!hcs27 && !hcs28) {
|
|
151
|
+
return void 0;
|
|
152
|
+
}
|
|
153
|
+
return {
|
|
154
|
+
hcs27,
|
|
155
|
+
hcs28
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
function parseAnsAgentCard(input) {
|
|
159
|
+
if (!isObjectRecord(input)) {
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
const ansName = asString(input["ansName"]);
|
|
163
|
+
const endpoints = input["endpoints"];
|
|
164
|
+
if (!ansName || !isObjectRecord(endpoints)) {
|
|
165
|
+
return null;
|
|
166
|
+
}
|
|
167
|
+
return {
|
|
168
|
+
ansName,
|
|
169
|
+
endpoints,
|
|
170
|
+
transparencyHints: parseTransparencyHints(input["transparency"])
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
function selectPreferredEndpoint(candidates, protocol) {
|
|
174
|
+
if (candidates.length === 0) {
|
|
175
|
+
return null;
|
|
176
|
+
}
|
|
177
|
+
const sortedCandidates = [...candidates].sort(
|
|
178
|
+
(a, b) => a.key.localeCompare(b.key)
|
|
179
|
+
);
|
|
180
|
+
const protocolMatches = sortedCandidates.filter(
|
|
181
|
+
(candidate) => hasProtocolPathSegment(candidate.parsedUrl.pathname, protocol)
|
|
182
|
+
);
|
|
183
|
+
if (protocolMatches.length > 0) {
|
|
184
|
+
return protocolMatches[0];
|
|
185
|
+
}
|
|
186
|
+
return sortedCandidates[0];
|
|
187
|
+
}
|
|
188
|
+
function toErrorMessage(error) {
|
|
189
|
+
if (error instanceof Error && error.message) {
|
|
190
|
+
return error.message;
|
|
191
|
+
}
|
|
192
|
+
return null;
|
|
16
193
|
}
|
|
17
194
|
export {
|
|
18
|
-
|
|
195
|
+
extractEndpointCandidates,
|
|
196
|
+
isValidAnsProfileVersion,
|
|
197
|
+
normalizeAnsVersion,
|
|
198
|
+
parseAnsAgentCard,
|
|
199
|
+
parseAnsDnsTxtRecord,
|
|
200
|
+
selectPreferredEndpoint,
|
|
201
|
+
toErrorMessage
|
|
19
202
|
};
|
|
20
203
|
//# sourceMappingURL=standards-sdk.es166.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es166.js","sources":["../../src/hcs-5/base-client.ts"],"sourcesContent":["import { Logger, ILogger } from '../utils/logger';\nimport { HederaMirrorNode } from '../services/mirror-node';\nimport { HCS5ClientConfig } from './types';\nimport { NetworkType } from '../utils/types';\n\n/**\n * Base client for HCS-5 operations\n */\nexport abstract class HCS5BaseClient {\n protected logger: ILogger;\n protected mirrorNode: HederaMirrorNode;\n protected network: NetworkType;\n\n /**\n * Create a new HCS-5 base client\n */\n constructor(config: HCS5ClientConfig) {\n this.network = config.network;\n this.logger =\n config.logger ||\n Logger.getInstance({\n level: config.logLevel || 'info',\n module: 'HCS5Client',\n silent: config.silent,\n });\n\n this.mirrorNode = new HederaMirrorNode(this.network, this.logger);\n }\n}\n"],"names":[],"mappings":";;AAQO,MAAe,eAAe;AAAA;AAAA;AAAA;AAAA,EAQnC,YAAY,QAA0B;AACpC,SAAK,UAAU,OAAO;AACtB,SAAK,SACH,OAAO,UACP,OAAO,YAAY;AAAA,MACjB,OAAO,OAAO,YAAY;AAAA,MAC1B,QAAQ;AAAA,MACR,QAAQ,OAAO;AAAA,IAAA,CAChB;AAEH,SAAK,aAAa,IAAI,iBAAiB,KAAK,SAAS,KAAK,MAAM;AAAA,EAClE;AACF;"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es166.js","sources":["../../src/hcs-14/resolvers/ans-dns-web-profile-utils.ts"],"sourcesContent":["import type {\n ProfileResolutionHcs27TransparencyHints,\n ProfileResolutionHcs28TransparencyHints,\n ProfileResolutionTransparencyHints,\n} from './types';\nimport { parseSemicolonFields } from './profile-utils';\n\nexport interface AnsDnsTxtRecord {\n version?: string;\n url: string;\n}\n\nexport interface AnsEndpointCandidate {\n key: string;\n endpointUrl: string;\n parsedUrl: URL;\n}\n\nexport interface ParsedAnsAgentCard {\n ansName: string;\n endpoints: Record<string, unknown>;\n transparencyHints?: ProfileResolutionTransparencyHints;\n}\n\nconst ANS_HCS27_REGISTRY = 'ans';\n\nfunction isObjectRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null;\n}\n\nfunction asString(value: unknown): string | null {\n if (typeof value !== 'string') {\n return null;\n }\n const trimmed = value.trim();\n if (!trimmed) {\n return null;\n }\n return trimmed;\n}\n\nfunction isSemver(value: string): boolean {\n return /^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$/.test(\n value,\n );\n}\n\nexport function normalizeAnsVersion(value: string): string | null {\n const trimmed = value.trim();\n if (!trimmed) {\n return null;\n }\n const withoutPrefix =\n trimmed.startsWith('v') || trimmed.startsWith('V')\n ? trimmed.slice(1)\n : trimmed;\n if (!isSemver(withoutPrefix)) {\n return null;\n }\n return withoutPrefix;\n}\n\nexport function parseAnsDnsTxtRecord(\n rawRecord: string,\n): AnsDnsTxtRecord | null {\n const fields = parseSemicolonFields(rawRecord);\n const version = fields['v'];\n const urlValue = fields['url'];\n if (!version || !urlValue || version.toLowerCase() !== 'ans1') {\n return null;\n }\n\n let parsedUrl: URL;\n try {\n parsedUrl = new URL(urlValue);\n } catch {\n return null;\n }\n\n if (parsedUrl.protocol.toLowerCase() !== 'https:') {\n return null;\n }\n\n const rawAnsVersion = fields['version'];\n let normalizedAnsVersion: string | undefined;\n if (rawAnsVersion !== undefined) {\n const parsedVersion = normalizeAnsVersion(rawAnsVersion);\n if (!parsedVersion) {\n return null;\n }\n normalizedAnsVersion = parsedVersion;\n }\n\n return {\n version: normalizedAnsVersion,\n url: parsedUrl.toString(),\n };\n}\n\nexport function isValidAnsProfileVersion(value: string | undefined): boolean {\n return !!value && normalizeAnsVersion(value) !== null;\n}\n\nfunction hasProtocolPathSegment(pathname: string, protocol: string): boolean {\n const normalizedProtocol = protocol.trim().toLowerCase();\n if (!normalizedProtocol) {\n return false;\n }\n\n const pathSegments = pathname\n .split('/')\n .map(segment => segment.trim())\n .filter(segment => segment.length > 0);\n for (const segment of pathSegments) {\n if (segment.toLowerCase() === normalizedProtocol) {\n return true;\n }\n }\n return false;\n}\n\nexport function extractEndpointCandidates(\n endpoints: Record<string, unknown>,\n supportedSchemes: Set<string>,\n): AnsEndpointCandidate[] {\n const candidates: AnsEndpointCandidate[] = [];\n for (const [key, value] of Object.entries(endpoints)) {\n if (!isObjectRecord(value)) {\n continue;\n }\n const endpoint = asString(value['url']);\n if (!endpoint) {\n continue;\n }\n\n let parsedUrl: URL;\n try {\n parsedUrl = new URL(endpoint);\n } catch {\n continue;\n }\n\n const scheme = parsedUrl.protocol.replace(/:$/, '').toLowerCase();\n if (!supportedSchemes.has(scheme)) {\n continue;\n }\n\n candidates.push({\n key,\n endpointUrl: parsedUrl.toString(),\n parsedUrl,\n });\n }\n\n return candidates;\n}\n\nfunction validateAnsHcs27Hints(\n input: unknown,\n): ProfileResolutionHcs27TransparencyHints | undefined {\n if (!isObjectRecord(input)) {\n return undefined;\n }\n const checkpointTopicId = asString(input['checkpoint_topic_id']);\n const registry = asString(input['registry']);\n const logId = asString(input['log_id']);\n if (\n !checkpointTopicId ||\n !registry ||\n !logId ||\n registry !== ANS_HCS27_REGISTRY\n ) {\n return undefined;\n }\n const checkpointUri = asString(input['checkpoint_uri']) ?? undefined;\n const viewerUri = asString(input['viewer_uri']) ?? undefined;\n return {\n checkpointTopicId,\n registry,\n logId,\n checkpointUri,\n viewerUri,\n };\n}\n\nfunction validateHcs28Hints(\n input: unknown,\n): ProfileResolutionHcs28TransparencyHints | undefined {\n if (!isObjectRecord(input)) {\n return undefined;\n }\n const directoryTopicId = asString(input['directory_topic_id']);\n const tId = asString(input['t_id']);\n const agentId = asString(input['agent_id']);\n if (!directoryTopicId || !tId || !agentId) {\n return undefined;\n }\n const proofProfile = asString(input['proof_profile']) ?? undefined;\n return {\n directoryTopicId,\n tId,\n agentId,\n proofProfile,\n };\n}\n\nfunction parseTransparencyHints(\n input: unknown,\n): ProfileResolutionTransparencyHints | undefined {\n if (!isObjectRecord(input)) {\n return undefined;\n }\n const hcs27 = validateAnsHcs27Hints(input['hcs27']);\n const hcs28 = validateHcs28Hints(input['hcs28']);\n if (!hcs27 && !hcs28) {\n return undefined;\n }\n return {\n hcs27,\n hcs28,\n };\n}\n\nexport function parseAnsAgentCard(input: unknown): ParsedAnsAgentCard | null {\n if (!isObjectRecord(input)) {\n return null;\n }\n const ansName = asString(input['ansName']);\n const endpoints = input['endpoints'];\n if (!ansName || !isObjectRecord(endpoints)) {\n return null;\n }\n return {\n ansName,\n endpoints,\n transparencyHints: parseTransparencyHints(input['transparency']),\n };\n}\n\nexport function selectPreferredEndpoint(\n candidates: AnsEndpointCandidate[],\n protocol: string,\n): AnsEndpointCandidate | null {\n if (candidates.length === 0) {\n return null;\n }\n\n const sortedCandidates = [...candidates].sort((a, b) =>\n a.key.localeCompare(b.key),\n );\n const protocolMatches = sortedCandidates.filter(candidate =>\n hasProtocolPathSegment(candidate.parsedUrl.pathname, protocol),\n );\n if (protocolMatches.length > 0) {\n return protocolMatches[0];\n }\n return sortedCandidates[0];\n}\n\nexport function toErrorMessage(error: unknown): string | null {\n if (error instanceof Error && error.message) {\n return error.message;\n }\n return null;\n}\n"],"names":[],"mappings":";AAwBA,MAAM,qBAAqB;AAE3B,SAAS,eAAe,OAAkD;AACxE,SAAO,OAAO,UAAU,YAAY,UAAU;AAChD;AAEA,SAAS,SAAS,OAA+B;AAC/C,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO;AAAA,EACT;AACA,QAAM,UAAU,MAAM,KAAA;AACtB,MAAI,CAAC,SAAS;AACZ,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEA,SAAS,SAAS,OAAwB;AACxC,SAAO,kIAAkI;AAAA,IACvI;AAAA,EAAA;AAEJ;AAEO,SAAS,oBAAoB,OAA8B;AAChE,QAAM,UAAU,MAAM,KAAA;AACtB,MAAI,CAAC,SAAS;AACZ,WAAO;AAAA,EACT;AACA,QAAM,gBACJ,QAAQ,WAAW,GAAG,KAAK,QAAQ,WAAW,GAAG,IAC7C,QAAQ,MAAM,CAAC,IACf;AACN,MAAI,CAAC,SAAS,aAAa,GAAG;AAC5B,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEO,SAAS,qBACd,WACwB;AACxB,QAAM,SAAS,qBAAqB,SAAS;AAC7C,QAAM,UAAU,OAAO,GAAG;AAC1B,QAAM,WAAW,OAAO,KAAK;AAC7B,MAAI,CAAC,WAAW,CAAC,YAAY,QAAQ,YAAA,MAAkB,QAAQ;AAC7D,WAAO;AAAA,EACT;AAEA,MAAI;AACJ,MAAI;AACF,gBAAY,IAAI,IAAI,QAAQ;AAAA,EAC9B,QAAQ;AACN,WAAO;AAAA,EACT;AAEA,MAAI,UAAU,SAAS,YAAA,MAAkB,UAAU;AACjD,WAAO;AAAA,EACT;AAEA,QAAM,gBAAgB,OAAO,SAAS;AACtC,MAAI;AACJ,MAAI,kBAAkB,QAAW;AAC/B,UAAM,gBAAgB,oBAAoB,aAAa;AACvD,QAAI,CAAC,eAAe;AAClB,aAAO;AAAA,IACT;AACA,2BAAuB;AAAA,EACzB;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,IACT,KAAK,UAAU,SAAA;AAAA,EAAS;AAE5B;AAEO,SAAS,yBAAyB,OAAoC;AAC3E,SAAO,CAAC,CAAC,SAAS,oBAAoB,KAAK,MAAM;AACnD;AAEA,SAAS,uBAAuB,UAAkB,UAA2B;AAC3E,QAAM,qBAAqB,SAAS,KAAA,EAAO,YAAA;AAC3C,MAAI,CAAC,oBAAoB;AACvB,WAAO;AAAA,EACT;AAEA,QAAM,eAAe,SAClB,MAAM,GAAG,EACT,IAAI,CAAA,YAAW,QAAQ,KAAA,CAAM,EAC7B,OAAO,CAAA,YAAW,QAAQ,SAAS,CAAC;AACvC,aAAW,WAAW,cAAc;AAClC,QAAI,QAAQ,YAAA,MAAkB,oBAAoB;AAChD,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,0BACd,WACA,kBACwB;AACxB,QAAM,aAAqC,CAAA;AAC3C,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,SAAS,GAAG;AACpD,QAAI,CAAC,eAAe,KAAK,GAAG;AAC1B;AAAA,IACF;AACA,UAAM,WAAW,SAAS,MAAM,KAAK,CAAC;AACtC,QAAI,CAAC,UAAU;AACb;AAAA,IACF;AAEA,QAAI;AACJ,QAAI;AACF,kBAAY,IAAI,IAAI,QAAQ;AAAA,IAC9B,QAAQ;AACN;AAAA,IACF;AAEA,UAAM,SAAS,UAAU,SAAS,QAAQ,MAAM,EAAE,EAAE,YAAA;AACpD,QAAI,CAAC,iBAAiB,IAAI,MAAM,GAAG;AACjC;AAAA,IACF;AAEA,eAAW,KAAK;AAAA,MACd;AAAA,MACA,aAAa,UAAU,SAAA;AAAA,MACvB;AAAA,IAAA,CACD;AAAA,EACH;AAEA,SAAO;AACT;AAEA,SAAS,sBACP,OACqD;AACrD,MAAI,CAAC,eAAe,KAAK,GAAG;AAC1B,WAAO;AAAA,EACT;AACA,QAAM,oBAAoB,SAAS,MAAM,qBAAqB,CAAC;AAC/D,QAAM,WAAW,SAAS,MAAM,UAAU,CAAC;AAC3C,QAAM,QAAQ,SAAS,MAAM,QAAQ,CAAC;AACtC,MACE,CAAC,qBACD,CAAC,YACD,CAAC,SACD,aAAa,oBACb;AACA,WAAO;AAAA,EACT;AACA,QAAM,gBAAgB,SAAS,MAAM,gBAAgB,CAAC,KAAK;AAC3D,QAAM,YAAY,SAAS,MAAM,YAAY,CAAC,KAAK;AACnD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,SAAS,mBACP,OACqD;AACrD,MAAI,CAAC,eAAe,KAAK,GAAG;AAC1B,WAAO;AAAA,EACT;AACA,QAAM,mBAAmB,SAAS,MAAM,oBAAoB,CAAC;AAC7D,QAAM,MAAM,SAAS,MAAM,MAAM,CAAC;AAClC,QAAM,UAAU,SAAS,MAAM,UAAU,CAAC;AAC1C,MAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,SAAS;AACzC,WAAO;AAAA,EACT;AACA,QAAM,eAAe,SAAS,MAAM,eAAe,CAAC,KAAK;AACzD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,SAAS,uBACP,OACgD;AAChD,MAAI,CAAC,eAAe,KAAK,GAAG;AAC1B,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,sBAAsB,MAAM,OAAO,CAAC;AAClD,QAAM,QAAQ,mBAAmB,MAAM,OAAO,CAAC;AAC/C,MAAI,CAAC,SAAS,CAAC,OAAO;AACpB,WAAO;AAAA,EACT;AACA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EAAA;AAEJ;AAEO,SAAS,kBAAkB,OAA2C;AAC3E,MAAI,CAAC,eAAe,KAAK,GAAG;AAC1B,WAAO;AAAA,EACT;AACA,QAAM,UAAU,SAAS,MAAM,SAAS,CAAC;AACzC,QAAM,YAAY,MAAM,WAAW;AACnC,MAAI,CAAC,WAAW,CAAC,eAAe,SAAS,GAAG;AAC1C,WAAO;AAAA,EACT;AACA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,mBAAmB,uBAAuB,MAAM,cAAc,CAAC;AAAA,EAAA;AAEnE;AAEO,SAAS,wBACd,YACA,UAC6B;AAC7B,MAAI,WAAW,WAAW,GAAG;AAC3B,WAAO;AAAA,EACT;AAEA,QAAM,mBAAmB,CAAC,GAAG,UAAU,EAAE;AAAA,IAAK,CAAC,GAAG,MAChD,EAAE,IAAI,cAAc,EAAE,GAAG;AAAA,EAAA;AAE3B,QAAM,kBAAkB,iBAAiB;AAAA,IAAO,CAAA,cAC9C,uBAAuB,UAAU,UAAU,UAAU,QAAQ;AAAA,EAAA;AAE/D,MAAI,gBAAgB,SAAS,GAAG;AAC9B,WAAO,gBAAgB,CAAC;AAAA,EAC1B;AACA,SAAO,iBAAiB,CAAC;AAC3B;AAEO,SAAS,eAAe,OAA+B;AAC5D,MAAI,iBAAiB,SAAS,MAAM,SAAS;AAC3C,WAAO,MAAM;AAAA,EACf;AACA,SAAO;AACT;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { skillRegistryConfigResponseSchema, skillRegistryListResponseSchema, skillSecurityBreakdownResponseSchema, skillCatalogResponseSchema, skillRegistryVersionsResponseSchema, skillRegistryMineResponseSchema, skillRegistryMyListResponseSchema, skillRegistryQuoteResponseSchema, skillRegistryPublishResponseSchema, skillRegistryJobStatusResponseSchema, skillRegistryOwnershipResponseSchema, skillRecommendedVersionResponseSchema, skillDeprecationsResponseSchema, skillDeprecationRecordSchema, skillBadgeResponseSchema, skillRegistryTagsResponseSchema, skillRegistryCategoriesResponseSchema, skillResolverManifestResponseSchema, skillRegistryVoteStatusResponseSchema, skillVerificationRequestCreateResponseSchema, skillVerificationStatusResponseSchema, skillVerificationDomainProofChallengeResponseSchema, skillVerificationDomainProofVerifyResponseSchema } from "./standards-sdk.
|
|
1
|
+
import { skillRegistryConfigResponseSchema, skillRegistryListResponseSchema, skillSecurityBreakdownResponseSchema, skillCatalogResponseSchema, skillRegistryVersionsResponseSchema, skillRegistryMineResponseSchema, skillRegistryMyListResponseSchema, skillRegistryQuoteResponseSchema, skillRegistryPublishResponseSchema, skillRegistryJobStatusResponseSchema, skillRegistryOwnershipResponseSchema, skillRecommendedVersionResponseSchema, skillDeprecationsResponseSchema, skillDeprecationRecordSchema, skillBadgeResponseSchema, skillRegistryTagsResponseSchema, skillRegistryCategoriesResponseSchema, skillResolverManifestResponseSchema, skillRegistryVoteStatusResponseSchema, skillVerificationRequestCreateResponseSchema, skillVerificationStatusResponseSchema, skillVerificationDomainProofChallengeResponseSchema, skillVerificationDomainProofVerifyResponseSchema } from "./standards-sdk.es160.js";
|
|
2
2
|
async function skillsConfig(client) {
|
|
3
3
|
const raw = await client.requestJson("/skills/config", {
|
|
4
4
|
method: "GET"
|
|
@@ -1,175 +1,142 @@
|
|
|
1
|
-
import * as path from "path";
|
|
2
1
|
import { Buffer } from "buffer";
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const getFs = async () => {
|
|
8
|
-
const fsModule = await optionalImport("node:fs");
|
|
9
|
-
if (fsModule && typeof fsModule.existsSync === "function" && typeof fsModule.readFileSync === "function" && typeof fsModule.writeFileSync === "function" && typeof fsModule.appendFileSync === "function") {
|
|
10
|
-
return fsModule;
|
|
11
|
-
}
|
|
12
|
-
return null;
|
|
13
|
-
};
|
|
14
|
-
async function registerEncryptionKey(client, payload) {
|
|
15
|
-
const raw = await client.requestJson("/encryption/keys", {
|
|
16
|
-
method: "POST",
|
|
17
|
-
headers: { "content-type": "application/json" },
|
|
18
|
-
body: payload
|
|
19
|
-
});
|
|
20
|
-
return client.parseWithSchema(
|
|
21
|
-
raw,
|
|
22
|
-
registerEncryptionKeyResponseSchema,
|
|
23
|
-
"register encryption key response"
|
|
24
|
-
);
|
|
25
|
-
}
|
|
26
|
-
function normalizeAutoRegisterIdentity(config) {
|
|
27
|
-
const identity = {};
|
|
28
|
-
if (config.uaid) {
|
|
29
|
-
identity.uaid = config.uaid;
|
|
30
|
-
}
|
|
31
|
-
if (config.ledgerAccountId) {
|
|
32
|
-
identity.ledgerAccountId = config.ledgerAccountId;
|
|
33
|
-
if (config.ledgerNetwork) {
|
|
34
|
-
identity.ledgerNetwork = config.ledgerNetwork;
|
|
35
|
-
}
|
|
2
|
+
import { chatHistorySnapshotResponseSchema } from "./standards-sdk.es160.js";
|
|
3
|
+
function identitiesMatch(a, b) {
|
|
4
|
+
if (!a && !b) {
|
|
5
|
+
return true;
|
|
36
6
|
}
|
|
37
|
-
if (
|
|
38
|
-
|
|
7
|
+
if (!a || !b) {
|
|
8
|
+
return false;
|
|
39
9
|
}
|
|
40
|
-
if (
|
|
41
|
-
return
|
|
10
|
+
if (a.uaid && b.uaid && a.uaid.toLowerCase() === b.uaid.toLowerCase()) {
|
|
11
|
+
return true;
|
|
42
12
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return Buffer.from(publicKey).toString("hex");
|
|
49
|
-
}
|
|
50
|
-
async function resolveAutoRegisterKeyMaterial(client, config) {
|
|
51
|
-
if (config.publicKey?.trim()) {
|
|
52
|
-
return { publicKey: config.publicKey.trim() };
|
|
53
|
-
}
|
|
54
|
-
let privateKey = config.privateKey?.trim();
|
|
55
|
-
const envVar = config.envVar ?? "RB_ENCRYPTION_PRIVATE_KEY";
|
|
56
|
-
if (!privateKey && envVar && process?.env?.[envVar]?.trim()) {
|
|
57
|
-
privateKey = process.env[envVar]?.trim();
|
|
58
|
-
}
|
|
59
|
-
if (!privateKey && config.generateIfMissing) {
|
|
60
|
-
const pair = await client.generateEncryptionKeyPair({
|
|
61
|
-
keyType: config.keyType ?? "secp256k1",
|
|
62
|
-
envVar,
|
|
63
|
-
envPath: config.envPath,
|
|
64
|
-
overwrite: config.overwriteEnv
|
|
65
|
-
});
|
|
66
|
-
return { publicKey: pair.publicKey, privateKey: pair.privateKey };
|
|
13
|
+
if (a.ledgerAccountId && b.ledgerAccountId && a.ledgerAccountId.toLowerCase() === b.ledgerAccountId.toLowerCase()) {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
if (a.userId && b.userId && a.userId === b.userId) {
|
|
17
|
+
return true;
|
|
67
18
|
}
|
|
68
|
-
if (
|
|
69
|
-
|
|
70
|
-
return { publicKey, privateKey };
|
|
19
|
+
if (a.email && b.email && a.email.toLowerCase() === b.email.toLowerCase()) {
|
|
20
|
+
return true;
|
|
71
21
|
}
|
|
72
|
-
return
|
|
22
|
+
return false;
|
|
73
23
|
}
|
|
74
|
-
async function
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
)
|
|
24
|
+
async function fetchHistorySnapshot(conversationContexts, client, sessionId, options) {
|
|
25
|
+
if (!sessionId || sessionId.trim().length === 0) {
|
|
26
|
+
throw new Error("sessionId is required to fetch chat history");
|
|
27
|
+
}
|
|
28
|
+
const raw = await client.requestJson(
|
|
29
|
+
`/chat/session/${encodeURIComponent(sessionId)}/history`,
|
|
30
|
+
{
|
|
31
|
+
method: "GET"
|
|
32
|
+
}
|
|
33
|
+
);
|
|
34
|
+
const snapshot = client.parseWithSchema(
|
|
35
|
+
raw,
|
|
36
|
+
chatHistorySnapshotResponseSchema,
|
|
37
|
+
"chat history snapshot response"
|
|
38
|
+
);
|
|
39
|
+
return attachDecryptedHistory(
|
|
40
|
+
conversationContexts,
|
|
41
|
+
client,
|
|
42
|
+
sessionId,
|
|
43
|
+
snapshot,
|
|
44
|
+
options
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
function attachDecryptedHistory(conversationContexts, client, sessionId, snapshot, options) {
|
|
48
|
+
const shouldDecrypt = options?.decrypt !== void 0 ? options.decrypt : client.encryptionOptions?.autoDecryptHistory === true;
|
|
49
|
+
if (!shouldDecrypt) {
|
|
50
|
+
return snapshot;
|
|
51
|
+
}
|
|
52
|
+
const requiresContext = snapshot.history.some(
|
|
53
|
+
(entry) => Boolean(entry.cipherEnvelope)
|
|
54
|
+
);
|
|
55
|
+
if (!requiresContext) {
|
|
56
|
+
return {
|
|
57
|
+
...snapshot,
|
|
58
|
+
decryptedHistory: snapshot.history.map((entry) => ({
|
|
59
|
+
entry,
|
|
60
|
+
plaintext: entry.content
|
|
61
|
+
}))
|
|
62
|
+
};
|
|
80
63
|
}
|
|
81
|
-
const
|
|
82
|
-
|
|
64
|
+
const context = resolveDecryptionContext(
|
|
65
|
+
conversationContexts,
|
|
66
|
+
client,
|
|
67
|
+
sessionId,
|
|
68
|
+
options
|
|
69
|
+
);
|
|
70
|
+
if (!context) {
|
|
83
71
|
throw new Error(
|
|
84
|
-
"Unable to
|
|
72
|
+
"Unable to decrypt chat history: encryption context unavailable"
|
|
85
73
|
);
|
|
86
74
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
return material;
|
|
93
|
-
}
|
|
94
|
-
async function ensureAgentEncryptionKey(client, options) {
|
|
95
|
-
return autoRegisterEncryptionKey(client, {
|
|
96
|
-
...options,
|
|
97
|
-
uaid: options.uaid
|
|
98
|
-
});
|
|
75
|
+
const decryptedHistory = snapshot.history.map((entry) => ({
|
|
76
|
+
entry,
|
|
77
|
+
plaintext: decryptHistoryEntryFromContext(client, entry, context)
|
|
78
|
+
}));
|
|
79
|
+
return { ...snapshot, decryptedHistory };
|
|
99
80
|
}
|
|
100
|
-
function
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
encryptCipherEnvelope: (options) => client.buildCipherEnvelope(options),
|
|
106
|
-
decryptCipherEnvelope: (options) => client.openCipherEnvelope(options),
|
|
107
|
-
ensureAgentKey: (options) => ensureAgentEncryptionKey(client, options)
|
|
81
|
+
function registerConversationContextForEncryption(conversationContexts, context) {
|
|
82
|
+
const normalized = {
|
|
83
|
+
sessionId: context.sessionId,
|
|
84
|
+
sharedSecret: Buffer.from(context.sharedSecret),
|
|
85
|
+
identity: context.identity ? { ...context.identity } : void 0
|
|
108
86
|
};
|
|
87
|
+
const entries = conversationContexts.get(context.sessionId) ?? [];
|
|
88
|
+
const existingIndex = entries.findIndex(
|
|
89
|
+
(existing) => identitiesMatch(existing.identity, normalized.identity)
|
|
90
|
+
);
|
|
91
|
+
if (existingIndex >= 0) {
|
|
92
|
+
entries[existingIndex] = normalized;
|
|
93
|
+
} else {
|
|
94
|
+
entries.push(normalized);
|
|
95
|
+
}
|
|
96
|
+
conversationContexts.set(context.sessionId, entries);
|
|
109
97
|
}
|
|
110
|
-
|
|
111
|
-
if (
|
|
98
|
+
function resolveDecryptionContext(conversationContexts, client, sessionId, options) {
|
|
99
|
+
if (options?.sharedSecret) {
|
|
100
|
+
return {
|
|
101
|
+
sessionId,
|
|
102
|
+
sharedSecret: client.normalizeSharedSecret(options.sharedSecret),
|
|
103
|
+
identity: options.identity
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
const contexts = conversationContexts.get(sessionId);
|
|
107
|
+
if (!contexts || contexts.length === 0) {
|
|
112
108
|
return null;
|
|
113
109
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
throw new Error("Only secp256k1 key generation is supported currently");
|
|
121
|
-
}
|
|
122
|
-
const privateKeyBytes = randomBytes(32);
|
|
123
|
-
const privateKey = Buffer.from(privateKeyBytes).toString("hex");
|
|
124
|
-
const publicKeyBytes = secp256k1.getPublicKey(privateKeyBytes, true);
|
|
125
|
-
const publicKey = Buffer.from(publicKeyBytes).toString("hex");
|
|
126
|
-
const envVar = options.envVar ?? "RB_ENCRYPTION_PRIVATE_KEY";
|
|
127
|
-
const resolvedPath = options.envPath ? path.resolve(options.envPath) : void 0;
|
|
128
|
-
if (resolvedPath) {
|
|
129
|
-
const fsModule = await getFs();
|
|
130
|
-
if (!fsModule) {
|
|
131
|
-
throw new Error(
|
|
132
|
-
"File system module is not available; cannot write encryption key env file"
|
|
133
|
-
);
|
|
134
|
-
}
|
|
135
|
-
const envLine = `${envVar}=${privateKey}`;
|
|
136
|
-
if (fsModule.existsSync(resolvedPath)) {
|
|
137
|
-
const content = fsModule.readFileSync(resolvedPath, "utf-8");
|
|
138
|
-
const lineRegex = new RegExp(`^${envVar}=.*$`, "m");
|
|
139
|
-
if (lineRegex.test(content)) {
|
|
140
|
-
if (!options.overwrite) {
|
|
141
|
-
throw new Error(
|
|
142
|
-
`${envVar} already exists in ${resolvedPath}; set overwrite=true to replace it`
|
|
143
|
-
);
|
|
144
|
-
}
|
|
145
|
-
const updated = content.replace(lineRegex, envLine);
|
|
146
|
-
fsModule.writeFileSync(resolvedPath, updated);
|
|
147
|
-
} else {
|
|
148
|
-
const needsNewline = !content.endsWith("\n");
|
|
149
|
-
fsModule.appendFileSync(
|
|
150
|
-
resolvedPath,
|
|
151
|
-
`${needsNewline ? "\n" : ""}${envLine}
|
|
152
|
-
`
|
|
153
|
-
);
|
|
154
|
-
}
|
|
155
|
-
} else {
|
|
156
|
-
fsModule.writeFileSync(resolvedPath, `${envLine}
|
|
157
|
-
`);
|
|
110
|
+
if (options?.identity) {
|
|
111
|
+
const match = contexts.find(
|
|
112
|
+
(context) => identitiesMatch(context.identity, options.identity)
|
|
113
|
+
);
|
|
114
|
+
if (match) {
|
|
115
|
+
return match;
|
|
158
116
|
}
|
|
159
117
|
}
|
|
160
|
-
return
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
118
|
+
return contexts[0];
|
|
119
|
+
}
|
|
120
|
+
function decryptHistoryEntryFromContext(client, entry, context) {
|
|
121
|
+
const envelope = entry.cipherEnvelope;
|
|
122
|
+
if (!envelope) {
|
|
123
|
+
return entry.content;
|
|
124
|
+
}
|
|
125
|
+
const secret = Buffer.from(context.sharedSecret);
|
|
126
|
+
try {
|
|
127
|
+
return client.encryption.decryptCipherEnvelope({
|
|
128
|
+
envelope,
|
|
129
|
+
sharedSecret: secret
|
|
130
|
+
});
|
|
131
|
+
} catch (_error) {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
166
134
|
}
|
|
167
135
|
export {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
registerEncryptionKey
|
|
136
|
+
attachDecryptedHistory,
|
|
137
|
+
decryptHistoryEntryFromContext,
|
|
138
|
+
fetchHistorySnapshot,
|
|
139
|
+
registerConversationContextForEncryption,
|
|
140
|
+
resolveDecryptionContext
|
|
174
141
|
};
|
|
175
142
|
//# sourceMappingURL=standards-sdk.es175.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es175.js","sources":["../../src/services/registry-broker/client/encryption.ts"],"sourcesContent":["import * as path from 'path';\nimport { Buffer } from 'buffer';\nimport { randomBytes } from 'crypto';\nimport { secp256k1 } from '@noble/curves/secp256k1.js';\nimport type {\n AutoRegisterEncryptionKeyOptions,\n CipherEnvelope,\n ClientEncryptionOptions,\n DecryptCipherEnvelopeOptions,\n DeriveSharedSecretOptions,\n EncryptCipherEnvelopeOptions,\n EphemeralKeyPair,\n EnsureAgentKeyOptions,\n RegisterEncryptionKeyPayload,\n RegisterEncryptionKeyResponse,\n SharedSecretInput,\n} from '../types';\nimport { registerEncryptionKeyResponseSchema } from '../schemas';\nimport { optionalImport } from '../../../utils/dynamic-import';\nimport type {\n RegistryBrokerClient,\n GenerateEncryptionKeyPairOptions,\n} from './base-client';\n\ntype FsModule = {\n existsSync: (path: string) => boolean;\n readFileSync: (path: string, encoding: BufferEncoding) => string;\n writeFileSync: (path: string, data: string) => void;\n appendFileSync: (path: string, data: string) => void;\n};\n\nconst getFs = async (): Promise<FsModule | null> => {\n const fsModule = await optionalImport<Partial<FsModule>>('node:fs');\n\n if (\n fsModule &&\n typeof fsModule.existsSync === 'function' &&\n typeof fsModule.readFileSync === 'function' &&\n typeof fsModule.writeFileSync === 'function' &&\n typeof fsModule.appendFileSync === 'function'\n ) {\n return fsModule as FsModule;\n }\n\n return null;\n};\n\nexport interface RegistryBrokerEncryptionApi {\n registerKey: (\n payload: RegisterEncryptionKeyPayload,\n ) => Promise<RegisterEncryptionKeyResponse>;\n generateEphemeralKeyPair: () => EphemeralKeyPair;\n deriveSharedSecret: (options: DeriveSharedSecretOptions) => Buffer;\n encryptCipherEnvelope: (\n options: EncryptCipherEnvelopeOptions,\n ) => CipherEnvelope;\n decryptCipherEnvelope: (options: DecryptCipherEnvelopeOptions) => string;\n ensureAgentKey: (\n options: EnsureAgentKeyOptions,\n ) => Promise<{ publicKey: string; privateKey?: string }>;\n}\n\nexport async function registerEncryptionKey(\n client: RegistryBrokerClient,\n payload: RegisterEncryptionKeyPayload,\n): Promise<RegisterEncryptionKeyResponse> {\n const raw = await client.requestJson('/encryption/keys', {\n method: 'POST',\n headers: { 'content-type': 'application/json' },\n body: payload,\n });\n return client.parseWithSchema(\n raw,\n registerEncryptionKeyResponseSchema,\n 'register encryption key response',\n );\n}\n\nfunction normalizeAutoRegisterIdentity(\n config: AutoRegisterEncryptionKeyOptions,\n): Pick<\n RegisterEncryptionKeyPayload,\n 'uaid' | 'ledgerAccountId' | 'ledgerNetwork' | 'email'\n> | null {\n const identity: Pick<\n RegisterEncryptionKeyPayload,\n 'uaid' | 'ledgerAccountId' | 'ledgerNetwork' | 'email'\n > = {};\n if (config.uaid) {\n identity.uaid = config.uaid;\n }\n if (config.ledgerAccountId) {\n identity.ledgerAccountId = config.ledgerAccountId;\n if (config.ledgerNetwork) {\n identity.ledgerNetwork = config.ledgerNetwork;\n }\n }\n if (config.email) {\n identity.email = config.email;\n }\n if (identity.uaid || identity.ledgerAccountId || identity.email) {\n return identity;\n }\n return null;\n}\n\nfunction derivePublicKeyFromPrivateKey(\n client: RegistryBrokerClient,\n privateKey: string,\n): string {\n const normalized = client.hexToBuffer(privateKey);\n const publicKey = secp256k1.getPublicKey(normalized, true);\n return Buffer.from(publicKey).toString('hex');\n}\n\nasync function resolveAutoRegisterKeyMaterial(\n client: RegistryBrokerClient,\n config: AutoRegisterEncryptionKeyOptions,\n): Promise<{ publicKey: string; privateKey?: string } | null> {\n if (config.publicKey?.trim()) {\n return { publicKey: config.publicKey.trim() };\n }\n let privateKey = config.privateKey?.trim();\n const envVar = config.envVar ?? 'RB_ENCRYPTION_PRIVATE_KEY';\n if (!privateKey && envVar && process?.env?.[envVar]?.trim()) {\n privateKey = process.env[envVar]?.trim();\n }\n if (!privateKey && config.generateIfMissing) {\n const pair = await client.generateEncryptionKeyPair({\n keyType: config.keyType ?? 'secp256k1',\n envVar,\n envPath: config.envPath,\n overwrite: config.overwriteEnv,\n });\n return { publicKey: pair.publicKey, privateKey: pair.privateKey };\n }\n if (privateKey) {\n const publicKey = derivePublicKeyFromPrivateKey(client, privateKey);\n return { publicKey, privateKey };\n }\n return null;\n}\n\nexport async function autoRegisterEncryptionKey(\n client: RegistryBrokerClient,\n config: AutoRegisterEncryptionKeyOptions,\n): Promise<{ publicKey: string; privateKey?: string }> {\n const identity = normalizeAutoRegisterIdentity(config);\n if (!identity) {\n throw new Error(\n 'Auto-registration requires uaid, ledgerAccountId, or email',\n );\n }\n const material = await resolveAutoRegisterKeyMaterial(client, config);\n if (!material) {\n throw new Error(\n 'Unable to resolve encryption public key for auto-registration',\n );\n }\n await registerEncryptionKey(client, {\n keyType: config.keyType ?? 'secp256k1',\n publicKey: material.publicKey,\n ...identity,\n });\n return material;\n}\n\nexport async function ensureAgentEncryptionKey(\n client: RegistryBrokerClient,\n options: EnsureAgentKeyOptions,\n): Promise<{ publicKey: string; privateKey?: string }> {\n return autoRegisterEncryptionKey(client, {\n ...options,\n uaid: options.uaid,\n enabled: true,\n });\n}\n\nexport function createEncryptionApi(\n client: RegistryBrokerClient,\n): RegistryBrokerEncryptionApi {\n return {\n registerKey: (payload: RegisterEncryptionKeyPayload) =>\n registerEncryptionKey(client, payload),\n generateEphemeralKeyPair: () => client.createEphemeralKeyPair(),\n deriveSharedSecret: (options: DeriveSharedSecretOptions) =>\n client.deriveSharedSecret(options),\n encryptCipherEnvelope: (options: EncryptCipherEnvelopeOptions) =>\n client.buildCipherEnvelope(options),\n decryptCipherEnvelope: (options: DecryptCipherEnvelopeOptions) =>\n client.openCipherEnvelope(options),\n ensureAgentKey: (options: EnsureAgentKeyOptions) =>\n ensureAgentEncryptionKey(client, options),\n };\n}\n\nexport async function bootstrapEncryptionOptions(\n client: RegistryBrokerClient,\n options?: ClientEncryptionOptions,\n): Promise<{ publicKey: string; privateKey?: string } | null> {\n if (!options?.autoRegister || options.autoRegister.enabled === false) {\n return null;\n }\n return autoRegisterEncryptionKey(client, options.autoRegister);\n}\n\nexport async function generateEncryptionKeyPair(\n client: RegistryBrokerClient,\n options: GenerateEncryptionKeyPairOptions = {},\n): Promise<{\n privateKey: string;\n publicKey: string;\n envPath?: string;\n envVar: string;\n}> {\n client.assertNodeRuntime('generateEncryptionKeyPair');\n\n const keyType = options.keyType ?? 'secp256k1';\n if (keyType !== 'secp256k1') {\n throw new Error('Only secp256k1 key generation is supported currently');\n }\n\n const privateKeyBytes = randomBytes(32);\n const privateKey = Buffer.from(privateKeyBytes).toString('hex');\n const publicKeyBytes = secp256k1.getPublicKey(privateKeyBytes, true);\n const publicKey = Buffer.from(publicKeyBytes).toString('hex');\n\n const envVar = options.envVar ?? 'RB_ENCRYPTION_PRIVATE_KEY';\n const resolvedPath = options.envPath\n ? path.resolve(options.envPath)\n : undefined;\n\n if (resolvedPath) {\n const fsModule = await getFs();\n\n if (!fsModule) {\n throw new Error(\n 'File system module is not available; cannot write encryption key env file',\n );\n }\n\n const envLine = `${envVar}=${privateKey}`;\n if (fsModule.existsSync(resolvedPath)) {\n const content = fsModule.readFileSync(resolvedPath, 'utf-8');\n const lineRegex = new RegExp(`^${envVar}=.*$`, 'm');\n if (lineRegex.test(content)) {\n if (!options.overwrite) {\n throw new Error(\n `${envVar} already exists in ${resolvedPath}; set overwrite=true to replace it`,\n );\n }\n const updated = content.replace(lineRegex, envLine);\n fsModule.writeFileSync(resolvedPath, updated);\n } else {\n const needsNewline = !content.endsWith('\\n');\n fsModule.appendFileSync(\n resolvedPath,\n `${needsNewline ? '\\n' : ''}${envLine}\\n`,\n );\n }\n } else {\n fsModule.writeFileSync(resolvedPath, `${envLine}\\n`);\n }\n }\n\n return {\n privateKey,\n publicKey,\n envPath: resolvedPath,\n envVar,\n };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es175.js","sources":["../../src/services/registry-broker/client/chat-history.ts"],"sourcesContent":["import { Buffer } from 'buffer';\nimport type {\n ChatHistoryEntry,\n ChatHistoryFetchOptions,\n ChatHistorySnapshotResponse,\n ChatHistorySnapshotWithDecryptedEntries,\n JsonValue,\n RecipientIdentity,\n} from '../types';\nimport { chatHistorySnapshotResponseSchema } from '../schemas';\nimport type { RegistryBrokerClient } from './base-client';\n\nexport interface ConversationContextInput {\n sessionId: string;\n sharedSecret: Uint8Array | Buffer;\n identity?: RecipientIdentity;\n}\n\nexport interface ConversationContextState {\n sessionId: string;\n sharedSecret: Buffer;\n identity?: RecipientIdentity;\n}\n\nfunction identitiesMatch(\n a?: RecipientIdentity,\n b?: RecipientIdentity,\n): boolean {\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.uaid && b.uaid && a.uaid.toLowerCase() === b.uaid.toLowerCase()) {\n return true;\n }\n if (\n a.ledgerAccountId &&\n b.ledgerAccountId &&\n a.ledgerAccountId.toLowerCase() === b.ledgerAccountId.toLowerCase()\n ) {\n return true;\n }\n if (a.userId && b.userId && a.userId === b.userId) {\n return true;\n }\n if (a.email && b.email && a.email.toLowerCase() === b.email.toLowerCase()) {\n return true;\n }\n return false;\n}\n\nexport async function fetchHistorySnapshot(\n conversationContexts: Map<string, ConversationContextState[]>,\n client: RegistryBrokerClient,\n sessionId: string,\n options?: ChatHistoryFetchOptions,\n): Promise<ChatHistorySnapshotWithDecryptedEntries> {\n if (!sessionId || sessionId.trim().length === 0) {\n throw new Error('sessionId is required to fetch chat history');\n }\n const raw = await client.requestJson<JsonValue>(\n `/chat/session/${encodeURIComponent(sessionId)}/history`,\n {\n method: 'GET',\n },\n );\n const snapshot = client.parseWithSchema(\n raw,\n chatHistorySnapshotResponseSchema,\n 'chat history snapshot response',\n );\n return attachDecryptedHistory(\n conversationContexts,\n client,\n sessionId,\n snapshot,\n options,\n );\n}\n\nexport function attachDecryptedHistory(\n conversationContexts: Map<string, ConversationContextState[]>,\n client: RegistryBrokerClient,\n sessionId: string,\n snapshot: ChatHistorySnapshotResponse,\n options?: ChatHistoryFetchOptions,\n): ChatHistorySnapshotWithDecryptedEntries {\n const shouldDecrypt =\n options?.decrypt !== undefined\n ? options.decrypt\n : client.encryptionOptions?.autoDecryptHistory === true;\n if (!shouldDecrypt) {\n return snapshot;\n }\n const requiresContext = snapshot.history.some(entry =>\n Boolean(entry.cipherEnvelope),\n );\n if (!requiresContext) {\n return {\n ...snapshot,\n decryptedHistory: snapshot.history.map(entry => ({\n entry,\n plaintext: entry.content,\n })),\n };\n }\n const context = resolveDecryptionContext(\n conversationContexts,\n client,\n sessionId,\n options,\n );\n if (!context) {\n throw new Error(\n 'Unable to decrypt chat history: encryption context unavailable',\n );\n }\n const decryptedHistory = snapshot.history.map(entry => ({\n entry,\n plaintext: decryptHistoryEntryFromContext(client, entry, context),\n }));\n return { ...snapshot, decryptedHistory };\n}\n\nexport function registerConversationContextForEncryption(\n conversationContexts: Map<string, ConversationContextState[]>,\n context: ConversationContextInput,\n): void {\n const normalized: ConversationContextState = {\n sessionId: context.sessionId,\n sharedSecret: Buffer.from(context.sharedSecret),\n identity: context.identity ? { ...context.identity } : undefined,\n };\n const entries = conversationContexts.get(context.sessionId) ?? [];\n const existingIndex = entries.findIndex(existing =>\n identitiesMatch(existing.identity, normalized.identity),\n );\n if (existingIndex >= 0) {\n entries[existingIndex] = normalized;\n } else {\n entries.push(normalized);\n }\n conversationContexts.set(context.sessionId, entries);\n}\n\nexport function resolveDecryptionContext(\n conversationContexts: Map<string, ConversationContextState[]>,\n client: RegistryBrokerClient,\n sessionId: string,\n options?: ChatHistoryFetchOptions,\n): ConversationContextState | null {\n if (options?.sharedSecret) {\n return {\n sessionId,\n sharedSecret: client.normalizeSharedSecret(options.sharedSecret),\n identity: options.identity,\n };\n }\n const contexts = conversationContexts.get(sessionId);\n if (!contexts || contexts.length === 0) {\n return null;\n }\n if (options?.identity) {\n const match = contexts.find(context =>\n identitiesMatch(context.identity, options.identity),\n );\n if (match) {\n return match;\n }\n }\n return contexts[0];\n}\n\nexport function decryptHistoryEntryFromContext(\n client: RegistryBrokerClient,\n entry: ChatHistoryEntry,\n context: ConversationContextState,\n): string | null {\n const envelope = entry.cipherEnvelope;\n if (!envelope) {\n return entry.content;\n }\n const secret = Buffer.from(context.sharedSecret);\n try {\n return client.encryption.decryptCipherEnvelope({\n envelope,\n sharedSecret: secret,\n });\n } catch (_error) {\n return null;\n }\n}\n"],"names":[],"mappings":"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"}
|