@dxos/app-framework 0.8.4-main.406dc2a → 0.8.4-main.422d1c7879

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 (552) hide show
  1. package/.storybook/main.mts +2 -4
  2. package/.storybook/preview.mts +2 -2
  3. package/dist/lib/browser/capability-DOMNPRJP.mjs +35 -0
  4. package/dist/lib/browser/capability-DOMNPRJP.mjs.map +7 -0
  5. package/dist/lib/browser/capability-KSNT34SN.mjs +38 -0
  6. package/dist/lib/browser/capability-KSNT34SN.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-2CKCJ6PN.mjs +79 -0
  8. package/dist/lib/browser/chunk-2CKCJ6PN.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-7B6AJK4D.mjs +964 -0
  10. package/dist/lib/browser/chunk-7B6AJK4D.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-BMIAYUWT.mjs +397 -0
  12. package/dist/lib/browser/chunk-BMIAYUWT.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-F7FW2RK2.mjs +167 -0
  14. package/dist/lib/browser/chunk-F7FW2RK2.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-GDWTW4ZW.mjs +148 -0
  16. package/dist/lib/browser/chunk-GDWTW4ZW.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-I34GF4NG.mjs +34 -0
  18. package/dist/lib/browser/chunk-I34GF4NG.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  20. package/dist/lib/browser/chunk-JKWMHZP6.mjs +80 -0
  21. package/dist/lib/browser/chunk-JKWMHZP6.mjs.map +7 -0
  22. package/dist/lib/browser/chunk-QRTB4Q3U.mjs +594 -0
  23. package/dist/lib/browser/chunk-QRTB4Q3U.mjs.map +7 -0
  24. package/dist/lib/browser/chunk-QSXYHXCE.mjs +48 -0
  25. package/dist/lib/browser/chunk-QSXYHXCE.mjs.map +7 -0
  26. package/dist/lib/browser/chunk-RFSO3JRG.mjs +1 -0
  27. package/dist/lib/browser/chunk-T3Y4AEKX.mjs +42 -0
  28. package/dist/lib/browser/chunk-T3Y4AEKX.mjs.map +7 -0
  29. package/dist/lib/browser/chunk-TGX63LTL.mjs +8 -0
  30. package/dist/lib/browser/chunk-TGX63LTL.mjs.map +7 -0
  31. package/dist/lib/browser/chunk-Y543KCO7.mjs +174 -0
  32. package/dist/lib/browser/chunk-Y543KCO7.mjs.map +7 -0
  33. package/dist/lib/browser/cli/index.mjs +90 -0
  34. package/dist/lib/browser/cli/index.mjs.map +7 -0
  35. package/dist/lib/browser/common/activation-events.mjs +24 -0
  36. package/dist/lib/browser/common/capabilities.mjs +46 -0
  37. package/dist/lib/browser/core/activation-event.mjs +20 -0
  38. package/dist/lib/browser/core/activation-event.mjs.map +7 -0
  39. package/dist/lib/browser/core/capability.mjs +30 -0
  40. package/dist/lib/browser/core/capability.mjs.map +7 -0
  41. package/dist/lib/browser/core/plugin-manager.mjs +15 -0
  42. package/dist/lib/browser/core/plugin-manager.mjs.map +7 -0
  43. package/dist/lib/browser/core/plugin.mjs +29 -0
  44. package/dist/lib/browser/core/plugin.mjs.map +7 -0
  45. package/dist/lib/browser/core/url-loader.mjs +16 -0
  46. package/dist/lib/browser/core/url-loader.mjs.map +7 -0
  47. package/dist/lib/browser/index.mjs +91 -148
  48. package/dist/lib/browser/index.mjs.map +4 -4
  49. package/dist/lib/browser/invoker-capability-VCMPQOIA.mjs +43 -0
  50. package/dist/lib/browser/invoker-capability-VCMPQOIA.mjs.map +7 -0
  51. package/dist/lib/browser/meta.json +1 -1
  52. package/dist/lib/browser/testing/index.mjs +243 -41
  53. package/dist/lib/browser/testing/index.mjs.map +4 -4
  54. package/dist/lib/browser/testing/react.mjs +78 -0
  55. package/dist/lib/browser/testing/react.mjs.map +7 -0
  56. package/dist/lib/browser/ui/index.mjs +46 -0
  57. package/dist/lib/browser/ui/index.mjs.map +7 -0
  58. package/dist/lib/node-esm/capability-EOQTORML.mjs +39 -0
  59. package/dist/lib/node-esm/capability-EOQTORML.mjs.map +7 -0
  60. package/dist/lib/node-esm/capability-KJTQIWDK.mjs +36 -0
  61. package/dist/lib/node-esm/capability-KJTQIWDK.mjs.map +7 -0
  62. package/dist/lib/node-esm/chunk-42KBWDE4.mjs +80 -0
  63. package/dist/lib/node-esm/chunk-42KBWDE4.mjs.map +7 -0
  64. package/dist/lib/node-esm/chunk-7PJ5OKRB.mjs +965 -0
  65. package/dist/lib/node-esm/chunk-7PJ5OKRB.mjs.map +7 -0
  66. package/dist/lib/node-esm/chunk-DXVXOGJ7.mjs +175 -0
  67. package/dist/lib/node-esm/chunk-DXVXOGJ7.mjs.map +7 -0
  68. package/dist/lib/node-esm/chunk-EL3R25OQ.mjs +2 -0
  69. package/dist/lib/node-esm/chunk-EL3R25OQ.mjs.map +7 -0
  70. package/dist/lib/node-esm/chunk-FKE4Z3D6.mjs +10 -0
  71. package/dist/lib/node-esm/chunk-FKE4Z3D6.mjs.map +7 -0
  72. package/dist/lib/node-esm/chunk-G3RTFSNG.mjs +81 -0
  73. package/dist/lib/node-esm/chunk-G3RTFSNG.mjs.map +7 -0
  74. package/dist/lib/node-esm/chunk-HI3YBICQ.mjs +149 -0
  75. package/dist/lib/node-esm/chunk-HI3YBICQ.mjs.map +7 -0
  76. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  77. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  78. package/dist/lib/node-esm/chunk-JPWVIQ5I.mjs +595 -0
  79. package/dist/lib/node-esm/chunk-JPWVIQ5I.mjs.map +7 -0
  80. package/dist/lib/node-esm/chunk-URWHJQT2.mjs +168 -0
  81. package/dist/lib/node-esm/chunk-URWHJQT2.mjs.map +7 -0
  82. package/dist/lib/node-esm/chunk-VKHGNEDB.mjs +43 -0
  83. package/dist/lib/node-esm/chunk-VKHGNEDB.mjs.map +7 -0
  84. package/dist/lib/node-esm/chunk-WZ6DHQER.mjs +398 -0
  85. package/dist/lib/node-esm/chunk-WZ6DHQER.mjs.map +7 -0
  86. package/dist/lib/node-esm/chunk-WZCSOX5Q.mjs +35 -0
  87. package/dist/lib/node-esm/chunk-WZCSOX5Q.mjs.map +7 -0
  88. package/dist/lib/node-esm/chunk-ZZ7CKK6W.mjs +49 -0
  89. package/dist/lib/node-esm/chunk-ZZ7CKK6W.mjs.map +7 -0
  90. package/dist/lib/node-esm/cli/index.mjs +91 -0
  91. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  92. package/dist/lib/node-esm/common/activation-events.mjs +25 -0
  93. package/dist/lib/node-esm/common/activation-events.mjs.map +7 -0
  94. package/dist/lib/node-esm/common/capabilities.mjs +47 -0
  95. package/dist/lib/node-esm/common/capabilities.mjs.map +7 -0
  96. package/dist/lib/node-esm/core/activation-event.mjs +21 -0
  97. package/dist/lib/node-esm/core/activation-event.mjs.map +7 -0
  98. package/dist/lib/node-esm/core/capability.mjs +31 -0
  99. package/dist/lib/node-esm/core/capability.mjs.map +7 -0
  100. package/dist/lib/node-esm/core/plugin-manager.mjs +16 -0
  101. package/dist/lib/node-esm/core/plugin-manager.mjs.map +7 -0
  102. package/dist/lib/node-esm/core/plugin.mjs +30 -0
  103. package/dist/lib/node-esm/core/plugin.mjs.map +7 -0
  104. package/dist/lib/node-esm/core/url-loader.mjs +17 -0
  105. package/dist/lib/node-esm/core/url-loader.mjs.map +7 -0
  106. package/dist/lib/node-esm/index.mjs +91 -148
  107. package/dist/lib/node-esm/index.mjs.map +4 -4
  108. package/dist/lib/node-esm/invoker-capability-EGA3XW6J.mjs +44 -0
  109. package/dist/lib/node-esm/invoker-capability-EGA3XW6J.mjs.map +7 -0
  110. package/dist/lib/node-esm/meta.json +1 -1
  111. package/dist/lib/node-esm/testing/index.mjs +243 -41
  112. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  113. package/dist/lib/node-esm/testing/react.mjs +79 -0
  114. package/dist/lib/node-esm/testing/react.mjs.map +7 -0
  115. package/dist/lib/node-esm/ui/index.mjs +47 -0
  116. package/dist/lib/node-esm/ui/index.mjs.map +7 -0
  117. package/dist/plugin/node-esm/index.mjs +794 -0
  118. package/dist/plugin/node-esm/index.mjs.map +7 -0
  119. package/dist/plugin/node-esm/meta.json +1 -0
  120. package/dist/types/src/cli/cli.d.ts +39 -0
  121. package/dist/types/src/cli/cli.d.ts.map +1 -0
  122. package/dist/types/src/cli/index.d.ts +2 -0
  123. package/dist/types/src/cli/index.d.ts.map +1 -0
  124. package/dist/types/src/common/activation-events.d.ts +27 -0
  125. package/dist/types/src/common/activation-events.d.ts.map +1 -0
  126. package/dist/types/src/common/capabilities.d.ts +109 -200
  127. package/dist/types/src/common/capabilities.d.ts.map +1 -1
  128. package/dist/types/src/common/index.d.ts +4 -8
  129. package/dist/types/src/common/index.d.ts.map +1 -1
  130. package/dist/types/src/common/operations.d.ts +19 -0
  131. package/dist/types/src/common/operations.d.ts.map +1 -0
  132. package/dist/types/src/common/translations.d.ts +7 -7
  133. package/dist/types/src/common/translations.d.ts.map +1 -1
  134. package/dist/types/src/context.d.ts +5 -0
  135. package/dist/types/src/context.d.ts.map +1 -0
  136. package/dist/types/src/core/{events.d.ts → activation-event.d.ts} +7 -7
  137. package/dist/types/src/core/activation-event.d.ts.map +1 -0
  138. package/dist/types/src/core/capability-manager.d.ts +48 -0
  139. package/dist/types/src/core/capability-manager.d.ts.map +1 -0
  140. package/dist/types/src/core/capability-manager.test.d.ts +2 -0
  141. package/dist/types/src/core/capability-manager.test.d.ts.map +1 -0
  142. package/dist/types/src/core/capability.d.ts +156 -0
  143. package/dist/types/src/core/capability.d.ts.map +1 -0
  144. package/dist/types/src/core/index.d.ts +6 -4
  145. package/dist/types/src/core/index.d.ts.map +1 -1
  146. package/dist/types/src/core/plugin-manager.d.ts +78 -0
  147. package/dist/types/src/core/plugin-manager.d.ts.map +1 -0
  148. package/dist/types/src/core/plugin-manager.test.d.ts +2 -0
  149. package/dist/types/src/core/plugin-manager.test.d.ts.map +1 -0
  150. package/dist/types/src/core/plugin.d.ts +127 -39
  151. package/dist/types/src/core/plugin.d.ts.map +1 -1
  152. package/dist/types/src/core/url-loader.d.ts +42 -0
  153. package/dist/types/src/core/url-loader.d.ts.map +1 -0
  154. package/dist/types/src/core/url-loader.test.d.ts +2 -0
  155. package/dist/types/src/core/url-loader.test.d.ts.map +1 -0
  156. package/dist/types/src/index.d.ts +3 -4
  157. package/dist/types/src/index.d.ts.map +1 -1
  158. package/dist/types/src/plugin-operation/OperationPlugin.d.ts +3 -0
  159. package/dist/types/src/plugin-operation/OperationPlugin.d.ts.map +1 -0
  160. package/dist/types/src/plugin-operation/history/capability.d.ts +7 -0
  161. package/dist/types/src/plugin-operation/history/capability.d.ts.map +1 -0
  162. package/dist/types/src/plugin-operation/history/errors.d.ts +32 -0
  163. package/dist/types/src/plugin-operation/history/errors.d.ts.map +1 -0
  164. package/dist/types/src/plugin-operation/history/history-tracker.d.ts +18 -0
  165. package/dist/types/src/plugin-operation/history/history-tracker.d.ts.map +1 -0
  166. package/dist/types/src/plugin-operation/history/history-tracker.test.d.ts +2 -0
  167. package/dist/types/src/plugin-operation/history/history-tracker.test.d.ts.map +1 -0
  168. package/dist/types/src/plugin-operation/history/index.d.ts +6 -0
  169. package/dist/types/src/plugin-operation/history/index.d.ts.map +1 -0
  170. package/dist/types/src/plugin-operation/history/types.d.ts +13 -0
  171. package/dist/types/src/plugin-operation/history/types.d.ts.map +1 -0
  172. package/dist/types/src/plugin-operation/history/undo-mapping.d.ts +101 -0
  173. package/dist/types/src/plugin-operation/history/undo-mapping.d.ts.map +1 -0
  174. package/dist/types/src/plugin-operation/history/undo-registry.d.ts +23 -0
  175. package/dist/types/src/plugin-operation/history/undo-registry.d.ts.map +1 -0
  176. package/dist/types/src/plugin-operation/history/undo-registry.test.d.ts +2 -0
  177. package/dist/types/src/plugin-operation/history/undo-registry.test.d.ts.map +1 -0
  178. package/dist/types/src/plugin-operation/index.d.ts +3 -0
  179. package/dist/types/src/plugin-operation/index.d.ts.map +1 -0
  180. package/dist/types/src/plugin-operation/invoker-capability.d.ts +6 -0
  181. package/dist/types/src/plugin-operation/invoker-capability.d.ts.map +1 -0
  182. package/dist/types/src/plugin-operation/meta.d.ts +3 -0
  183. package/dist/types/src/plugin-operation/meta.d.ts.map +1 -0
  184. package/dist/types/src/plugin-operation/testing.d.ts +58 -0
  185. package/dist/types/src/plugin-operation/testing.d.ts.map +1 -0
  186. package/dist/types/src/plugin-runtime/RuntimePlugin.d.ts +3 -0
  187. package/dist/types/src/plugin-runtime/RuntimePlugin.d.ts.map +1 -0
  188. package/dist/types/src/plugin-runtime/capability.d.ts +6 -0
  189. package/dist/types/src/plugin-runtime/capability.d.ts.map +1 -0
  190. package/dist/types/src/plugin-runtime/index.d.ts +2 -0
  191. package/dist/types/src/plugin-runtime/index.d.ts.map +1 -0
  192. package/dist/types/src/plugin-runtime/meta.d.ts +3 -0
  193. package/dist/types/src/plugin-runtime/meta.d.ts.map +1 -0
  194. package/dist/types/src/testing/harness.d.ts +67 -0
  195. package/dist/types/src/testing/harness.d.ts.map +1 -0
  196. package/dist/types/src/testing/index.d.ts +2 -0
  197. package/dist/types/src/testing/index.d.ts.map +1 -1
  198. package/dist/types/src/testing/react.d.ts +27 -0
  199. package/dist/types/src/testing/react.d.ts.map +1 -0
  200. package/dist/types/src/testing/react.test.d.ts +2 -0
  201. package/dist/types/src/testing/react.test.d.ts.map +1 -0
  202. package/dist/types/src/testing/service.d.ts +8 -0
  203. package/dist/types/src/testing/service.d.ts.map +1 -0
  204. package/dist/types/src/testing/withPluginManager.d.ts +7 -6
  205. package/dist/types/src/testing/withPluginManager.d.ts.map +1 -1
  206. package/dist/types/src/testing/withPluginManager.stories.d.ts.map +1 -1
  207. package/dist/types/src/ui/components/App/App.d.ts +9 -0
  208. package/dist/types/src/ui/components/App/App.d.ts.map +1 -0
  209. package/dist/types/src/ui/components/App/App.stories.d.ts +19 -0
  210. package/dist/types/src/ui/components/App/App.stories.d.ts.map +1 -0
  211. package/dist/types/src/ui/components/App/index.d.ts +2 -0
  212. package/dist/types/src/ui/components/App/index.d.ts.map +1 -0
  213. package/dist/types/src/{playground/playground.stories.d.ts → ui/components/PluginManager/PluginManagerContext.stories.d.ts} +5 -3
  214. package/dist/types/src/ui/components/PluginManager/PluginManagerContext.stories.d.ts.map +1 -0
  215. package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts +10 -0
  216. package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts.map +1 -0
  217. package/dist/types/src/ui/components/PluginManager/index.d.ts +2 -0
  218. package/dist/types/src/ui/components/PluginManager/index.d.ts.map +1 -0
  219. package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts +24 -0
  220. package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts.map +1 -0
  221. package/dist/types/src/{components/App.stories.d.ts → ui/components/Surface/SurfaceComponent.stories.d.ts} +1 -1
  222. package/dist/types/src/ui/components/Surface/SurfaceComponent.stories.d.ts.map +1 -0
  223. package/dist/types/src/ui/components/Surface/SurfaceInfo.d.ts +11 -0
  224. package/dist/types/src/ui/components/Surface/SurfaceInfo.d.ts.map +1 -0
  225. package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts +48 -0
  226. package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts.map +1 -0
  227. package/dist/types/src/ui/components/Surface/context.d.ts +5 -0
  228. package/dist/types/src/ui/components/Surface/context.d.ts.map +1 -0
  229. package/dist/types/src/ui/components/Surface/index.d.ts +36 -0
  230. package/dist/types/src/ui/components/Surface/index.d.ts.map +1 -0
  231. package/dist/types/src/ui/components/Surface/types.d.ts +197 -0
  232. package/dist/types/src/ui/components/Surface/types.d.ts.map +1 -0
  233. package/dist/types/src/ui/components/Surface/types.test.d.ts +2 -0
  234. package/dist/types/src/ui/components/Surface/types.test.d.ts.map +1 -0
  235. package/dist/types/src/ui/components/index.d.ts +4 -0
  236. package/dist/types/src/ui/components/index.d.ts.map +1 -0
  237. package/dist/types/src/ui/hooks/index.d.ts +6 -0
  238. package/dist/types/src/ui/hooks/index.d.ts.map +1 -0
  239. package/dist/types/src/ui/hooks/useApp.d.ts +62 -0
  240. package/dist/types/src/ui/hooks/useApp.d.ts.map +1 -0
  241. package/dist/types/src/ui/hooks/useApp.test.d.ts +2 -0
  242. package/dist/types/src/ui/hooks/useApp.test.d.ts.map +1 -0
  243. package/dist/types/src/ui/hooks/useCapabilities.d.ts +31 -0
  244. package/dist/types/src/ui/hooks/useCapabilities.d.ts.map +1 -0
  245. package/dist/types/src/{components → ui/hooks}/useLoading.d.ts +1 -2
  246. package/dist/types/src/ui/hooks/useLoading.d.ts.map +1 -0
  247. package/dist/types/src/ui/hooks/useSettingsState.d.ts +10 -0
  248. package/dist/types/src/ui/hooks/useSettingsState.d.ts.map +1 -0
  249. package/dist/types/src/ui/hooks/useSurface.d.ts +3 -0
  250. package/dist/types/src/ui/hooks/useSurface.d.ts.map +1 -0
  251. package/dist/types/src/ui/index.d.ts +3 -0
  252. package/dist/types/src/ui/index.d.ts.map +1 -0
  253. package/dist/types/src/vite-plugin/boot-loader/BootLoader.stories.d.ts +50 -0
  254. package/dist/types/src/vite-plugin/boot-loader/BootLoader.stories.d.ts.map +1 -0
  255. package/dist/types/src/vite-plugin/boot-loader/index.d.ts +51 -0
  256. package/dist/types/src/vite-plugin/boot-loader/index.d.ts.map +1 -0
  257. package/dist/types/src/vite-plugin/composer/index.d.ts +34 -0
  258. package/dist/types/src/vite-plugin/composer/index.d.ts.map +1 -0
  259. package/dist/types/src/vite-plugin/import-map/index.d.ts +16 -0
  260. package/dist/types/src/vite-plugin/import-map/index.d.ts.map +1 -0
  261. package/dist/types/src/vite-plugin/index.d.ts +5 -0
  262. package/dist/types/src/vite-plugin/index.d.ts.map +1 -0
  263. package/dist/types/src/vite-plugin/manifest.d.ts +16 -0
  264. package/dist/types/src/vite-plugin/manifest.d.ts.map +1 -0
  265. package/dist/types/src/vite-plugin/manifest.test.d.ts +2 -0
  266. package/dist/types/src/vite-plugin/manifest.test.d.ts.map +1 -0
  267. package/dist/types/src/vite-plugin/packages.d.ts +13 -0
  268. package/dist/types/src/vite-plugin/packages.d.ts.map +1 -0
  269. package/dist/types/tsconfig.tsbuildinfo +1 -1
  270. package/moon.yml +25 -6
  271. package/package.json +110 -55
  272. package/src/cli/cli.ts +107 -0
  273. package/src/{components → cli}/index.ts +1 -1
  274. package/src/common/activation-events.ts +44 -0
  275. package/src/common/capabilities.ts +168 -213
  276. package/src/common/index.ts +4 -8
  277. package/src/common/operations.ts +35 -0
  278. package/src/common/translations.ts +17 -9
  279. package/src/context.ts +9 -0
  280. package/src/core/{events.ts → activation-event.ts} +10 -7
  281. package/src/core/capability-manager.test.ts +151 -0
  282. package/src/core/capability-manager.ts +192 -0
  283. package/src/core/capability.ts +247 -0
  284. package/src/core/index.ts +6 -4
  285. package/src/core/plugin-manager.test.ts +1142 -0
  286. package/src/core/plugin-manager.ts +893 -0
  287. package/src/core/plugin.ts +263 -46
  288. package/src/core/url-loader.test.ts +112 -0
  289. package/src/core/url-loader.ts +178 -0
  290. package/src/index.ts +3 -4
  291. package/src/plugin-operation/OperationPlugin.ts +24 -0
  292. package/src/plugin-operation/history/capability.ts +36 -0
  293. package/src/plugin-operation/history/errors.ts +7 -0
  294. package/src/plugin-operation/history/history-tracker.test.ts +373 -0
  295. package/src/plugin-operation/history/history-tracker.ts +128 -0
  296. package/src/plugin-operation/history/index.ts +9 -0
  297. package/src/plugin-operation/history/types.ts +17 -0
  298. package/src/plugin-operation/history/undo-mapping.ts +135 -0
  299. package/src/plugin-operation/history/undo-registry.test.ts +72 -0
  300. package/src/plugin-operation/history/undo-registry.ts +54 -0
  301. package/src/plugin-operation/index.ts +6 -0
  302. package/src/plugin-operation/invoker-capability.ts +54 -0
  303. package/src/plugin-operation/meta.ts +11 -0
  304. package/src/plugin-operation/testing.ts +154 -0
  305. package/src/plugin-runtime/RuntimePlugin.ts +19 -0
  306. package/src/plugin-runtime/capability.ts +53 -0
  307. package/src/{playground/logger → plugin-runtime}/index.ts +1 -1
  308. package/src/plugin-runtime/meta.ts +11 -0
  309. package/src/testing/harness.ts +229 -0
  310. package/src/testing/index.ts +2 -0
  311. package/src/testing/react.test.tsx +48 -0
  312. package/src/testing/react.tsx +113 -0
  313. package/src/testing/service.ts +52 -0
  314. package/src/testing/withPluginManager.stories.tsx +7 -8
  315. package/src/testing/withPluginManager.tsx +68 -40
  316. package/src/ui/components/App/App.stories.tsx +92 -0
  317. package/src/ui/components/App/App.tsx +70 -0
  318. package/src/{playground/debug → ui/components/App}/index.ts +1 -1
  319. package/src/ui/components/PluginManager/PluginManagerContext.stories.tsx +183 -0
  320. package/src/{react → ui/components/PluginManager}/PluginManagerProvider.ts +3 -3
  321. package/src/ui/components/PluginManager/index.ts +5 -0
  322. package/src/ui/components/Surface/SurfaceComponent.stories.tsx +144 -0
  323. package/src/ui/components/Surface/SurfaceComponent.tsx +303 -0
  324. package/src/ui/components/Surface/SurfaceInfo.tsx +107 -0
  325. package/src/ui/components/Surface/SurfaceProfilerContext.tsx +207 -0
  326. package/src/ui/components/Surface/context.ts +12 -0
  327. package/src/ui/components/Surface/index.ts +54 -0
  328. package/src/ui/components/Surface/types.test.ts +126 -0
  329. package/src/ui/components/Surface/types.ts +269 -0
  330. package/src/ui/components/index.ts +7 -0
  331. package/src/ui/hooks/index.ts +9 -0
  332. package/src/ui/hooks/useApp.test.tsx +159 -0
  333. package/src/ui/hooks/useApp.tsx +289 -0
  334. package/src/ui/hooks/useCapabilities.ts +67 -0
  335. package/src/{components → ui/hooks}/useLoading.tsx +4 -6
  336. package/src/ui/hooks/useSettingsState.ts +26 -0
  337. package/src/ui/hooks/useSurface.ts +13 -0
  338. package/src/ui/index.ts +6 -0
  339. package/src/vite-plugin/boot-loader/BootLoader.stories.tsx +162 -0
  340. package/src/vite-plugin/boot-loader/boot-loader.css +117 -0
  341. package/src/vite-plugin/boot-loader/boot-loader.js +55 -0
  342. package/src/vite-plugin/boot-loader/index.ts +99 -0
  343. package/src/vite-plugin/composer/index.ts +284 -0
  344. package/src/vite-plugin/import-map/index.ts +490 -0
  345. package/src/vite-plugin/index.ts +10 -0
  346. package/src/vite-plugin/manifest.test.ts +23 -0
  347. package/src/vite-plugin/manifest.ts +20 -0
  348. package/src/vite-plugin/packages.ts +181 -0
  349. package/tsconfig.json +13 -19
  350. package/tsconfig.node.json +2 -4
  351. package/typedoc.json +2 -4
  352. package/vitest.config.ts +1 -1
  353. package/.swc/plugins/linux_x86_64_19.0.0/fce1bdb8e20a094e4af08bad09cc81497ed0e2e7c51223b07d371063cca18429.wasmer-v7 +0 -0
  354. package/dist/lib/browser/app-graph-builder-LG4RG2LM.mjs +0 -138
  355. package/dist/lib/browser/app-graph-builder-LG4RG2LM.mjs.map +0 -7
  356. package/dist/lib/browser/chunk-2GRQ4QXA.mjs +0 -1646
  357. package/dist/lib/browser/chunk-2GRQ4QXA.mjs.map +0 -7
  358. package/dist/lib/browser/chunk-FRUTKCPG.mjs +0 -467
  359. package/dist/lib/browser/chunk-FRUTKCPG.mjs.map +0 -7
  360. package/dist/lib/browser/chunk-SCPE4ZO2.mjs +0 -35
  361. package/dist/lib/browser/chunk-SCPE4ZO2.mjs.map +0 -7
  362. package/dist/lib/browser/intent-dispatcher-6SHA5B3N.mjs +0 -11
  363. package/dist/lib/browser/intent-resolver-UZZ4OANZ.mjs +0 -39
  364. package/dist/lib/browser/intent-resolver-UZZ4OANZ.mjs.map +0 -7
  365. package/dist/lib/browser/store-ACBEYK4B.mjs +0 -30
  366. package/dist/lib/browser/store-ACBEYK4B.mjs.map +0 -7
  367. package/dist/lib/browser/worker.mjs +0 -77
  368. package/dist/lib/node-esm/app-graph-builder-FMHVHPWA.mjs +0 -139
  369. package/dist/lib/node-esm/app-graph-builder-FMHVHPWA.mjs.map +0 -7
  370. package/dist/lib/node-esm/chunk-CXT6CYPE.mjs +0 -468
  371. package/dist/lib/node-esm/chunk-CXT6CYPE.mjs.map +0 -7
  372. package/dist/lib/node-esm/chunk-KSPOOYT3.mjs +0 -1648
  373. package/dist/lib/node-esm/chunk-KSPOOYT3.mjs.map +0 -7
  374. package/dist/lib/node-esm/chunk-ZX63QUGE.mjs +0 -37
  375. package/dist/lib/node-esm/chunk-ZX63QUGE.mjs.map +0 -7
  376. package/dist/lib/node-esm/intent-dispatcher-SIYQ5ZIU.mjs +0 -12
  377. package/dist/lib/node-esm/intent-resolver-7FYJMXAG.mjs +0 -40
  378. package/dist/lib/node-esm/intent-resolver-7FYJMXAG.mjs.map +0 -7
  379. package/dist/lib/node-esm/store-6OBLTVXC.mjs +0 -31
  380. package/dist/lib/node-esm/store-6OBLTVXC.mjs.map +0 -7
  381. package/dist/lib/node-esm/worker.mjs +0 -78
  382. package/dist/types/src/common/collaboration.d.ts +0 -20
  383. package/dist/types/src/common/collaboration.d.ts.map +0 -1
  384. package/dist/types/src/common/events.d.ts +0 -52
  385. package/dist/types/src/common/events.d.ts.map +0 -1
  386. package/dist/types/src/common/file.d.ts +0 -14
  387. package/dist/types/src/common/file.d.ts.map +0 -1
  388. package/dist/types/src/common/graph.d.ts +0 -21
  389. package/dist/types/src/common/graph.d.ts.map +0 -1
  390. package/dist/types/src/common/layout.d.ts +0 -279
  391. package/dist/types/src/common/layout.d.ts.map +0 -1
  392. package/dist/types/src/common/surface.d.ts +0 -59
  393. package/dist/types/src/common/surface.d.ts.map +0 -1
  394. package/dist/types/src/components/App.d.ts +0 -10
  395. package/dist/types/src/components/App.d.ts.map +0 -1
  396. package/dist/types/src/components/App.stories.d.ts.map +0 -1
  397. package/dist/types/src/components/DefaultFallback.d.ts +0 -8
  398. package/dist/types/src/components/DefaultFallback.d.ts.map +0 -1
  399. package/dist/types/src/components/index.d.ts +0 -2
  400. package/dist/types/src/components/index.d.ts.map +0 -1
  401. package/dist/types/src/components/useApp.d.ts +0 -44
  402. package/dist/types/src/components/useApp.d.ts.map +0 -1
  403. package/dist/types/src/components/useLoading.d.ts.map +0 -1
  404. package/dist/types/src/core/capabilities.d.ts +0 -117
  405. package/dist/types/src/core/capabilities.d.ts.map +0 -1
  406. package/dist/types/src/core/capabilities.test.d.ts +0 -2
  407. package/dist/types/src/core/capabilities.test.d.ts.map +0 -1
  408. package/dist/types/src/core/events.d.ts.map +0 -1
  409. package/dist/types/src/core/manager.d.ts +0 -126
  410. package/dist/types/src/core/manager.d.ts.map +0 -1
  411. package/dist/types/src/core/manager.test.d.ts +0 -2
  412. package/dist/types/src/core/manager.test.d.ts.map +0 -1
  413. package/dist/types/src/playground/debug/Debug.d.ts +0 -6
  414. package/dist/types/src/playground/debug/Debug.d.ts.map +0 -1
  415. package/dist/types/src/playground/debug/index.d.ts +0 -2
  416. package/dist/types/src/playground/debug/index.d.ts.map +0 -1
  417. package/dist/types/src/playground/debug/plugin.d.ts +0 -2
  418. package/dist/types/src/playground/debug/plugin.d.ts.map +0 -1
  419. package/dist/types/src/playground/generator/Main.d.ts +0 -6
  420. package/dist/types/src/playground/generator/Main.d.ts.map +0 -1
  421. package/dist/types/src/playground/generator/Toolbar.d.ts +0 -6
  422. package/dist/types/src/playground/generator/Toolbar.d.ts.map +0 -1
  423. package/dist/types/src/playground/generator/generator.d.ts +0 -7
  424. package/dist/types/src/playground/generator/generator.d.ts.map +0 -1
  425. package/dist/types/src/playground/generator/index.d.ts +0 -3
  426. package/dist/types/src/playground/generator/index.d.ts.map +0 -1
  427. package/dist/types/src/playground/generator/plugin.d.ts +0 -2
  428. package/dist/types/src/playground/generator/plugin.d.ts.map +0 -1
  429. package/dist/types/src/playground/layout/Layout.d.ts +0 -8
  430. package/dist/types/src/playground/layout/Layout.d.ts.map +0 -1
  431. package/dist/types/src/playground/layout/index.d.ts +0 -2
  432. package/dist/types/src/playground/layout/index.d.ts.map +0 -1
  433. package/dist/types/src/playground/layout/plugin.d.ts +0 -2
  434. package/dist/types/src/playground/layout/plugin.d.ts.map +0 -1
  435. package/dist/types/src/playground/logger/Toolbar.d.ts +0 -6
  436. package/dist/types/src/playground/logger/Toolbar.d.ts.map +0 -1
  437. package/dist/types/src/playground/logger/index.d.ts +0 -2
  438. package/dist/types/src/playground/logger/index.d.ts.map +0 -1
  439. package/dist/types/src/playground/logger/plugin.d.ts +0 -2
  440. package/dist/types/src/playground/logger/plugin.d.ts.map +0 -1
  441. package/dist/types/src/playground/logger/schema.d.ts +0 -13
  442. package/dist/types/src/playground/logger/schema.d.ts.map +0 -1
  443. package/dist/types/src/playground/playground.stories.d.ts.map +0 -1
  444. package/dist/types/src/plugin-intent/IntentPlugin.d.ts +0 -2
  445. package/dist/types/src/plugin-intent/IntentPlugin.d.ts.map +0 -1
  446. package/dist/types/src/plugin-intent/actions.d.ts +0 -36
  447. package/dist/types/src/plugin-intent/actions.d.ts.map +0 -1
  448. package/dist/types/src/plugin-intent/errors.d.ts +0 -16
  449. package/dist/types/src/plugin-intent/errors.d.ts.map +0 -1
  450. package/dist/types/src/plugin-intent/index.d.ts +0 -6
  451. package/dist/types/src/plugin-intent/index.d.ts.map +0 -1
  452. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts +0 -139
  453. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts.map +0 -1
  454. package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts +0 -2
  455. package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts.map +0 -1
  456. package/dist/types/src/plugin-intent/intent.d.ts +0 -63
  457. package/dist/types/src/plugin-intent/intent.d.ts.map +0 -1
  458. package/dist/types/src/plugin-intent/meta.d.ts +0 -3
  459. package/dist/types/src/plugin-intent/meta.d.ts.map +0 -1
  460. package/dist/types/src/plugin-settings/SettingsPlugin.d.ts +0 -2
  461. package/dist/types/src/plugin-settings/SettingsPlugin.d.ts.map +0 -1
  462. package/dist/types/src/plugin-settings/actions.d.ts +0 -25
  463. package/dist/types/src/plugin-settings/actions.d.ts.map +0 -1
  464. package/dist/types/src/plugin-settings/app-graph-builder.d.ts +0 -4
  465. package/dist/types/src/plugin-settings/app-graph-builder.d.ts.map +0 -1
  466. package/dist/types/src/plugin-settings/index.d.ts +0 -3
  467. package/dist/types/src/plugin-settings/index.d.ts.map +0 -1
  468. package/dist/types/src/plugin-settings/intent-resolver.d.ts +0 -4
  469. package/dist/types/src/plugin-settings/intent-resolver.d.ts.map +0 -1
  470. package/dist/types/src/plugin-settings/meta.d.ts +0 -3
  471. package/dist/types/src/plugin-settings/meta.d.ts.map +0 -1
  472. package/dist/types/src/plugin-settings/store.d.ts +0 -5
  473. package/dist/types/src/plugin-settings/store.d.ts.map +0 -1
  474. package/dist/types/src/plugin-settings/translations.d.ts +0 -11
  475. package/dist/types/src/plugin-settings/translations.d.ts.map +0 -1
  476. package/dist/types/src/react/ErrorBoundary.d.ts +0 -30
  477. package/dist/types/src/react/ErrorBoundary.d.ts.map +0 -1
  478. package/dist/types/src/react/IntentContext.d.ts +0 -8
  479. package/dist/types/src/react/IntentContext.d.ts.map +0 -1
  480. package/dist/types/src/react/PluginManagerProvider.d.ts +0 -10
  481. package/dist/types/src/react/PluginManagerProvider.d.ts.map +0 -1
  482. package/dist/types/src/react/Surface.d.ts +0 -12
  483. package/dist/types/src/react/Surface.d.ts.map +0 -1
  484. package/dist/types/src/react/Surface.stories.d.ts +0 -17
  485. package/dist/types/src/react/Surface.stories.d.ts.map +0 -1
  486. package/dist/types/src/react/common.d.ts +0 -13
  487. package/dist/types/src/react/common.d.ts.map +0 -1
  488. package/dist/types/src/react/index.d.ts +0 -7
  489. package/dist/types/src/react/index.d.ts.map +0 -1
  490. package/dist/types/src/react/useCapabilities.d.ts +0 -13
  491. package/dist/types/src/react/useCapabilities.d.ts.map +0 -1
  492. package/dist/types/src/react/useIntentResolver.d.ts +0 -3
  493. package/dist/types/src/react/useIntentResolver.d.ts.map +0 -1
  494. package/dist/types/src/worker.d.ts +0 -4
  495. package/dist/types/src/worker.d.ts.map +0 -1
  496. package/src/common/collaboration.ts +0 -18
  497. package/src/common/events.ts +0 -79
  498. package/src/common/file.ts +0 -22
  499. package/src/common/graph.ts +0 -30
  500. package/src/common/layout.ts +0 -277
  501. package/src/common/surface.ts +0 -83
  502. package/src/components/App.stories.tsx +0 -33
  503. package/src/components/App.tsx +0 -59
  504. package/src/components/DefaultFallback.tsx +0 -26
  505. package/src/components/useApp.tsx +0 -164
  506. package/src/core/capabilities.test.ts +0 -136
  507. package/src/core/capabilities.ts +0 -259
  508. package/src/core/manager.test.ts +0 -516
  509. package/src/core/manager.ts +0 -604
  510. package/src/playground/debug/Debug.tsx +0 -39
  511. package/src/playground/debug/plugin.ts +0 -16
  512. package/src/playground/generator/Main.tsx +0 -71
  513. package/src/playground/generator/Toolbar.tsx +0 -47
  514. package/src/playground/generator/generator.ts +0 -48
  515. package/src/playground/generator/index.ts +0 -6
  516. package/src/playground/generator/plugin.ts +0 -22
  517. package/src/playground/layout/Layout.tsx +0 -33
  518. package/src/playground/layout/index.ts +0 -5
  519. package/src/playground/layout/plugin.ts +0 -18
  520. package/src/playground/logger/Toolbar.tsx +0 -30
  521. package/src/playground/logger/plugin.ts +0 -41
  522. package/src/playground/logger/schema.ts +0 -12
  523. package/src/playground/playground.stories.tsx +0 -46
  524. package/src/plugin-intent/IntentPlugin.ts +0 -20
  525. package/src/plugin-intent/actions.ts +0 -31
  526. package/src/plugin-intent/errors.ts +0 -40
  527. package/src/plugin-intent/index.ts +0 -9
  528. package/src/plugin-intent/intent-dispatcher.test.ts +0 -286
  529. package/src/plugin-intent/intent-dispatcher.ts +0 -337
  530. package/src/plugin-intent/intent.ts +0 -154
  531. package/src/plugin-intent/meta.ts +0 -10
  532. package/src/plugin-settings/SettingsPlugin.ts +0 -34
  533. package/src/plugin-settings/actions.ts +0 -25
  534. package/src/plugin-settings/app-graph-builder.ts +0 -160
  535. package/src/plugin-settings/index.ts +0 -6
  536. package/src/plugin-settings/intent-resolver.ts +0 -35
  537. package/src/plugin-settings/meta.ts +0 -10
  538. package/src/plugin-settings/store.ts +0 -33
  539. package/src/plugin-settings/translations.ts +0 -19
  540. package/src/react/ErrorBoundary.tsx +0 -56
  541. package/src/react/IntentContext.tsx +0 -35
  542. package/src/react/Surface.stories.tsx +0 -101
  543. package/src/react/Surface.tsx +0 -86
  544. package/src/react/common.ts +0 -13
  545. package/src/react/index.ts +0 -10
  546. package/src/react/useCapabilities.ts +0 -31
  547. package/src/react/useIntentResolver.ts +0 -22
  548. package/src/worker.ts +0 -11
  549. /package/dist/lib/browser/{intent-dispatcher-6SHA5B3N.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  550. /package/dist/lib/browser/{worker.mjs.map → chunk-RFSO3JRG.mjs.map} +0 -0
  551. /package/dist/lib/{node-esm/intent-dispatcher-SIYQ5ZIU.mjs.map → browser/common/activation-events.mjs.map} +0 -0
  552. /package/dist/lib/{node-esm/worker.mjs.map → browser/common/capabilities.mjs.map} +0 -0
@@ -0,0 +1,58 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import { Operation, type OperationInvoker } from '@dxos/operation';
3
+ export declare const Compute: Operation.Definition<{
4
+ readonly value: number;
5
+ }, {
6
+ readonly value: number;
7
+ }, never>;
8
+ export declare const HalveCompute: Operation.Definition<{
9
+ readonly value: number;
10
+ }, {
11
+ readonly value: number;
12
+ }, never>;
13
+ export declare const ToString: Operation.Definition<{
14
+ readonly value: number;
15
+ }, {
16
+ readonly string: string;
17
+ }, never>;
18
+ export declare const Add: Operation.Definition<readonly [number, number], number, never>;
19
+ export declare const SideEffect: Operation.Definition<void, void, never>;
20
+ export declare const computeHandler: Operation.WithHandler<Operation.Definition<{
21
+ readonly value: number;
22
+ }, {
23
+ readonly value: number;
24
+ }, never>>;
25
+ export declare const halveComputeHandler: Operation.WithHandler<Operation.Definition<{
26
+ readonly value: number;
27
+ }, {
28
+ readonly value: number;
29
+ }, never>>;
30
+ export declare const toStringHandler: Operation.WithHandler<Operation.Definition<{
31
+ readonly value: number;
32
+ }, {
33
+ readonly string: string;
34
+ }, never>>;
35
+ export declare const addHandler: Operation.WithHandler<Operation.Definition<readonly [number, number], number, never>>;
36
+ export declare const sideEffectHandler: Operation.WithHandler<Operation.Definition<void, void, never>>;
37
+ /**
38
+ * Event collector for testing - provides deterministic event collection using Effect primitives.
39
+ */
40
+ export interface EventCollector {
41
+ /** All collected events. */
42
+ readonly events: OperationInvoker.InvocationEvent[];
43
+ /** Wait until N events have been collected. */
44
+ waitForEvents: (count: number) => Effect.Effect<void>;
45
+ /** Clean up the subscription fiber. */
46
+ dispose: Effect.Effect<void>;
47
+ }
48
+ /**
49
+ * Creates an event collector that subscribes to invoker events.
50
+ * Uses Effect primitives for synchronization.
51
+ */
52
+ export declare const createEventCollector: (invoker: OperationInvoker.OperationInvoker) => Effect.Effect<EventCollector>;
53
+ /**
54
+ * Waits until a condition is true, yielding to the JS event loop between checks.
55
+ * Uses setImmediate to allow other async work to complete.
56
+ */
57
+ export declare const waitUntil: (condition: () => boolean) => Effect.Effect<void>;
58
+ //# sourceMappingURL=testing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../../src/plugin-operation/testing.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMnE,eAAO,MAAM,OAAO;;;;SAIlB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;SAIvB,CAAC;AAEH,eAAO,MAAM,QAAQ;;;;SAInB,CAAC;AAEH,eAAO,MAAM,GAAG,gEAId,CAAC;AAEH,eAAO,MAAM,UAAU,yCAIrB,CAAC;AAMH,eAAO,MAAM,cAAc;;;;UAK1B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;UAE/B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;UAE3B,CAAC;AAEF,eAAO,MAAM,UAAU,uFAA0E,CAAC;AAElG,eAAO,MAAM,iBAAiB,gEAAqE,CAAC;AAMpG;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,eAAe,EAAE,CAAC;IACpD,+CAA+C;IAC/C,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtD,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,SAAS,gBAAgB,CAAC,gBAAgB,KAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAoD1G,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,WAAW,MAAM,OAAO,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAKnE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Plugin } from '../core';
2
+ export declare const RuntimePlugin: Plugin.PluginFactory<void>;
3
+ //# sourceMappingURL=RuntimePlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimePlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugin-runtime/RuntimePlugin.ts"],"names":[],"mappings":"AAKA,OAAO,EAAc,MAAM,EAAE,MAAM,SAAS,CAAC;AAK7C,eAAO,MAAM,aAAa,4BAQzB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import { Capabilities } from '../common';
3
+ import { Capability, Plugin } from '../core';
4
+ declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<Capabilities.ManagedRuntime>>, Error, Capability.Service | Plugin.Service>;
5
+ export default _default;
6
+ //# sourceMappingURL=capability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../../../src/plugin-runtime/capability.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAoB,YAAY,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;;AAM7C,wBAqCE"}
@@ -0,0 +1,2 @@
1
+ export * from './RuntimePlugin';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugin-runtime/index.ts"],"names":[],"mappings":"AAIA,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Plugin } from '../core';
2
+ export declare const meta: Plugin.Meta;
3
+ //# sourceMappingURL=meta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../src/plugin-runtime/meta.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,IAIzB,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { type Registry } from '@effect-atom/atom-react';
2
+ import { type Operation } from '@dxos/operation';
3
+ import { ActivationEvent, type Capability, type CapabilityManager, type Plugin, PluginManager } from '../core';
4
+ export type TestAppOptions = {
5
+ /** Plugins to register. */
6
+ plugins: Plugin.Plugin[];
7
+ /** Plugin ids that are always enabled. Defaults to all provided plugin ids. */
8
+ core?: string[];
9
+ /** Plugin ids that are enabled by default in addition to core. */
10
+ enabled?: string[];
11
+ /** Additional activation events fired alongside SetupReactSurface. */
12
+ setupEvents?: ActivationEvent.ActivationEvent[];
13
+ /**
14
+ * Whether to automatically fire SetupReactSurface + Startup during setup.
15
+ * Defaults to true.
16
+ */
17
+ autoStart?: boolean;
18
+ /**
19
+ * Whether to register the PluginManager + AtomRegistry framework capabilities.
20
+ * Defaults to true.
21
+ */
22
+ registerFrameworkCapabilities?: boolean;
23
+ };
24
+ /**
25
+ * A running plugin manager plus helpers for driving it in tests.
26
+ */
27
+ export interface TestHarness {
28
+ readonly manager: PluginManager.PluginManager;
29
+ readonly capabilities: CapabilityManager.CapabilityManager;
30
+ readonly registry: Registry.Registry;
31
+ /** Activate the given event. Equivalent to `manager.activate(event)`. */
32
+ fire(event: ActivationEvent.ActivationEvent | string): Promise<boolean>;
33
+ /** Re-activate all modules that were activated by the given event. */
34
+ reset(event: ActivationEvent.ActivationEvent | string): Promise<boolean>;
35
+ /** Returns the first contributed capability for the given interface. Throws if none are present. */
36
+ get<T>(iface: Capability.InterfaceDef<T>): T;
37
+ /** Returns all contributed capabilities for the given interface. */
38
+ getAll<T>(iface: Capability.InterfaceDef<T>): T[];
39
+ /** Waits until at least one capability is contributed for the given interface. */
40
+ waitForCapability<T>(iface: Capability.InterfaceDef<T>, opts?: {
41
+ timeout?: number;
42
+ }): Promise<T>;
43
+ /** Waits until the given activation event has completed. */
44
+ waitForEvent(event: ActivationEvent.ActivationEvent | string, opts?: {
45
+ timeout?: number;
46
+ }): Promise<void>;
47
+ /** Invokes an operation through the `Capabilities.OperationInvoker` capability. */
48
+ invoke<I, O>(op: Operation.Definition<I, O>, ...args: void extends I ? [input?: I] : [input: I]): Promise<O>;
49
+ enable(id: string): Promise<boolean>;
50
+ disable(id: string): Promise<boolean>;
51
+ /** Shuts down the underlying plugin manager. */
52
+ dispose(): Promise<void>;
53
+ /** Async-disposable support so tests can use `await using harness = ...`. */
54
+ [Symbol.asyncDispose](): Promise<void>;
55
+ }
56
+ /**
57
+ * Creates a TestHarness with the same bootstrap sequence that `useApp` performs,
58
+ * minus the React provider tree.
59
+ *
60
+ * For Node-only tests, this is enough to fire activation events, read
61
+ * capabilities, and invoke operations.
62
+ *
63
+ * For React tests, pass the returned harness to `render` or `renderSurface`
64
+ * from `@dxos/app-framework/testing-react`.
65
+ */
66
+ export declare const createTestApp: (opts: TestAppOptions) => Promise<TestHarness>;
67
+ //# sourceMappingURL=harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../../../src/testing/harness.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAQxD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EAAE,eAAe,EAAE,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,KAAK,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE/G,MAAM,MAAM,cAAc,GAAG;IAC3B,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACzB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,sEAAsE;IACtE,WAAW,CAAC,EAAE,eAAe,CAAC,eAAe,EAAE,CAAC;IAChD;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;IAC3D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAErC,yEAAyE;IACzE,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,eAAe,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxE,sEAAsE;IACtE,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,eAAe,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzE,oGAAoG;IACpG,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7C,oEAAoE;IACpE,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAClD,kFAAkF;IAClF,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACjG,4DAA4D;IAC5D,YAAY,CAAC,KAAK,EAAE,eAAe,CAAC,eAAe,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1G,mFAAmF;IACnF,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE7G,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC,gDAAgD;IAChD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB,6EAA6E;IAC7E,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAID;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,GAAU,MAAM,cAAc,KAAG,OAAO,CAAC,WAAW,CAgD7E,CAAC"}
@@ -1,2 +1,4 @@
1
+ export * from './harness';
2
+ export * from './service';
1
3
  export * from './withPluginManager';
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":"AAIA,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { type RenderOptions, type RenderResult } from '@testing-library/react';
2
+ import { type FC, type PropsWithChildren, type ReactNode } from 'react';
3
+ import { type TestHarness } from './harness';
4
+ export type HarnessRenderOptions = Omit<RenderOptions, 'wrapper'> & {
5
+ /** Additional providers to wrap around the harness tree (applied innermost first). */
6
+ reactContexts?: FC<PropsWithChildren>[];
7
+ };
8
+ /**
9
+ * Renders `ui` wrapped in the same provider tree as `useApp` plus every contributed
10
+ * `Capabilities.ReactContext`.
11
+ */
12
+ export declare const render: (harness: TestHarness, ui: ReactNode, options?: HarnessRenderOptions) => RenderResult;
13
+ export type RenderSurfaceProps = {
14
+ role: string;
15
+ data?: unknown;
16
+ limit?: number;
17
+ fallback?: FC<{
18
+ error: Error;
19
+ data?: any;
20
+ }>;
21
+ placeholder?: ReactNode;
22
+ };
23
+ /**
24
+ * Renders a `Surface` with the given role/data inside the harness provider tree.
25
+ */
26
+ export declare const renderSurface: (harness: TestHarness, props: RenderSurfaceProps, options?: HarnessRenderOptions) => RenderResult;
27
+ //# sourceMappingURL=react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../../src/testing/react.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAuB,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACpG,OAAc,EAAE,KAAK,EAAE,EAAY,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AASzF,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG;IAClE,sFAAsF;IACtF,aAAa,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;CACzC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,SAAS,WAAW,EAAE,IAAI,SAAS,EAAE,UAAU,oBAAoB,KAAG,YAQ5F,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,EAAE,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IAC5C,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GACxB,SAAS,WAAW,EACpB,OAAO,kBAAkB,EACzB,UAAU,oBAAoB,KAC7B,YAOF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=react.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.test.d.ts","sourceRoot":"","sources":["../../../../src/testing/react.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import * as Layer from 'effect/Layer';
2
+ import { Plugin } from '../core';
3
+ /**
4
+ * Creates a Plugin.Service layer from a list of plugins.
5
+ * This is primarily used for testing.
6
+ */
7
+ export declare const fromPlugins: (plugins: Plugin.Plugin[]) => Layer.Layer<Plugin.Service, Error, never>;
8
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/testing/service.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAKtC,OAAO,EAAE,MAAM,EAAiB,MAAM,SAAS,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,CAAC,MAAM,EAAE,8CAmCjD,CAAC"}
@@ -1,16 +1,17 @@
1
- import { type Decorator } from '@storybook/react';
1
+ import { type Decorator, type StoryContext } from '@storybook/react';
2
2
  import { type MaybeProvider } from '@dxos/util';
