@useragent-kit/sdk 0.0.0 → 0.0.1
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/LICENSE +661 -0
- package/README.md +61 -3
- package/dist/adapters.d.ts +94 -0
- package/dist/adapters.d.ts.map +1 -0
- package/dist/adapters.js +188 -0
- package/dist/adapters.js.map +1 -0
- package/dist/api-protocol.d.ts +9 -0
- package/dist/api-protocol.d.ts.map +1 -0
- package/dist/api-protocol.js +9 -0
- package/dist/api-protocol.js.map +1 -0
- package/dist/bridge/contract.d.ts +66 -0
- package/dist/bridge/contract.d.ts.map +1 -0
- package/dist/bridge/contract.js +160 -0
- package/dist/bridge/contract.js.map +1 -0
- package/dist/bridge/index.d.ts +53 -0
- package/dist/bridge/index.d.ts.map +1 -0
- package/dist/bridge/index.js +302 -0
- package/dist/bridge/index.js.map +1 -0
- package/dist/bridge/types.d.ts +93 -0
- package/dist/bridge/types.d.ts.map +1 -0
- package/dist/bridge/types.js +9 -0
- package/dist/bridge/types.js.map +1 -0
- package/dist/chain.d.ts +198 -0
- package/dist/chain.d.ts.map +1 -0
- package/dist/chain.js +424 -0
- package/dist/chain.js.map +1 -0
- package/dist/errors.d.ts +22 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +41 -0
- package/dist/errors.js.map +1 -0
- package/dist/events.d.ts +252 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +54 -0
- package/dist/events.js.map +1 -0
- package/dist/experimental/file-transfer.d.ts +97 -0
- package/dist/experimental/file-transfer.d.ts.map +1 -0
- package/dist/experimental/file-transfer.js +1377 -0
- package/dist/experimental/file-transfer.js.map +1 -0
- package/dist/experimental/index.d.ts +7 -0
- package/dist/experimental/index.d.ts.map +1 -0
- package/dist/experimental/index.js +4 -0
- package/dist/experimental/index.js.map +1 -0
- package/dist/experimental/logger.d.ts +5 -0
- package/dist/experimental/logger.d.ts.map +1 -0
- package/dist/experimental/logger.js +74 -0
- package/dist/experimental/logger.js.map +1 -0
- package/dist/experimental/transport.d.ts +34 -0
- package/dist/experimental/transport.d.ts.map +1 -0
- package/dist/experimental/transport.js +43 -0
- package/dist/experimental/transport.js.map +1 -0
- package/dist/guest/claw.d.ts +10 -0
- package/dist/guest/claw.d.ts.map +1 -0
- package/dist/guest/claw.js +21 -0
- package/dist/guest/claw.js.map +1 -0
- package/dist/guest/crdt.d.ts +19 -0
- package/dist/guest/crdt.d.ts.map +1 -0
- package/dist/guest/crdt.js +64 -0
- package/dist/guest/crdt.js.map +1 -0
- package/dist/guest/data.d.ts +27 -0
- package/dist/guest/data.d.ts.map +1 -0
- package/dist/guest/data.js +61 -0
- package/dist/guest/data.js.map +1 -0
- package/dist/guest/files.d.ts +15 -0
- package/dist/guest/files.d.ts.map +1 -0
- package/dist/guest/files.js +24 -0
- package/dist/guest/files.js.map +1 -0
- package/dist/guest/index.d.ts +43 -0
- package/dist/guest/index.d.ts.map +1 -0
- package/dist/guest/index.js +44 -0
- package/dist/guest/index.js.map +1 -0
- package/dist/guest/media.d.ts +44 -0
- package/dist/guest/media.d.ts.map +1 -0
- package/dist/guest/media.js +97 -0
- package/dist/guest/media.js.map +1 -0
- package/dist/guest/mesh.d.ts +79 -0
- package/dist/guest/mesh.d.ts.map +1 -0
- package/dist/guest/mesh.js +153 -0
- package/dist/guest/mesh.js.map +1 -0
- package/dist/guest/navigate.d.ts +17 -0
- package/dist/guest/navigate.d.ts.map +1 -0
- package/dist/guest/navigate.js +169 -0
- package/dist/guest/navigate.js.map +1 -0
- package/dist/guest/statements.d.ts +18 -0
- package/dist/guest/statements.d.ts.map +1 -0
- package/dist/guest/statements.js +26 -0
- package/dist/guest/statements.js.map +1 -0
- package/dist/guest/telemetry.d.ts +88 -0
- package/dist/guest/telemetry.d.ts.map +1 -0
- package/dist/guest/telemetry.js +184 -0
- package/dist/guest/telemetry.js.map +1 -0
- package/dist/guest/types.d.ts +255 -0
- package/dist/guest/types.d.ts.map +1 -0
- package/dist/guest/types.js +9 -0
- package/dist/guest/types.js.map +1 -0
- package/dist/host-runtime-contract.d.ts +19 -0
- package/dist/host-runtime-contract.d.ts.map +1 -0
- package/dist/host-runtime-contract.js +80 -0
- package/dist/host-runtime-contract.js.map +1 -0
- package/dist/host-runtime-frame.d.ts +128 -0
- package/dist/host-runtime-frame.d.ts.map +1 -0
- package/dist/host-runtime-frame.js +881 -0
- package/dist/host-runtime-frame.js.map +1 -0
- package/dist/host-runtime-registry.d.ts +16 -0
- package/dist/host-runtime-registry.d.ts.map +1 -0
- package/dist/host-runtime-registry.js +53 -0
- package/dist/host-runtime-registry.js.map +1 -0
- package/dist/host-runtime.d.ts +106 -0
- package/dist/host-runtime.d.ts.map +1 -0
- package/dist/host-runtime.js +290 -0
- package/dist/host-runtime.js.map +1 -0
- package/dist/identity-adapter.d.ts +42 -0
- package/dist/identity-adapter.d.ts.map +1 -0
- package/dist/identity-adapter.js +43 -0
- package/dist/identity-adapter.js.map +1 -0
- package/dist/identity.d.ts +86 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +223 -0
- package/dist/identity.js.map +1 -0
- package/dist/index.d.ts +91 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +356 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/api-protocol/api/protocol.d.ts +1402 -0
- package/dist/internal/api-protocol/api/protocol.d.ts.map +1 -0
- package/dist/internal/api-protocol/api/protocol.js +311 -0
- package/dist/internal/api-protocol/api/protocol.js.map +1 -0
- package/dist/internal/api-protocol/api/types.d.ts +24 -0
- package/dist/internal/api-protocol/api/types.d.ts.map +1 -0
- package/dist/internal/api-protocol/api/types.js +9 -0
- package/dist/internal/api-protocol/api/types.js.map +1 -0
- package/dist/internal/api-protocol/host-facade/connectionManager.d.ts +44 -0
- package/dist/internal/api-protocol/host-facade/connectionManager.d.ts.map +1 -0
- package/dist/internal/api-protocol/host-facade/connectionManager.js +349 -0
- package/dist/internal/api-protocol/host-facade/connectionManager.js.map +1 -0
- package/dist/internal/api-protocol/host-facade/protocolHandler.d.ts +24 -0
- package/dist/internal/api-protocol/host-facade/protocolHandler.d.ts.map +1 -0
- package/dist/internal/api-protocol/host-facade/protocolHandler.js +505 -0
- package/dist/internal/api-protocol/host-facade/protocolHandler.js.map +1 -0
- package/dist/internal/api-protocol/host-facade/types.d.ts +82 -0
- package/dist/internal/api-protocol/host-facade/types.d.ts.map +1 -0
- package/dist/internal/api-protocol/host-facade/types.js +14 -0
- package/dist/internal/api-protocol/host-facade/types.js.map +1 -0
- package/dist/internal/api-protocol/index.d.ts +39 -0
- package/dist/internal/api-protocol/index.d.ts.map +1 -0
- package/dist/internal/api-protocol/index.js +41 -0
- package/dist/internal/api-protocol/index.js.map +1 -0
- package/dist/internal/api-protocol/product-facade/hostApi.d.ts +392 -0
- package/dist/internal/api-protocol/product-facade/hostApi.d.ts.map +1 -0
- package/dist/internal/api-protocol/product-facade/hostApi.js +241 -0
- package/dist/internal/api-protocol/product-facade/hostApi.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/adapter.d.ts +41 -0
- package/dist/internal/api-protocol/shared/codec/adapter.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/adapter.js +10 -0
- package/dist/internal/api-protocol/shared/codec/adapter.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/negotiation.d.ts +80 -0
- package/dist/internal/api-protocol/shared/codec/negotiation.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/negotiation.js +129 -0
- package/dist/internal/api-protocol/shared/codec/negotiation.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/adapter.d.ts +18 -0
- package/dist/internal/api-protocol/shared/codec/scale/adapter.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/adapter.js +23 -0
- package/dist/internal/api-protocol/shared/codec/scale/adapter.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/primitives.d.ts +35 -0
- package/dist/internal/api-protocol/shared/codec/scale/primitives.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/primitives.js +96 -0
- package/dist/internal/api-protocol/shared/codec/scale/primitives.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/accounts.d.ts +65 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/accounts.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/accounts.js +43 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/accounts.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/chainInteraction.d.ts +162 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/chainInteraction.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/chainInteraction.js +81 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/chainInteraction.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/chat.d.ts +307 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/chat.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/chat.js +105 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/chat.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/commonCodecs.d.ts +5 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/commonCodecs.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/commonCodecs.js +6 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/commonCodecs.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/createTransaction.d.ts +71 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/createTransaction.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/createTransaction.js +34 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/createTransaction.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/customRenderer.d.ts +106 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/customRenderer.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/customRenderer.js +84 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/customRenderer.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/devicePermission.d.ts +4 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/devicePermission.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/devicePermission.js +4 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/devicePermission.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/feature.d.ts +7 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/feature.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/feature.js +7 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/feature.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/handshake.d.ts +13 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/handshake.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/handshake.js +10 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/handshake.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/localStorage.d.ts +15 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/localStorage.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/localStorage.js +12 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/localStorage.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/navigation.d.ts +10 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/navigation.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/navigation.js +10 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/navigation.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/notification.d.ts +7 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/notification.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/notification.js +7 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/notification.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/payment.d.ts +74 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/payment.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/payment.js +38 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/payment.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/preimage.d.ts +12 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/preimage.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/preimage.js +11 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/preimage.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/remotePermission.d.ts +10 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/remotePermission.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/remotePermission.js +8 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/remotePermission.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/sign.d.ts +61 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/sign.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/sign.js +42 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/sign.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/statementStore.d.ts +137 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/statementStore.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/statementStore.js +55 -0
- package/dist/internal/api-protocol/shared/codec/scale/v1/statementStore.js.map +1 -0
- package/dist/internal/api-protocol/shared/codec/structured/index.d.ts +10 -0
- package/dist/internal/api-protocol/shared/codec/structured/index.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/codec/structured/index.js +19 -0
- package/dist/internal/api-protocol/shared/codec/structured/index.js.map +1 -0
- package/dist/internal/api-protocol/shared/transport/messagePortProvider.d.ts +18 -0
- package/dist/internal/api-protocol/shared/transport/messagePortProvider.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/transport/messagePortProvider.js +98 -0
- package/dist/internal/api-protocol/shared/transport/messagePortProvider.js.map +1 -0
- package/dist/internal/api-protocol/shared/transport/provider.d.ts +42 -0
- package/dist/internal/api-protocol/shared/transport/provider.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/transport/provider.js +13 -0
- package/dist/internal/api-protocol/shared/transport/provider.js.map +1 -0
- package/dist/internal/api-protocol/shared/transport/transport.d.ts +72 -0
- package/dist/internal/api-protocol/shared/transport/transport.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/transport/transport.js +420 -0
- package/dist/internal/api-protocol/shared/transport/transport.js.map +1 -0
- package/dist/internal/api-protocol/shared/transport/windowProvider.d.ts +13 -0
- package/dist/internal/api-protocol/shared/transport/windowProvider.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/transport/windowProvider.js +85 -0
- package/dist/internal/api-protocol/shared/transport/windowProvider.js.map +1 -0
- package/dist/internal/api-protocol/shared/util/helpers.d.ts +27 -0
- package/dist/internal/api-protocol/shared/util/helpers.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/util/helpers.js +43 -0
- package/dist/internal/api-protocol/shared/util/helpers.js.map +1 -0
- package/dist/internal/api-protocol/shared/util/idFactory.d.ts +9 -0
- package/dist/internal/api-protocol/shared/util/idFactory.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/util/idFactory.js +12 -0
- package/dist/internal/api-protocol/shared/util/idFactory.js.map +1 -0
- package/dist/internal/api-protocol/shared/util/logger.d.ts +15 -0
- package/dist/internal/api-protocol/shared/util/logger.d.ts.map +1 -0
- package/dist/internal/api-protocol/shared/util/logger.js +20 -0
- package/dist/internal/api-protocol/shared/util/logger.js.map +1 -0
- package/dist/mesh-attachment.d.ts +19 -0
- package/dist/mesh-attachment.d.ts.map +1 -0
- package/dist/mesh-attachment.js +43 -0
- package/dist/mesh-attachment.js.map +1 -0
- package/dist/mesh-chat.d.ts +48 -0
- package/dist/mesh-chat.d.ts.map +1 -0
- package/dist/mesh-chat.js +84 -0
- package/dist/mesh-chat.js.map +1 -0
- package/dist/mesh-delivery-diagnostics.d.ts +12 -0
- package/dist/mesh-delivery-diagnostics.d.ts.map +1 -0
- package/dist/mesh-delivery-diagnostics.js +45 -0
- package/dist/mesh-delivery-diagnostics.js.map +1 -0
- package/dist/mesh-notification.d.ts +29 -0
- package/dist/mesh-notification.d.ts.map +1 -0
- package/dist/mesh-notification.js +52 -0
- package/dist/mesh-notification.js.map +1 -0
- package/dist/mesh-pairing.d.ts +40 -0
- package/dist/mesh-pairing.d.ts.map +1 -0
- package/dist/mesh-pairing.js +78 -0
- package/dist/mesh-pairing.js.map +1 -0
- package/dist/product-host-runtime.d.ts +59 -0
- package/dist/product-host-runtime.d.ts.map +1 -0
- package/dist/product-host-runtime.js +150 -0
- package/dist/product-host-runtime.js.map +1 -0
- package/dist/product-protocol.d.ts +49 -0
- package/dist/product-protocol.d.ts.map +1 -0
- package/dist/product-protocol.js +389 -0
- package/dist/product-protocol.js.map +1 -0
- package/dist/product-view-hosted.d.ts +63 -0
- package/dist/product-view-hosted.d.ts.map +1 -0
- package/dist/product-view-hosted.js +272 -0
- package/dist/product-view-hosted.js.map +1 -0
- package/dist/product-view-service-worker.d.ts +6 -0
- package/dist/product-view-service-worker.d.ts.map +1 -0
- package/dist/product-view-service-worker.js +57 -0
- package/dist/product-view-service-worker.js.map +1 -0
- package/dist/product-view.d.ts +459 -0
- package/dist/product-view.d.ts.map +1 -0
- package/dist/product-view.js +2671 -0
- package/dist/product-view.js.map +1 -0
- package/dist/protocol.d.ts +39 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +25 -0
- package/dist/protocol.js.map +1 -0
- package/dist/remote-runtime-provider.d.ts +9 -0
- package/dist/remote-runtime-provider.d.ts.map +1 -0
- package/dist/remote-runtime-provider.js +1002 -0
- package/dist/remote-runtime-provider.js.map +1 -0
- package/dist/runtime-chain-service.d.ts +109 -0
- package/dist/runtime-chain-service.d.ts.map +1 -0
- package/dist/runtime-chain-service.js +846 -0
- package/dist/runtime-chain-service.js.map +1 -0
- package/dist/runtime-chain.d.ts +8 -0
- package/dist/runtime-chain.d.ts.map +1 -0
- package/dist/runtime-chain.js +4 -0
- package/dist/runtime-chain.js.map +1 -0
- package/dist/runtime-storage-access.d.ts +39 -0
- package/dist/runtime-storage-access.d.ts.map +1 -0
- package/dist/runtime-storage-access.js +209 -0
- package/dist/runtime-storage-access.js.map +1 -0
- package/dist/scoped-frame.d.ts +55 -0
- package/dist/scoped-frame.d.ts.map +1 -0
- package/dist/scoped-frame.js +234 -0
- package/dist/scoped-frame.js.map +1 -0
- package/dist/sdk-interfaces.d.ts +159 -0
- package/dist/sdk-interfaces.d.ts.map +1 -0
- package/dist/sdk-interfaces.js +2 -0
- package/dist/sdk-interfaces.js.map +1 -0
- package/dist/statement-store.d.ts +166 -0
- package/dist/statement-store.d.ts.map +1 -0
- package/dist/statement-store.js +627 -0
- package/dist/statement-store.js.map +1 -0
- package/dist/telemetry.d.ts +218 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +162 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/types.d.ts +255 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +77 -0
- package/dist/types.js.map +1 -0
- package/dist/wallet-session.d.ts +89 -0
- package/dist/wallet-session.d.ts.map +1 -0
- package/dist/wallet-session.js +135 -0
- package/dist/wallet-session.js.map +1 -0
- package/package.json +86 -5
- package/index.js +0 -1
package/README.md
CHANGED
|
@@ -1,5 +1,63 @@
|
|
|
1
|
-
#
|
|
1
|
+
# `@polkadot-apps/host-sdk`
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
UserAgentKit's TypeScript SDK for building browser **Triangle User Agents**.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Use this package when you are building the trusted browser shell that owns:
|
|
6
|
+
|
|
7
|
+
- wallet state
|
|
8
|
+
- `ProductView` mounting
|
|
9
|
+
- chain/runtime wiring
|
|
10
|
+
- `window.host.__bridge` policy and capabilities
|
|
11
|
+
|
|
12
|
+
If you are building the product that runs inside that shell, use `@polkadot-apps/product-sdk` instead.
|
|
13
|
+
|
|
14
|
+
## Install
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
npm install @polkadot-apps/host-sdk @polkadot-apps/host-wasm
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Add these only if your integration needs them:
|
|
21
|
+
|
|
22
|
+
- `@polkadot-apps/host-coinage-wasm` for Coinage vault/path/value helpers
|
|
23
|
+
- `@polkadot-apps/host-extensions-wasm`
|
|
24
|
+
- `smoldot`
|
|
25
|
+
|
|
26
|
+
## Minimal example
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
import { createHostSdk } from "@polkadot-apps/host-sdk";
|
|
30
|
+
|
|
31
|
+
const sdk = await createHostSdk();
|
|
32
|
+
sdk.wallet.loadMnemonic(
|
|
33
|
+
"abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about",
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
console.log("wallet state", sdk.wallet.state());
|
|
37
|
+
console.log("root address", sdk.wallet.rootAddress());
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Main entry points
|
|
41
|
+
|
|
42
|
+
- `createHostSdk()` for wallet, runtime, and WASM setup
|
|
43
|
+
- `mountProductView()` for sandboxed product embedding
|
|
44
|
+
- `HostRuntime` / `HostRuntimeRegistry` for shared runtime ownership
|
|
45
|
+
- `mountHostRuntimeFrame()` for runtime-in-a-frame web hosts
|
|
46
|
+
|
|
47
|
+
## Compatibility
|
|
48
|
+
|
|
49
|
+
- Node.js 18+
|
|
50
|
+
- ESM package
|
|
51
|
+
- peer dependency on `@polkadot-apps/host-wasm`
|
|
52
|
+
- optional peer dependencies on `@polkadot-apps/host-extensions-wasm` and `smoldot`
|
|
53
|
+
- separate optional package `@polkadot-apps/host-coinage-wasm` for Coinage helpers
|
|
54
|
+
|
|
55
|
+
## Documentation
|
|
56
|
+
|
|
57
|
+
- Quickstart: <https://github.com/paritytech/host-sdk/blob/main/site/src/content/docs/getting-started/index.md>
|
|
58
|
+
- Web integration: <https://github.com/paritytech/host-sdk/blob/main/site/src/content/docs/getting-started/web.md>
|
|
59
|
+
- Browser host guide: <https://github.com/paritytech/host-sdk/blob/main/site/src/content/docs/getting-started/web-host.md>
|
|
60
|
+
|
|
61
|
+
## Experimental surface
|
|
62
|
+
|
|
63
|
+
This package also includes an `experimental` subpath for APIs that are still settling. Treat those exports as unstable and pin versions tightly if you adopt them.
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Built-in analytics adapter implementations.
|
|
3
|
+
*
|
|
4
|
+
* Each adapter translates Segment-shaped events into a specific backend's
|
|
5
|
+
* HTTP API format. All adapters are stateless — they send events immediately
|
|
6
|
+
* via `fetch()`. For batching, wrap with a buffering layer or use the
|
|
7
|
+
* backend's own batching SDK.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { createAnalyticsRouter, createPostHogAdapter } from "@polkadot-apps/host-sdk";
|
|
12
|
+
*
|
|
13
|
+
* const router = createAnalyticsRouter();
|
|
14
|
+
* router.register("com.example.app", createPostHogAdapter({
|
|
15
|
+
* apiKey: "phc_abc123",
|
|
16
|
+
* host: "https://us.i.posthog.com",
|
|
17
|
+
* }));
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
import type { AnalyticsAdapter } from "./telemetry.js";
|
|
21
|
+
/** Configuration for the PostHog adapter. */
|
|
22
|
+
export interface PostHogAdapterOptions {
|
|
23
|
+
/** PostHog project API key (e.g. "phc_abc123..."). */
|
|
24
|
+
apiKey: string;
|
|
25
|
+
/**
|
|
26
|
+
* PostHog instance host. Default: "https://us.i.posthog.com".
|
|
27
|
+
* Use "https://eu.i.posthog.com" for EU cloud, or your self-hosted URL.
|
|
28
|
+
*/
|
|
29
|
+
host?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Called when a request to PostHog fails.
|
|
32
|
+
* Default: silent (errors are swallowed).
|
|
33
|
+
*/
|
|
34
|
+
onError?: (error: unknown) => void;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Create a PostHog analytics adapter.
|
|
38
|
+
*
|
|
39
|
+
* Maps Segment-shaped events to PostHog's `/capture` and `/engage` APIs.
|
|
40
|
+
*
|
|
41
|
+
* @see https://posthog.com/docs/api/capture
|
|
42
|
+
*/
|
|
43
|
+
export declare function createPostHogAdapter(options: PostHogAdapterOptions): AnalyticsAdapter;
|
|
44
|
+
/** Configuration for the generic webhook adapter. */
|
|
45
|
+
export interface WebhookAdapterOptions {
|
|
46
|
+
/** HTTPS endpoint that accepts POST requests with JSON body. */
|
|
47
|
+
endpoint: string;
|
|
48
|
+
/**
|
|
49
|
+
* Optional headers to include in every request.
|
|
50
|
+
* Use for API keys, auth tokens, etc.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```ts
|
|
54
|
+
* { "Authorization": "Bearer token123" }
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
headers?: Record<string, string>;
|
|
58
|
+
/**
|
|
59
|
+
* Called when a request to the webhook fails.
|
|
60
|
+
* Default: silent (errors are swallowed).
|
|
61
|
+
*/
|
|
62
|
+
onError?: (error: unknown) => void;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Create a generic webhook adapter.
|
|
66
|
+
*
|
|
67
|
+
* Sends Segment-shaped events as-is (JSON POST) to any HTTPS endpoint.
|
|
68
|
+
* Compatible with RudderStack, Jitsu, Segment HTTP API, or any custom
|
|
69
|
+
* backend that accepts Segment-format payloads.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```ts
|
|
73
|
+
* const adapter = createWebhookAdapter({
|
|
74
|
+
* endpoint: "https://my-api.example.com/v1/events",
|
|
75
|
+
* headers: { "Authorization": "Bearer secret" },
|
|
76
|
+
* });
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export declare function createWebhookAdapter(options: WebhookAdapterOptions): AnalyticsAdapter;
|
|
80
|
+
/**
|
|
81
|
+
* Create a console adapter for development/debugging.
|
|
82
|
+
*
|
|
83
|
+
* Logs all analytics events to `console.debug` with a `[telemetry]` prefix.
|
|
84
|
+
* Useful for verifying that products emit the expected events without
|
|
85
|
+
* configuring a backend.
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```ts
|
|
89
|
+
* const router = createAnalyticsRouter();
|
|
90
|
+
* router.register("my-product", createConsoleAdapter());
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
export declare function createConsoleAdapter(): AnalyticsAdapter;
|
|
94
|
+
//# sourceMappingURL=adapters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAKjB,MAAM,gBAAgB,CAAC;AAMxB,6CAA6C;AAC7C,MAAM,WAAW,qBAAqB;IACpC,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,gBAAgB,CA6ErF;AAMD,qDAAqD;AACrD,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,gBAAgB,CAqBrF;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,CAuCvD"}
|
package/dist/adapters.js
ADDED
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Built-in analytics adapter implementations.
|
|
3
|
+
*
|
|
4
|
+
* Each adapter translates Segment-shaped events into a specific backend's
|
|
5
|
+
* HTTP API format. All adapters are stateless — they send events immediately
|
|
6
|
+
* via `fetch()`. For batching, wrap with a buffering layer or use the
|
|
7
|
+
* backend's own batching SDK.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { createAnalyticsRouter, createPostHogAdapter } from "@polkadot-apps/host-sdk";
|
|
12
|
+
*
|
|
13
|
+
* const router = createAnalyticsRouter();
|
|
14
|
+
* router.register("com.example.app", createPostHogAdapter({
|
|
15
|
+
* apiKey: "phc_abc123",
|
|
16
|
+
* host: "https://us.i.posthog.com",
|
|
17
|
+
* }));
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Create a PostHog analytics adapter.
|
|
22
|
+
*
|
|
23
|
+
* Maps Segment-shaped events to PostHog's `/capture` and `/engage` APIs.
|
|
24
|
+
*
|
|
25
|
+
* @see https://posthog.com/docs/api/capture
|
|
26
|
+
*/
|
|
27
|
+
export function createPostHogAdapter(options) {
|
|
28
|
+
const host = (options.host ?? "https://us.i.posthog.com").replace(/\/$/, "");
|
|
29
|
+
const apiKey = options.apiKey;
|
|
30
|
+
function send(endpoint, body) {
|
|
31
|
+
fetch(`${host}${endpoint}`, {
|
|
32
|
+
method: "POST",
|
|
33
|
+
headers: { "Content-Type": "application/json" },
|
|
34
|
+
body: JSON.stringify({ api_key: apiKey, ...body }),
|
|
35
|
+
}).catch((err) => options.onError?.(err));
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
track(event) {
|
|
39
|
+
send("/capture/", {
|
|
40
|
+
event: event.event,
|
|
41
|
+
properties: {
|
|
42
|
+
...event.properties,
|
|
43
|
+
$lib: "host-sdk",
|
|
44
|
+
product_id: event.context.app.productId,
|
|
45
|
+
},
|
|
46
|
+
timestamp: event.timestamp,
|
|
47
|
+
distinct_id: event.context.app.productId,
|
|
48
|
+
});
|
|
49
|
+
},
|
|
50
|
+
identify(event) {
|
|
51
|
+
send("/capture/", {
|
|
52
|
+
event: "$identify",
|
|
53
|
+
properties: {
|
|
54
|
+
$set: event.traits,
|
|
55
|
+
distinct_id: event.userId,
|
|
56
|
+
$lib: "host-sdk",
|
|
57
|
+
product_id: event.context.app.productId,
|
|
58
|
+
},
|
|
59
|
+
distinct_id: event.userId,
|
|
60
|
+
timestamp: event.timestamp,
|
|
61
|
+
});
|
|
62
|
+
},
|
|
63
|
+
page(event) {
|
|
64
|
+
send("/capture/", {
|
|
65
|
+
event: "$pageview",
|
|
66
|
+
properties: {
|
|
67
|
+
...event.properties,
|
|
68
|
+
$current_url: event.name,
|
|
69
|
+
$lib: "host-sdk",
|
|
70
|
+
product_id: event.context.app.productId,
|
|
71
|
+
},
|
|
72
|
+
timestamp: event.timestamp,
|
|
73
|
+
distinct_id: event.context.app.productId,
|
|
74
|
+
});
|
|
75
|
+
},
|
|
76
|
+
timing(event) {
|
|
77
|
+
send("/capture/", {
|
|
78
|
+
event: "$performance",
|
|
79
|
+
properties: {
|
|
80
|
+
span_name: event.name,
|
|
81
|
+
duration_ms: event.durationMs,
|
|
82
|
+
start_ms: event.startMs,
|
|
83
|
+
span_id: event.spanId,
|
|
84
|
+
parent_span_id: event.parentSpanId,
|
|
85
|
+
...event.attributes,
|
|
86
|
+
$lib: "host-sdk",
|
|
87
|
+
product_id: event.context.app.productId,
|
|
88
|
+
},
|
|
89
|
+
timestamp: event.timestamp,
|
|
90
|
+
distinct_id: event.context.app.productId,
|
|
91
|
+
});
|
|
92
|
+
},
|
|
93
|
+
flush() {
|
|
94
|
+
// PostHog capture is fire-and-forget; nothing to flush.
|
|
95
|
+
return Promise.resolve();
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Create a generic webhook adapter.
|
|
101
|
+
*
|
|
102
|
+
* Sends Segment-shaped events as-is (JSON POST) to any HTTPS endpoint.
|
|
103
|
+
* Compatible with RudderStack, Jitsu, Segment HTTP API, or any custom
|
|
104
|
+
* backend that accepts Segment-format payloads.
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* ```ts
|
|
108
|
+
* const adapter = createWebhookAdapter({
|
|
109
|
+
* endpoint: "https://my-api.example.com/v1/events",
|
|
110
|
+
* headers: { "Authorization": "Bearer secret" },
|
|
111
|
+
* });
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
export function createWebhookAdapter(options) {
|
|
115
|
+
const { endpoint, headers = {}, onError } = options;
|
|
116
|
+
function send(event) {
|
|
117
|
+
fetch(endpoint, {
|
|
118
|
+
method: "POST",
|
|
119
|
+
headers: { "Content-Type": "application/json", ...headers },
|
|
120
|
+
body: JSON.stringify(event),
|
|
121
|
+
}).catch((err) => onError?.(err));
|
|
122
|
+
}
|
|
123
|
+
return {
|
|
124
|
+
track: send,
|
|
125
|
+
identify: send,
|
|
126
|
+
page: send,
|
|
127
|
+
timing: send,
|
|
128
|
+
flush() {
|
|
129
|
+
return Promise.resolve();
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
// ---------------------------------------------------------------------------
|
|
134
|
+
// Console adapter (development)
|
|
135
|
+
// ---------------------------------------------------------------------------
|
|
136
|
+
/**
|
|
137
|
+
* Create a console adapter for development/debugging.
|
|
138
|
+
*
|
|
139
|
+
* Logs all analytics events to `console.debug` with a `[telemetry]` prefix.
|
|
140
|
+
* Useful for verifying that products emit the expected events without
|
|
141
|
+
* configuring a backend.
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* ```ts
|
|
145
|
+
* const router = createAnalyticsRouter();
|
|
146
|
+
* router.register("my-product", createConsoleAdapter());
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
149
|
+
export function createConsoleAdapter() {
|
|
150
|
+
function log(label, event) {
|
|
151
|
+
// eslint-disable-next-line no-console
|
|
152
|
+
console.debug(`[telemetry] ${label}`, event);
|
|
153
|
+
}
|
|
154
|
+
return {
|
|
155
|
+
track(event) {
|
|
156
|
+
log("track", {
|
|
157
|
+
event: event.event,
|
|
158
|
+
properties: event.properties,
|
|
159
|
+
productId: event.context.app.productId,
|
|
160
|
+
});
|
|
161
|
+
},
|
|
162
|
+
identify(event) {
|
|
163
|
+
log("identify", {
|
|
164
|
+
userId: event.userId,
|
|
165
|
+
traits: event.traits,
|
|
166
|
+
productId: event.context.app.productId,
|
|
167
|
+
});
|
|
168
|
+
},
|
|
169
|
+
page(event) {
|
|
170
|
+
log("page", {
|
|
171
|
+
name: event.name,
|
|
172
|
+
properties: event.properties,
|
|
173
|
+
productId: event.context.app.productId,
|
|
174
|
+
});
|
|
175
|
+
},
|
|
176
|
+
timing(event) {
|
|
177
|
+
log("timing", {
|
|
178
|
+
name: event.name,
|
|
179
|
+
durationMs: event.durationMs,
|
|
180
|
+
productId: event.context.app.productId,
|
|
181
|
+
});
|
|
182
|
+
},
|
|
183
|
+
flush() {
|
|
184
|
+
return Promise.resolve();
|
|
185
|
+
},
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=adapters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AA8BH;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA8B;IACjE,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,0BAA0B,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAE9B,SAAS,IAAI,CAAC,QAAgB,EAAE,IAA6B;QAC3D,KAAK,CAAC,GAAG,IAAI,GAAG,QAAQ,EAAE,EAAE;YAC1B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;SACnD,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,KAAK,CAAC,KAAiB;YACrB,IAAI,CAAC,WAAW,EAAE;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,UAAU,EAAE;oBACV,GAAG,KAAK,CAAC,UAAU;oBACnB,IAAI,EAAE,UAAU;oBAChB,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS;iBACxC;gBACD,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS;aACzC,CAAC,CAAC;QACL,CAAC;QAED,QAAQ,CAAC,KAAoB;YAC3B,IAAI,CAAC,WAAW,EAAE;gBAChB,KAAK,EAAE,WAAW;gBAClB,UAAU,EAAE;oBACV,IAAI,EAAE,KAAK,CAAC,MAAM;oBAClB,WAAW,EAAE,KAAK,CAAC,MAAM;oBACzB,IAAI,EAAE,UAAU;oBAChB,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS;iBACxC;gBACD,WAAW,EAAE,KAAK,CAAC,MAAM;gBACzB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,KAAgB;YACnB,IAAI,CAAC,WAAW,EAAE;gBAChB,KAAK,EAAE,WAAW;gBAClB,UAAU,EAAE;oBACV,GAAG,KAAK,CAAC,UAAU;oBACnB,YAAY,EAAE,KAAK,CAAC,IAAI;oBACxB,IAAI,EAAE,UAAU;oBAChB,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS;iBACxC;gBACD,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS;aACzC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,KAAkB;YACvB,IAAI,CAAC,WAAW,EAAE;gBAChB,KAAK,EAAE,cAAc;gBACrB,UAAU,EAAE;oBACV,SAAS,EAAE,KAAK,CAAC,IAAI;oBACrB,WAAW,EAAE,KAAK,CAAC,UAAU;oBAC7B,QAAQ,EAAE,KAAK,CAAC,OAAO;oBACvB,OAAO,EAAE,KAAK,CAAC,MAAM;oBACrB,cAAc,EAAE,KAAK,CAAC,YAAY;oBAClC,GAAG,KAAK,CAAC,UAAU;oBACnB,IAAI,EAAE,UAAU;oBAChB,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS;iBACxC;gBACD,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS;aACzC,CAAC,CAAC;QACL,CAAC;QAED,KAAK;YACH,wDAAwD;YACxD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;KACF,CAAC;AACJ,CAAC;AA2BD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA8B;IACjE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEpD,SAAS,IAAI,CAAC,KAA2D;QACvE,KAAK,CAAC,QAAQ,EAAE;YACd,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,OAAO,EAAE;YAC3D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SAC5B,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,OAAO;QACL,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QAEZ,KAAK;YACH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB;IAClC,SAAS,GAAG,CAAC,KAAa,EAAE,KAA8B;QACxD,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,eAAe,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QACL,KAAK,CAAC,KAAiB;YACrB,GAAG,CAAC,OAAO,EAAE;gBACX,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS;aACvC,CAAC,CAAC;QACL,CAAC;QACD,QAAQ,CAAC,KAAoB;YAC3B,GAAG,CAAC,UAAU,EAAE;gBACd,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS;aACvC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,KAAgB;YACnB,GAAG,CAAC,MAAM,EAAE;gBACV,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS;aACvC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,KAAkB;YACvB,GAAG,CAAC,QAAQ,EAAE;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS;aACvC,CAAC,CAAC;QACL,CAAC;QACD,KAAK;YACH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared host-product protocol surface.
|
|
3
|
+
*
|
|
4
|
+
* Re-exported from the internal protocol source so hosts consuming
|
|
5
|
+
* `host-sdk` can adopt the same external product protocol without
|
|
6
|
+
* requiring the standalone package at install time.
|
|
7
|
+
*/
|
|
8
|
+
export * from "./internal/api-protocol/index.js";
|
|
9
|
+
//# sourceMappingURL=api-protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-protocol.d.ts","sourceRoot":"","sources":["../src/api-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared host-product protocol surface.
|
|
3
|
+
*
|
|
4
|
+
* Re-exported from the internal protocol source so hosts consuming
|
|
5
|
+
* `host-sdk` can adopt the same external product protocol without
|
|
6
|
+
* requiring the standalone package at install time.
|
|
7
|
+
*/
|
|
8
|
+
export * from "./internal/api-protocol/index.js";
|
|
9
|
+
//# sourceMappingURL=api-protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-protocol.js","sourceRoot":"","sources":["../src/api-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical schema and metadata for the stable `window.host` bridge surface.
|
|
3
|
+
*
|
|
4
|
+
* This is the hand-maintained product contract model used by the JS bridge,
|
|
5
|
+
* guest typings, tests, and docs. Hosts should treat this module as the
|
|
6
|
+
* single source of truth for the current bridge version, method surface,
|
|
7
|
+
* canonical event names, and canonical error codes.
|
|
8
|
+
*/
|
|
9
|
+
export declare const BRIDGE_VERSION: "1.0";
|
|
10
|
+
export declare const DEFAULT_BRIDGE_PROFILE: "web-srcdoc";
|
|
11
|
+
/**
|
|
12
|
+
* Canonical stable surface entries for the current bridge generation.
|
|
13
|
+
*
|
|
14
|
+
* These entries define the supported names and namespaces, not unconditional
|
|
15
|
+
* availability in every host profile. Products should still consult
|
|
16
|
+
* `window.host.__bridge` before assuming a capability is implemented.
|
|
17
|
+
*/
|
|
18
|
+
export declare const BRIDGE_STABLE_SURFACE: readonly ["__bridge", "getAddress", "storage.get", "storage.set", "storage.remove", "statements.subscribe", "statements.write", "statements.status", "identity.resolveUsername", "on", "off"];
|
|
19
|
+
export declare const BRIDGE_EXPERIMENTAL_SURFACE: readonly ["ext.claw.ask", "ext.claw.status", "ext.data.getPeerId", "ext.data.connect", "ext.data.startListening", "ext.data.close", "ext.data.send", "ext.data.sendBytes", "ext.media.getUserMedia", "ext.media.getDisplayMedia", "ext.media.connect", "ext.media.accept", "ext.media.reject", "ext.media.close", "ext.media.attachTrack", "ext.media.getPeerId", "ext.media.startListening", "ext.media.setTrackEnabled", "ext.media.groupConnect", "ext.media.groupAccept", "ext.media.addTrack", "ext.media.removeTrack", "ext.media.getStats", "ext.files.save", "ext.mesh.transport.publish", "ext.mesh.transport.heartbeat", "ext.mesh.transport.subscribe", "ext.mesh.objects.put", "ext.mesh.objects.get", "ext.mesh.objects.getResult", "ext.mesh.query.request", "ext.mesh.query.scopedRequest", "ext.mesh.query.respond", "ext.mesh.query.scopedRespond", "ext.mesh.status.status", "ext.mesh.private.objects.put", "ext.mesh.private.objects.get", "ext.mesh.private.query.request", "ext.mesh.private.control.publish", "ext.mesh.private.control.subscribe", "ext.mesh.private.receipts.publish", "ext.mesh.private.receipts.subscribe", "ext.vrf.deriveMemberKey", "ext.vrf.sign", "ext.vrf.createProof", "ext.vrf.aliasInContext", "ext.crdt.join", "ext.crdt.applyUpdate", "ext.crdt.getStateVector", "ext.crdt.getFullState", "ext.crdt.setAwareness", "ext.crdt.destroy"];
|
|
20
|
+
export declare const BRIDGE_EVENT_NAMES: readonly ["dataConnected", "dataMessage", "dataBinary", "dataClosed", "dataError", "dataIncomingCall", "mediaTrackReady", "mediaConnected", "mediaRemoteTrack", "mediaClosed", "mediaError", "mediaIncomingCall", "mediaSignalingProgress", "mediaTrackStopped", "statement", "meshTopic", "meshQuery", "meshReply", "meshScopedQuery", "meshScopedReply", "meshPresence", "meshHeartbeat", "meshPrivateControl", "meshPrivateReceipt", "indexEvent", "indexSyncProgress", "indexScanCompleted", "crdtRemoteUpdate", "crdtAwareness", "crdtPeerChange"];
|
|
21
|
+
export declare const BRIDGE_ERROR_CODES: readonly ["ERR_BRIDGE_DESTROYED", "ERR_RATE_LIMIT", "ERR_UNSUPPORTED_CAPABILITY", "ERR_HOST_RUNTIME_UNAVAILABLE", "ERR_BINARY_BRIDGE_UNAVAILABLE", "ERR_INVALID_ARGUMENT", "ERR_TIMEOUT", "ERR_HOST_REJECTED"];
|
|
22
|
+
export type BridgeStableSurfaceEntry = (typeof BRIDGE_STABLE_SURFACE)[number];
|
|
23
|
+
export type BridgeExperimentalSurfaceEntry = (typeof BRIDGE_EXPERIMENTAL_SURFACE)[number];
|
|
24
|
+
export type BridgeEventName = (typeof BRIDGE_EVENT_NAMES)[number];
|
|
25
|
+
export type BridgeErrorCode = (typeof BRIDGE_ERROR_CODES)[number];
|
|
26
|
+
export type BridgeProfile = "web-srcdoc" | "web-relay" | "native-webview";
|
|
27
|
+
export interface BridgeExtensionCapabilities {
|
|
28
|
+
readonly claw: boolean;
|
|
29
|
+
readonly crdt: boolean;
|
|
30
|
+
readonly data: boolean;
|
|
31
|
+
readonly media: boolean;
|
|
32
|
+
readonly files: boolean;
|
|
33
|
+
readonly mesh: boolean;
|
|
34
|
+
readonly vrf: boolean;
|
|
35
|
+
}
|
|
36
|
+
export interface BridgeCapabilities {
|
|
37
|
+
readonly storage: boolean;
|
|
38
|
+
readonly statements: boolean;
|
|
39
|
+
readonly identity: boolean;
|
|
40
|
+
readonly ext: BridgeExtensionCapabilities;
|
|
41
|
+
}
|
|
42
|
+
export interface BridgeProductProtocolMetadata {
|
|
43
|
+
readonly package: "@polkadot/api-protocol";
|
|
44
|
+
readonly version: "v1";
|
|
45
|
+
readonly transport: "message-port";
|
|
46
|
+
readonly wireFormat: "scale-host-api";
|
|
47
|
+
}
|
|
48
|
+
export interface BridgeMetadata {
|
|
49
|
+
readonly version: string;
|
|
50
|
+
readonly profile: BridgeProfile;
|
|
51
|
+
readonly capabilities: BridgeCapabilities;
|
|
52
|
+
readonly productProtocol: BridgeProductProtocolMetadata;
|
|
53
|
+
}
|
|
54
|
+
export interface BridgeMetadataOptions {
|
|
55
|
+
/** Host profile implementing the canonical bridge. */
|
|
56
|
+
profile?: BridgeProfile;
|
|
57
|
+
/** Optional overrides for stable core capabilities during phased rollouts. */
|
|
58
|
+
coreCapabilities?: Partial<Pick<BridgeCapabilities, "storage" | "statements">>;
|
|
59
|
+
/** Optional extension capability flags exposed alongside the core bridge. */
|
|
60
|
+
extCapabilities?: Partial<BridgeExtensionCapabilities>;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Create the immutable metadata object exposed at `window.host.__bridge`.
|
|
64
|
+
*/
|
|
65
|
+
export declare function createBridgeMetadata(options: BridgeMetadataOptions | undefined, identitySupported: boolean): BridgeMetadata;
|
|
66
|
+
//# sourceMappingURL=contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/bridge/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAmCH,eAAO,MAAM,cAAc,EAAG,KAAc,CAAC;AAC7C,eAAO,MAAM,sBAAsB,EAAG,YAAqB,CAAC;AAE5D;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,+LAYvB,CAAC;AAEZ,eAAO,MAAM,2BAA2B,8zCAqD7B,CAAC;AAEZ,eAAO,MAAM,kBAAkB,yhBA+BpB,CAAC;AAEZ,eAAO,MAAM,kBAAkB,gNASpB,CAAC;AAEZ,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9E,MAAM,MAAM,8BAA8B,GAAG,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1F,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAE1E,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,2BAA2B,CAAC;CAC3C;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;CACvC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,eAAe,EAAE,6BAA6B,CAAC;CACzD;AAED,MAAM,WAAW,qBAAqB;IACpC,sDAAsD;IACtD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC;IAC/E,6EAA6E;IAC7E,eAAe,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;CACxD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,GAAG,SAAS,EAC1C,iBAAiB,EAAE,OAAO,GACzB,cAAc,CA+BhB"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical schema and metadata for the stable `window.host` bridge surface.
|
|
3
|
+
*
|
|
4
|
+
* This is the hand-maintained product contract model used by the JS bridge,
|
|
5
|
+
* guest typings, tests, and docs. Hosts should treat this module as the
|
|
6
|
+
* single source of truth for the current bridge version, method surface,
|
|
7
|
+
* canonical event names, and canonical error codes.
|
|
8
|
+
*/
|
|
9
|
+
import { CRDT_AWARENESS, CRDT_PEER_CHANGE, CRDT_REMOTE_UPDATE, DATA_BINARY, DATA_CLOSED, DATA_CONNECTED, DATA_ERROR, DATA_INCOMING_CALL, DATA_MESSAGE, INDEX_EVENT, INDEX_SCAN_COMPLETED, INDEX_SYNC_PROGRESS, MEDIA_CLOSED, MEDIA_CONNECTED, MEDIA_ERROR, MEDIA_INCOMING_CALL, MEDIA_REMOTE_TRACK, MEDIA_SIGNALING_PROGRESS, MEDIA_TRACK_READY, MEDIA_TRACK_STOPPED, MESH_HEARTBEAT, MESH_PRESENCE, MESH_PRIVATE_CONTROL, MESH_PRIVATE_RECEIPT, MESH_QUERY, MESH_REPLY, MESH_SCOPED_QUERY, MESH_SCOPED_REPLY, MESH_TOPIC, STATEMENT, } from "../events.js";
|
|
10
|
+
export const BRIDGE_VERSION = "1.0";
|
|
11
|
+
export const DEFAULT_BRIDGE_PROFILE = "web-srcdoc";
|
|
12
|
+
/**
|
|
13
|
+
* Canonical stable surface entries for the current bridge generation.
|
|
14
|
+
*
|
|
15
|
+
* These entries define the supported names and namespaces, not unconditional
|
|
16
|
+
* availability in every host profile. Products should still consult
|
|
17
|
+
* `window.host.__bridge` before assuming a capability is implemented.
|
|
18
|
+
*/
|
|
19
|
+
export const BRIDGE_STABLE_SURFACE = Object.freeze([
|
|
20
|
+
"__bridge",
|
|
21
|
+
"getAddress",
|
|
22
|
+
"storage.get",
|
|
23
|
+
"storage.set",
|
|
24
|
+
"storage.remove",
|
|
25
|
+
"statements.subscribe",
|
|
26
|
+
"statements.write",
|
|
27
|
+
"statements.status",
|
|
28
|
+
"identity.resolveUsername",
|
|
29
|
+
"on",
|
|
30
|
+
"off",
|
|
31
|
+
]);
|
|
32
|
+
export const BRIDGE_EXPERIMENTAL_SURFACE = Object.freeze([
|
|
33
|
+
"ext.claw.ask",
|
|
34
|
+
"ext.claw.status",
|
|
35
|
+
"ext.data.getPeerId",
|
|
36
|
+
"ext.data.connect",
|
|
37
|
+
"ext.data.startListening",
|
|
38
|
+
"ext.data.close",
|
|
39
|
+
"ext.data.send",
|
|
40
|
+
"ext.data.sendBytes",
|
|
41
|
+
"ext.media.getUserMedia",
|
|
42
|
+
"ext.media.getDisplayMedia",
|
|
43
|
+
"ext.media.connect",
|
|
44
|
+
"ext.media.accept",
|
|
45
|
+
"ext.media.reject",
|
|
46
|
+
"ext.media.close",
|
|
47
|
+
"ext.media.attachTrack",
|
|
48
|
+
"ext.media.getPeerId",
|
|
49
|
+
"ext.media.startListening",
|
|
50
|
+
"ext.media.setTrackEnabled",
|
|
51
|
+
"ext.media.groupConnect",
|
|
52
|
+
"ext.media.groupAccept",
|
|
53
|
+
"ext.media.addTrack",
|
|
54
|
+
"ext.media.removeTrack",
|
|
55
|
+
"ext.media.getStats",
|
|
56
|
+
"ext.files.save",
|
|
57
|
+
"ext.mesh.transport.publish",
|
|
58
|
+
"ext.mesh.transport.heartbeat",
|
|
59
|
+
"ext.mesh.transport.subscribe",
|
|
60
|
+
"ext.mesh.objects.put",
|
|
61
|
+
"ext.mesh.objects.get",
|
|
62
|
+
"ext.mesh.objects.getResult",
|
|
63
|
+
"ext.mesh.query.request",
|
|
64
|
+
"ext.mesh.query.scopedRequest",
|
|
65
|
+
"ext.mesh.query.respond",
|
|
66
|
+
"ext.mesh.query.scopedRespond",
|
|
67
|
+
"ext.mesh.status.status",
|
|
68
|
+
"ext.mesh.private.objects.put",
|
|
69
|
+
"ext.mesh.private.objects.get",
|
|
70
|
+
"ext.mesh.private.query.request",
|
|
71
|
+
"ext.mesh.private.control.publish",
|
|
72
|
+
"ext.mesh.private.control.subscribe",
|
|
73
|
+
"ext.mesh.private.receipts.publish",
|
|
74
|
+
"ext.mesh.private.receipts.subscribe",
|
|
75
|
+
"ext.vrf.deriveMemberKey",
|
|
76
|
+
"ext.vrf.sign",
|
|
77
|
+
"ext.vrf.createProof",
|
|
78
|
+
"ext.vrf.aliasInContext",
|
|
79
|
+
"ext.crdt.join",
|
|
80
|
+
"ext.crdt.applyUpdate",
|
|
81
|
+
"ext.crdt.getStateVector",
|
|
82
|
+
"ext.crdt.getFullState",
|
|
83
|
+
"ext.crdt.setAwareness",
|
|
84
|
+
"ext.crdt.destroy",
|
|
85
|
+
]);
|
|
86
|
+
export const BRIDGE_EVENT_NAMES = Object.freeze([
|
|
87
|
+
DATA_CONNECTED,
|
|
88
|
+
DATA_MESSAGE,
|
|
89
|
+
DATA_BINARY,
|
|
90
|
+
DATA_CLOSED,
|
|
91
|
+
DATA_ERROR,
|
|
92
|
+
DATA_INCOMING_CALL,
|
|
93
|
+
MEDIA_TRACK_READY,
|
|
94
|
+
MEDIA_CONNECTED,
|
|
95
|
+
MEDIA_REMOTE_TRACK,
|
|
96
|
+
MEDIA_CLOSED,
|
|
97
|
+
MEDIA_ERROR,
|
|
98
|
+
MEDIA_INCOMING_CALL,
|
|
99
|
+
MEDIA_SIGNALING_PROGRESS,
|
|
100
|
+
MEDIA_TRACK_STOPPED,
|
|
101
|
+
STATEMENT,
|
|
102
|
+
MESH_TOPIC,
|
|
103
|
+
MESH_QUERY,
|
|
104
|
+
MESH_REPLY,
|
|
105
|
+
MESH_SCOPED_QUERY,
|
|
106
|
+
MESH_SCOPED_REPLY,
|
|
107
|
+
MESH_PRESENCE,
|
|
108
|
+
MESH_HEARTBEAT,
|
|
109
|
+
MESH_PRIVATE_CONTROL,
|
|
110
|
+
MESH_PRIVATE_RECEIPT,
|
|
111
|
+
INDEX_EVENT,
|
|
112
|
+
INDEX_SYNC_PROGRESS,
|
|
113
|
+
INDEX_SCAN_COMPLETED,
|
|
114
|
+
CRDT_REMOTE_UPDATE,
|
|
115
|
+
CRDT_AWARENESS,
|
|
116
|
+
CRDT_PEER_CHANGE,
|
|
117
|
+
]);
|
|
118
|
+
export const BRIDGE_ERROR_CODES = Object.freeze([
|
|
119
|
+
"ERR_BRIDGE_DESTROYED",
|
|
120
|
+
"ERR_RATE_LIMIT",
|
|
121
|
+
"ERR_UNSUPPORTED_CAPABILITY",
|
|
122
|
+
"ERR_HOST_RUNTIME_UNAVAILABLE",
|
|
123
|
+
"ERR_BINARY_BRIDGE_UNAVAILABLE",
|
|
124
|
+
"ERR_INVALID_ARGUMENT",
|
|
125
|
+
"ERR_TIMEOUT",
|
|
126
|
+
"ERR_HOST_REJECTED",
|
|
127
|
+
]);
|
|
128
|
+
/**
|
|
129
|
+
* Create the immutable metadata object exposed at `window.host.__bridge`.
|
|
130
|
+
*/
|
|
131
|
+
export function createBridgeMetadata(options, identitySupported) {
|
|
132
|
+
const ext = Object.freeze({
|
|
133
|
+
claw: options?.extCapabilities?.claw ?? false,
|
|
134
|
+
crdt: options?.extCapabilities?.crdt ?? false,
|
|
135
|
+
data: options?.extCapabilities?.data ?? false,
|
|
136
|
+
media: options?.extCapabilities?.media ?? false,
|
|
137
|
+
files: options?.extCapabilities?.files ?? false,
|
|
138
|
+
mesh: options?.extCapabilities?.mesh ?? false,
|
|
139
|
+
vrf: options?.extCapabilities?.vrf ?? false,
|
|
140
|
+
});
|
|
141
|
+
const capabilities = Object.freeze({
|
|
142
|
+
storage: options?.coreCapabilities?.storage ?? true,
|
|
143
|
+
statements: options?.coreCapabilities?.statements ?? true,
|
|
144
|
+
identity: identitySupported,
|
|
145
|
+
ext,
|
|
146
|
+
});
|
|
147
|
+
const productProtocol = Object.freeze({
|
|
148
|
+
package: "@polkadot/api-protocol",
|
|
149
|
+
version: "v1",
|
|
150
|
+
transport: "message-port",
|
|
151
|
+
wireFormat: "scale-host-api",
|
|
152
|
+
});
|
|
153
|
+
return Object.freeze({
|
|
154
|
+
version: BRIDGE_VERSION,
|
|
155
|
+
profile: options?.profile ?? DEFAULT_BRIDGE_PROFILE,
|
|
156
|
+
capabilities,
|
|
157
|
+
productProtocol,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/bridge/contract.ts"],"names":[],"mappings":"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"}
|