@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
@@ -0,0 +1,241 @@
1
+ /**
2
+ * Product-side Host API facade.
3
+ *
4
+ * `createProductFacade` builds the full product-side communication stack:
5
+ * provider → transport (with handshake and codec upgrade) → typed facade.
6
+ *
7
+ * Every request method returns a `ResultAsync<Ok, Err>` from neverthrow
8
+ * so callers can chain with `.map()`, `.andThen()`, `.match()`, etc.
9
+ *
10
+ * Handler param/ok/err types are derived from the SCALE codec definitions
11
+ * in `hostApiProtocol` via `RequestParams`, `ResponseOk`, `ResponseErr`,
12
+ * `SubscriptionParams`, and `SubscriptionPayload`.
13
+ */
14
+ import { scaleCodecAdapter } from "../shared/codec/scale/adapter.js";
15
+ import { structuredCloneCodecAdapter } from "../shared/codec/structured/index.js";
16
+ import { requestCodecUpgrade } from "../shared/codec/negotiation.js";
17
+ import { createTransport } from "../shared/transport/transport.js";
18
+ import { createWindowProvider } from "../shared/transport/windowProvider.js";
19
+ import { createMessagePortProvider } from "../shared/transport/messagePortProvider.js";
20
+ import { ResultAsync } from "neverthrow";
21
+ import { extractErrorMessage } from "../shared/util/helpers.js";
22
+ // ---------------------------------------------------------------------------
23
+ // Internal: generic request / subscribe wrappers
24
+ // ---------------------------------------------------------------------------
25
+ function makeRequest(transport, method, version, payload) {
26
+ const response = ResultAsync.fromPromise(transport.request(method, { tag: version, value: payload }), (e) => ({ tag: "Unknown", value: { reason: extractErrorMessage(e) } }));
27
+ return response.andThen((resp) => {
28
+ if (resp.value.success) {
29
+ return ResultAsync.fromSafePromise(Promise.resolve(resp.value.value));
30
+ }
31
+ return ResultAsync.fromPromise(Promise.reject(resp.value.value), (e) => e);
32
+ });
33
+ }
34
+ function makeSubscription(transport, method, version, payload, callback) {
35
+ return transport.subscribe(method, { tag: version, value: payload }, (data) => {
36
+ const tagged = data;
37
+ if (tagged.tag === version) {
38
+ callback(tagged.value);
39
+ }
40
+ });
41
+ }
42
+ // ---------------------------------------------------------------------------
43
+ // Factory
44
+ // ---------------------------------------------------------------------------
45
+ /**
46
+ * Create a product-side ProductFacade.
47
+ *
48
+ * Builds the full stack internally: creates the appropriate provider from
49
+ * `messaging`, creates a transport with `handshake: 'initiate'`, and wraps
50
+ * it with automatic codec upgrade negotiation.
51
+ */
52
+ export function createProductFacade(options) {
53
+ const { messaging, protocolVersionId } = options;
54
+ // Build provider from messaging option.
55
+ const provider = messaging.type === "window"
56
+ ? createWindowProvider(messaging.target)
57
+ : createMessagePortProvider(messaging.port);
58
+ // Build transport with eager handshake.
59
+ const transport = createTransport({
60
+ provider,
61
+ handshake: "initiate",
62
+ idPrefix: "p:",
63
+ protocolVersionId,
64
+ });
65
+ // Auto-upgrade codec after handshake.
66
+ const readyPromise = transport.whenReady().then(async () => {
67
+ await requestCodecUpgrade(transport, {
68
+ scale: scaleCodecAdapter,
69
+ structured_clone: structuredCloneCodecAdapter,
70
+ });
71
+ });
72
+ // Suppress unhandled rejection if no one awaits whenReady().
73
+ readyPromise.catch(() => { });
74
+ return {
75
+ // -- Transport proxies --------------------------------------------------
76
+ /** Resolves when the handshake and codec negotiation are complete. */
77
+ whenReady() {
78
+ return readyPromise;
79
+ },
80
+ /**
81
+ * Register a handler for a host-initiated subscription.
82
+ *
83
+ * This is the product-side counterpart to `transport.handleSubscription`.
84
+ * Used for the one protocol method where the product is the handler
85
+ * rather than the initiator (`product_chat_custom_message_render_subscribe`).
86
+ */
87
+ handleHostSubscription(method, handler) {
88
+ return transport.handleSubscription(method, handler);
89
+ },
90
+ // -- Core / lifecycle ---------------------------------------------------
91
+ featureSupported(payload) {
92
+ return makeRequest(transport, "host_feature_supported", "v1", payload);
93
+ },
94
+ pushNotification(payload) {
95
+ return makeRequest(transport, "host_push_notification", "v1", payload);
96
+ },
97
+ navigateTo(payload) {
98
+ return makeRequest(transport, "host_navigate_to", "v1", payload);
99
+ },
100
+ // -- Permissions --------------------------------------------------------
101
+ devicePermission(payload) {
102
+ return makeRequest(transport, "host_device_permission", "v1", payload);
103
+ },
104
+ permission(payload) {
105
+ return makeRequest(transport, "remote_permission", "v1", payload);
106
+ },
107
+ // -- Local storage ------------------------------------------------------
108
+ localStorageRead(payload) {
109
+ return makeRequest(transport, "host_local_storage_read", "v1", payload);
110
+ },
111
+ localStorageWrite(payload) {
112
+ return makeRequest(transport, "host_local_storage_write", "v1", payload);
113
+ },
114
+ localStorageClear(payload) {
115
+ return makeRequest(transport, "host_local_storage_clear", "v1", payload);
116
+ },
117
+ // -- Accounts -----------------------------------------------------------
118
+ accountConnectionStatusSubscribe(args, callback) {
119
+ return makeSubscription(transport, "host_account_connection_status_subscribe", "v1", args, callback);
120
+ },
121
+ accountGet(payload) {
122
+ return makeRequest(transport, "host_account_get", "v1", payload);
123
+ },
124
+ accountGetAlias(payload) {
125
+ return makeRequest(transport, "host_account_get_alias", "v1", payload);
126
+ },
127
+ accountCreateProof(payload) {
128
+ return makeRequest(transport, "host_account_create_proof", "v1", payload);
129
+ },
130
+ getNonProductAccounts(payload) {
131
+ return makeRequest(transport, "host_get_non_product_accounts", "v1", payload);
132
+ },
133
+ paymentBalanceSubscribe(args, callback) {
134
+ return makeSubscription(transport, "host_payment_balance_subscribe", "v1", args, callback);
135
+ },
136
+ paymentTopUp(payload) {
137
+ return makeRequest(transport, "host_payment_top_up", "v1", payload);
138
+ },
139
+ paymentRequest(payload) {
140
+ return makeRequest(transport, "host_payment_request", "v1", payload);
141
+ },
142
+ paymentStatusSubscribe(args, callback) {
143
+ return makeSubscription(transport, "host_payment_status_subscribe", "v1", args, callback);
144
+ },
145
+ // -- Transactions -------------------------------------------------------
146
+ createTransaction(payload) {
147
+ return makeRequest(transport, "host_create_transaction", "v1", payload);
148
+ },
149
+ createTransactionWithNonProductAccount(payload) {
150
+ return makeRequest(transport, "host_create_transaction_with_non_product_account", "v1", payload);
151
+ },
152
+ // -- Signing ------------------------------------------------------------
153
+ signRaw(payload) {
154
+ return makeRequest(transport, "host_sign_raw", "v1", payload);
155
+ },
156
+ signPayload(payload) {
157
+ return makeRequest(transport, "host_sign_payload", "v1", payload);
158
+ },
159
+ // -- Chat ---------------------------------------------------------------
160
+ chatListSubscribe(args, callback) {
161
+ return makeSubscription(transport, "host_chat_list_subscribe", "v1", args, callback);
162
+ },
163
+ chatCreateRoom(payload) {
164
+ return makeRequest(transport, "host_chat_create_room", "v1", payload);
165
+ },
166
+ chatRegisterBot(payload) {
167
+ return makeRequest(transport, "host_chat_register_bot", "v1", payload);
168
+ },
169
+ chatPostMessage(payload) {
170
+ return makeRequest(transport, "host_chat_post_message", "v1", payload);
171
+ },
172
+ chatActionSubscribe(args, callback) {
173
+ return makeSubscription(transport, "host_chat_action_subscribe", "v1", args, callback);
174
+ },
175
+ // -- Statement store ----------------------------------------------------
176
+ statementStoreSubscribe(args, callback) {
177
+ return makeSubscription(transport, "remote_statement_store_subscribe", "v1", args, callback);
178
+ },
179
+ statementStoreCreateProof(payload) {
180
+ return makeRequest(transport, "remote_statement_store_create_proof", "v1", payload);
181
+ },
182
+ statementStoreSubmit(payload) {
183
+ return makeRequest(transport, "remote_statement_store_submit", "v1", payload);
184
+ },
185
+ // -- Preimage -----------------------------------------------------------
186
+ preimageLookupSubscribe(args, callback) {
187
+ return makeSubscription(transport, "remote_preimage_lookup_subscribe", "v1", args, callback);
188
+ },
189
+ preimageSubmit(payload) {
190
+ return makeRequest(transport, "remote_preimage_submit", "v1", payload);
191
+ },
192
+ // -- JSON-RPC bridge ----------------------------------------------------
193
+ jsonrpcMessageSend(payload) {
194
+ return makeRequest(transport, "host_jsonrpc_message_send", "v1", payload);
195
+ },
196
+ jsonrpcMessageSubscribe(args, callback) {
197
+ return makeSubscription(transport, "host_jsonrpc_message_subscribe", "v1", args, callback);
198
+ },
199
+ // -- Remote chain (new JSON-RPC spec) -----------------------------------
200
+ chainHeadFollow(args, callback) {
201
+ return makeSubscription(transport, "remote_chain_head_follow", "v1", args, callback);
202
+ },
203
+ chainHeadHeader(payload) {
204
+ return makeRequest(transport, "remote_chain_head_header", "v1", payload);
205
+ },
206
+ chainHeadBody(payload) {
207
+ return makeRequest(transport, "remote_chain_head_body", "v1", payload);
208
+ },
209
+ chainHeadStorage(payload) {
210
+ return makeRequest(transport, "remote_chain_head_storage", "v1", payload);
211
+ },
212
+ chainHeadCall(payload) {
213
+ return makeRequest(transport, "remote_chain_head_call", "v1", payload);
214
+ },
215
+ chainHeadUnpin(payload) {
216
+ return makeRequest(transport, "remote_chain_head_unpin", "v1", payload);
217
+ },
218
+ chainHeadContinue(payload) {
219
+ return makeRequest(transport, "remote_chain_head_continue", "v1", payload);
220
+ },
221
+ chainHeadStopOperation(payload) {
222
+ return makeRequest(transport, "remote_chain_head_stop_operation", "v1", payload);
223
+ },
224
+ chainSpecGenesisHash(payload) {
225
+ return makeRequest(transport, "remote_chain_spec_genesis_hash", "v1", payload);
226
+ },
227
+ chainSpecChainName(payload) {
228
+ return makeRequest(transport, "remote_chain_spec_chain_name", "v1", payload);
229
+ },
230
+ chainSpecProperties(payload) {
231
+ return makeRequest(transport, "remote_chain_spec_properties", "v1", payload);
232
+ },
233
+ chainTransactionBroadcast(payload) {
234
+ return makeRequest(transport, "remote_chain_transaction_broadcast", "v1", payload);
235
+ },
236
+ chainTransactionStop(payload) {
237
+ return makeRequest(transport, "remote_chain_transaction_stop", "v1", payload);
238
+ },
239
+ };
240
+ }
241
+ //# sourceMappingURL=hostApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hostApi.js","sourceRoot":"","sources":["../../../../src/internal/api-protocol/product-facade/hostApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * CodecAdapter interface.
3
+ *
4
+ * Abstracts the wire encoding so that the transport layer does not care
5
+ * whether messages travel as SCALE-encoded Uint8Arrays or as structured
6
+ * clone objects. During codec negotiation the adapter can be swapped at
7
+ * runtime.
8
+ */
9
+ /**
10
+ * The on-the-wire shape of every protocol message.
11
+ *
12
+ * `requestId` correlates requests with responses (and subscription
13
+ * frames with their originating start message).
14
+ * `payload` is a tagged union whose tag is the protocol action
15
+ * (e.g. `host_handshake_request`, `host_account_get_response`).
16
+ */
17
+ export type ProtocolMessage = {
18
+ requestId: string;
19
+ payload: {
20
+ tag: string;
21
+ value: unknown;
22
+ };
23
+ };
24
+ /**
25
+ * The data that travels over `postMessage` / the provider channel.
26
+ *
27
+ * - `Uint8Array` when using a binary codec (SCALE).
28
+ * - `ProtocolMessage` when using structured clone (same-origin iframes).
29
+ */
30
+ export type PostMessageData = Uint8Array | ProtocolMessage;
31
+ /**
32
+ * A codec adapter encodes ProtocolMessages into a wire format and
33
+ * decodes incoming wire data back into ProtocolMessages.
34
+ */
35
+ export interface CodecAdapter {
36
+ /** Encode a protocol message for transmission. */
37
+ encode(message: ProtocolMessage): PostMessageData;
38
+ /** Decode incoming wire data into a protocol message. */
39
+ decode(data: PostMessageData): ProtocolMessage;
40
+ }
41
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../../src/internal/api-protocol/shared/codec/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CAC1C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,eAAe,CAAC;AAE3D;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,kDAAkD;IAClD,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe,CAAC;IAElD,yDAAyD;IACzD,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAAC;CAChD"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * CodecAdapter interface.
3
+ *
4
+ * Abstracts the wire encoding so that the transport layer does not care
5
+ * whether messages travel as SCALE-encoded Uint8Arrays or as structured
6
+ * clone objects. During codec negotiation the adapter can be swapped at
7
+ * runtime.
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../../src/internal/api-protocol/shared/codec/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Codec format negotiation.
3
+ *
4
+ * After the initial handshake (which always uses SCALE for backwards
5
+ * compatibility) the product may request a codec upgrade via the
6
+ * `host_codec_upgrade` protocol method. The host responds with the
7
+ * format it selected (intersection of what both sides support).
8
+ *
9
+ * If the upgrade times out or the host doesn't support it, the
10
+ * connection stays on the current codec (typically SCALE).
11
+ *
12
+ * ## Compatibility matrix
13
+ *
14
+ * | Product | Host | Wire format |
15
+ * |---------|------|----------------------------------------|
16
+ * | Old | Old | SCALE |
17
+ * | Old | New | SCALE (old product never sends upgrade) |
18
+ * | New | Old | SCALE (upgrade times out) |
19
+ * | New | New | Structured clone (upgrade succeeds) |
20
+ */
21
+ import type { CodecAdapter } from "./adapter.js";
22
+ import type { Transport } from "../transport/transport.js";
23
+ /** Wire-format identifiers. */
24
+ export type CodecFormat = "scale" | "structured_clone";
25
+ /** Sent by the product after handshake. */
26
+ export type CodecUpgradeRequest = {
27
+ supportedFormats: CodecFormat[];
28
+ };
29
+ /** Returned by the host. */
30
+ export type CodecUpgradeResponse = {
31
+ selectedFormat: CodecFormat;
32
+ };
33
+ /**
34
+ * Maximum time (ms) to wait for the host to reply to a codec upgrade
35
+ * request before falling back to the current format.
36
+ */
37
+ export declare const UPGRADE_TIMEOUT = 1000;
38
+ /**
39
+ * Map from format name to the CodecAdapter that implements it.
40
+ */
41
+ export type CodecAdapterMap = Partial<Record<CodecFormat, CodecAdapter>>;
42
+ /**
43
+ * Request a codec upgrade from the product side.
44
+ *
45
+ * Call this AFTER the handshake has completed (`transport.whenReady()`
46
+ * resolved). Sends a `host_codec_upgrade` request with the
47
+ * list of formats the product supports. If the host responds with a
48
+ * format both sides support, both swap their codec adapters.
49
+ *
50
+ * If the request times out or the host returns an unknown format,
51
+ * the transport stays on its current codec. This is safe — the
52
+ * product just keeps using whatever it was using before.
53
+ *
54
+ * @param transport - The product-side transport (must be connected).
55
+ * @param adapters - Map of format → CodecAdapter the product supports.
56
+ * @returns The format that was selected, or `undefined` if the upgrade
57
+ * failed and the transport stays on the current codec.
58
+ */
59
+ export declare function requestCodecUpgrade(transport: Transport, adapters: CodecAdapterMap): Promise<CodecFormat | undefined>;
60
+ /**
61
+ * Register a handler for codec upgrade requests on the host side.
62
+ *
63
+ * When the product sends `host_codec_upgrade`, this handler picks
64
+ * the best format from the intersection of what both sides support
65
+ * and responds with the selection.
66
+ *
67
+ * If structured clone is selected, the host swaps its outgoing codec
68
+ * BEFORE sending the response. This means the response itself arrives
69
+ * as a structured clone message, which forces the product's transport
70
+ * to auto-upgrade its outgoing codec via `decodeIncoming`. This
71
+ * eliminates the race condition: even if the product's timeout has
72
+ * already fired, the next message from the host (in structured clone)
73
+ * will trigger the product's auto-upgrade.
74
+ *
75
+ * @param transport - The host-side transport.
76
+ * @param adapters - Map of format → CodecAdapter the host supports.
77
+ * @returns An unsubscribe function that removes the handler.
78
+ */
79
+ export declare function handleCodecUpgrade(transport: Transport, adapters: CodecAdapterMap): () => void;
80
+ //# sourceMappingURL=negotiation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"negotiation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/api-protocol/shared/codec/negotiation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAM3D,+BAA+B;AAC/B,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,kBAAkB,CAAC;AAEvD,2CAA2C;AAC3C,MAAM,MAAM,mBAAmB,GAAG;IAChC,gBAAgB,EAAE,WAAW,EAAE,CAAC;CACjC,CAAC;AAEF,4BAA4B;AAC5B,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,WAAW,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,OAAQ,CAAC;AAErC;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AAMzE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CA6BlC;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,GAAG,MAAM,IAAI,CA6C9F"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Codec format negotiation.
3
+ *
4
+ * After the initial handshake (which always uses SCALE for backwards
5
+ * compatibility) the product may request a codec upgrade via the
6
+ * `host_codec_upgrade` protocol method. The host responds with the
7
+ * format it selected (intersection of what both sides support).
8
+ *
9
+ * If the upgrade times out or the host doesn't support it, the
10
+ * connection stays on the current codec (typically SCALE).
11
+ *
12
+ * ## Compatibility matrix
13
+ *
14
+ * | Product | Host | Wire format |
15
+ * |---------|------|----------------------------------------|
16
+ * | Old | Old | SCALE |
17
+ * | Old | New | SCALE (old product never sends upgrade) |
18
+ * | New | Old | SCALE (upgrade times out) |
19
+ * | New | New | Structured clone (upgrade succeeds) |
20
+ */
21
+ /**
22
+ * Maximum time (ms) to wait for the host to reply to a codec upgrade
23
+ * request before falling back to the current format.
24
+ */
25
+ export const UPGRADE_TIMEOUT = 1000;
26
+ // ---------------------------------------------------------------------------
27
+ // Product side: request a codec upgrade
28
+ // ---------------------------------------------------------------------------
29
+ /**
30
+ * Request a codec upgrade from the product side.
31
+ *
32
+ * Call this AFTER the handshake has completed (`transport.whenReady()`
33
+ * resolved). Sends a `host_codec_upgrade` request with the
34
+ * list of formats the product supports. If the host responds with a
35
+ * format both sides support, both swap their codec adapters.
36
+ *
37
+ * If the request times out or the host returns an unknown format,
38
+ * the transport stays on its current codec. This is safe — the
39
+ * product just keeps using whatever it was using before.
40
+ *
41
+ * @param transport - The product-side transport (must be connected).
42
+ * @param adapters - Map of format → CodecAdapter the product supports.
43
+ * @returns The format that was selected, or `undefined` if the upgrade
44
+ * failed and the transport stays on the current codec.
45
+ */
46
+ export async function requestCodecUpgrade(transport, adapters) {
47
+ const supportedFormats = Object.keys(adapters);
48
+ if (supportedFormats.length === 0)
49
+ return undefined;
50
+ const request = { supportedFormats };
51
+ try {
52
+ const controller = new AbortController();
53
+ const timeout = setTimeout(() => controller.abort("Codec upgrade timeout"), UPGRADE_TIMEOUT);
54
+ const response = await transport.request("host_codec_upgrade", { tag: "v1", value: request }, controller.signal);
55
+ clearTimeout(timeout);
56
+ const selectedFormat = response.value.selectedFormat;
57
+ if (!selectedFormat || !adapters[selectedFormat])
58
+ return undefined;
59
+ // Swap the codec adapter on the product side.
60
+ transport.swapCodecAdapter(adapters[selectedFormat]);
61
+ return selectedFormat;
62
+ }
63
+ catch {
64
+ // MethodNotSupportedError, timeout, or abort — stay on current codec.
65
+ return undefined;
66
+ }
67
+ }
68
+ // ---------------------------------------------------------------------------
69
+ // Host side: handle a codec upgrade request
70
+ // ---------------------------------------------------------------------------
71
+ /**
72
+ * Register a handler for codec upgrade requests on the host side.
73
+ *
74
+ * When the product sends `host_codec_upgrade`, this handler picks
75
+ * the best format from the intersection of what both sides support
76
+ * and responds with the selection.
77
+ *
78
+ * If structured clone is selected, the host swaps its outgoing codec
79
+ * BEFORE sending the response. This means the response itself arrives
80
+ * as a structured clone message, which forces the product's transport
81
+ * to auto-upgrade its outgoing codec via `decodeIncoming`. This
82
+ * eliminates the race condition: even if the product's timeout has
83
+ * already fired, the next message from the host (in structured clone)
84
+ * will trigger the product's auto-upgrade.
85
+ *
86
+ * @param transport - The host-side transport.
87
+ * @param adapters - Map of format → CodecAdapter the host supports.
88
+ * @returns An unsubscribe function that removes the handler.
89
+ */
90
+ export function handleCodecUpgrade(transport, adapters) {
91
+ const preference = ["structured_clone", "scale"];
92
+ const fallbackResponse = { tag: "v1", value: { selectedFormat: "scale" } };
93
+ return transport.listenMessages("host_codec_upgrade_request", (requestId, value) => {
94
+ const envelope = value;
95
+ const request = envelope?.value;
96
+ if (!request?.supportedFormats) {
97
+ transport.postMessage(requestId, {
98
+ tag: "host_codec_upgrade_response",
99
+ value: fallbackResponse,
100
+ });
101
+ return;
102
+ }
103
+ const productFormats = new Set(request.supportedFormats);
104
+ // Pick the best format from the intersection (structured_clone preferred).
105
+ let selected;
106
+ for (const format of preference) {
107
+ if (productFormats.has(format) && adapters[format]) {
108
+ selected = format;
109
+ break;
110
+ }
111
+ }
112
+ if (!selected) {
113
+ transport.postMessage(requestId, {
114
+ tag: "host_codec_upgrade_response",
115
+ value: fallbackResponse,
116
+ });
117
+ return;
118
+ }
119
+ // Swap BEFORE sending the response so the response itself is
120
+ // encoded with the new codec. The product's decodeIncoming will
121
+ // detect the format and auto-upgrade its outgoing codec too.
122
+ transport.swapCodecAdapter(adapters[selected]);
123
+ transport.postMessage(requestId, {
124
+ tag: "host_codec_upgrade_response",
125
+ value: { tag: "v1", value: { selectedFormat: selected } },
126
+ });
127
+ });
128
+ }
129
+ //# sourceMappingURL=negotiation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"negotiation.js","sourceRoot":"","sources":["../../../../../src/internal/api-protocol/shared/codec/negotiation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * SCALE codec adapter.
3
+ *
4
+ * Wraps the protocol's `Message` codec into a `CodecAdapter` for use by
5
+ * the transport layer.
6
+ */
7
+ import type { Codec } from "scale-ts";
8
+ import type { CodecAdapter } from "../adapter.js";
9
+ export declare function createScaleCodecAdapter(messageCodec: Codec<{
10
+ requestId: string;
11
+ payload: {
12
+ tag: string;
13
+ value: unknown;
14
+ };
15
+ }>): CodecAdapter;
16
+ /** Ready-to-use SCALE codec adapter for the full protocol. */
17
+ export declare const scaleCodecAdapter: CodecAdapter;
18
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/api-protocol/shared/codec/scale/adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAoC,MAAM,eAAe,CAAC;AAGpF,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC,GACnF,YAAY,CAYd;AAED,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB,cAAmC,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * SCALE codec adapter.
3
+ *
4
+ * Wraps the protocol's `Message` codec into a `CodecAdapter` for use by
5
+ * the transport layer.
6
+ */
7
+ import { Message } from "../../../api/protocol.js";
8
+ export function createScaleCodecAdapter(messageCodec) {
9
+ return {
10
+ encode(message) {
11
+ return messageCodec.enc(message);
12
+ },
13
+ decode(data) {
14
+ if (!(data instanceof Uint8Array)) {
15
+ throw new Error("SCALE codec expects Uint8Array input");
16
+ }
17
+ return messageCodec.dec(data);
18
+ },
19
+ };
20
+ }
21
+ /** Ready-to-use SCALE codec adapter for the full protocol. */
22
+ export const scaleCodecAdapter = createScaleCodecAdapter(Message);
23
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../../../src/internal/api-protocol/shared/codec/scale/adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,MAAM,UAAU,uBAAuB,CACrC,YAAoF;IAEpF,OAAO;QACL,MAAM,CAAC,OAAwB;YAC7B,OAAO,YAAY,CAAC,GAAG,CAAC,OAAO,CAAe,CAAC;QACjD,CAAC;QACD,MAAM,CAAC,IAAqB;YAC1B,IAAI,CAAC,CAAC,IAAI,YAAY,UAAU,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * SCALE codec primitives.
3
+ *
4
+ * Thin wrappers over scale-ts that provide Polkadot-specific conveniences:
5
+ * Hex strings, nullable values, status enums, lazy codecs, and error enums.
6
+ *
7
+ * Previously provided by @novasamatech/scale — inlined here to remove
8
+ * the external dependency.
9
+ */
10
+ import type { Codec } from "scale-ts";
11
+ import { Enum } from "scale-ts";
12
+ export { Enum };
13
+ /**
14
+ * Optimized version of `Option(bool)` — encodes as a single u8:
15
+ * 0 = undefined/null, 1 = false, 2 = true.
16
+ */
17
+ export declare const OptionBool: Codec<boolean | void>;
18
+ export type HexString = `0x${string}`;
19
+ /**
20
+ * Assert that a string is a valid hex string (`0x...`).
21
+ */
22
+ export declare function toHexString(value: string): HexString;
23
+ /**
24
+ * SCALE codec for hex-encoded byte strings (`0x...`).
25
+ */
26
+ export declare function Hex(length?: number): Codec<HexString>;
27
+ /**
28
+ * Enum without values — maps string labels to u8 indices.
29
+ */
30
+ export declare function Status<const T>(...list: T[]): Codec<T>;
31
+ /**
32
+ * Deferred codec for recursive types.
33
+ */
34
+ export declare function lazy<T>(fn: () => Codec<T>): Codec<T>;
35
+ //# sourceMappingURL=primitives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/api-protocol/shared/codec/scale/primitives.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAS,IAAI,EAAiC,MAAM,UAAU,CAAC;AAGtE,OAAO,EAAE,IAAI,EAAE,CAAC;AAMhB;;;GAGG;AACH,eAAO,MAAM,UAAU,uBAoBtB,CAAC;AAMF,MAAM,MAAM,SAAS,GAAG,KAAK,MAAM,EAAE,CAAC;AAEtC;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAKpD;AAoBD;;GAEG;AACH,wBAAgB,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAMrD;AAMD;;GAEG;AACH,wBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CActD;AAMD;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAKpD"}