@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,420 @@
1
+ /**
2
+ * Core transport layer.
3
+ *
4
+ * Ported from triangle-js-sdks `packages/host-api/src/transport.ts`,
5
+ * adapted for the new architecture:
6
+ *
7
+ * 1. Auto-detects incoming message format (Uint8Array → SCALE,
8
+ * plain object → structured clone) and auto-upgrades the
9
+ * outgoing codec when structured clone is detected.
10
+ * 2. Exposes a `swapCodecAdapter` method so codec negotiation can
11
+ * explicitly upgrade the wire format.
12
+ * 3. Keeps the full API surface: `request`, `handleRequest`,
13
+ * `subscribe`, `handleSubscription`, plus low-level
14
+ * `postMessage` / `listenMessages`.
15
+ */
16
+ import { createNanoEvents } from "nanoevents";
17
+ import { structuredCloneCodecAdapter } from "../codec/structured/index.js";
18
+ import { scaleCodecAdapter } from "../codec/scale/adapter.js";
19
+ import { composeAction, delay, promiseWithResolvers } from "../util/helpers.js";
20
+ import { createIdFactory } from "../util/idFactory.js";
21
+ // ---------------------------------------------------------------------------
22
+ // Constants
23
+ // ---------------------------------------------------------------------------
24
+ /** Interval (ms) between handshake retries. */
25
+ export const HANDSHAKE_INTERVAL = 50;
26
+ /** Maximum time (ms) to wait for a handshake response. */
27
+ export const HANDSHAKE_TIMEOUT = 10000;
28
+ /**
29
+ * Marker value sent as the response when a request targets a method
30
+ * that has no registered handler. The sender detects this and rejects
31
+ * the promise with a `MethodNotSupported` error.
32
+ */
33
+ const NOT_SUPPORTED_MARKER = { _notSupported: true };
34
+ /** Error thrown when a request targets a method with no registered handler. */
35
+ export class MethodNotSupportedError extends Error {
36
+ constructor(method) {
37
+ super(`Method not supported: ${method}`);
38
+ this.name = "MethodNotSupportedError";
39
+ }
40
+ }
41
+ /**
42
+ * Build a deterministic key for subscription de-duplication.
43
+ *
44
+ * Two `subscribe()` calls with the same method + payload share a
45
+ * single underlying wire subscription; only their callbacks differ.
46
+ */
47
+ function getSubscriptionKey(method, payload) {
48
+ // Use a stable JSON representation. For binary codecs this won't be
49
+ // as compact as a hex hash of the encoded payload, but it is
50
+ // codec-agnostic and still unique.
51
+ try {
52
+ return `${method}_${JSON.stringify(payload)}`;
53
+ }
54
+ catch {
55
+ // Fallback for non-serialisable payloads.
56
+ return `${method}_${String(payload)}`;
57
+ }
58
+ }
59
+ export function createTransport(options) {
60
+ const { provider, handshake, protocolVersionId = 1, idPrefix = "" } = options;
61
+ /** Codec used for encoding outgoing messages. Starts as SCALE, upgrades to structured clone. */
62
+ let codecAdapter = scaleCodecAdapter;
63
+ /**
64
+ * Decode an incoming message by inspecting its shape:
65
+ * - Uint8Array → SCALE decode
66
+ * - Object with `requestId` → structured clone (identity)
67
+ *
68
+ * When a structured clone message is detected, the outgoing codec
69
+ * is automatically upgraded to structured clone as well (preferred).
70
+ */
71
+ function decodeIncoming(message) {
72
+ if (message instanceof Uint8Array ||
73
+ (typeof message === "object" &&
74
+ message !== null &&
75
+ message.constructor?.name === "Uint8Array")) {
76
+ return scaleCodecAdapter.decode(message);
77
+ }
78
+ if (typeof message === "object" &&
79
+ message !== null &&
80
+ "requestId" in message) {
81
+ // Upgrade outgoing codec to structured clone on first structured clone message.
82
+ codecAdapter = structuredCloneCodecAdapter;
83
+ return message;
84
+ }
85
+ throw new Error("Unrecognized message format");
86
+ }
87
+ const nextId = createIdFactory(idPrefix);
88
+ const handshakeAbortController = new AbortController();
89
+ let handshakePromise;
90
+ let connectionStatus = "disconnected";
91
+ let disposed = false;
92
+ const events = createNanoEvents();
93
+ events.on("connectionStatus", (value) => {
94
+ connectionStatus = value;
95
+ });
96
+ function changeConnectionStatus(status) {
97
+ events.emit("connectionStatus", status);
98
+ }
99
+ function throwIfDisposed() {
100
+ if (disposed) {
101
+ throw new Error("Transport is disposed");
102
+ }
103
+ }
104
+ // -- Subscription multiplexing --------------------------------------------
105
+ const activeSubscriptions = new Map();
106
+ // -- Handler tracking (for not-supported detection) -----------------------
107
+ /** Actions that have registered handlers. */
108
+ const handledActions = new Set();
109
+ // -- Transport implementation ---------------------------------------------
110
+ const transport = {
111
+ swapCodecAdapter(adapter) {
112
+ codecAdapter = adapter;
113
+ },
114
+ // -- Handshake ----------------------------------------------------------
115
+ whenReady() {
116
+ throwIfDisposed();
117
+ return handshakePromise;
118
+ },
119
+ // -- Request / Response -------------------------------------------------
120
+ async request(method, payload, signal) {
121
+ throwIfDisposed();
122
+ await transport.whenReady();
123
+ signal?.throwIfAborted();
124
+ const requestId = nextId();
125
+ const requestAction = composeAction(method, "request");
126
+ const responseAction = composeAction(method, "response");
127
+ const { resolve, reject, promise } = promiseWithResolvers();
128
+ const cleanup = () => {
129
+ unsubscribe();
130
+ signal?.removeEventListener("abort", onAbort);
131
+ };
132
+ const onAbort = () => {
133
+ cleanup();
134
+ reject(signal?.reason ?? new Error("Request aborted"));
135
+ };
136
+ const unsubscribe = transport.listenMessages(responseAction, (receivedId, value) => {
137
+ if (receivedId === requestId) {
138
+ cleanup();
139
+ const v = value;
140
+ if (v && v._notSupported) {
141
+ reject(new MethodNotSupportedError(method));
142
+ }
143
+ else {
144
+ resolve(value);
145
+ }
146
+ }
147
+ });
148
+ signal?.addEventListener("abort", onAbort, { once: true });
149
+ transport.postMessage(requestId, { tag: requestAction, value: payload });
150
+ return promise;
151
+ },
152
+ // -- Handle incoming requests (host side) -------------------------------
153
+ handleRequest(method, handler) {
154
+ throwIfDisposed();
155
+ const requestAction = composeAction(method, "request");
156
+ const responseAction = composeAction(method, "response");
157
+ return transport.listenMessages(requestAction, (requestId, value) => {
158
+ void Promise.resolve(handler(value)).then((result) => {
159
+ transport.postMessage(requestId, { tag: responseAction, value: result });
160
+ });
161
+ });
162
+ },
163
+ // -- Subscriptions (product side) ---------------------------------------
164
+ subscribe(method, payload, callback) {
165
+ throwIfDisposed();
166
+ const subEvents = createNanoEvents();
167
+ const startAction = composeAction(method, "start");
168
+ const startPayload = { tag: startAction, value: payload };
169
+ const subscriptionKey = getSubscriptionKey(method, startPayload);
170
+ let subscription = activeSubscriptions.get(subscriptionKey);
171
+ function unsub() {
172
+ const sub = activeSubscriptions.get(subscriptionKey);
173
+ if (sub) {
174
+ const remaining = sub.listeners.filter((l) => l.call !== callback);
175
+ if (remaining.length === 0) {
176
+ activeSubscriptions.delete(subscriptionKey);
177
+ sub.kill();
178
+ }
179
+ else {
180
+ sub.listeners = remaining;
181
+ }
182
+ }
183
+ }
184
+ const listener = {
185
+ call: callback,
186
+ unsubscribe: unsub,
187
+ };
188
+ const publicSubscription = {
189
+ unsubscribe: unsub,
190
+ onInterrupt(cb) {
191
+ return subEvents.on("interrupt", cb);
192
+ },
193
+ };
194
+ if (!subscription) {
195
+ const requestId = nextId();
196
+ const stopAction = composeAction(method, "stop");
197
+ const interruptAction = composeAction(method, "interrupt");
198
+ const receiveAction = composeAction(method, "receive");
199
+ const unsubscribeReceive = transport.listenMessages(receiveAction, (receivedId, value) => {
200
+ if (receivedId === requestId) {
201
+ const sub = activeSubscriptions.get(subscriptionKey);
202
+ if (sub) {
203
+ for (const l of sub.listeners) {
204
+ l.call(value);
205
+ }
206
+ }
207
+ }
208
+ });
209
+ const unsubscribeInterrupt = transport.listenMessages(interruptAction, (receivedId) => {
210
+ if (receivedId === requestId) {
211
+ subEvents.emit("interrupt");
212
+ stopSubscription();
213
+ }
214
+ });
215
+ const stopSubscription = () => {
216
+ unsubscribeReceive();
217
+ unsubscribeInterrupt();
218
+ subEvents.events = {};
219
+ };
220
+ subscription = {
221
+ requestId,
222
+ kill: () => {
223
+ stopSubscription();
224
+ transport.postMessage(requestId, { tag: stopAction, value: undefined });
225
+ },
226
+ listeners: [listener],
227
+ };
228
+ activeSubscriptions.set(subscriptionKey, subscription);
229
+ transport.postMessage(requestId, startPayload);
230
+ }
231
+ else {
232
+ subscription.listeners.push(listener);
233
+ }
234
+ return publicSubscription;
235
+ },
236
+ // -- Handle subscriptions (host side) -----------------------------------
237
+ handleSubscription(method, handler) {
238
+ throwIfDisposed();
239
+ const startAction = composeAction(method, "start");
240
+ const stopAction = composeAction(method, "stop");
241
+ const interruptAction = composeAction(method, "interrupt");
242
+ const receiveAction = composeAction(method, "receive");
243
+ const subscriptions = new Map();
244
+ const unsubStart = transport.listenMessages(startAction, (requestId, value) => {
245
+ if (subscriptions.has(requestId))
246
+ return;
247
+ let interrupted = false;
248
+ const unsubscribe = handler(value,
249
+ // send callback
250
+ (value) => {
251
+ transport.postMessage(requestId, { tag: receiveAction, value });
252
+ },
253
+ // interrupt callback
254
+ () => {
255
+ interrupted = true;
256
+ subscriptions.delete(requestId);
257
+ transport.postMessage(requestId, { tag: interruptAction, value: undefined });
258
+ });
259
+ if (interrupted) {
260
+ unsubscribe();
261
+ }
262
+ else {
263
+ subscriptions.set(requestId, unsubscribe);
264
+ }
265
+ });
266
+ const unsubStop = transport.listenMessages(stopAction, (requestId) => {
267
+ subscriptions.get(requestId)?.();
268
+ subscriptions.delete(requestId);
269
+ });
270
+ return () => {
271
+ subscriptions.forEach((unsub) => unsub());
272
+ subscriptions.clear();
273
+ unsubStart();
274
+ unsubStop();
275
+ };
276
+ },
277
+ // -- Low-level message I/O ---------------------------------------------
278
+ postMessage(requestId, payload) {
279
+ throwIfDisposed();
280
+ const message = { requestId, payload };
281
+ const encoded = codecAdapter.encode(message);
282
+ provider.postMessage(encoded);
283
+ },
284
+ listenMessages(action, callback, onError) {
285
+ // Track _request/_start actions so the not-supported catch-all
286
+ // doesn't fire for actions that have low-level listeners.
287
+ const isHandlerAction = action.endsWith("_request") || action.endsWith("_start");
288
+ if (isHandlerAction) {
289
+ handledActions.add(action);
290
+ }
291
+ const unsubscribe = provider.subscribe((message) => {
292
+ try {
293
+ const result = decodeIncoming(message);
294
+ if (result.payload.tag === action) {
295
+ callback(result.requestId, result.payload.value);
296
+ }
297
+ }
298
+ catch (e) {
299
+ onError?.(e);
300
+ }
301
+ });
302
+ return () => {
303
+ unsubscribe();
304
+ if (isHandlerAction) {
305
+ handledActions.delete(action);
306
+ }
307
+ };
308
+ },
309
+ // -- Connection status --------------------------------------------------
310
+ onConnectionStatusChange(callback) {
311
+ callback(connectionStatus);
312
+ return events.on("connectionStatus", callback);
313
+ },
314
+ onDestroy(callback) {
315
+ return events.on("destroy", callback);
316
+ },
317
+ // -- Lifecycle -----------------------------------------------------------
318
+ destroy() {
319
+ disposed = true;
320
+ provider.dispose();
321
+ changeConnectionStatus("disconnected");
322
+ events.emit("destroy");
323
+ events.events = {};
324
+ handshakeAbortController.abort("Transport disposed");
325
+ },
326
+ };
327
+ // -- Not-supported catch-all -----------------------------------------------
328
+ //
329
+ // Responds immediately to any _request or _start message that has no
330
+ // registered handler, so the sender doesn't wait forever.
331
+ provider.subscribe((message) => {
332
+ try {
333
+ const result = decodeIncoming(message);
334
+ const { tag } = result.payload;
335
+ if (tag.endsWith("_request") && !handledActions.has(tag)) {
336
+ const responseTag = tag.replace(/_request$/, "_response");
337
+ transport.postMessage(result.requestId, { tag: responseTag, value: NOT_SUPPORTED_MARKER });
338
+ }
339
+ else if (tag.endsWith("_start") && !handledActions.has(tag)) {
340
+ const interruptTag = tag.replace(/_start$/, "_interrupt");
341
+ transport.postMessage(result.requestId, { tag: interruptTag, value: undefined });
342
+ }
343
+ }
344
+ catch {
345
+ // Ignore decode errors — handled by listenMessages subscribers.
346
+ }
347
+ });
348
+ // -- Handshake setup -------------------------------------------------------
349
+ if (handshake === "respond") {
350
+ // Host side: register handler and resolve whenReady() when the first
351
+ // handshake request arrives and is successfully responded to.
352
+ const { resolve: resolveHandshake, reject: rejectHandshake, promise, } = promiseWithResolvers();
353
+ handshakePromise = promise;
354
+ transport.handleRequest("host_handshake", async (version) => {
355
+ if (version.tag === "v1" && version.value === protocolVersionId) {
356
+ changeConnectionStatus("connected");
357
+ resolveHandshake();
358
+ return { tag: "v1", value: { success: true, value: undefined } };
359
+ }
360
+ return {
361
+ tag: "v1",
362
+ value: { success: false, value: { tag: "UnsupportedProtocolVersion", value: undefined } },
363
+ };
364
+ });
365
+ // Reject on disposal so whenReady() doesn't hang forever.
366
+ events.on("destroy", () => rejectHandshake(new Error("Transport destroyed before handshake completed")));
367
+ // Suppress unhandled rejection — callers that care will await whenReady().
368
+ handshakePromise.catch(() => { });
369
+ }
370
+ else {
371
+ // Product side: eagerly start sending handshake requests.
372
+ changeConnectionStatus("connecting");
373
+ const performHandshake = () => {
374
+ const id = nextId();
375
+ const cleanup = (interval, unsubscribe) => {
376
+ clearInterval(interval);
377
+ unsubscribe();
378
+ handshakeAbortController.signal.removeEventListener("abort", unsubscribe);
379
+ };
380
+ return new Promise((resolve, reject) => {
381
+ const unsubscribe = transport.listenMessages("host_handshake_response", (responseId) => {
382
+ if (responseId === id) {
383
+ cleanup(interval, unsubscribe);
384
+ resolve();
385
+ }
386
+ });
387
+ handshakeAbortController.signal.addEventListener("abort", unsubscribe, {
388
+ once: true,
389
+ });
390
+ const interval = setInterval(() => {
391
+ if (handshakeAbortController.signal.aborted) {
392
+ clearInterval(interval);
393
+ reject(new Error("Handshake aborted"));
394
+ return;
395
+ }
396
+ transport.postMessage(id, {
397
+ tag: "host_handshake_request",
398
+ value: { tag: "v1", value: protocolVersionId },
399
+ });
400
+ }, HANDSHAKE_INTERVAL);
401
+ });
402
+ };
403
+ handshakePromise = Promise.race([
404
+ performHandshake(),
405
+ delay(HANDSHAKE_TIMEOUT).then(() => {
406
+ handshakeAbortController.abort("Timeout");
407
+ throw new Error("Handshake timed out");
408
+ }),
409
+ ]).then(() => {
410
+ changeConnectionStatus("connected");
411
+ }, (err) => {
412
+ changeConnectionStatus("disconnected");
413
+ throw err;
414
+ });
415
+ // Suppress unhandled rejection — callers that care will await whenReady().
416
+ handshakePromise.catch(() => { });
417
+ }
418
+ return transport;
419
+ }
420
+ //# sourceMappingURL=transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../../../src/internal/api-protocol/shared/transport/transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAU9D,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,+CAA+C;AAC/C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAErC,0DAA0D;AAC1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAM,CAAC;AAExC;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,EAAE,aAAa,EAAE,IAAI,EAAW,CAAC;AAE9D,+EAA+E;AAC/E,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,YAAY,MAAc;QACxB,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAyED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,MAAc,EAAE,OAAwC;IAClF,qEAAqE;IACrE,6DAA6D;IAC7D,mCAAmC;IACnC,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;QAC1C,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,CAAC;AACH,CAAC;AA+BD,MAAM,UAAU,eAAe,CAAC,OAA+B;IAC7D,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,GAAG,CAAC,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAE9E,gGAAgG;IAChG,IAAI,YAAY,GAAG,iBAAiB,CAAC;IAErC;;;;;;;OAOG;IACH,SAAS,cAAc,CAAC,OAA6B;QACnD,IACE,OAAO,YAAY,UAAU;YAC7B,CAAC,OAAO,OAAO,KAAK,QAAQ;gBAC1B,OAAO,KAAK,IAAI;gBACf,OAA+C,CAAC,WAAW,EAAE,IAAI,KAAK,YAAY,CAAC,EACtF,CAAC;YACD,OAAO,iBAAiB,CAAC,MAAM,CAAC,OAAqB,CAAC,CAAC;QACzD,CAAC;QAED,IACE,OAAO,OAAO,KAAK,QAAQ;YAC3B,OAAO,KAAK,IAAI;YAChB,WAAW,IAAK,OAAmC,EACnD,CAAC;YACD,gFAAgF;YAChF,YAAY,GAAG,2BAA2B,CAAC;YAC3C,OAAO,OAA0B,CAAC;QACpC,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAEzC,MAAM,wBAAwB,GAAG,IAAI,eAAe,EAAE,CAAC;IAEvD,IAAI,gBAA+B,CAAC;IACpC,IAAI,gBAAgB,GAAqB,cAAc,CAAC;IACxD,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,MAAM,MAAM,GAAG,gBAAgB,EAG3B,CAAC;IAEL,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE;QACtC,gBAAgB,GAAG,KAAK,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,SAAS,sBAAsB,CAAC,MAAwB;QACtD,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS,eAAe;QACtB,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,4EAA4E;IAE5E,MAAM,mBAAmB,GAAsC,IAAI,GAAG,EAAE,CAAC;IAEzE,4EAA4E;IAE5E,6CAA6C;IAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,4EAA4E;IAE5E,MAAM,SAAS,GAAc;QAC3B,gBAAgB,CAAC,OAAqB;YACpC,YAAY,GAAG,OAAO,CAAC;QACzB,CAAC;QAED,0EAA0E;QAE1E,SAAS;YACP,eAAe,EAAE,CAAC;YAClB,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,0EAA0E;QAE1E,KAAK,CAAC,OAAO,CACX,MAAS,EACT,OAA4B,EAC5B,MAAoB;YAEpB,eAAe,EAAE,CAAC;YAClB,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC;YAE5B,MAAM,EAAE,cAAc,EAAE,CAAC;YAEzB,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAEzD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAwB,CAAC;YAElF,MAAM,OAAO,GAAG,GAAS,EAAE;gBACzB,WAAW,EAAE,CAAC;gBACd,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChD,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,GAAS,EAAE;gBACzB,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACzD,CAAC,CAAC;YAEF,MAAM,WAAW,GAAG,SAAS,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;gBACjF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,OAAO,EAAE,CAAC;oBACV,MAAM,CAAC,GAAG,KAAgC,CAAC;oBAC3C,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;wBACzB,MAAM,CAAC,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC9C,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,KAA6B,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAE3D,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAEzE,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,0EAA0E;QAE1E,aAAa,CACX,MAAS,EACT,OAAwE;YAExE,eAAe,EAAE,CAAC;YAElB,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAEzD,OAAO,SAAS,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;gBAClE,KAAK,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC1E,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC3E,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,0EAA0E;QAE1E,SAAS,CACP,MAAS,EACT,OAA0B,EAC1B,QAAgD;YAEhD,eAAe,EAAE,CAAC;YAElB,MAAM,SAAS,GAAG,gBAAgB,EAA6B,CAAC;YAEhE,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YAC1D,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAEjE,IAAI,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAE5D,SAAS,KAAK;gBACZ,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBACrD,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;oBACnE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC3B,mBAAmB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;wBAC5C,GAAG,CAAC,IAAI,EAAE,CAAC;oBACb,CAAC;yBAAM,CAAC;wBACN,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAqB;gBACjC,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,KAAK;aACnB,CAAC;YAEF,MAAM,kBAAkB,GAAiB;gBACvC,WAAW,EAAE,KAAK;gBAClB,WAAW,CAAC,EAAE;oBACZ,OAAO,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACvC,CAAC;aACF,CAAC;YAEF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;gBAE3B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACjD,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC3D,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAEvD,MAAM,kBAAkB,GAAG,SAAS,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;oBACvF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;wBAC7B,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;wBACrD,IAAI,GAAG,EAAE,CAAC;4BACR,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gCAC9B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BAChB,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,MAAM,oBAAoB,GAAG,SAAS,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE;oBACpF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;wBAC7B,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBAC5B,gBAAgB,EAAE,CAAC;oBACrB,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,MAAM,gBAAgB,GAAG,GAAS,EAAE;oBAClC,kBAAkB,EAAE,CAAC;oBACrB,oBAAoB,EAAE,CAAC;oBACvB,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC;gBACxB,CAAC,CAAC;gBAEF,YAAY,GAAG;oBACb,SAAS;oBACT,IAAI,EAAE,GAAG,EAAE;wBACT,gBAAgB,EAAE,CAAC;wBACnB,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC1E,CAAC;oBACD,SAAS,EAAE,CAAC,QAAQ,CAAC;iBACtB,CAAC;gBAEF,mBAAmB,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;gBACvD,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC;YAED,OAAO,kBAAkB,CAAC;QAC5B,CAAC;QAED,0EAA0E;QAE1E,kBAAkB,CAChB,MAAS,EACT,OAIe;YAEf,eAAe,EAAE,CAAC;YAElB,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC3D,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAEvD,MAAM,aAAa,GAA4B,IAAI,GAAG,EAAE,CAAC;YAEzD,MAAM,UAAU,GAAG,SAAS,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;gBAC5E,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;oBAAE,OAAO;gBAEzC,IAAI,WAAW,GAAG,KAAK,CAAC;gBAExB,MAAM,WAAW,GAAG,OAAO,CACzB,KAA0B;gBAC1B,gBAAgB;gBAChB,CAAC,KAAK,EAAE,EAAE;oBACR,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClE,CAAC;gBACD,qBAAqB;gBACrB,GAAG,EAAE;oBACH,WAAW,GAAG,IAAI,CAAC;oBACnB,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAChC,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC/E,CAAC,CACF,CAAC;gBAEF,IAAI,WAAW,EAAE,CAAC;oBAChB,WAAW,EAAE,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,EAAE;gBACnE,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;gBACjC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YAEH,OAAO,GAAG,EAAE;gBACV,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC1C,aAAa,CAAC,KAAK,EAAE,CAAC;gBACtB,UAAU,EAAE,CAAC;gBACb,SAAS,EAAE,CAAC;YACd,CAAC,CAAC;QACJ,CAAC;QAED,yEAAyE;QAEzE,WAAW,CAAC,SAAiB,EAAE,OAA8C;YAC3E,eAAe,EAAE,CAAC;YAElB,MAAM,OAAO,GAAoB,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;YACxD,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7C,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QAED,cAAc,CACZ,MAAoB,EACpB,QAAqD,EACrD,OAAkC;YAElC,+DAA+D;YAC/D,0DAA0D;YAC1D,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACjF,IAAI,eAAe,EAAE,CAAC;gBACpB,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,OAA6B,EAAE,EAAE;gBACvE,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;oBAEvC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;wBAClC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACnD,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;gBACf,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,GAAG,EAAE;gBACV,WAAW,EAAE,CAAC;gBACd,IAAI,eAAe,EAAE,CAAC;oBACpB,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;QAED,0EAA0E;QAE1E,wBAAwB,CAAC,QAA4C;YACnE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAC3B,OAAO,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;QAED,SAAS,CAAC,QAAoB;YAC5B,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;QAED,2EAA2E;QAE3E,OAAO;YACL,QAAQ,GAAG,IAAI,CAAC;YAChB,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,sBAAsB,CAAC,cAAc,CAAC,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;YACnB,wBAAwB,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACvD,CAAC;KACF,CAAC;IAEF,6EAA6E;IAC7E,EAAE;IACF,qEAAqE;IACrE,0DAA0D;IAE1D,QAAQ,CAAC,SAAS,CAAC,CAAC,OAA6B,EAAE,EAAE;QACnD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;YAE/B,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzD,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAiB,CAAC;gBAC1E,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;YAC7F,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9D,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAiB,CAAC;gBAC1E,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAE7E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,qEAAqE;QACrE,8DAA8D;QAC9D,MAAM,EACJ,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,eAAe,EACvB,OAAO,GACR,GAAG,oBAAoB,EAAQ,CAAC;QACjC,gBAAgB,GAAG,OAAO,CAAC;QAE3B,SAAS,CAAC,aAAa,CACrB,gBAAgB,EAChB,KAAK,EAAE,OAAO,EAAgD,EAAE;YAC9D,IAAI,OAAO,CAAC,GAAG,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,iBAAiB,EAAE,CAAC;gBAChE,sBAAsB,CAAC,WAAW,CAAC,CAAC;gBACpC,gBAAgB,EAAE,CAAC;gBACnB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;YACnE,CAAC;YACD,OAAO;gBACL,GAAG,EAAE,IAAI;gBACT,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,4BAA4B,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;aAC1F,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,0DAA0D;QAC1D,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CACxB,eAAe,CAAC,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAC7E,CAAC;QACF,2EAA2E;QAC3E,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,0DAA0D;QAC1D,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAErC,MAAM,gBAAgB,GAAG,GAAkB,EAAE;YAC3C,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;YAEpB,MAAM,OAAO,GAAG,CAAC,QAAwC,EAAE,WAAuB,EAAQ,EAAE;gBAC1F,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACxB,WAAW,EAAE,CAAC;gBACd,wBAAwB,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC5E,CAAC,CAAC;YAEF,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,MAAM,WAAW,GAAG,SAAS,CAAC,cAAc,CAAC,yBAAyB,EAAE,CAAC,UAAU,EAAE,EAAE;oBACrF,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;wBACtB,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;wBAC/B,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,wBAAwB,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE;oBACrE,IAAI,EAAE,IAAI;iBACX,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;oBAChC,IAAI,wBAAwB,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBAC5C,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACxB,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;wBACvC,OAAO;oBACT,CAAC;oBAED,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE;wBACxB,GAAG,EAAE,wBAAwB;wBAC7B,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAE;qBAC/C,CAAC,CAAC;gBACL,CAAC,EAAE,kBAAkB,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;YAC9B,gBAAgB,EAAE;YAClB,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjC,wBAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,CAAC,CAAC;SACH,CAAC,CAAC,IAAI,CACL,GAAG,EAAE;YACH,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;YACN,sBAAsB,CAAC,cAAc,CAAC,CAAC;YACvC,MAAM,GAAG,CAAC;QACZ,CAAC,CACF,CAAC;QACF,2EAA2E;QAC3E,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Window-based provider.
3
+ *
4
+ * Implements the Provider interface targeting a Window reference,
5
+ * using `window.postMessage` for bidirectional communication.
6
+ *
7
+ * Accepts either a direct Window reference or a Promise that resolves
8
+ * to one (e.g. when the iframe hasn't loaded yet). Messages sent before
9
+ * the promise resolves are delivered once the window becomes available.
10
+ */
11
+ import type { Provider } from "./provider.js";
12
+ export declare function createWindowProvider(targetOrPromise: Window | Promise<Window>): Provider;
13
+ //# sourceMappingURL=windowProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windowProvider.d.ts","sourceRoot":"","sources":["../../../../../src/internal/api-protocol/shared/transport/windowProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AA2B9C,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,QAAQ,CA4DxF"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Window-based provider.
3
+ *
4
+ * Implements the Provider interface targeting a Window reference,
5
+ * using `window.postMessage` for bidirectional communication.
6
+ *
7
+ * Accepts either a direct Window reference or a Promise that resolves
8
+ * to one (e.g. when the iframe hasn't loaded yet). Messages sent before
9
+ * the promise resolves are delivered once the window becomes available.
10
+ */
11
+ function isProtocolMessage(data) {
12
+ return (typeof data === "object" &&
13
+ data !== null &&
14
+ "requestId" in data &&
15
+ "payload" in data);
16
+ }
17
+ function isValidMessage(event, sourceWindow, currentWindow) {
18
+ return (sourceWindow !== undefined &&
19
+ event.source !== currentWindow &&
20
+ event.source === sourceWindow &&
21
+ event.data != null &&
22
+ (event.data instanceof Uint8Array ||
23
+ (typeof event.data === "object" && event.data.constructor?.name === "Uint8Array") ||
24
+ isProtocolMessage(event.data)));
25
+ }
26
+ export function createWindowProvider(targetOrPromise) {
27
+ let disposed = false;
28
+ let targetWindow;
29
+ const subscribers = new Set();
30
+ const targetReady = targetOrPromise instanceof Promise ? targetOrPromise : Promise.resolve(targetOrPromise);
31
+ targetReady.then((w) => {
32
+ if (disposed)
33
+ return;
34
+ targetWindow = w;
35
+ });
36
+ function withWindow(fn) {
37
+ if (targetWindow) {
38
+ fn(targetWindow);
39
+ }
40
+ else {
41
+ targetReady.then((w) => {
42
+ if (!disposed)
43
+ fn(w);
44
+ });
45
+ }
46
+ }
47
+ const messageHandler = (event) => {
48
+ if (disposed)
49
+ return;
50
+ if (!isValidMessage(event, targetWindow, window))
51
+ return;
52
+ for (const subscriber of subscribers) {
53
+ subscriber(event.data);
54
+ }
55
+ };
56
+ window.addEventListener("message", messageHandler);
57
+ return {
58
+ postMessage(message) {
59
+ if (disposed)
60
+ return;
61
+ withWindow((w) => {
62
+ if (disposed)
63
+ return;
64
+ if (message instanceof Uint8Array) {
65
+ w.postMessage(message, "*", [message.buffer]);
66
+ }
67
+ else {
68
+ w.postMessage(message, "*");
69
+ }
70
+ });
71
+ },
72
+ subscribe(callback) {
73
+ subscribers.add(callback);
74
+ return () => {
75
+ subscribers.delete(callback);
76
+ };
77
+ },
78
+ dispose() {
79
+ disposed = true;
80
+ subscribers.clear();
81
+ window.removeEventListener("message", messageHandler);
82
+ },
83
+ };
84
+ }
85
+ //# sourceMappingURL=windowProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windowProvider.js","sourceRoot":"","sources":["../../../../../src/internal/api-protocol/shared/transport/windowProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Miscellaneous helper utilities ported from triangle-js-sdks.
3
+ */
4
+ /**
5
+ * Return a promise that resolves after `ttl` milliseconds.
6
+ */
7
+ export declare function delay(ttl: number): Promise<void>;
8
+ /**
9
+ * Ponyfill for `Promise.withResolvers()` (available natively from ES2024).
10
+ */
11
+ export declare function promiseWithResolvers<T>(): {
12
+ promise: Promise<T>;
13
+ resolve: (value: T) => void;
14
+ reject: (reason: unknown) => void;
15
+ };
16
+ /**
17
+ * Build an action string from a method name and a suffix.
18
+ *
19
+ * Example: `composeAction('host_account_get', 'request')` produces
20
+ * `'host_account_get_request'`.
21
+ */
22
+ export declare function composeAction<M extends string, S extends string>(method: M, suffix: S): `${M}_${S}`;
23
+ /**
24
+ * Extract a human-readable message from an unknown thrown value.
25
+ */
26
+ export declare function extractErrorMessage(err: unknown): string;
27
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/internal/api-protocol/shared/util/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,KAAK;IACzC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC,CAQA;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAC9D,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,CAAC,GACR,GAAG,CAAC,IAAI,CAAC,EAAE,CAEb;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAQxD"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Miscellaneous helper utilities ported from triangle-js-sdks.
3
+ */
4
+ /**
5
+ * Return a promise that resolves after `ttl` milliseconds.
6
+ */
7
+ export function delay(ttl) {
8
+ return new Promise((resolve) => setTimeout(resolve, ttl));
9
+ }
10
+ /**
11
+ * Ponyfill for `Promise.withResolvers()` (available natively from ES2024).
12
+ */
13
+ export function promiseWithResolvers() {
14
+ let resolve;
15
+ let reject;
16
+ const promise = new Promise((res, rej) => {
17
+ resolve = res;
18
+ reject = rej;
19
+ });
20
+ return { promise, resolve, reject };
21
+ }
22
+ /**
23
+ * Build an action string from a method name and a suffix.
24
+ *
25
+ * Example: `composeAction('host_account_get', 'request')` produces
26
+ * `'host_account_get_request'`.
27
+ */
28
+ export function composeAction(method, suffix) {
29
+ return `${method}_${suffix}`;
30
+ }
31
+ /**
32
+ * Extract a human-readable message from an unknown thrown value.
33
+ */
34
+ export function extractErrorMessage(err) {
35
+ if (err instanceof Error) {
36
+ return err.message;
37
+ }
38
+ if (err) {
39
+ return String(err);
40
+ }
41
+ return "Unknown error occurred.";
42
+ }
43
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/internal/api-protocol/shared/util/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAKlC,IAAI,OAA4B,CAAC;IACjC,IAAI,MAAkC,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1C,OAAO,GAAG,GAAG,CAAC;QACd,MAAM,GAAG,GAAG,CAAC;IACf,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,MAAS,EACT,MAAS;IAET,OAAO,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IACD,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,yBAAyB,CAAC;AACnC,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Request-ID generation.
3
+ *
4
+ * Each factory has its own independent counter with a prefix
5
+ * (e.g. "h:" for host, "p:" for product) so IDs from both sides
6
+ * never collide on the shared postMessage channel.
7
+ */
8
+ export declare function createIdFactory(prefix: string): () => string;
9
+ //# sourceMappingURL=idFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idFactory.d.ts","sourceRoot":"","sources":["../../../../../src/internal/api-protocol/shared/util/idFactory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,MAAM,CAG5D"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Request-ID generation.
3
+ *
4
+ * Each factory has its own independent counter with a prefix
5
+ * (e.g. "h:" for host, "p:" for product) so IDs from both sides
6
+ * never collide on the shared postMessage channel.
7
+ */
8
+ export function createIdFactory(prefix) {
9
+ let id = 0;
10
+ return () => `${prefix}${++id}`;
11
+ }
12
+ //# sourceMappingURL=idFactory.js.map