@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,53 @@
1
+ /**
2
+ * window.host bridge factory.
3
+ *
4
+ * Creates an HostBridge object that can be assigned to window.host (or any
5
+ * comparable injection point). The bridge translates between the binary
6
+ * adapter API and the string-oriented API that guest apps consume.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import { createWindowHostBridge } from "@polkadot-apps/host-sdk/bridge";
11
+ *
12
+ * window.host = createWindowHostBridge({ adapter, encoding });
13
+ * ```
14
+ */
15
+ import type { CreateWindowHostBridgeOptions, HostBridge } from "./types.js";
16
+ /**
17
+ * Create a HostBridge backed by the given adapter and encoding utilities.
18
+ *
19
+ * The returned object is suitable for assignment to window.host, a webview
20
+ * postMessage bridge, or any injection point that guest apps will call.
21
+ */
22
+ export declare function createWindowHostBridge(options: CreateWindowHostBridgeOptions): HostBridge;
23
+ /**
24
+ * Normalize a .dot domain name into the canonical app ID used for
25
+ * Statement Store namespacing (the `decryption_key` field).
26
+ *
27
+ * All hosts MUST use this function to derive the app ID so that
28
+ * statements published by one host are visible to all others.
29
+ *
30
+ * Rules:
31
+ * - Strip trailing `.dot` suffix (case-insensitive)
32
+ * - Lowercase
33
+ * - Trim whitespace
34
+ *
35
+ * Examples:
36
+ * "voxchat.dot" → "voxchat"
37
+ * "VoxChat.DOT" → "voxchat"
38
+ * "voxchat" → "voxchat"
39
+ * "my-app.dot" → "my-app"
40
+ */
41
+ export declare function normalizeAppId(name: string): string;
42
+ /**
43
+ * Reset module-scoped rate limiter state.
44
+ *
45
+ * @internal Intended for use in tests only. Not part of the public API.
46
+ */
47
+ export declare function __resetRateLimiterForTesting(): void;
48
+ export type { BridgeStatement, BridgeUnsubscribe, BridgeEncodingUtils, HostBridgeAdapter, HostStoreStatus, CreateWindowHostBridgeOptions, StatementEventPayload, HostBridge, } from "./types.js";
49
+ export { HostError, isHostError } from "../errors.js";
50
+ export type { HostErrorCode } from "../errors.js";
51
+ export { BRIDGE_ERROR_CODES, BRIDGE_EVENT_NAMES, BRIDGE_EXPERIMENTAL_SURFACE, BRIDGE_STABLE_SURFACE, BRIDGE_VERSION, DEFAULT_BRIDGE_PROFILE, createBridgeMetadata, } from "./contract.js";
52
+ export type { BridgeErrorCode, BridgeEventName, BridgeExperimentalSurfaceEntry, BridgeProfile, BridgeStableSurfaceEntry, BridgeExtensionCapabilities, BridgeCapabilities, BridgeMetadata, BridgeMetadataOptions, } from "./contract.js";
53
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAGV,6BAA6B,EAC7B,UAAU,EAEX,MAAM,YAAY,CAAC;AAwFpB;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG,UAAU,CA0NzF;AAID;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CAGnD;AAGD,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,6BAA6B,EAC7B,qBAAqB,EACrB,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,qBAAqB,EACrB,cAAc,EACd,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,eAAe,EACf,eAAe,EACf,8BAA8B,EAC9B,aAAa,EACb,wBAAwB,EACxB,2BAA2B,EAC3B,kBAAkB,EAClB,cAAc,EACd,qBAAqB,GACtB,MAAM,eAAe,CAAC"}
@@ -0,0 +1,302 @@
1
+ /**
2
+ * window.host bridge factory.
3
+ *
4
+ * Creates an HostBridge object that can be assigned to window.host (or any
5
+ * comparable injection point). The bridge translates between the binary
6
+ * adapter API and the string-oriented API that guest apps consume.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import { createWindowHostBridge } from "@polkadot-apps/host-sdk/bridge";
11
+ *
12
+ * window.host = createWindowHostBridge({ adapter, encoding });
13
+ * ```
14
+ */
15
+ import { createBridgeMetadata } from "./contract.js";
16
+ import { bridgeDestroyedError, rateLimitError, unsupportedCapabilityError } from "../errors.js";
17
+ // ── Rate limiter ──────────────────────────────────────────────────────────
18
+ //
19
+ // Module-scoped sliding window: state persists across bridge destroy/remount
20
+ // so a malicious product cannot reset counters by cycling the bridge.
21
+ // The signing gate (adapter.sign()) remains the primary control.
22
+ /** Maximum calls allowed in the sliding window. */
23
+ const RATE_LIMIT_MAX_CALLS = 20;
24
+ /** Duration of the sliding window in milliseconds. */
25
+ const RATE_LIMIT_WINDOW_MS = 10000;
26
+ /** Module-scoped timestamps for write() rate limiting. */
27
+ const writeTimes = [];
28
+ /** Module-scoped timestamps for resolveUsername() rate limiting. */
29
+ const resolveUsernameTimes = [];
30
+ // ── Internal helpers ───────────────────────────────────────────────────────
31
+ /**
32
+ * Minimal event emitter backed by a Map of Sets.
33
+ * Listeners for the same event are deduplicated by reference.
34
+ */
35
+ function createEmitter() {
36
+ const listeners = new Map();
37
+ function on(event, cb) {
38
+ let set = listeners.get(event);
39
+ if (!set) {
40
+ set = new Set();
41
+ listeners.set(event, set);
42
+ }
43
+ set.add(cb);
44
+ }
45
+ function off(event, cb) {
46
+ listeners.get(event)?.delete(cb);
47
+ }
48
+ function emit(event, data) {
49
+ const set = listeners.get(event);
50
+ if (!set)
51
+ return;
52
+ for (const cb of set) {
53
+ try {
54
+ cb(data);
55
+ }
56
+ catch (e) {
57
+ console.warn("[host-bridge] listener error:", e);
58
+ }
59
+ }
60
+ }
61
+ function clear() {
62
+ listeners.clear();
63
+ }
64
+ return { on, off, emit, clear };
65
+ }
66
+ /**
67
+ * Encode a Uint8Array to a base64 string using the standard alphabet.
68
+ * Uses TextDecoder-free approach for compatibility with all environments.
69
+ */
70
+ function uint8ArrayToBase64(bytes) {
71
+ let binary = "";
72
+ for (let i = 0; i < bytes.length; i++) {
73
+ binary += String.fromCharCode(bytes[i]);
74
+ }
75
+ return btoa(binary);
76
+ }
77
+ /**
78
+ * Decode a base64 string to a Uint8Array.
79
+ */
80
+ function base64ToUint8Array(b64) {
81
+ const binary = atob(b64);
82
+ const bytes = new Uint8Array(binary.length);
83
+ for (let i = 0; i < binary.length; i++) {
84
+ bytes[i] = binary.charCodeAt(i);
85
+ }
86
+ return bytes;
87
+ }
88
+ // ── Factory ────────────────────────────────────────────────────────────────
89
+ /**
90
+ * Create a HostBridge backed by the given adapter and encoding utilities.
91
+ *
92
+ * The returned object is suitable for assignment to window.host, a webview
93
+ * postMessage bridge, or any injection point that guest apps will call.
94
+ */
95
+ export function createWindowHostBridge(options) {
96
+ const { adapter, encoding } = options;
97
+ const storagePrefix = options.storagePrefix ?? "";
98
+ const bridgeMetadata = createBridgeMetadata(options.metadata, adapter.resolveUsername !== undefined);
99
+ // Channel registry: hex(topic) → original channel string.
100
+ // Allows dispatching incoming statements back to the channel name.
101
+ const channelRegistry = new Map();
102
+ const emitter = createEmitter();
103
+ // Rate limiter state is module-scoped (see top of file) to survive destroy/remount.
104
+ let destroyed = false;
105
+ // ── Statement dispatch ─────────────────────────────────────────────────
106
+ function onStatement(stmt) {
107
+ if (destroyed)
108
+ return;
109
+ // Resolve channel string from the registry. Try channel field first,
110
+ // then fall back to matching any topic against the registry.
111
+ // Statements published via write() typically set topics but not channel.
112
+ let channelString;
113
+ if (stmt.channel && stmt.channel.length > 0) {
114
+ channelString = channelRegistry.get(encoding.hexEncode(stmt.channel));
115
+ }
116
+ if (channelString === undefined) {
117
+ for (const topic of stmt.topics) {
118
+ channelString = channelRegistry.get(encoding.hexEncode(topic));
119
+ if (channelString !== undefined)
120
+ break;
121
+ }
122
+ }
123
+ if (channelString === undefined)
124
+ return;
125
+ const payload = {
126
+ author: stmt.proofPubkey && stmt.proofPubkey.length > 0
127
+ ? encoding.hexEncode(stmt.proofPubkey)
128
+ : undefined,
129
+ channel: channelString,
130
+ data: uint8ArrayToBase64(stmt.data),
131
+ timestampMs: stmt.timestampMs ?? Date.now(),
132
+ };
133
+ emitter.emit("statement", payload);
134
+ }
135
+ // ── Subscription management ────────────────────────────────────────────
136
+ //
137
+ // Each channel gets its own independent adapter subscription with a single
138
+ // topic. Many adapters use matchAll semantics (all listed topics must be
139
+ // present in a statement), so passing multiple topics in one call would
140
+ // only match statements carrying ALL of them - which never happens for
141
+ // independent channels.
142
+ // Maps hex(topic) -> unsubscribe function for that topic's subscription.
143
+ const topicUnsubs = new Map();
144
+ function subscribeToTopic(topic, topicHex) {
145
+ if (destroyed)
146
+ return;
147
+ if (topicUnsubs.has(topicHex))
148
+ return;
149
+ topicUnsubs.set(topicHex, adapter.statements.subscribe([topic], onStatement));
150
+ }
151
+ // ── HostBridge implementation ──────────────────────────────────────────
152
+ const statements = Object.freeze({
153
+ async subscribe(channel) {
154
+ if (destroyed)
155
+ return false;
156
+ const topic = encoding.stringToTopic(channel);
157
+ const topicHex = encoding.hexEncode(topic);
158
+ // Idempotent: skip if this channel is already registered.
159
+ if (channelRegistry.has(topicHex))
160
+ return true;
161
+ channelRegistry.set(topicHex, channel);
162
+ // Each channel gets its own independent subscription.
163
+ subscribeToTopic(topic, topicHex);
164
+ return true;
165
+ },
166
+ async write(channel, data) {
167
+ if (destroyed)
168
+ throw bridgeDestroyedError();
169
+ // Sliding window rate limit check.
170
+ const now = Date.now();
171
+ // Evict timestamps outside the window.
172
+ while (writeTimes.length > 0 && now - writeTimes[0] > RATE_LIMIT_WINDOW_MS) {
173
+ writeTimes.shift();
174
+ }
175
+ if (writeTimes.length >= RATE_LIMIT_MAX_CALLS) {
176
+ throw rateLimitError("writes", RATE_LIMIT_MAX_CALLS, RATE_LIMIT_WINDOW_MS);
177
+ }
178
+ writeTimes.push(now);
179
+ const nowMs = Date.now();
180
+ const nowSecs = Math.floor(nowMs / 1000);
181
+ const dataBytes = base64ToUint8Array(data);
182
+ const channelTopic = encoding.stringToTopic(channel);
183
+ // Channel hash goes into topics[0] for subscription matching.
184
+ // The SCALE channel field (tag 3) is left empty because the node's
185
+ // subscription API filters on topics, not channel.
186
+ const signingPayload = encoding.buildSigningPayload(nowSecs, null, null, 0, channelTopic, dataBytes);
187
+ // sign() rejects if signing is unavailable - propagate directly.
188
+ const { publicKey, signature } = await adapter.sign(signingPayload);
189
+ const assembledBytes = encoding.assembleStatement(signingPayload, publicKey, signature);
190
+ await adapter.statements.submit(assembledBytes);
191
+ return true;
192
+ },
193
+ async status() {
194
+ return adapter.statements.status();
195
+ },
196
+ });
197
+ const storage = Object.freeze({
198
+ async get(key) {
199
+ return adapter.storage.get(storagePrefix + key);
200
+ },
201
+ async set(key, value) {
202
+ await adapter.storage.set(storagePrefix + key, value);
203
+ return true;
204
+ },
205
+ async remove(key) {
206
+ await adapter.storage.remove(storagePrefix + key);
207
+ return true;
208
+ },
209
+ });
210
+ const identity = Object.freeze({
211
+ async resolveUsername(username) {
212
+ if (destroyed)
213
+ throw bridgeDestroyedError();
214
+ if (!adapter.resolveUsername) {
215
+ throw unsupportedCapabilityError("resolveUsername");
216
+ }
217
+ // Sliding window rate limit check.
218
+ const now = Date.now();
219
+ while (resolveUsernameTimes.length > 0 &&
220
+ now - resolveUsernameTimes[0] > RATE_LIMIT_WINDOW_MS) {
221
+ resolveUsernameTimes.shift();
222
+ }
223
+ if (resolveUsernameTimes.length >= RATE_LIMIT_MAX_CALLS) {
224
+ throw rateLimitError("identity lookups", RATE_LIMIT_MAX_CALLS, RATE_LIMIT_WINDOW_MS);
225
+ }
226
+ resolveUsernameTimes.push(now);
227
+ // Normalize to ASCII lowercase before forwarding to adapter,
228
+ // ensuring consistent storage key derivation regardless of adapter implementation.
229
+ const normalized = username.replace(/[A-Z]/g, (c) => String.fromCharCode(c.charCodeAt(0) | 0x20));
230
+ return adapter.resolveUsername(normalized);
231
+ },
232
+ });
233
+ const bridge = {
234
+ __bridge: bridgeMetadata,
235
+ statements,
236
+ storage,
237
+ identity,
238
+ async getAddress() {
239
+ return adapter.getAddress();
240
+ },
241
+ on(event, callback) {
242
+ emitter.on(event, callback);
243
+ },
244
+ off(event, callback) {
245
+ emitter.off(event, callback);
246
+ },
247
+ destroy() {
248
+ if (destroyed)
249
+ return;
250
+ destroyed = true;
251
+ // Clear emitter first to prevent late callbacks from reaching listeners.
252
+ emitter.clear();
253
+ channelRegistry.clear();
254
+ // NOTE: writeTimes and resolveUsernameTimes are intentionally NOT cleared here.
255
+ // They are module-scoped so that rate limit counters survive destroy/remount
256
+ // cycles, preventing a malicious product from bypassing limits by cycling bridges.
257
+ // Unsubscribe each independent topic subscription.
258
+ for (const unsub of topicUnsubs.values()) {
259
+ unsub();
260
+ }
261
+ topicUnsubs.clear();
262
+ },
263
+ };
264
+ return bridge;
265
+ }
266
+ // ── App ID normalization ──────────────────────────────────────────────────
267
+ /**
268
+ * Normalize a .dot domain name into the canonical app ID used for
269
+ * Statement Store namespacing (the `decryption_key` field).
270
+ *
271
+ * All hosts MUST use this function to derive the app ID so that
272
+ * statements published by one host are visible to all others.
273
+ *
274
+ * Rules:
275
+ * - Strip trailing `.dot` suffix (case-insensitive)
276
+ * - Lowercase
277
+ * - Trim whitespace
278
+ *
279
+ * Examples:
280
+ * "voxchat.dot" → "voxchat"
281
+ * "VoxChat.DOT" → "voxchat"
282
+ * "voxchat" → "voxchat"
283
+ * "my-app.dot" → "my-app"
284
+ */
285
+ export function normalizeAppId(name) {
286
+ return name
287
+ .trim()
288
+ .toLowerCase()
289
+ .replace(/\.dot$/i, "");
290
+ }
291
+ /**
292
+ * Reset module-scoped rate limiter state.
293
+ *
294
+ * @internal Intended for use in tests only. Not part of the public API.
295
+ */
296
+ export function __resetRateLimiterForTesting() {
297
+ writeTimes.length = 0;
298
+ resolveUsernameTimes.length = 0;
299
+ }
300
+ export { HostError, isHostError } from "../errors.js";
301
+ export { BRIDGE_ERROR_CODES, BRIDGE_EVENT_NAMES, BRIDGE_EXPERIMENTAL_SURFACE, BRIDGE_STABLE_SURFACE, BRIDGE_VERSION, DEFAULT_BRIDGE_PROFILE, createBridgeMetadata, } from "./contract.js";
302
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Types for the window.host bridge adapter pattern.
3
+ *
4
+ * The bridge sits between a host runtime (which implements HostBridgeAdapter)
5
+ * and a guest web app (which uses HostBridge). It translates between the
6
+ * low-level binary adapter API and the string-oriented API that apps expect.
7
+ */
8
+ import type { HostStoreStatus } from "../types.js";
9
+ import type { BridgeMetadata, BridgeMetadataOptions } from "./contract.js";
10
+ /** A decoded statement as delivered by the adapter's subscribe callback. */
11
+ export interface BridgeStatement {
12
+ proofPubkey: Uint8Array | undefined;
13
+ channel: Uint8Array | undefined;
14
+ topics: Uint8Array[];
15
+ data: Uint8Array;
16
+ priority: number;
17
+ timestampMs?: number;
18
+ }
19
+ /** Cancels an adapter subscription when called. */
20
+ export type BridgeUnsubscribe = () => void;
21
+ /** The host runtime must implement this interface to back a HostBridge. */
22
+ export interface HostBridgeAdapter {
23
+ statements: {
24
+ subscribe(topics: Uint8Array[], onStatement: (stmt: BridgeStatement) => void): BridgeUnsubscribe;
25
+ submit(encodedStatement: Uint8Array): Promise<void>;
26
+ status(): Promise<HostStoreStatus>;
27
+ };
28
+ storage: {
29
+ get(key: string): Promise<string | null>;
30
+ set(key: string, value: string): Promise<void>;
31
+ remove(key: string): Promise<void>;
32
+ };
33
+ getAddress(): Promise<string>;
34
+ sign(payload: Uint8Array): Promise<{
35
+ publicKey: Uint8Array;
36
+ signature: Uint8Array;
37
+ }>;
38
+ /** Optional: resolve a username to an account ID on the People chain. */
39
+ resolveUsername?(username: string): Promise<string | null>;
40
+ }
41
+ export type { HostStoreStatus } from "../types.js";
42
+ export type { StatementEventPayload } from "../events.js";
43
+ /** Pure encoding helpers required by the bridge - no I/O, no side effects. */
44
+ export interface BridgeEncodingUtils {
45
+ /** Hash a string into a 32-byte topic (blake2b-256). */
46
+ stringToTopic(s: string): Uint8Array;
47
+ /** Build the signing payload for a statement (step 1 of 2). */
48
+ buildSigningPayload(nowSecs: number, decryptionKey: Uint8Array | null, channel: Uint8Array | null, priority: number, topicsFlat: Uint8Array, data: Uint8Array): Uint8Array;
49
+ /** Assemble a complete statement from payload + signature (step 2 of 2). */
50
+ assembleStatement(signingPayloadWithHeader: Uint8Array, sr25519Pubkey: Uint8Array, signature: Uint8Array): Uint8Array;
51
+ /** Hex-encode bytes with 0x prefix. */
52
+ hexEncode(bytes: Uint8Array): string;
53
+ }
54
+ /** Options for createWindowHostBridge. */
55
+ export interface CreateWindowHostBridgeOptions {
56
+ adapter: HostBridgeAdapter;
57
+ encoding: BridgeEncodingUtils;
58
+ /** Optional prefix prepended to all storage keys (e.g. "voxchat:"). */
59
+ storagePrefix?: string;
60
+ /** Optional metadata describing the host profile and extension capabilities. */
61
+ metadata?: BridgeMetadataOptions;
62
+ }
63
+ /** The bridge object exposed to the app (assigned to window.host or similar). */
64
+ export interface HostBridge {
65
+ /** Immutable bridge metadata for version/profile/capability feature detection. */
66
+ readonly __bridge: BridgeMetadata;
67
+ statements: {
68
+ /** Register interest in a channel. Topics are accumulated across calls. */
69
+ subscribe(channel: string): Promise<boolean>;
70
+ /** Sign and submit data to a channel. Data must be base64-encoded. */
71
+ write(channel: string, data: string): Promise<boolean>;
72
+ /** Query the health of the underlying statement store. */
73
+ status(): Promise<HostStoreStatus>;
74
+ };
75
+ storage: {
76
+ get(key: string): Promise<string | null>;
77
+ set(key: string, value: string): Promise<boolean>;
78
+ remove(key: string): Promise<boolean>;
79
+ };
80
+ identity: {
81
+ /** Resolve a username to a hex account ID. Throws if not supported. */
82
+ resolveUsername(username: string): Promise<string | null>;
83
+ };
84
+ /** Return the hex-encoded address of the current account. */
85
+ getAddress(): Promise<string>;
86
+ /** Register an event listener. */
87
+ on(event: string, callback: (data: unknown) => void): void;
88
+ /** Remove an event listener. */
89
+ off(event: string, callback: (data: unknown) => void): void;
90
+ /** Tear down the bridge: unsubscribe from adapter, clear state. */
91
+ destroy(): void;
92
+ }
93
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/bridge/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Types for the window.host bridge adapter pattern.
3
+ *
4
+ * The bridge sits between a host runtime (which implements HostBridgeAdapter)
5
+ * and a guest web app (which uses HostBridge). It translates between the
6
+ * low-level binary adapter API and the string-oriented API that apps expect.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/bridge/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}