@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.
Files changed (352) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +61 -3
  3. package/dist/adapters.d.ts +94 -0
  4. package/dist/adapters.d.ts.map +1 -0
  5. package/dist/adapters.js +188 -0
  6. package/dist/adapters.js.map +1 -0
  7. package/dist/api-protocol.d.ts +9 -0
  8. package/dist/api-protocol.d.ts.map +1 -0
  9. package/dist/api-protocol.js +9 -0
  10. package/dist/api-protocol.js.map +1 -0
  11. package/dist/bridge/contract.d.ts +66 -0
  12. package/dist/bridge/contract.d.ts.map +1 -0
  13. package/dist/bridge/contract.js +160 -0
  14. package/dist/bridge/contract.js.map +1 -0
  15. package/dist/bridge/index.d.ts +53 -0
  16. package/dist/bridge/index.d.ts.map +1 -0
  17. package/dist/bridge/index.js +302 -0
  18. package/dist/bridge/index.js.map +1 -0
  19. package/dist/bridge/types.d.ts +93 -0
  20. package/dist/bridge/types.d.ts.map +1 -0
  21. package/dist/bridge/types.js +9 -0
  22. package/dist/bridge/types.js.map +1 -0
  23. package/dist/chain.d.ts +198 -0
  24. package/dist/chain.d.ts.map +1 -0
  25. package/dist/chain.js +424 -0
  26. package/dist/chain.js.map +1 -0
  27. package/dist/errors.d.ts +22 -0
  28. package/dist/errors.d.ts.map +1 -0
  29. package/dist/errors.js +41 -0
  30. package/dist/errors.js.map +1 -0
  31. package/dist/events.d.ts +252 -0
  32. package/dist/events.d.ts.map +1 -0
  33. package/dist/events.js +54 -0
  34. package/dist/events.js.map +1 -0
  35. package/dist/experimental/file-transfer.d.ts +97 -0
  36. package/dist/experimental/file-transfer.d.ts.map +1 -0
  37. package/dist/experimental/file-transfer.js +1377 -0
  38. package/dist/experimental/file-transfer.js.map +1 -0
  39. package/dist/experimental/index.d.ts +7 -0
  40. package/dist/experimental/index.d.ts.map +1 -0
  41. package/dist/experimental/index.js +4 -0
  42. package/dist/experimental/index.js.map +1 -0
  43. package/dist/experimental/logger.d.ts +5 -0
  44. package/dist/experimental/logger.d.ts.map +1 -0
  45. package/dist/experimental/logger.js +74 -0
  46. package/dist/experimental/logger.js.map +1 -0
  47. package/dist/experimental/transport.d.ts +34 -0
  48. package/dist/experimental/transport.d.ts.map +1 -0
  49. package/dist/experimental/transport.js +43 -0
  50. package/dist/experimental/transport.js.map +1 -0
  51. package/dist/guest/claw.d.ts +10 -0
  52. package/dist/guest/claw.d.ts.map +1 -0
  53. package/dist/guest/claw.js +21 -0
  54. package/dist/guest/claw.js.map +1 -0
  55. package/dist/guest/crdt.d.ts +19 -0
  56. package/dist/guest/crdt.d.ts.map +1 -0
  57. package/dist/guest/crdt.js +64 -0
  58. package/dist/guest/crdt.js.map +1 -0
  59. package/dist/guest/data.d.ts +27 -0
  60. package/dist/guest/data.d.ts.map +1 -0
  61. package/dist/guest/data.js +61 -0
  62. package/dist/guest/data.js.map +1 -0
  63. package/dist/guest/files.d.ts +15 -0
  64. package/dist/guest/files.d.ts.map +1 -0
  65. package/dist/guest/files.js +24 -0
  66. package/dist/guest/files.js.map +1 -0
  67. package/dist/guest/index.d.ts +43 -0
  68. package/dist/guest/index.d.ts.map +1 -0
  69. package/dist/guest/index.js +44 -0
  70. package/dist/guest/index.js.map +1 -0
  71. package/dist/guest/media.d.ts +44 -0
  72. package/dist/guest/media.d.ts.map +1 -0
  73. package/dist/guest/media.js +97 -0
  74. package/dist/guest/media.js.map +1 -0
  75. package/dist/guest/mesh.d.ts +79 -0
  76. package/dist/guest/mesh.d.ts.map +1 -0
  77. package/dist/guest/mesh.js +153 -0
  78. package/dist/guest/mesh.js.map +1 -0
  79. package/dist/guest/navigate.d.ts +17 -0
  80. package/dist/guest/navigate.d.ts.map +1 -0
  81. package/dist/guest/navigate.js +169 -0
  82. package/dist/guest/navigate.js.map +1 -0
  83. package/dist/guest/statements.d.ts +18 -0
  84. package/dist/guest/statements.d.ts.map +1 -0
  85. package/dist/guest/statements.js +26 -0
  86. package/dist/guest/statements.js.map +1 -0
  87. package/dist/guest/telemetry.d.ts +88 -0
  88. package/dist/guest/telemetry.d.ts.map +1 -0
  89. package/dist/guest/telemetry.js +184 -0
  90. package/dist/guest/telemetry.js.map +1 -0
  91. package/dist/guest/types.d.ts +255 -0
  92. package/dist/guest/types.d.ts.map +1 -0
  93. package/dist/guest/types.js +9 -0
  94. package/dist/guest/types.js.map +1 -0
  95. package/dist/host-runtime-contract.d.ts +19 -0
  96. package/dist/host-runtime-contract.d.ts.map +1 -0
  97. package/dist/host-runtime-contract.js +80 -0
  98. package/dist/host-runtime-contract.js.map +1 -0
  99. package/dist/host-runtime-frame.d.ts +128 -0
  100. package/dist/host-runtime-frame.d.ts.map +1 -0
  101. package/dist/host-runtime-frame.js +881 -0
  102. package/dist/host-runtime-frame.js.map +1 -0
  103. package/dist/host-runtime-registry.d.ts +16 -0
  104. package/dist/host-runtime-registry.d.ts.map +1 -0
  105. package/dist/host-runtime-registry.js +53 -0
  106. package/dist/host-runtime-registry.js.map +1 -0
  107. package/dist/host-runtime.d.ts +106 -0
  108. package/dist/host-runtime.d.ts.map +1 -0
  109. package/dist/host-runtime.js +290 -0
  110. package/dist/host-runtime.js.map +1 -0
  111. package/dist/identity-adapter.d.ts +42 -0
  112. package/dist/identity-adapter.d.ts.map +1 -0
  113. package/dist/identity-adapter.js +43 -0
  114. package/dist/identity-adapter.js.map +1 -0
  115. package/dist/identity.d.ts +86 -0
  116. package/dist/identity.d.ts.map +1 -0
  117. package/dist/identity.js +223 -0
  118. package/dist/identity.js.map +1 -0
  119. package/dist/index.d.ts +91 -0
  120. package/dist/index.d.ts.map +1 -0
  121. package/dist/index.js +356 -0
  122. package/dist/index.js.map +1 -0
  123. package/dist/internal/api-protocol/api/protocol.d.ts +1402 -0
  124. package/dist/internal/api-protocol/api/protocol.d.ts.map +1 -0
  125. package/dist/internal/api-protocol/api/protocol.js +311 -0
  126. package/dist/internal/api-protocol/api/protocol.js.map +1 -0
  127. package/dist/internal/api-protocol/api/types.d.ts +24 -0
  128. package/dist/internal/api-protocol/api/types.d.ts.map +1 -0
  129. package/dist/internal/api-protocol/api/types.js +9 -0
  130. package/dist/internal/api-protocol/api/types.js.map +1 -0
  131. package/dist/internal/api-protocol/host-facade/connectionManager.d.ts +44 -0
  132. package/dist/internal/api-protocol/host-facade/connectionManager.d.ts.map +1 -0
  133. package/dist/internal/api-protocol/host-facade/connectionManager.js +349 -0
  134. package/dist/internal/api-protocol/host-facade/connectionManager.js.map +1 -0
  135. package/dist/internal/api-protocol/host-facade/protocolHandler.d.ts +24 -0
  136. package/dist/internal/api-protocol/host-facade/protocolHandler.d.ts.map +1 -0
  137. package/dist/internal/api-protocol/host-facade/protocolHandler.js +505 -0
  138. package/dist/internal/api-protocol/host-facade/protocolHandler.js.map +1 -0
  139. package/dist/internal/api-protocol/host-facade/types.d.ts +82 -0
  140. package/dist/internal/api-protocol/host-facade/types.d.ts.map +1 -0
  141. package/dist/internal/api-protocol/host-facade/types.js +14 -0
  142. package/dist/internal/api-protocol/host-facade/types.js.map +1 -0
  143. package/dist/internal/api-protocol/index.d.ts +39 -0
  144. package/dist/internal/api-protocol/index.d.ts.map +1 -0
  145. package/dist/internal/api-protocol/index.js +41 -0
  146. package/dist/internal/api-protocol/index.js.map +1 -0
  147. package/dist/internal/api-protocol/product-facade/hostApi.d.ts +392 -0
  148. package/dist/internal/api-protocol/product-facade/hostApi.d.ts.map +1 -0
  149. package/dist/internal/api-protocol/product-facade/hostApi.js +241 -0
  150. package/dist/internal/api-protocol/product-facade/hostApi.js.map +1 -0
  151. package/dist/internal/api-protocol/shared/codec/adapter.d.ts +41 -0
  152. package/dist/internal/api-protocol/shared/codec/adapter.d.ts.map +1 -0
  153. package/dist/internal/api-protocol/shared/codec/adapter.js +10 -0
  154. package/dist/internal/api-protocol/shared/codec/adapter.js.map +1 -0
  155. package/dist/internal/api-protocol/shared/codec/negotiation.d.ts +80 -0
  156. package/dist/internal/api-protocol/shared/codec/negotiation.d.ts.map +1 -0
  157. package/dist/internal/api-protocol/shared/codec/negotiation.js +129 -0
  158. package/dist/internal/api-protocol/shared/codec/negotiation.js.map +1 -0
  159. package/dist/internal/api-protocol/shared/codec/scale/adapter.d.ts +18 -0
  160. package/dist/internal/api-protocol/shared/codec/scale/adapter.d.ts.map +1 -0
  161. package/dist/internal/api-protocol/shared/codec/scale/adapter.js +23 -0
  162. package/dist/internal/api-protocol/shared/codec/scale/adapter.js.map +1 -0
  163. package/dist/internal/api-protocol/shared/codec/scale/primitives.d.ts +35 -0
  164. package/dist/internal/api-protocol/shared/codec/scale/primitives.d.ts.map +1 -0
  165. package/dist/internal/api-protocol/shared/codec/scale/primitives.js +96 -0
  166. package/dist/internal/api-protocol/shared/codec/scale/primitives.js.map +1 -0
  167. package/dist/internal/api-protocol/shared/codec/scale/v1/accounts.d.ts +65 -0
  168. package/dist/internal/api-protocol/shared/codec/scale/v1/accounts.d.ts.map +1 -0
  169. package/dist/internal/api-protocol/shared/codec/scale/v1/accounts.js +43 -0
  170. package/dist/internal/api-protocol/shared/codec/scale/v1/accounts.js.map +1 -0
  171. package/dist/internal/api-protocol/shared/codec/scale/v1/chainInteraction.d.ts +162 -0
  172. package/dist/internal/api-protocol/shared/codec/scale/v1/chainInteraction.d.ts.map +1 -0
  173. package/dist/internal/api-protocol/shared/codec/scale/v1/chainInteraction.js +81 -0
  174. package/dist/internal/api-protocol/shared/codec/scale/v1/chainInteraction.js.map +1 -0
  175. package/dist/internal/api-protocol/shared/codec/scale/v1/chat.d.ts +307 -0
  176. package/dist/internal/api-protocol/shared/codec/scale/v1/chat.d.ts.map +1 -0
  177. package/dist/internal/api-protocol/shared/codec/scale/v1/chat.js +105 -0
  178. package/dist/internal/api-protocol/shared/codec/scale/v1/chat.js.map +1 -0
  179. package/dist/internal/api-protocol/shared/codec/scale/v1/commonCodecs.d.ts +5 -0
  180. package/dist/internal/api-protocol/shared/codec/scale/v1/commonCodecs.d.ts.map +1 -0
  181. package/dist/internal/api-protocol/shared/codec/scale/v1/commonCodecs.js +6 -0
  182. package/dist/internal/api-protocol/shared/codec/scale/v1/commonCodecs.js.map +1 -0
  183. package/dist/internal/api-protocol/shared/codec/scale/v1/createTransaction.d.ts +71 -0
  184. package/dist/internal/api-protocol/shared/codec/scale/v1/createTransaction.d.ts.map +1 -0
  185. package/dist/internal/api-protocol/shared/codec/scale/v1/createTransaction.js +34 -0
  186. package/dist/internal/api-protocol/shared/codec/scale/v1/createTransaction.js.map +1 -0
  187. package/dist/internal/api-protocol/shared/codec/scale/v1/customRenderer.d.ts +106 -0
  188. package/dist/internal/api-protocol/shared/codec/scale/v1/customRenderer.d.ts.map +1 -0
  189. package/dist/internal/api-protocol/shared/codec/scale/v1/customRenderer.js +84 -0
  190. package/dist/internal/api-protocol/shared/codec/scale/v1/customRenderer.js.map +1 -0
  191. package/dist/internal/api-protocol/shared/codec/scale/v1/devicePermission.d.ts +4 -0
  192. package/dist/internal/api-protocol/shared/codec/scale/v1/devicePermission.d.ts.map +1 -0
  193. package/dist/internal/api-protocol/shared/codec/scale/v1/devicePermission.js +4 -0
  194. package/dist/internal/api-protocol/shared/codec/scale/v1/devicePermission.js.map +1 -0
  195. package/dist/internal/api-protocol/shared/codec/scale/v1/feature.d.ts +7 -0
  196. package/dist/internal/api-protocol/shared/codec/scale/v1/feature.d.ts.map +1 -0
  197. package/dist/internal/api-protocol/shared/codec/scale/v1/feature.js +7 -0
  198. package/dist/internal/api-protocol/shared/codec/scale/v1/feature.js.map +1 -0
  199. package/dist/internal/api-protocol/shared/codec/scale/v1/handshake.d.ts +13 -0
  200. package/dist/internal/api-protocol/shared/codec/scale/v1/handshake.d.ts.map +1 -0
  201. package/dist/internal/api-protocol/shared/codec/scale/v1/handshake.js +10 -0
  202. package/dist/internal/api-protocol/shared/codec/scale/v1/handshake.js.map +1 -0
  203. package/dist/internal/api-protocol/shared/codec/scale/v1/localStorage.d.ts +15 -0
  204. package/dist/internal/api-protocol/shared/codec/scale/v1/localStorage.d.ts.map +1 -0
  205. package/dist/internal/api-protocol/shared/codec/scale/v1/localStorage.js +12 -0
  206. package/dist/internal/api-protocol/shared/codec/scale/v1/localStorage.js.map +1 -0
  207. package/dist/internal/api-protocol/shared/codec/scale/v1/navigation.d.ts +10 -0
  208. package/dist/internal/api-protocol/shared/codec/scale/v1/navigation.d.ts.map +1 -0
  209. package/dist/internal/api-protocol/shared/codec/scale/v1/navigation.js +10 -0
  210. package/dist/internal/api-protocol/shared/codec/scale/v1/navigation.js.map +1 -0
  211. package/dist/internal/api-protocol/shared/codec/scale/v1/notification.d.ts +7 -0
  212. package/dist/internal/api-protocol/shared/codec/scale/v1/notification.d.ts.map +1 -0
  213. package/dist/internal/api-protocol/shared/codec/scale/v1/notification.js +7 -0
  214. package/dist/internal/api-protocol/shared/codec/scale/v1/notification.js.map +1 -0
  215. package/dist/internal/api-protocol/shared/codec/scale/v1/payment.d.ts +74 -0
  216. package/dist/internal/api-protocol/shared/codec/scale/v1/payment.d.ts.map +1 -0
  217. package/dist/internal/api-protocol/shared/codec/scale/v1/payment.js +38 -0
  218. package/dist/internal/api-protocol/shared/codec/scale/v1/payment.js.map +1 -0
  219. package/dist/internal/api-protocol/shared/codec/scale/v1/preimage.d.ts +12 -0
  220. package/dist/internal/api-protocol/shared/codec/scale/v1/preimage.d.ts.map +1 -0
  221. package/dist/internal/api-protocol/shared/codec/scale/v1/preimage.js +11 -0
  222. package/dist/internal/api-protocol/shared/codec/scale/v1/preimage.js.map +1 -0
  223. package/dist/internal/api-protocol/shared/codec/scale/v1/remotePermission.d.ts +10 -0
  224. package/dist/internal/api-protocol/shared/codec/scale/v1/remotePermission.d.ts.map +1 -0
  225. package/dist/internal/api-protocol/shared/codec/scale/v1/remotePermission.js +8 -0
  226. package/dist/internal/api-protocol/shared/codec/scale/v1/remotePermission.js.map +1 -0
  227. package/dist/internal/api-protocol/shared/codec/scale/v1/sign.d.ts +61 -0
  228. package/dist/internal/api-protocol/shared/codec/scale/v1/sign.d.ts.map +1 -0
  229. package/dist/internal/api-protocol/shared/codec/scale/v1/sign.js +42 -0
  230. package/dist/internal/api-protocol/shared/codec/scale/v1/sign.js.map +1 -0
  231. package/dist/internal/api-protocol/shared/codec/scale/v1/statementStore.d.ts +137 -0
  232. package/dist/internal/api-protocol/shared/codec/scale/v1/statementStore.d.ts.map +1 -0
  233. package/dist/internal/api-protocol/shared/codec/scale/v1/statementStore.js +55 -0
  234. package/dist/internal/api-protocol/shared/codec/scale/v1/statementStore.js.map +1 -0
  235. package/dist/internal/api-protocol/shared/codec/structured/index.d.ts +10 -0
  236. package/dist/internal/api-protocol/shared/codec/structured/index.d.ts.map +1 -0
  237. package/dist/internal/api-protocol/shared/codec/structured/index.js +19 -0
  238. package/dist/internal/api-protocol/shared/codec/structured/index.js.map +1 -0
  239. package/dist/internal/api-protocol/shared/transport/messagePortProvider.d.ts +18 -0
  240. package/dist/internal/api-protocol/shared/transport/messagePortProvider.d.ts.map +1 -0
  241. package/dist/internal/api-protocol/shared/transport/messagePortProvider.js +98 -0
  242. package/dist/internal/api-protocol/shared/transport/messagePortProvider.js.map +1 -0
  243. package/dist/internal/api-protocol/shared/transport/provider.d.ts +42 -0
  244. package/dist/internal/api-protocol/shared/transport/provider.d.ts.map +1 -0
  245. package/dist/internal/api-protocol/shared/transport/provider.js +13 -0
  246. package/dist/internal/api-protocol/shared/transport/provider.js.map +1 -0
  247. package/dist/internal/api-protocol/shared/transport/transport.d.ts +72 -0
  248. package/dist/internal/api-protocol/shared/transport/transport.d.ts.map +1 -0
  249. package/dist/internal/api-protocol/shared/transport/transport.js +420 -0
  250. package/dist/internal/api-protocol/shared/transport/transport.js.map +1 -0
  251. package/dist/internal/api-protocol/shared/transport/windowProvider.d.ts +13 -0
  252. package/dist/internal/api-protocol/shared/transport/windowProvider.d.ts.map +1 -0
  253. package/dist/internal/api-protocol/shared/transport/windowProvider.js +85 -0
  254. package/dist/internal/api-protocol/shared/transport/windowProvider.js.map +1 -0
  255. package/dist/internal/api-protocol/shared/util/helpers.d.ts +27 -0
  256. package/dist/internal/api-protocol/shared/util/helpers.d.ts.map +1 -0
  257. package/dist/internal/api-protocol/shared/util/helpers.js +43 -0
  258. package/dist/internal/api-protocol/shared/util/helpers.js.map +1 -0
  259. package/dist/internal/api-protocol/shared/util/idFactory.d.ts +9 -0
  260. package/dist/internal/api-protocol/shared/util/idFactory.d.ts.map +1 -0
  261. package/dist/internal/api-protocol/shared/util/idFactory.js +12 -0
  262. package/dist/internal/api-protocol/shared/util/idFactory.js.map +1 -0
  263. package/dist/internal/api-protocol/shared/util/logger.d.ts +15 -0
  264. package/dist/internal/api-protocol/shared/util/logger.d.ts.map +1 -0
  265. package/dist/internal/api-protocol/shared/util/logger.js +20 -0
  266. package/dist/internal/api-protocol/shared/util/logger.js.map +1 -0
  267. package/dist/mesh-attachment.d.ts +19 -0
  268. package/dist/mesh-attachment.d.ts.map +1 -0
  269. package/dist/mesh-attachment.js +43 -0
  270. package/dist/mesh-attachment.js.map +1 -0
  271. package/dist/mesh-chat.d.ts +48 -0
  272. package/dist/mesh-chat.d.ts.map +1 -0
  273. package/dist/mesh-chat.js +84 -0
  274. package/dist/mesh-chat.js.map +1 -0
  275. package/dist/mesh-delivery-diagnostics.d.ts +12 -0
  276. package/dist/mesh-delivery-diagnostics.d.ts.map +1 -0
  277. package/dist/mesh-delivery-diagnostics.js +45 -0
  278. package/dist/mesh-delivery-diagnostics.js.map +1 -0
  279. package/dist/mesh-notification.d.ts +29 -0
  280. package/dist/mesh-notification.d.ts.map +1 -0
  281. package/dist/mesh-notification.js +52 -0
  282. package/dist/mesh-notification.js.map +1 -0
  283. package/dist/mesh-pairing.d.ts +40 -0
  284. package/dist/mesh-pairing.d.ts.map +1 -0
  285. package/dist/mesh-pairing.js +78 -0
  286. package/dist/mesh-pairing.js.map +1 -0
  287. package/dist/product-host-runtime.d.ts +59 -0
  288. package/dist/product-host-runtime.d.ts.map +1 -0
  289. package/dist/product-host-runtime.js +150 -0
  290. package/dist/product-host-runtime.js.map +1 -0
  291. package/dist/product-protocol.d.ts +49 -0
  292. package/dist/product-protocol.d.ts.map +1 -0
  293. package/dist/product-protocol.js +389 -0
  294. package/dist/product-protocol.js.map +1 -0
  295. package/dist/product-view-hosted.d.ts +63 -0
  296. package/dist/product-view-hosted.d.ts.map +1 -0
  297. package/dist/product-view-hosted.js +272 -0
  298. package/dist/product-view-hosted.js.map +1 -0
  299. package/dist/product-view-service-worker.d.ts +6 -0
  300. package/dist/product-view-service-worker.d.ts.map +1 -0
  301. package/dist/product-view-service-worker.js +57 -0
  302. package/dist/product-view-service-worker.js.map +1 -0
  303. package/dist/product-view.d.ts +459 -0
  304. package/dist/product-view.d.ts.map +1 -0
  305. package/dist/product-view.js +2671 -0
  306. package/dist/product-view.js.map +1 -0
  307. package/dist/protocol.d.ts +39 -0
  308. package/dist/protocol.d.ts.map +1 -0
  309. package/dist/protocol.js +25 -0
  310. package/dist/protocol.js.map +1 -0
  311. package/dist/remote-runtime-provider.d.ts +9 -0
  312. package/dist/remote-runtime-provider.d.ts.map +1 -0
  313. package/dist/remote-runtime-provider.js +1002 -0
  314. package/dist/remote-runtime-provider.js.map +1 -0
  315. package/dist/runtime-chain-service.d.ts +109 -0
  316. package/dist/runtime-chain-service.d.ts.map +1 -0
  317. package/dist/runtime-chain-service.js +846 -0
  318. package/dist/runtime-chain-service.js.map +1 -0
  319. package/dist/runtime-chain.d.ts +8 -0
  320. package/dist/runtime-chain.d.ts.map +1 -0
  321. package/dist/runtime-chain.js +4 -0
  322. package/dist/runtime-chain.js.map +1 -0
  323. package/dist/runtime-storage-access.d.ts +39 -0
  324. package/dist/runtime-storage-access.d.ts.map +1 -0
  325. package/dist/runtime-storage-access.js +209 -0
  326. package/dist/runtime-storage-access.js.map +1 -0
  327. package/dist/scoped-frame.d.ts +55 -0
  328. package/dist/scoped-frame.d.ts.map +1 -0
  329. package/dist/scoped-frame.js +234 -0
  330. package/dist/scoped-frame.js.map +1 -0
  331. package/dist/sdk-interfaces.d.ts +159 -0
  332. package/dist/sdk-interfaces.d.ts.map +1 -0
  333. package/dist/sdk-interfaces.js +2 -0
  334. package/dist/sdk-interfaces.js.map +1 -0
  335. package/dist/statement-store.d.ts +166 -0
  336. package/dist/statement-store.d.ts.map +1 -0
  337. package/dist/statement-store.js +627 -0
  338. package/dist/statement-store.js.map +1 -0
  339. package/dist/telemetry.d.ts +218 -0
  340. package/dist/telemetry.d.ts.map +1 -0
  341. package/dist/telemetry.js +162 -0
  342. package/dist/telemetry.js.map +1 -0
  343. package/dist/types.d.ts +255 -0
  344. package/dist/types.d.ts.map +1 -0
  345. package/dist/types.js +77 -0
  346. package/dist/types.js.map +1 -0
  347. package/dist/wallet-session.d.ts +89 -0
  348. package/dist/wallet-session.d.ts.map +1 -0
  349. package/dist/wallet-session.js +135 -0
  350. package/dist/wallet-session.js.map +1 -0
  351. package/package.json +86 -5
  352. package/index.js +0 -1
package/README.md CHANGED
@@ -1,5 +1,63 @@
1
- # @useragent-kit/sdk
1
+ # `@polkadot-apps/host-sdk`
2
2
 
3
- This package is a name reservation for the upcoming UserAgentKit release.
3
+ UserAgentKit's TypeScript SDK for building browser **Triangle User Agents**.
4
4
 
5
- For the current release, install [`@polkadot-apps/host-sdk`](https://www.npmjs.com/package/@polkadot-apps/host-sdk).
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"}
@@ -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":"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"}
@@ -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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"}