@iota-uz/sdk 0.4.43 → 0.5.0

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 (406) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -142
  3. package/dist/client-host/applet.d.ts +52 -0
  4. package/dist/client-host/applet.d.ts.map +1 -0
  5. package/dist/client-host/applet.js +24 -0
  6. package/dist/client-host/cache.d.ts +15 -0
  7. package/dist/client-host/cache.d.ts.map +1 -0
  8. package/dist/client-host/cache.js +27 -0
  9. package/dist/client-host/errors.d.ts +16 -0
  10. package/dist/client-host/errors.d.ts.map +1 -0
  11. package/dist/client-host/errors.js +45 -0
  12. package/dist/client-host/identity.d.ts +21 -0
  13. package/dist/client-host/identity.d.ts.map +1 -0
  14. package/dist/client-host/identity.js +28 -0
  15. package/dist/client-host/index.d.ts +11 -0
  16. package/dist/client-host/index.d.ts.map +1 -0
  17. package/dist/client-host/index.js +10 -0
  18. package/dist/client-host/portals.d.ts +30 -0
  19. package/dist/client-host/portals.d.ts.map +1 -0
  20. package/dist/client-host/portals.js +149 -0
  21. package/dist/client-host/protocol.d.ts +2 -0
  22. package/dist/client-host/protocol.d.ts.map +1 -0
  23. package/dist/client-host/protocol.js +2 -0
  24. package/dist/client-host/route.d.ts +29 -0
  25. package/dist/client-host/route.d.ts.map +1 -0
  26. package/dist/client-host/route.js +32 -0
  27. package/dist/client-host/rpc.d.ts +46 -0
  28. package/dist/client-host/rpc.d.ts.map +1 -0
  29. package/dist/client-host/rpc.js +90 -0
  30. package/dist/client-host/streaming.d.ts +43 -0
  31. package/dist/client-host/streaming.d.ts.map +1 -0
  32. package/dist/client-host/streaming.js +141 -0
  33. package/dist/client-host/transport.d.ts +26 -0
  34. package/dist/client-host/transport.d.ts.map +1 -0
  35. package/dist/client-host/transport.js +53 -0
  36. package/dist/lens/CascadePanel-DqOZFdR-.js +512 -0
  37. package/dist/lens/ChartDataEquivalent-BFDdHoQn.js +52 -0
  38. package/dist/lens/ChartHost-Bl2lxIqU.js +68 -0
  39. package/dist/lens/ChartPanel-CTIp_4YE.js +720 -0
  40. package/dist/lens/CoveragePanel-DZZWkjSv.js +131 -0
  41. package/dist/lens/DashboardPanels.d.ts +36 -0
  42. package/dist/lens/DashboardPanels.d.ts.map +1 -0
  43. package/dist/lens/GaugePanel-BcNdd_Wj.js +43 -0
  44. package/dist/lens/LensDashboard.d.ts +21 -0
  45. package/dist/lens/LensDashboard.d.ts.map +1 -0
  46. package/dist/lens/MapPanel-6sI_Ei9L.js +178 -0
  47. package/dist/lens/MetricFlowPanel-LzqevSPs.js +70 -0
  48. package/dist/lens/MetricHierarchyPanel-h6tJqRPg.js +72 -0
  49. package/dist/lens/MetricRelationshipPanel-CgckUvvJ.js +54 -0
  50. package/dist/lens/PrintReport-DJv4Rm_U.js +1351 -0
  51. package/dist/lens/TablePanel-Dh6bXlwM.js +619 -0
  52. package/dist/lens/adapter-zBDC8hbZ.js +29093 -0
  53. package/dist/lens/breakpoints.d.ts +37 -0
  54. package/dist/lens/breakpoints.d.ts.map +1 -0
  55. package/dist/lens/charts/adapter.d.ts +157 -0
  56. package/dist/lens/charts/adapter.d.ts.map +1 -0
  57. package/dist/lens/charts/echarts/adapter.d.ts +9 -0
  58. package/dist/lens/charts/echarts/adapter.d.ts.map +1 -0
  59. package/dist/lens/charts/echarts/distributions.d.ts +9 -0
  60. package/dist/lens/charts/echarts/distributions.d.ts.map +1 -0
  61. package/dist/lens/charts/echarts/events.d.ts +7 -0
  62. package/dist/lens/charts/echarts/events.d.ts.map +1 -0
  63. package/dist/lens/charts/echarts/options.d.ts +163 -0
  64. package/dist/lens/charts/echarts/options.d.ts.map +1 -0
  65. package/dist/lens/charts/echarts/theme.d.ts +49 -0
  66. package/dist/lens/charts/echarts/theme.d.ts.map +1 -0
  67. package/dist/lens/charts/echarts/tooltip.d.ts +79 -0
  68. package/dist/lens/charts/echarts/tooltip.d.ts.map +1 -0
  69. package/dist/lens/charts/index.d.ts +9 -0
  70. package/dist/lens/charts/index.d.ts.map +1 -0
  71. package/dist/lens/charts/keys.d.ts +8 -0
  72. package/dist/lens/charts/keys.d.ts.map +1 -0
  73. package/dist/lens/charts/overlays.d.ts +134 -0
  74. package/dist/lens/charts/overlays.d.ts.map +1 -0
  75. package/dist/lens/charts/palette.d.ts +54 -0
  76. package/dist/lens/charts/palette.d.ts.map +1 -0
  77. package/dist/lens/charts/scales.d.ts +26 -0
  78. package/dist/lens/charts/scales.d.ts.map +1 -0
  79. package/dist/lens/charts/shares.d.ts +44 -0
  80. package/dist/lens/charts/shares.d.ts.map +1 -0
  81. package/dist/lens/charts/text.d.ts +23 -0
  82. package/dist/lens/charts/text.d.ts.map +1 -0
  83. package/dist/lens/contract/index.d.ts +4 -0
  84. package/dist/lens/contract/index.d.ts.map +1 -0
  85. package/dist/lens/contract/palette.d.ts +13 -0
  86. package/dist/lens/contract/palette.d.ts.map +1 -0
  87. package/dist/lens/contract/schemas.d.ts +132 -0
  88. package/dist/lens/contract/schemas.d.ts.map +1 -0
  89. package/dist/lens/contract/types.d.ts +788 -0
  90. package/dist/lens/contract/types.d.ts.map +1 -0
  91. package/dist/lens/controls/Calendar.d.ts +24 -0
  92. package/dist/lens/controls/Calendar.d.ts.map +1 -0
  93. package/dist/lens/controls/CompareFilterControl.d.ts +23 -0
  94. package/dist/lens/controls/CompareFilterControl.d.ts.map +1 -0
  95. package/dist/lens/controls/FacetFilterMenu.d.ts +29 -0
  96. package/dist/lens/controls/FacetFilterMenu.d.ts.map +1 -0
  97. package/dist/lens/controls/FilterBar.d.ts +30 -0
  98. package/dist/lens/controls/FilterBar.d.ts.map +1 -0
  99. package/dist/lens/controls/PeriodFilterControl.d.ts +50 -0
  100. package/dist/lens/controls/PeriodFilterControl.d.ts.map +1 -0
  101. package/dist/lens/controls/SegmentedFilterControl.d.ts +22 -0
  102. package/dist/lens/controls/SegmentedFilterControl.d.ts.map +1 -0
  103. package/dist/lens/controls/facetOptions.d.ts +33 -0
  104. package/dist/lens/controls/facetOptions.d.ts.map +1 -0
  105. package/dist/lens/controls/index.d.ts +6 -0
  106. package/dist/lens/controls/index.d.ts.map +1 -0
  107. package/dist/lens/controls/model.d.ts +181 -0
  108. package/dist/lens/controls/model.d.ts.map +1 -0
  109. package/dist/lens/drillPrefetch-Bs-6Oyxa.js +68 -0
  110. package/dist/lens/element.d.ts +12 -0
  111. package/dist/lens/element.d.ts.map +1 -0
  112. package/dist/lens/explore/ContextMiniChart.d.ts +18 -0
  113. package/dist/lens/explore/ContextMiniChart.d.ts.map +1 -0
  114. package/dist/lens/explore/DrillOverlay.d.ts +66 -0
  115. package/dist/lens/explore/DrillOverlay.d.ts.map +1 -0
  116. package/dist/lens/explore/ExplorePanel.d.ts +8 -0
  117. package/dist/lens/explore/ExplorePanel.d.ts.map +1 -0
  118. package/dist/lens/explore/FocusContextHeader.d.ts +20 -0
  119. package/dist/lens/explore/FocusContextHeader.d.ts.map +1 -0
  120. package/dist/lens/explore/LensSelector.d.ts +17 -0
  121. package/dist/lens/explore/LensSelector.d.ts.map +1 -0
  122. package/dist/lens/explore/SourceDataDisclosure.d.ts +15 -0
  123. package/dist/lens/explore/SourceDataDisclosure.d.ts.map +1 -0
  124. package/dist/lens/explore/actions.d.ts +22 -0
  125. package/dist/lens/explore/actions.d.ts.map +1 -0
  126. package/dist/lens/explore/focusModel.d.ts +55 -0
  127. package/dist/lens/explore/focusModel.d.ts.map +1 -0
  128. package/dist/lens/explore/index.d.ts +9 -0
  129. package/dist/lens/explore/index.d.ts.map +1 -0
  130. package/dist/lens/explore/model.d.ts +59 -0
  131. package/dist/lens/explore/model.d.ts.map +1 -0
  132. package/dist/lens/export-B0U20F4u.js +57 -0
  133. package/dist/lens/icons.d.ts +103 -0
  134. package/dist/lens/icons.d.ts.map +1 -0
  135. package/dist/lens/idlePrefetch-Bi4Wk1uR.js +80 -0
  136. package/dist/lens/index-C45DAO6w.js +10883 -0
  137. package/dist/lens/index-CspKnSQn.js +11 -0
  138. package/dist/lens/index.d.ts +7 -0
  139. package/dist/lens/index.d.ts.map +1 -0
  140. package/dist/lens/index.js +17 -0
  141. package/dist/lens/install-3GLgv_LN.js +2028 -0
  142. package/dist/lens/install-B5oSx3pv.js +233 -0
  143. package/dist/lens/install-DT0AQkUj.js +1490 -0
  144. package/dist/lens/install-DyXK20dR.js +307 -0
  145. package/dist/lens/keys-DenV5HsJ.js +12 -0
  146. package/dist/lens/listSearch.d.ts +12 -0
  147. package/dist/lens/listSearch.d.ts.map +1 -0
  148. package/dist/lens/metricViews-QvoFHVdh.js +170 -0
  149. package/dist/lens/panels/CascadePanel.d.ts +138 -0
  150. package/dist/lens/panels/CascadePanel.d.ts.map +1 -0
  151. package/dist/lens/panels/ChartDataEquivalent.d.ts +23 -0
  152. package/dist/lens/panels/ChartDataEquivalent.d.ts.map +1 -0
  153. package/dist/lens/panels/ChartHost.d.ts +14 -0
  154. package/dist/lens/panels/ChartHost.d.ts.map +1 -0
  155. package/dist/lens/panels/ChartPanel.d.ts +29 -0
  156. package/dist/lens/panels/ChartPanel.d.ts.map +1 -0
  157. package/dist/lens/panels/CopyValueButton.d.ts +15 -0
  158. package/dist/lens/panels/CopyValueButton.d.ts.map +1 -0
  159. package/dist/lens/panels/CoveragePanel.d.ts +17 -0
  160. package/dist/lens/panels/CoveragePanel.d.ts.map +1 -0
  161. package/dist/lens/panels/ExportMenu.d.ts +12 -0
  162. package/dist/lens/panels/ExportMenu.d.ts.map +1 -0
  163. package/dist/lens/panels/GaugePanel.d.ts +6 -0
  164. package/dist/lens/panels/GaugePanel.d.ts.map +1 -0
  165. package/dist/lens/panels/InfoTip.d.ts +50 -0
  166. package/dist/lens/panels/InfoTip.d.ts.map +1 -0
  167. package/dist/lens/panels/MapPanel.d.ts +17 -0
  168. package/dist/lens/panels/MapPanel.d.ts.map +1 -0
  169. package/dist/lens/panels/MetricFlowPanel.d.ts +6 -0
  170. package/dist/lens/panels/MetricFlowPanel.d.ts.map +1 -0
  171. package/dist/lens/panels/MetricHierarchyPanel.d.ts +6 -0
  172. package/dist/lens/panels/MetricHierarchyPanel.d.ts.map +1 -0
  173. package/dist/lens/panels/MetricRelationshipPanel.d.ts +14 -0
  174. package/dist/lens/panels/MetricRelationshipPanel.d.ts.map +1 -0
  175. package/dist/lens/panels/PanelExportMenu.d.ts +5 -0
  176. package/dist/lens/panels/PanelExportMenu.d.ts.map +1 -0
  177. package/dist/lens/panels/PanelFrame.d.ts +42 -0
  178. package/dist/lens/panels/PanelFrame.d.ts.map +1 -0
  179. package/dist/lens/panels/PanelOverlay.d.ts +19 -0
  180. package/dist/lens/panels/PanelOverlay.d.ts.map +1 -0
  181. package/dist/lens/panels/QualityChip.d.ts +51 -0
  182. package/dist/lens/panels/QualityChip.d.ts.map +1 -0
  183. package/dist/lens/panels/ShareSliceButton.d.ts +3 -0
  184. package/dist/lens/panels/ShareSliceButton.d.ts.map +1 -0
  185. package/dist/lens/panels/Skeleton.d.ts +67 -0
  186. package/dist/lens/panels/Skeleton.d.ts.map +1 -0
  187. package/dist/lens/panels/StatPanel.d.ts +52 -0
  188. package/dist/lens/panels/StatPanel.d.ts.map +1 -0
  189. package/dist/lens/panels/StatValueTicker.d.ts +27 -0
  190. package/dist/lens/panels/StatValueTicker.d.ts.map +1 -0
  191. package/dist/lens/panels/TablePanel.d.ts +19 -0
  192. package/dist/lens/panels/TablePanel.d.ts.map +1 -0
  193. package/dist/lens/panels/WaterfallPlot.d.ts +51 -0
  194. package/dist/lens/panels/WaterfallPlot.d.ts.map +1 -0
  195. package/dist/lens/panels/actions.d.ts +75 -0
  196. package/dist/lens/panels/actions.d.ts.map +1 -0
  197. package/dist/lens/panels/context.d.ts +32 -0
  198. package/dist/lens/panels/context.d.ts.map +1 -0
  199. package/dist/lens/panels/data.d.ts +95 -0
  200. package/dist/lens/panels/data.d.ts.map +1 -0
  201. package/dist/lens/panels/kinds.d.ts +4 -0
  202. package/dist/lens/panels/kinds.d.ts.map +1 -0
  203. package/dist/lens/panels/metricViews.d.ts +79 -0
  204. package/dist/lens/panels/metricViews.d.ts.map +1 -0
  205. package/dist/lens/panels/registry.d.ts +45 -0
  206. package/dist/lens/panels/registry.d.ts.map +1 -0
  207. package/dist/lens/panels/useIsClamped.d.ts +16 -0
  208. package/dist/lens/panels/useIsClamped.d.ts.map +1 -0
  209. package/dist/lens/panels/useMenuButton.d.ts +68 -0
  210. package/dist/lens/panels/useMenuButton.d.ts.map +1 -0
  211. package/dist/lens/prefetch-Dov5CBoH.js +74 -0
  212. package/dist/lens/prefetchPanels-B7bIY0bM.js +31 -0
  213. package/dist/lens/print/PrintReport.d.ts +12 -0
  214. package/dist/lens/print/PrintReport.d.ts.map +1 -0
  215. package/dist/lens/print/footnotes.d.ts +29 -0
  216. package/dist/lens/print/footnotes.d.ts.map +1 -0
  217. package/dist/lens/print/formula.d.ts +9 -0
  218. package/dist/lens/print/formula.d.ts.map +1 -0
  219. package/dist/lens/print/narrative.d.ts +41 -0
  220. package/dist/lens/print/narrative.d.ts.map +1 -0
  221. package/dist/lens/print/outline.d.ts +94 -0
  222. package/dist/lens/print/outline.d.ts.map +1 -0
  223. package/dist/lens/print/palette.d.ts +23 -0
  224. package/dist/lens/print/palette.d.ts.map +1 -0
  225. package/dist/lens/print/quality.d.ts +32 -0
  226. package/dist/lens/print/quality.d.ts.map +1 -0
  227. package/dist/lens/print/units.d.ts +23 -0
  228. package/dist/lens/print/units.d.ts.map +1 -0
  229. package/dist/lens/print/values.d.ts +28 -0
  230. package/dist/lens/print/values.d.ts.map +1 -0
  231. package/dist/lens/print-CwcB0fug.js +216 -0
  232. package/dist/lens/runtime/clipboard.d.ts +11 -0
  233. package/dist/lens/runtime/clipboard.d.ts.map +1 -0
  234. package/dist/lens/runtime/document.d.ts +9 -0
  235. package/dist/lens/runtime/document.d.ts.map +1 -0
  236. package/dist/lens/runtime/drawer.d.ts +21 -0
  237. package/dist/lens/runtime/drawer.d.ts.map +1 -0
  238. package/dist/lens/runtime/drill.d.ts +54 -0
  239. package/dist/lens/runtime/drill.d.ts.map +1 -0
  240. package/dist/lens/runtime/drillPrefetch.d.ts +22 -0
  241. package/dist/lens/runtime/drillPrefetch.d.ts.map +1 -0
  242. package/dist/lens/runtime/export.d.ts +21 -0
  243. package/dist/lens/runtime/export.d.ts.map +1 -0
  244. package/dist/lens/runtime/filters.d.ts +51 -0
  245. package/dist/lens/runtime/filters.d.ts.map +1 -0
  246. package/dist/lens/runtime/focusTrap.d.ts +4 -0
  247. package/dist/lens/runtime/focusTrap.d.ts.map +1 -0
  248. package/dist/lens/runtime/format.d.ts +81 -0
  249. package/dist/lens/runtime/format.d.ts.map +1 -0
  250. package/dist/lens/runtime/idlePrefetch.d.ts +35 -0
  251. package/dist/lens/runtime/idlePrefetch.d.ts.map +1 -0
  252. package/dist/lens/runtime/index.d.ts +15 -0
  253. package/dist/lens/runtime/index.d.ts.map +1 -0
  254. package/dist/lens/runtime/navigate.d.ts +12 -0
  255. package/dist/lens/runtime/navigate.d.ts.map +1 -0
  256. package/dist/lens/runtime/navigation.d.ts +77 -0
  257. package/dist/lens/runtime/navigation.d.ts.map +1 -0
  258. package/dist/lens/runtime/overlayContainer.d.ts +24 -0
  259. package/dist/lens/runtime/overlayContainer.d.ts.map +1 -0
  260. package/dist/lens/runtime/panel.d.ts +47 -0
  261. package/dist/lens/runtime/panel.d.ts.map +1 -0
  262. package/dist/lens/runtime/panelImage.d.ts +28 -0
  263. package/dist/lens/runtime/panelImage.d.ts.map +1 -0
  264. package/dist/lens/runtime/prefetch.d.ts +48 -0
  265. package/dist/lens/runtime/prefetch.d.ts.map +1 -0
  266. package/dist/lens/runtime/prefetchPanels.d.ts +17 -0
  267. package/dist/lens/runtime/prefetchPanels.d.ts.map +1 -0
  268. package/dist/lens/runtime/print.d.ts +50 -0
  269. package/dist/lens/runtime/print.d.ts.map +1 -0
  270. package/dist/lens/runtime/provider.d.ts +195 -0
  271. package/dist/lens/runtime/provider.d.ts.map +1 -0
  272. package/dist/lens/runtime/query.d.ts +32 -0
  273. package/dist/lens/runtime/query.d.ts.map +1 -0
  274. package/dist/lens/runtime/recovery.d.ts +26 -0
  275. package/dist/lens/runtime/recovery.d.ts.map +1 -0
  276. package/dist/lens/runtime/snapshotLease.d.ts +2 -0
  277. package/dist/lens/runtime/snapshotLease.d.ts.map +1 -0
  278. package/dist/lens/runtime/theme.d.ts +4 -0
  279. package/dist/lens/runtime/theme.d.ts.map +1 -0
  280. package/dist/lens/runtime/url.d.ts +23 -0
  281. package/dist/lens/runtime/url.d.ts.map +1 -0
  282. package/dist/lens/scales-DKkoQGtJ.js +195 -0
  283. package/dist/lens/snapshotLease-LjBaqKs-.js +14 -0
  284. package/dist/lens/style.css +1 -0
  285. package/dist/lens/visualRegression.d.ts +2 -0
  286. package/dist/lens/visualRegression.d.ts.map +1 -0
  287. package/dist/sdk-identity.cjs +6 -0
  288. package/dist/sdk-identity.d.ts +4 -0
  289. package/dist/sdk-identity.js +4 -0
  290. package/dist/sdk-identity.json +5 -0
  291. package/package.json +22 -123
  292. package/assets/fonts/Actay/Actay-Regular.otf +0 -0
  293. package/assets/fonts/Actay/Actay-RegularItalic.otf +0 -0
  294. package/assets/fonts/Actay/ActayCondensed-Thin.otf +0 -0
  295. package/assets/fonts/Actay/ActayCondensed-ThinItalic.otf +0 -0
  296. package/assets/fonts/Actay/ActayWide-Bold.otf +0 -0
  297. package/assets/fonts/Actay/ActayWide-BoldItalic.otf +0 -0
  298. package/assets/fonts/Gilroy/Gilroy-Black.woff2 +0 -0
  299. package/assets/fonts/Gilroy/Gilroy-BlackItalic.woff2 +0 -0
  300. package/assets/fonts/Gilroy/Gilroy-Bold.woff2 +0 -0
  301. package/assets/fonts/Gilroy/Gilroy-BoldItalic.woff2 +0 -0
  302. package/assets/fonts/Gilroy/Gilroy-Extrabold.woff2 +0 -0
  303. package/assets/fonts/Gilroy/Gilroy-ExtraboldItalic.woff2 +0 -0
  304. package/assets/fonts/Gilroy/Gilroy-Heavy.woff2 +0 -0
  305. package/assets/fonts/Gilroy/Gilroy-HeavyItalic.woff2 +0 -0
  306. package/assets/fonts/Gilroy/Gilroy-Light.woff2 +0 -0
  307. package/assets/fonts/Gilroy/Gilroy-LightItalic.woff2 +0 -0
  308. package/assets/fonts/Gilroy/Gilroy-Medium.woff2 +0 -0
  309. package/assets/fonts/Gilroy/Gilroy-MediumItalic.woff2 +0 -0
  310. package/assets/fonts/Gilroy/Gilroy-Regular.woff2 +0 -0
  311. package/assets/fonts/Gilroy/Gilroy-RegularItalic.woff2 +0 -0
  312. package/assets/fonts/Gilroy/Gilroy-Semibold.woff2 +0 -0
  313. package/assets/fonts/Gilroy/Gilroy-SemiboldItalic.woff2 +0 -0
  314. package/assets/fonts/Gilroy/Gilroy-Thin.woff2 +0 -0
  315. package/assets/fonts/Gilroy/Gilroy-ThinItalic.woff2 +0 -0
  316. package/assets/fonts/Gilroy/Gilroy-UltraLight.woff2 +0 -0
  317. package/assets/fonts/Gilroy/Gilroy-UltraLightItalic.woff2 +0 -0
  318. package/assets/fonts/Inter.var.woff2 +0 -0
  319. package/dist/applet/core.cjs +0 -412
  320. package/dist/applet/core.cjs.map +0 -1
  321. package/dist/applet/core.d.cts +0 -187
  322. package/dist/applet/core.d.ts +0 -187
  323. package/dist/applet/core.mjs +0 -396
  324. package/dist/applet/core.mjs.map +0 -1
  325. package/dist/applet/devtools.cjs +0 -147
  326. package/dist/applet/devtools.cjs.map +0 -1
  327. package/dist/applet/devtools.d.cts +0 -7
  328. package/dist/applet/devtools.d.ts +0 -7
  329. package/dist/applet/devtools.mjs +0 -144
  330. package/dist/applet/devtools.mjs.map +0 -1
  331. package/dist/applet/host.cjs +0 -397
  332. package/dist/applet/host.cjs.map +0 -1
  333. package/dist/applet/host.d.cts +0 -42
  334. package/dist/applet/host.d.ts +0 -42
  335. package/dist/applet/host.mjs +0 -392
  336. package/dist/applet/host.mjs.map +0 -1
  337. package/dist/applet/vite.cjs +0 -219
  338. package/dist/applet/vite.cjs.map +0 -1
  339. package/dist/applet/vite.d.cts +0 -99
  340. package/dist/applet/vite.d.ts +0 -99
  341. package/dist/applet/vite.mjs +0 -203
  342. package/dist/applet/vite.mjs.map +0 -1
  343. package/dist/applet-runtime/index.cjs +0 -890
  344. package/dist/applet-runtime/index.cjs.map +0 -1
  345. package/dist/applet-runtime/index.d.cts +0 -191
  346. package/dist/applet-runtime/index.d.ts +0 -191
  347. package/dist/applet-runtime/index.mjs +0 -876
  348. package/dist/applet-runtime/index.mjs.map +0 -1
  349. package/dist/bichat/index.cjs +0 -20774
  350. package/dist/bichat/index.cjs.map +0 -1
  351. package/dist/bichat/index.css +0 -618
  352. package/dist/bichat/index.css.map +0 -1
  353. package/dist/bichat/index.d.cts +0 -4515
  354. package/dist/bichat/index.d.ts +0 -4515
  355. package/dist/bichat/index.mjs +0 -20602
  356. package/dist/bichat/index.mjs.map +0 -1
  357. package/dist/bichat/styles.css +0 -774
  358. package/dist/bichat/tailwind.cjs +0 -103
  359. package/dist/bichat/tailwind.cjs.map +0 -1
  360. package/dist/bichat/tailwind.d.cts +0 -21
  361. package/dist/bichat/tailwind.d.ts +0 -21
  362. package/dist/bichat/tailwind.mjs +0 -95
  363. package/dist/bichat/tailwind.mjs.map +0 -1
  364. package/dist/fonts/Actay/Actay-Regular.otf +0 -0
  365. package/dist/fonts/Actay/Actay-RegularItalic.otf +0 -0
  366. package/dist/fonts/Actay/ActayCondensed-Thin.otf +0 -0
  367. package/dist/fonts/Actay/ActayCondensed-ThinItalic.otf +0 -0
  368. package/dist/fonts/Actay/ActayWide-Bold.otf +0 -0
  369. package/dist/fonts/Actay/ActayWide-BoldItalic.otf +0 -0
  370. package/dist/fonts/Gilroy/Gilroy-Black.woff2 +0 -0
  371. package/dist/fonts/Gilroy/Gilroy-BlackItalic.woff2 +0 -0
  372. package/dist/fonts/Gilroy/Gilroy-Bold.woff2 +0 -0
  373. package/dist/fonts/Gilroy/Gilroy-BoldItalic.woff2 +0 -0
  374. package/dist/fonts/Gilroy/Gilroy-Extrabold.woff2 +0 -0
  375. package/dist/fonts/Gilroy/Gilroy-ExtraboldItalic.woff2 +0 -0
  376. package/dist/fonts/Gilroy/Gilroy-Heavy.woff2 +0 -0
  377. package/dist/fonts/Gilroy/Gilroy-HeavyItalic.woff2 +0 -0
  378. package/dist/fonts/Gilroy/Gilroy-Light.woff2 +0 -0
  379. package/dist/fonts/Gilroy/Gilroy-LightItalic.woff2 +0 -0
  380. package/dist/fonts/Gilroy/Gilroy-Medium.woff2 +0 -0
  381. package/dist/fonts/Gilroy/Gilroy-MediumItalic.woff2 +0 -0
  382. package/dist/fonts/Gilroy/Gilroy-Regular.woff2 +0 -0
  383. package/dist/fonts/Gilroy/Gilroy-RegularItalic.woff2 +0 -0
  384. package/dist/fonts/Gilroy/Gilroy-Semibold.woff2 +0 -0
  385. package/dist/fonts/Gilroy/Gilroy-SemiboldItalic.woff2 +0 -0
  386. package/dist/fonts/Gilroy/Gilroy-Thin.woff2 +0 -0
  387. package/dist/fonts/Gilroy/Gilroy-ThinItalic.woff2 +0 -0
  388. package/dist/fonts/Gilroy/Gilroy-UltraLight.woff2 +0 -0
  389. package/dist/fonts/Gilroy/Gilroy-UltraLightItalic.woff2 +0 -0
  390. package/dist/fonts/Inter.var.woff2 +0 -0
  391. package/dist/index-Cs_xWkhC.d.cts +0 -84
  392. package/dist/index-Cs_xWkhC.d.ts +0 -84
  393. package/dist/index.cjs +0 -777
  394. package/dist/index.cjs.map +0 -1
  395. package/dist/index.d.cts +0 -7
  396. package/dist/index.d.ts +0 -7
  397. package/dist/index.mjs +0 -755
  398. package/dist/index.mjs.map +0 -1
  399. package/dist/rpc-fh942_dj.d.cts +0 -31
  400. package/dist/rpc-fh942_dj.d.ts +0 -31
  401. package/tailwind/compiled.css +0 -2
  402. package/tailwind/create-config.cjs +0 -90
  403. package/tailwind/iota.css +0 -1195
  404. package/tailwind/main.css +0 -2
  405. package/tailwind/sdk-content.cjs +0 -177
  406. package/tailwind/sdk-theme.cjs +0 -120
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) IOTA
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,145 +1,14 @@
1
- # Applets
1
+ # @iota-uz/sdk
2
2
 