3
- import { type UseAppOptions } from '../components';
4
- import { type ActivationEvent, type AnyCapability, type PluginContext } from '../core';
3
+ import { type ActivationEvent, Capability, type CapabilityManager } from '../core';
4
+ import { type UseAppOptions } from '../ui';
5
5
  export type WithPluginManagerOptions = UseAppOptions & {
6
6
  /** @deprecated */
7
- capabilities?: MaybeProvider<AnyCapability[], PluginContext>;
7
+ capabilities?: MaybeProvider<Capability.Any[], CapabilityManager.CapabilityManager>;
8
8
  /** @deprecated */
9
- fireEvents?: (ActivationEvent | string)[];
9
+ fireEvents?: (ActivationEvent.ActivationEvent | string)[];
10
10
  };
11
+ export type WithPluginManagerInitializer<Args = void> = WithPluginManagerOptions | ((context: StoryContext<Args>) => WithPluginManagerOptions);
11
12
  /**
12
13
  * Wraps a story with a plugin manager.
13
14
  * NOTE: This builds up and tears down the plugin manager on every render.
14
15
  */
15
- export declare const withPluginManager: (options?: WithPluginManagerOptions) => Decorator;
16
+ export declare const withPluginManager: <Args>(init?: WithPluginManagerInitializer<Args>) => Decorator;
16
17
  //# sourceMappingURL=withPluginManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withPluginManager.d.ts","sourceRoot":"","sources":["../../../../src/testing/withPluginManager.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAKlD,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,YAAY,CAAC;AAGlE,OAAO,EAAE,KAAK,aAAa,EAAU,MAAM,eAAe,CAAC;AAC3D,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,aAAa,EAKnB,MAAM,SAAS,CAAC;AA+BjB,MAAM,MAAM,wBAAwB,GAAG,aAAa,GAAG;IACrD,kBAAkB;IAClB,YAAY,CAAC,EAAE,aAAa,CAAC,aAAa,EAAE,EAAE,aAAa,CAAC,CAAC;IAC7D,kBAAkB;IAClB,UAAU,CAAC,EAAE,CAAC,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC;CAC3C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAS,wBAA6B,KAAG,SA+B1E,CAAC"}