3
- Go library and CLI for the applet framework, plus the **@iota-uz/sdk** npm package (applet context, host, UI components, Tailwind helpers). Consumed by [iota-sdk](https://github.com/iota-uz/iota-sdk) and EAI to build and run applets (e.g. BiChat).
3
+ This is the single public JavaScript distribution for iota-sdk. Its bounded
4
+ subpath APIs are built from separate internal workspace modules:
4
5
 
5
- Full architecture and development guides live in [iota-sdk docs](https://github.com/iota-uz/iota-sdk).
6
+ - `@iota-uz/sdk/client-host`
7
+ - `@iota-uz/sdk/lens`
8
+ - `@iota-uz/sdk/lens/styles.css`
9
+ - `@iota-uz/sdk/identity`
6
10
 
7
- ---
8
-
9
- ## Go
10
-
11
- Add the module to your project:
12
-
13
- ```bash
14
- go get github.com/iota-uz/applets@latest
15
- ```
16
-
17
- Import the public API from the root package:
18
-
19
- ```go
20
- import "github.com/iota-uz/applets"
21
- ```
22
-
23
- Use `Registry`, `Controller`, RPC types, context helpers, and options as needed. For local development with a clone of this repo, use a [Go workspace](https://go.dev/ref/mod#workspaces) in your project with `use` pointing at the applets directory.
24
-
25
- ---
26
-
27
- ## NPM
28
-
29
- Install the SDK in your applet frontend (e.g. Vite/React):
30
-
31
- ```bash
32
- pnpm add @iota-uz/sdk
33
- ```
34
-
35
- Use applet context, host utilities, BiChat UI components, and Tailwind configuration from the package.
36
-
37
- ---
38
-
39
- ## Applet CLI
40
-
41
- Install the CLI (ensure `$GOBIN` is on your PATH):
42
-
43
- ```bash
44
- go install github.com/iota-uz/applets/cmd/applet@latest
45
- ```
46
-
47
- From a repo that contains an applet (e.g. iota-sdk or EAI):
48
-
49
- ```bash
50
- applet doctor # environment and config diagnostics
51
- applet rpc gen --name <applet-name>
52
- applet rpc check --name <applet-name>
53
- applet rpc watch --name <applet-name>
54
- applet deps check
55
- applet check # deps + RPC drift for all applets
56
- applet schema export --name <applet>
57
- applet dev # start dev environment (all configured applets)
58
- applet dev --sdk-root ../../applets
59
- applet dev --rpc-watch # include RPC codegen watch during dev
60
- applet build [name] # build production bundle
61
- applet list # list configured applets
62
- applet secrets set --name <applet> --key OPENAI_API_KEY --value ...
63
- applet secrets list --name <applet>
64
- applet secrets delete --name <applet> --key OPENAI_API_KEY
65
- ```
66
-
67
- - **Specific version:** `go install github.com/iota-uz/applets/cmd/applet@v0.4.4`
68
- - **Shell completion:** `applet completion bash`, `applet completion zsh`, or `applet completion fish` — see `applet completion --help` for install instructions.
69
- - **Convention-based local SDK:** when `applet dev` can see a canonical local `@iota-uz/sdk` source checkout (for example `./applets` in a monorepo), it automatically builds/watches that SDK and wires applet consumers to a managed local SDK package for dev.
70
- - **Explicit escape hatch:** use `applet dev --sdk-root ../../applets` only when your local SDK checkout lives in a non-conventional location.
71
-
72
- ---
73
-
74
- ## DX Migration Notes (Breaking)
75
-
76
- - `applets/` is the canonical source of `@iota-uz/sdk`; `iota-sdk/package.json` is no longer the publish source.
77
- - Local SDK iteration prefers convention over configuration. If your repo has `./applets` (or a conventional sibling `../applets`) you should not need any manual override at all.
78
- - For non-conventional layouts, pass `--sdk-root` directly to `applet dev` instead of persisting local env overrides.
79
- - Never commit local `pnpm` overrides/workspace links for `@iota-uz/sdk`.
80
- - `applet dev` now detects `go.work` dependencies and automatically watches/restarts critical processes when dependency code changes.
81
-
82
- ### Release flow
83
-
84
- 1. Publish SDK changes from `applets/` (bump `applets/package.json` version).
85
- 2. Create and push a tag `iota-sdk-v<version>` where `<version>` exactly matches
86
- `applets/package.json`. This triggers `publish-npm.yml`.
87
- 3. Upgrade consumers (`eai/back`, applet web packages, etc.) to the published version.
88
- 4. Commit only version upgrades in consumer repos; never commit local-link overrides.
89
-
90
- ---
91
-
92
- ## Configuration
93
-
94
- The CLI expects a project root where `.applets/config.toml` exists.
95
-
96
- Minimal `.applets/config.toml` (schema v2):
97
-
98
- ```toml
99
- version = 2
100
-
101
- # Project-level dev processes
102
- [[dev.processes]]
103
- name = "air"
104
- command = "air"
105
- critical = true
106
-
107
- [[dev.processes]]
108
- name = "templ"
109
- command = "templ"
110
- args = ["generate", "--watch"]
111
-
112
- # Applets: only base_path is required. Everything else is convention.
113
- [applets.bichat]
114
- base_path = "/bi-chat"
115
- hosts = ["chat.example.com"] # optional
116
-
117
- [applets.bichat.engine]
118
- runtime = "off"
119
-
120
- [applets.bichat.engine.backends]
121
- kv = "memory"
122
- db = "memory"
123
- jobs = "memory"
124
- files = "local"
125
- secrets = "env"
126
-
127
- [applets.bichat.frontend]
128
- type = "static" # static|ssr
129
- ```
130
-
131
- **Convention defaults:**
132
- - `web` = `modules/<name>/presentation/web`
133
- - `vite_port` = auto-assigned (5173, 5174, …) by sorted name order
134
- - RPC router function = `Router` (hardcoded convention)
135
- - Entry point = `/src/main.tsx` (Vite standard)
136
-
137
- **Optional overrides:**
138
- - `web` — custom web directory path (rare)
139
- - `[applets.<name>.rpc] needs_reexport_shim = true` — for SDK applets that re-export RPC contracts
140
- - `hosts` — additional host-based mounts (subdomain/custom-domain)
141
- - `[applets.<name>.frontend] type = "static"|"ssr"` — SSR mode requires `engine.runtime = "bun"`
142
- - `[applets.<name>.engine.s3]` — required when `engine.backends.files = "s3"`
143
- - `[applets.<name>.engine.secrets] required = ["OPENAI_API_KEY"]` — startup-required secret keys
144
-
145
- Run `applet doctor` to validate config and environment.
11
+ Version 0.5 is a clean break: legacy root, BiChat, applet, Tailwind, and asset
12
+ exports are intentionally absent. React and ReactDOM are peer dependencies;
13
+ Lens implementation dependencies are contained in lazy Lens chunks and are not
14
+ loaded by client-host imports.
@@ -0,0 +1,52 @@
1
+ import type { ComponentType, PropsWithChildren } from 'react';
2
+ import type { ClientRouteContext } from './route';
3
+ import type { SessionService } from './transport';
4
+ export interface StandardAppletContext {
5
+ config: {
6
+ basePath: string;
7
+ rpcUIEndpoint: string;
8
+ streamEndpoint?: string;
9
+ uploadEndpoint?: string;
10
+ assetsBasePath?: string;
11
+ shellMode?: string;
12
+ };
13
+ session?: {
14
+ csrfToken?: string;
15
+ };
16
+ user?: unknown;
17
+ tenant?: unknown;
18
+ locale?: unknown;
19
+ extensions?: unknown;
20
+ }
21
+ export interface StandardAppletInitial<TContext extends StandardAppletContext = StandardAppletContext> {
22
+ appletContext: TContext;
23
+ }
24
+ export interface BiChatHTTPConfig {
25
+ baseUrl: string;
26
+ rpcEndpoint: string;
27
+ streamEndpoint?: string;
28
+ uploadEndpoint?: string;
29
+ csrfToken?: string | (() => string);
30
+ headers?: Record<string, string>;
31
+ rpcTimeoutMs?: number;
32
+ streamConnectTimeoutMs?: number;
33
+ }
34
+ /** Replaces useHttpDataSourceConfigFromApplet/window globals for client routes. */
35
+ export declare function biChatHTTPConfigFromRoute<TContext extends StandardAppletContext>(route: ClientRouteContext<StandardAppletInitial<TContext>>, session?: SessionService, options?: {
36
+ rpcTimeoutMs?: number;
37
+ streamConnectTimeoutMs?: number;
38
+ }): BiChatHTTPConfig;
39
+ type ExplicitAppletProvider<TContext> = ComponentType<PropsWithChildren<{
40
+ windowKey: string;
41
+ context?: TContext;
42
+ }>>;
43
+ /**
44
+ * Bridges the standard route bootstrap into @iota-uz/sdk's AppletProvider
45
+ * `context` prop. No window.__APPLET_CONTEXT__ compatibility global is written.
46
+ */
47
+ export declare function AppletRouteBridge<TContext extends StandardAppletContext>({ provider: Provider, route, children, }: PropsWithChildren<{
48
+ provider: ExplicitAppletProvider<TContext>;
49
+ route: ClientRouteContext<StandardAppletInitial<TContext>>;
50
+ }>): import("react/jsx-runtime").JSX.Element;
51
+ export {};
52
+ //# sourceMappingURL=applet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applet.d.ts","sourceRoot":"","sources":["../src/applet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAA;QAChB,aAAa,EAAE,MAAM,CAAA;QACrB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAChC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,qBAAqB,CAAC,QAAQ,SAAS,qBAAqB,GAAG,qBAAqB;IACnG,aAAa,EAAE,QAAQ,CAAA;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAA;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sBAAsB,CAAC,EAAE,MAAM,CAAA;CAChC;AAED,mFAAmF;AACnF,wBAAgB,yBAAyB,CAAC,QAAQ,SAAS,qBAAqB,EAC9E,KAAK,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,EAC1D,OAAO,CAAC,EAAE,cAAc,EACxB,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;CAAO,GACvE,gBAAgB,CAclB;AAED,KAAK,sBAAsB,CAAC,QAAQ,IAAI,aAAa,CAAC,iBAAiB,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC,CAAA;AAEnH;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS,qBAAqB,EAAE,EACxE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,GACpC,EAAE,iBAAiB,CAAC;IACnB,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAC1C,KAAK,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAA;CAC3D,CAAC,2CAED"}
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /** Replaces useHttpDataSourceConfigFromApplet/window globals for client routes. */
3
+ export function biChatHTTPConfigFromRoute(route, session, options = {}) {
4
+ const config = route.initial.appletContext.config;
5
+ return {
6
+ // Applet context endpoints are route-ready paths (and may also be absolute
7
+ // URLs). HttpDataSource concatenates baseUrl with each endpoint, so using
8
+ // the applet's mount basePath here would incorrectly turn `/rpc` into
9
+ // `/admin/ali/chat/rpc` and prefix the stream endpoint a second time.
10
+ baseUrl: '',
11
+ rpcEndpoint: config.rpcUIEndpoint,
12
+ ...(config.streamEndpoint ? { streamEndpoint: config.streamEndpoint } : {}),
13
+ ...(config.uploadEndpoint ? { uploadEndpoint: config.uploadEndpoint } : {}),
14
+ ...(session ? { csrfToken: () => session.snapshot().csrf ?? '' } : route.csrf ? { csrfToken: route.csrf } : {}),
15
+ ...options,
16
+ };
17
+ }
18
+ /**
19
+ * Bridges the standard route bootstrap into @iota-uz/sdk's AppletProvider
20
+ * `context` prop. No window.__APPLET_CONTEXT__ compatibility global is written.
21
+ */
22
+ export function AppletRouteBridge({ provider: Provider, route, children, }) {
23
+ return _jsx(Provider, { windowKey: "__unused_client_route_context__", context: route.initial.appletContext, children: children });
24
+ }
@@ -0,0 +1,15 @@
1
+ export type QueryKey = readonly [namespace: string, method: string, request: string];
2
+ export interface QueryCache {
3
+ get<T>(key: QueryKey): T | undefined;
4
+ set<T>(key: QueryKey, value: T): void;
5
+ invalidate(namespace: string, methods: readonly string[]): void;
6
+ }
7
+ export declare class MemoryQueryCache implements QueryCache {
8
+ private readonly values;
9
+ get<T>(key: QueryKey): T | undefined;
10
+ set<T>(key: QueryKey, value: T): void;
11
+ invalidate(namespace: string, methods: readonly string[]): void;
12
+ }
13
+ export declare function stableSerialize(value: unknown): string;
14
+ export declare function queryKey(namespace: string, method: string, request: unknown): QueryKey;
15
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;AAEpF,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAA;IACpC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAA;IACrC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAA;CAChE;AAID,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IAEpD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,GAAG,CAAC,GAAG,SAAS;IACpC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IACrC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;CAOhE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAMtD;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,CAEtF"}
@@ -0,0 +1,27 @@
1
+ function cacheKey(key) { return JSON.stringify(key); }
2
+ export class MemoryQueryCache {
3
+ values = new Map();
4
+ get(key) { return this.values.get(cacheKey(key)); }
5
+ set(key, value) { this.values.set(cacheKey(key), value); }
6
+ invalidate(namespace, methods) {
7
+ const families = new Set(methods);
8
+ for (const encoded of this.values.keys()) {
9
+ const [entryNamespace, method] = JSON.parse(encoded);
10
+ if (entryNamespace === namespace && families.has(method))
11
+ this.values.delete(encoded);
12
+ }
13
+ }
14
+ }
15
+ export function stableSerialize(value) {
16
+ if (value === undefined)
17
+ return 'null';
18
+ if (value === null || typeof value !== 'object')
19
+ return JSON.stringify(value);
20
+ if (Array.isArray(value))
21
+ return `[${value.map(stableSerialize).join(',')}]`;
22
+ const object = value;
23
+ return `{${Object.keys(object).sort().map((key) => `${JSON.stringify(key)}:${stableSerialize(object[key])}`).join(',')}}`;
24
+ }
25
+ export function queryKey(namespace, method, request) {
26
+ return [namespace, method, stableSerialize(request)];
27
+ }
@@ -0,0 +1,16 @@
1
+ export type HostErrorCode = 'unauthenticated' | 'permission_denied' | 'validation' | 'field_validation' | 'transient' | 'protocol' | 'unknown';
2
+ export declare class HostError extends Error {
3
+ readonly code: HostErrorCode;
4
+ readonly details?: unknown | undefined;
5
+ readonly fieldErrors: Readonly<Record<string, string>>;
6
+ constructor(code: HostErrorCode, message: string, details?: unknown | undefined, fieldErrors?: Readonly<Record<string, string>>);
7
+ get retryable(): boolean;
8
+ }
9
+ export interface HostErrorHandlers {
10
+ unauthenticated?(error: HostError): void;
11
+ permissionDenied?(error: HostError): void;
12
+ validation?(error: HostError): void;
13
+ }
14
+ export declare function asHostError(input: unknown): HostError;
15
+ export declare function dispatchHostError(error: HostError, handlers?: HostErrorHandlers): void;
16
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,mBAAmB,GACnB,YAAY,GACZ,kBAAkB,GAClB,WAAW,GACX,UAAU,GACV,SAAS,CAAA;AAEb,qBAAa,SAAU,SAAQ,KAAK;IAEhC,QAAQ,CAAC,IAAI,EAAE,aAAa;IAE5B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO;IAC1B,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAH7C,IAAI,EAAE,aAAa,EAC5B,OAAO,EAAE,MAAM,EACN,OAAO,CAAC,EAAE,OAAO,YAAA,EACjB,WAAW,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAM7D,IAAI,SAAS,IAAI,OAAO,CAAqC;CAC9D;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,CAAC,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;IACxC,gBAAgB,CAAC,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;IACzC,UAAU,CAAC,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;CACpC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAsBrD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAItF"}
@@ -0,0 +1,45 @@
1
+ export class HostError extends Error {
2
+ code;
3
+ details;
4
+ fieldErrors;
5
+ constructor(code, message, details, fieldErrors = {}) {
6
+ super(message);
7
+ this.code = code;
8
+ this.details = details;
9
+ this.fieldErrors = fieldErrors;
10
+ this.name = 'HostError';
11
+ }
12
+ get retryable() { return this.code === 'transient'; }
13
+ }
14
+ export function asHostError(input) {
15
+ if (input instanceof HostError)
16
+ return input;
17
+ const candidate = input;
18
+ const raw = String(candidate?.code ?? 'unknown');
19
+ const code = raw === 'unauthenticated' || raw === 'unauthorized'
20
+ ? 'unauthenticated'
21
+ : raw === 'forbidden' || raw === 'permission_denied'
22
+ ? 'permission_denied'
23
+ : raw === 'validation'
24
+ ? 'validation'
25
+ : raw === 'field_validation'
26
+ ? 'field_validation'
27
+ : raw === 'timeout' || raw === 'unavailable' || raw === 'transient'
28
+ ? 'transient'
29
+ : raw === 'protocol'
30
+ ? 'protocol'
31
+ : 'unknown';
32
+ const details = candidate?.details;
33
+ const fieldErrors = code === 'field_validation' && details && typeof details === 'object'
34
+ ? details
35
+ : {};
36
+ return new HostError(code, String(candidate?.message ?? input ?? 'Unknown host error'), details, fieldErrors);
37
+ }
38
+ export function dispatchHostError(error, handlers) {
39
+ if (error.code === 'unauthenticated')
40
+ handlers?.unauthenticated?.(error);
41
+ if (error.code === 'permission_denied')
42
+ handlers?.permissionDenied?.(error);
43
+ if (error.code === 'validation' || error.code === 'field_validation')
44
+ handlers?.validation?.(error);
45
+ }
@@ -0,0 +1,21 @@
1
+ export declare const SDK_RELEASE_VERSION = "0.5.0";
2
+ export declare const SDK_SOURCE_COMMIT = "2c307830bec7e560ad8683bf7b21ee91d1e2e348";
3
+ export declare const SDK_PROTOCOL_VERSION = "1.0.0";
4
+ export declare const SDK_IDENTITY: Readonly<{
5
+ releaseVersion: "0.5.0";
6
+ sourceCommit: "2c307830bec7e560ad8683bf7b21ee91d1e2e348";
7
+ protocolVersion: "1.0.0";
8
+ }>;
9
+ export interface SDKRuntimeIdentity {
10
+ releaseVersion: string;
11
+ sourceCommit: string;
12
+ protocolVersion: string;
13
+ }
14
+ export declare class SDKIdentityMismatchError extends Error {
15
+ readonly expected: SDKRuntimeIdentity;
16
+ readonly actual: SDKRuntimeIdentity;
17
+ readonly code = "SDK_IDENTITY_MISMATCH";
18
+ constructor(expected: SDKRuntimeIdentity, actual: SDKRuntimeIdentity);
19
+ }
20
+ export declare function assertSDKIdentity(actual: SDKRuntimeIdentity): void;
21
+ //# sourceMappingURL=identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,UAAU,CAAA;AAC1C,eAAO,MAAM,iBAAiB,+BAA+B,CAAA;AAC7D,eAAO,MAAM,oBAAoB,UAA+B,CAAA;AAChE,eAAO,MAAM,YAAY;;;;EAIvB,CAAA;AAEF,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,qBAAa,wBAAyB,SAAQ,KAAK;IAGrC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB;IAAE,QAAQ,CAAC,MAAM,EAAE,kBAAkB;IAFtF,QAAQ,CAAC,IAAI,2BAA0B;gBAElB,QAAQ,EAAE,kBAAkB,EAAW,MAAM,EAAE,kBAAkB;CAIvF;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CASlE"}
@@ -0,0 +1,28 @@
1
+ import { CLIENT_HOST_PROTOCOL_VERSION } from './protocol';
2
+ export const SDK_RELEASE_VERSION = '0.5.0';
3
+ export const SDK_SOURCE_COMMIT = '2c307830bec7e560ad8683bf7b21ee91d1e2e348';
4
+ export const SDK_PROTOCOL_VERSION = CLIENT_HOST_PROTOCOL_VERSION;
5
+ export const SDK_IDENTITY = Object.freeze({
6
+ releaseVersion: SDK_RELEASE_VERSION,
7
+ sourceCommit: SDK_SOURCE_COMMIT,
8
+ protocolVersion: SDK_PROTOCOL_VERSION,
9
+ });
10
+ export class SDKIdentityMismatchError extends Error {
11
+ expected;
12
+ actual;
13
+ code = 'SDK_IDENTITY_MISMATCH';
14
+ constructor(expected, actual) {
15
+ super(`SDK runtime ${actual.releaseVersion}@${actual.sourceCommit} is incompatible with ${expected.releaseVersion}@${expected.sourceCommit}`);
16
+ this.expected = expected;
17
+ this.actual = actual;
18
+ this.name = 'SDKIdentityMismatchError';
19
+ }
20
+ }
21
+ export function assertSDKIdentity(actual) {
22
+ const expected = SDK_IDENTITY;
23
+ if (actual.releaseVersion !== expected.releaseVersion
24
+ || actual.sourceCommit !== expected.sourceCommit
25
+ || actual.protocolVersion.split('.', 1)[0] !== expected.protocolVersion.split('.', 1)[0]) {
26
+ throw new SDKIdentityMismatchError(expected, actual);
27
+ }
28
+ }
@@ -0,0 +1,11 @@
1
+ export * from './applet';
2
+ export * from './cache';
3
+ export * from './errors';
4
+ export * from './identity';
5
+ export * from './portals';
6
+ export * from './protocol';
7
+ export * from './route';
8
+ export * from './rpc';
9
+ export * from './streaming';
10
+ export * from './transport';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA;AACrB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA"}
@@ -0,0 +1,10 @@
1
+ export * from './applet';
2
+ export * from './cache';
3
+ export * from './errors';
4
+ export * from './identity';
5
+ export * from './portals';
6
+ export * from './protocol';
7
+ export * from './route';
8
+ export * from './rpc';
9
+ export * from './streaming';
10
+ export * from './transport';
@@ -0,0 +1,30 @@
1
+ import { type PropsWithChildren, type ReactNode } from 'react';
2
+ export type PortalSurface = 'modal' | 'drawer' | 'toast' | 'command';
3
+ export type WidgetSlotName = 'navigation-leading' | 'navigation-trailing' | 'header-actions' | 'document-status';
4
+ export interface ClientHostProviderProps extends PropsWithChildren {
5
+ portalOwner: HTMLElement;
6
+ background?: HTMLElement | undefined;
7
+ widgetSlots?: Partial<Record<WidgetSlotName, HTMLElement>> | undefined;
8
+ theme?: 'light' | 'dark' | undefined;
9
+ }
10
+ /** Owns document-lifetime portal roots; feature roots must never append to body. */
11
+ export declare function ClientHostProvider({ portalOwner, background, widgetSlots, theme, children }: ClientHostProviderProps): import("react/jsx-runtime").JSX.Element;
12
+ export interface PortalProps extends PropsWithChildren {
13
+ surface: PortalSurface;
14
+ label: string;
15
+ className?: string;
16
+ onEscape?: () => void;
17
+ theme?: 'light' | 'dark';
18
+ }
19
+ export declare function Portal({ surface, label, className, onEscape, theme, children }: PortalProps): import("react").ReactPortal;
20
+ /** Uses an existing standard host when present, otherwise creates a bounded
21
+ * compatibility host inside the feature root (never a body-level root). */
22
+ export declare function ClientHostBoundary({ children, theme }: PropsWithChildren<{
23
+ theme?: 'light' | 'dark' | undefined;
24
+ }>): string | number | boolean | Iterable<ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
25
+ /** Widget slots are persistent shell surfaces and intentionally separate from overlays. */
26
+ export declare function WidgetSlot({ name, children }: {
27
+ name: WidgetSlotName;
28
+ children: ReactNode;
29
+ }): import("react").ReactPortal | null;
30
+ //# sourceMappingURL=portals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portals.d.ts","sourceRoot":"","sources":["../src/portals.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAA2D,MAAM,OAAO,CAAA;AAG1J,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAA;AACpE,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,gBAAgB,GAAG,iBAAiB,CAAA;AA2EhH,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE,WAAW,EAAE,WAAW,CAAA;IACxB,UAAU,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,GAAG,SAAS,CAAA;IACtE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;CACrC;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,WAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,uBAAuB,2CAQzH;AAED,MAAM,WAAW,WAAY,SAAQ,iBAAiB;IAAG,OAAO,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CAAE;AAErK,wBAAgB,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,WAAW,+BA0B3F;AAED;2EAC2E;AAC3E,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,iBAAiB,CAAC;IAAE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC,gHAIlH;AAaD,2FAA2F;AAC3F,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,sCAG3F"}
@@ -0,0 +1,149 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { createContext, useContext, useEffect, useId, useMemo, useRef, useState } from 'react';
3
+ import { createPortal } from 'react-dom';
4
+ const zLayers = { drawer: 600, modal: 700, command: 800, toast: 900 };
5
+ class PortalRegistry {
6
+ owner;
7
+ background;
8
+ roots = new Map();
9
+ overlays = [];
10
+ lockState;
11
+ constructor(owner, background) {
12
+ this.owner = owner;
13
+ this.background = background;
14
+ }
15
+ root(surface) {
16
+ let root = this.roots.get(surface);
17
+ if (!root) {
18
+ root = document.createElement('div');
19
+ root.dataset.iotaPortal = surface;
20
+ root.style.position = 'relative';
21
+ root.style.zIndex = String(zLayers[surface]);
22
+ this.owner.append(root);
23
+ this.roots.set(surface, root);
24
+ }
25
+ return root;
26
+ }
27
+ mount(entry) {
28
+ this.overlays.push(entry);
29
+ this.sync();
30
+ return () => {
31
+ const index = this.overlays.findIndex((candidate) => candidate.id === entry.id);
32
+ const wasTop = index === this.overlays.length - 1;
33
+ if (index >= 0)
34
+ this.overlays.splice(index, 1);
35
+ this.sync();
36
+ if (wasTop)
37
+ entry.restore?.focus();
38
+ };
39
+ }
40
+ destroy() {
41
+ this.overlays.splice(0);
42
+ this.sync();
43
+ for (const root of this.roots.values())
44
+ root.remove();
45
+ this.roots.clear();
46
+ }
47
+ sync() {
48
+ const blocking = this.overlays.some(({ surface }) => surface === 'modal' || surface === 'drawer' || surface === 'command');
49
+ if (blocking && !this.lockState) {
50
+ this.lockState = {
51
+ overflow: document.documentElement.style.overflow,
52
+ ...(this.background ? {
53
+ inert: this.background.inert,
54
+ ariaHidden: this.background.getAttribute('aria-hidden'),
55
+ } : {}),
56
+ };
57
+ document.documentElement.style.overflow = 'hidden';
58
+ if (!this.background)
59
+ return;
60
+ this.background.inert = blocking;
61
+ this.background.setAttribute('aria-hidden', 'true');
62
+ return;
63
+ }
64
+ if (!blocking && this.lockState) {
65
+ document.documentElement.style.overflow = this.lockState.overflow;
66
+ if (this.background) {
67
+ this.background.inert = this.lockState.inert ?? false;
68
+ if (this.lockState.ariaHidden === null || this.lockState.ariaHidden === undefined)
69
+ this.background.removeAttribute('aria-hidden');
70
+ else
71
+ this.background.setAttribute('aria-hidden', this.lockState.ariaHidden);
72
+ }
73
+ this.lockState = undefined;
74
+ }
75
+ }
76
+ }
77
+ const PortalContext = createContext(undefined);
78
+ const WidgetContext = createContext(new Map());
79
+ /** Owns document-lifetime portal roots; feature roots must never append to body. */
80
+ export function ClientHostProvider({ portalOwner, background, widgetSlots = {}, theme, children }) {
81
+ const registry = useMemo(() => new PortalRegistry(portalOwner, background), [portalOwner, background]);
82
+ const slots = useMemo(() => new Map(Object.entries(widgetSlots)), [widgetSlots]);
83
+ useEffect(() => {
84
+ if (theme)
85
+ portalOwner.dataset.theme = theme;
86
+ return () => { registry.destroy(); delete portalOwner.dataset.theme; };
87
+ }, [portalOwner, registry, theme]);
88
+ return _jsx(PortalContext.Provider, { value: registry, children: _jsx(WidgetContext.Provider, { value: slots, children: children }) });
89
+ }
90
+ export function Portal({ surface, label, className, onEscape, theme, children }) {
91
+ const registry = useContext(PortalContext);
92
+ if (!registry)
93
+ throw new Error('Portal must be rendered inside ClientHostProvider');
94
+ const id = useId();
95
+ const content = useRef(null);
96
+ useEffect(() => registry.mount({ id, surface, restore: document.activeElement }), [id, registry, surface]);
97
+ useEffect(() => {
98
+ if (surface === 'toast')
99
+ return;
100
+ const root = content.current;
101
+ const first = root?.querySelector('button,[href],input,select,textarea,[tabindex]:not([tabindex="-1"])');
102
+ first?.focus();
103
+ }, [surface]);
104
+ const trapFocus = (event) => {
105
+ if (event.key === 'Escape' && onEscape) {
106
+ event.preventDefault();
107
+ event.stopPropagation();
108
+ onEscape();
109
+ return;
110
+ }
111
+ if (event.key !== 'Tab' || surface === 'toast')
112
+ return;
113
+ const focusable = Array.from(content.current?.querySelectorAll('a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])') ?? []);
114
+ if (focusable.length === 0) {
115
+ event.preventDefault();
116
+ content.current?.focus();
117
+ return;
118
+ }
119
+ const first = focusable[0];
120
+ const last = focusable.at(-1);
121
+ if (event.shiftKey && document.activeElement === first) {
122
+ event.preventDefault();
123
+ last?.focus();
124
+ }
125
+ else if (!event.shiftKey && document.activeElement === last) {
126
+ event.preventDefault();
127
+ first?.focus();
128
+ }
129
+ };
130
+ return createPortal(_jsx("div", { ref: content, role: surface === 'toast' ? 'status' : 'dialog', "aria-label": label, "aria-modal": surface === 'toast' ? undefined : true, className: className, "data-iota-surface": surface, "data-theme": theme, onKeyDown: trapFocus, tabIndex: -1, children: children }), registry.root(surface));
131
+ }
132
+ /** Uses an existing standard host when present, otherwise creates a bounded
133
+ * compatibility host inside the feature root (never a body-level root). */
134
+ export function ClientHostBoundary({ children, theme }) {
135
+ const existing = useContext(PortalContext);
136
+ if (existing)
137
+ return children;
138
+ return _jsx(EmbeddedClientHost, { theme: theme, children: children });
139
+ }
140
+ function EmbeddedClientHost({ children, theme }) {
141
+ const [background, setBackground] = useState(null);
142
+ const [portals, setPortals] = useState(null);
143
+ return _jsxs(_Fragment, { children: [_jsx("div", { "data-client-route-background": true, ref: setBackground, children: background && portals ? _jsx(ClientHostProvider, { portalOwner: portals, background: background, theme: theme, children: children }) : null }), _jsx("div", { "data-client-route-portals": true, ref: setPortals })] });
144
+ }
145
+ /** Widget slots are persistent shell surfaces and intentionally separate from overlays. */
146
+ export function WidgetSlot({ name, children }) {
147
+ const slot = useContext(WidgetContext).get(name);
148
+ return slot ? createPortal(children, slot) : null;
149
+ }
@@ -0,0 +1,2 @@
1
+ export declare const CLIENT_HOST_PROTOCOL_VERSION = "1.0.0";
2
+ //# sourceMappingURL=protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,4BAA4B,UAAU,CAAA"}