1
+ {"version":3,"file":"withPluginManager.d.ts","sourceRoot":"","sources":["../../../../src/testing/withPluginManager.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAOrE,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,YAAY,CAAC;AAGlE,OAAO,EAAE,KAAK,eAAe,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAyB,MAAM,SAAS,CAAC;AAC1G,OAAO,EAAE,KAAK,aAAa,EAAU,MAAM,OAAO,CAAC;AAsCnD,MAAM,MAAM,wBAAwB,GAAG,aAAa,GAAG;IACrD,kBAAkB;IAClB,YAAY,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACpF,kBAAkB;IAClB,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC;CAC3D,CAAC;AAEF,MAAM,MAAM,4BAA4B,CAAC,IAAI,GAAG,IAAI,IAChD,wBAAwB,GACxB,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,wBAAwB,CAAC,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,IAAI,EAAG,OAAM,4BAA4B,CAAC,IAAI,CAAM,KAAG,SAuCxF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"withPluginManager.stories.d.ts","sourceRoot":"","sources":["../../../../src/testing/withPluginManager.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAoB1B,QAAA,MAAM,IAAI;;;;CAkB2B,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
1
+ {"version":3,"file":"withPluginManager.stories.d.ts","sourceRoot":"","sources":["../../../../src/testing/withPluginManager.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAmB1B,QAAA,MAAM,IAAI;;;;CAkB2B,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { type StartupProgress, type UseAppOptions } from '../../hooks';
3
+ export type AppProps = Pick<UseAppOptions, 'placeholder' | 'debounce'> & {
4
+ ready: boolean;
5
+ error: unknown;
6
+ progress?: StartupProgress;
7
+ };
8
+ export declare const App: ({ placeholder: Placeholder, ready, error, debounce, progress }: AppProps) => React.JSX.Element | null;
9
+ //# sourceMappingURL=App.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/App/App.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAIjE,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,aAAa,EAA+B,MAAM,aAAa,CAAC;AAElH,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,UAAU,CAAC,GAAG;IACvE,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B,CAAC;AAIF,eAAO,MAAM,GAAG,GAAI,gEAAgE,QAAQ,6BAqC3F,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { type StoryObj } from '@storybook/react-vite';
2
+ import React from 'react';
3
+ import { Plugin } from '../../../core';
4
+ type DefaultStoryProps = {
5
+ plugins?: Plugin.Plugin[];
6
+ };
7
+ declare const meta: {
8
+ title: string;
9
+ render: ({ plugins }: DefaultStoryProps) => React.JSX.Element;
10
+ decorators: import("@storybook/react").Decorator[];
11
+ parameters: {
12
+ layout: string;
13
+ };
14
+ };
15
+ export default meta;
16
+ type Story = StoryObj<typeof meta>;
17
+ export declare const Default: Story;
18
+ export declare const WithError: Story;
19
+ //# sourceMappingURL=App.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/App/App.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAoB,MAAM,OAAO,CAAC;AAKzC,OAAO,EAAc,MAAM,EAAE,MAAM,eAAe,CAAC;AAuCnD,KAAK,iBAAiB,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAA;CAAE,CAAC;AAkBvD,QAAA,MAAM,IAAI;;0BAhByB,iBAAiB;;;;;CAuBpC,CAAC;AAEjB,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAIvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './App';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/App/index.ts"],"names":[],"mappings":"AAIA,cAAc,OAAO,CAAC"}
@@ -4,8 +4,10 @@ declare const meta: {
4
4
  title: string;
5
5
  render: () => React.JSX.Element;
6
6
  decorators: import("@storybook/react").Decorator[];
7
+ parameters: {
8
+ layout: string;
9
+ };
7
10
  };
8
11
  export default meta;
9
- type Story = StoryObj<typeof meta>;
10
- export declare const Playground: Story;
11
- //# sourceMappingURL=playground.stories.d.ts.map
12
+ export declare const Default: StoryObj<typeof meta>;
13
+ //# sourceMappingURL=PluginManagerContext.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginManagerContext.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/PluginManager/PluginManagerContext.stories.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAuC,MAAM,OAAO,CAAC;AAoK5D,QAAA,MAAM,IAAI;;;;;;;CAOM,CAAC;AAEjB,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAM,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type PluginManager } from '../../../core';
2
+ /**
3
+ * Get the plugin manager.
4
+ */
5
+ export declare const usePluginManager: () => PluginManager.PluginManager;
6
+ /**
7
+ * Context provider for a plugin manager.
8
+ */
9
+ export declare const PluginManagerProvider: import("react").Provider<PluginManager.PluginManager | undefined>;
10
+ //# sourceMappingURL=PluginManagerProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginManagerProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/PluginManager/PluginManagerProvider.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAInD;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,aAAa,CAAC,aACoC,CAAC;AAEvF;;GAEG;AACH,eAAO,MAAM,qBAAqB,mEAAgC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './PluginManagerProvider';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/PluginManager/index.ts"],"names":[],"mappings":"AAIA,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import React, { type NamedExoticComponent, type RefAttributes } from 'react';
2
+ import { type CapabilityManager } from '../../../core';
3
+ import { type Props, type RoleToken, type TokenData, type TypedProps } from './types';
4
+ /**
5
+ * A surface is a named region of the screen that can be populated by plugins.
6
+ */
7
+ export declare const SurfaceComponent: (<TToken extends RoleToken<any>>(props: TypedProps<TToken> & RefAttributes<HTMLElement>) => React.ReactNode) & NamedExoticComponent<Props & RefAttributes<HTMLElement>>;
8
+ /**
9
+ * @returns `true` if there is a contributed surface which matches the specified role & data, `false` otherwise.
10
+ *
11
+ * Two overloads:
12
+ * - Typed: pass a `type` role token and `data` is constrained to the token's
13
+ * declared contract (e.g. `AppSurface.Section` requires `attendableId`).
14
+ * - Legacy: pass a string `role` and `data` is untyped.
15
+ */
16
+ export declare function isSurfaceAvailable<TToken extends RoleToken<any>>(capabilityManager: CapabilityManager.CapabilityManager, args: {
17
+ type: TToken;
18
+ data?: TokenData<TToken>;
19
+ role?: never;
20
+ }): boolean;
21
+ export declare function isSurfaceAvailable(capabilityManager: CapabilityManager.CapabilityManager, args: Pick<Props, 'role' | 'data'> & {
22
+ type?: undefined;
23
+ }): boolean;
24
+ //# sourceMappingURL=SurfaceComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SurfaceComponent.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/SurfaceComponent.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAEZ,KAAK,oBAAoB,EAEzB,KAAK,aAAa,EAOnB,MAAM,OAAO,CAAC;AAQf,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAKvD,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,UAAU,EAEhB,MAAM,SAAS,CAAC;AAkJjB;;GAEG;AAEH,eAAO,MAAM,gBAAgB,EA6CxB,CAAC,CAAC,MAAM,SAAS,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,GAC/G,oBAAoB,CAAC,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;AAwC3D;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,SAAS,SAAS,CAAC,GAAG,CAAC,EAC9D,iBAAiB,EAAE,iBAAiB,CAAC,iBAAiB,EACtD,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,GAC7D,OAAO,CAAC;AACX,wBAAgB,kBAAkB,CAChC,iBAAiB,EAAE,iBAAiB,CAAC,iBAAiB,EACtD,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GACxD,OAAO,CAAC"}
@@ -11,4 +11,4 @@ declare const meta: {
11
11
  export default meta;
12
12
  type Story = StoryObj<typeof meta>;
13
13
  export declare const Default: Story;
14
- //# sourceMappingURL=App.stories.d.ts.map
14
+ //# sourceMappingURL=SurfaceComponent.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SurfaceComponent.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/SurfaceComponent.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAA+D,MAAM,OAAO,CAAC;AA6HpF,QAAA,MAAM,IAAI;;;;;;;CAO2B,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React, { type ReactElement, type Ref } from 'react';
2
+ export type SurfaceInfoProps = {
3
+ children: ReactElement<{
4
+ ref?: Ref<HTMLElement>;
5
+ }>;
6
+ };
7
+ /**
8
+ * Debug wrapper for surfaces.
9
+ */
10
+ export declare const SurfaceInfo: React.ForwardRefExoticComponent<SurfaceInfoProps & React.RefAttributes<HTMLElement>>;
11
+ //# sourceMappingURL=SurfaceInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SurfaceInfo.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/SurfaceInfo.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EACZ,KAAK,YAAY,EACjB,KAAK,GAAG,EAMT,MAAM,OAAO,CAAC;AAQf,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,YAAY,CAAC;QAAE,GAAG,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC,CAAC;CACpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,sFA+EtB,CAAC"}
@@ -0,0 +1,48 @@
1
+ import React, { type PropsWithChildren, type ProfilerOnRenderCallback } from 'react';
2
+ /**
3
+ * Single profiler record captured from React Profiler onRender callback.
4
+ */
5
+ export type SurfaceProfilerEntry = {
6
+ id: string;
7
+ phase: 'mount' | 'update' | 'nested-update';
8
+ actualDuration: number;
9
+ baseDuration: number;
10
+ startTime: number;
11
+ commitTime: number;
12
+ timestamp: number;
13
+ };
14
+ /**
15
+ * Aggregated stats for a single profiled surface.
16
+ */
17
+ export type SurfaceProfilerStats = {
18
+ id: string;
19
+ mountCount: number;
20
+ updateCount: number;
21
+ totalRenders: number;
22
+ avgActualDuration: number;
23
+ maxActualDuration: number;
24
+ avgBaseDuration: number;
25
+ lastActualDuration: number;
26
+ lastCommitTime: number;
27
+ };
28
+ /**
29
+ * Provider that collects React Profiler data from Surface components.
30
+ */
31
+ export declare const SurfaceProfilerProvider: ({ children }: PropsWithChildren) => React.JSX.Element;
32
+ /**
33
+ * Returns a stable onRender callback for use with React Profiler.
34
+ */
35
+ export declare const useSurfaceProfilerCallback: () => ProfilerOnRenderCallback | undefined;
36
+ /**
37
+ * Returns all profiler entries reactively.
38
+ */
39
+ export declare const useSurfaceProfilerEntries: () => readonly SurfaceProfilerEntry[];
40
+ /**
41
+ * Returns aggregated stats grouped by surface id.
42
+ */
43
+ export declare const useSurfaceProfilerStats: () => SurfaceProfilerStats[];
44
+ /**
45
+ * Clears all collected profiler entries.
46
+ */
47
+ export declare const useSurfaceProfilerClear: () => (() => void) | undefined;
48
+ //# sourceMappingURL=SurfaceProfilerContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SurfaceProfilerContext.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/SurfaceProfilerContext.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAEZ,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAM9B,MAAM,OAAO,CAAC;AAIf;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,eAAe,CAAC;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAmEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAAI,cAAc,iBAAiB,sBAQtE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,QAAO,wBAAwB,GAAG,SAkBxE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,QAAO,SAAS,oBAAoB,EAGzE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAAO,oBAAoB,EAqC9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAAO,CAAC,MAAM,IAAI,CAAC,GAAG,SAGzD,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type Context } from 'react';
2
+ import { type Props } from './types';
3
+ export type SurfaceContext = Pick<Props, 'id' | 'role' | 'data'>;
4
+ export declare const SurfaceContext: Context<SurfaceContext | undefined>;
5
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/context.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;AAGjE,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,cAAc,GAAG,SAAS,CAAwD,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { SurfaceContext } from './context';
2
+ import { isSurfaceAvailable } from './SurfaceComponent';
3
+ import { type Definition as SurfaceDefinition, type RoleToken as SurfaceRoleToken, type SurfaceBinding as SurfaceBindingType, type SurfaceFilter as SurfaceFilterType, type TokenData as SurfaceTokenData, type TypedProps as SurfaceTypedProps, create as createSurface, createWeb as createWebSurface } from './types';
4
+ export declare namespace Surface {
5
+ type Definition = SurfaceDefinition;
6
+ const create: typeof createSurface;
7
+ const createWeb: typeof createWebSurface;
8
+ type Context = SurfaceContext;
9
+ const Context: import("react").Context<SurfaceContext | undefined>;
10
+ const Surface: (<TToken extends SurfaceRoleToken<any>>(props: SurfaceTypedProps<TToken> & import("react").RefAttributes<HTMLElement>) => React.ReactNode) & import("react").NamedExoticComponent<{
11
+ fallback?: import("react").FC<{
12
+ error: Error;
13
+ data?: any;
14
+ }>;
15
+ placeholder?: import("react").ReactNode;
16
+ } & Omit<import("./types").CoreProps<Record<string, unknown>>, "id" | "data" | "role"> & Partial<Pick<import("./types").CoreProps<Record<string, unknown>>, "id" | "data" | "role">> & {
17
+ type?: undefined;
18
+ } & {
19
+ [x: string]: any;
20
+ } & import("react").RefAttributes<HTMLElement>>;
21
+ const isAvailable: typeof isSurfaceAvailable;
22
+ type RoleToken<TData> = SurfaceRoleToken<TData>;
23
+ type Binding = SurfaceBindingType;
24
+ type Filter<TData> = SurfaceFilterType<TData>;
25
+ type TokenData<T> = SurfaceTokenData<T>;
26
+ type TypedProps<TToken extends SurfaceRoleToken<any>> = SurfaceTypedProps<TToken>;
27
+ const makeType: <TData>(role: string) => SurfaceRoleToken<TData>;
28
+ const isFilter: (value: unknown) => value is SurfaceFilterType<any>;
29
+ const ProfilerProvider: ({ children }: import("react").PropsWithChildren) => import("react").JSX.Element;
30
+ const useProfilerCallback: () => import("react").ProfilerOnRenderCallback | undefined;
31
+ const useProfilerEntries: () => readonly import("./SurfaceProfilerContext").SurfaceProfilerEntry[];
32
+ const useProfilerStats: () => import("./SurfaceProfilerContext").SurfaceProfilerStats[];
33
+ const useProfilerClear: () => (() => void) | undefined;
34
+ }
35
+ export type { SurfaceProfilerEntry, SurfaceProfilerStats } from './SurfaceProfilerContext';
36
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/Surface/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAoB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAQ1E,OAAO,EACL,KAAK,UAAU,IAAI,iBAAiB,EACpC,KAAK,SAAS,IAAI,gBAAgB,EAClC,KAAK,cAAc,IAAI,kBAAkB,EACzC,KAAK,aAAa,IAAI,iBAAiB,EACvC,KAAK,SAAS,IAAI,gBAAgB,EAClC,KAAK,UAAU,IAAI,iBAAiB,EACpC,MAAM,IAAI,aAAa,EACvB,SAAS,IAAI,gBAAgB,EAG9B,MAAM,SAAS,CAAC;AAEjB,yBAAiB,OAAO,CAAC;IACvB,KAAY,UAAU,GAAG,iBAAiB,CAAC;IACpC,MAAM,MAAM,sBAAgB,CAAC;IAC7B,MAAM,SAAS,yBAAmB,CAAC;IAE1C,KAAY,OAAO,GAAG,cAAc,CAAC;IAC9B,MAAM,OAAO,qDAAiB,CAAC;IAE/B,MAAM,OAAO;;;gBAmB8c,CAAC;;;;;;;mDAnB5b,CAAC;IACjC,MAAM,WAAW,2BAAqB,CAAC;IAE9C,KAAY,SAAS,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvD,KAAY,OAAO,GAAG,kBAAkB,CAAC;IACzC,KAAY,MAAM,CAAC,KAAK,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACrD,KAAY,SAAS,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC/C,KAAY,UAAU,CAAC,MAAM,SAAS,gBAAgB,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAClF,MAAM,QAAQ,kDAAa,CAAC;IAC5B,MAAM,QAAQ,qDAAoB,CAAC;IAEnC,MAAM,gBAAgB,kFAA0B,CAAC;IACjD,MAAM,mBAAmB,4DAA6B,CAAC;IACvD,MAAM,kBAAkB,0EAA4B,CAAC;IACrD,MAAM,gBAAgB,iEAA0B,CAAC;IACjD,MAAM,gBAAgB,gCAA0B,CAAC;CACzD;AAED,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}