@dxos/app-framework 0.7.4 → 0.7.5-labs.071a3e2

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 (389) hide show
  1. package/dist/lib/browser/app-graph-builder-MOLT4EHG.mjs +137 -0
  2. package/dist/lib/browser/app-graph-builder-MOLT4EHG.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-G3HBVVT5.mjs +1403 -0
  4. package/dist/lib/browser/chunk-G3HBVVT5.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-LDJ3T4V3.mjs +32 -0
  6. package/dist/lib/browser/chunk-LDJ3T4V3.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-TGOF2WQZ.mjs +285 -0
  8. package/dist/lib/browser/chunk-TGOF2WQZ.mjs.map +7 -0
  9. package/dist/lib/browser/index.mjs +135 -543
  10. package/dist/lib/browser/index.mjs.map +4 -4
  11. package/dist/lib/browser/intent-dispatcher-LJKNIGAM.mjs +11 -0
  12. package/dist/lib/browser/intent-resolver-Z724VAMC.mjs +38 -0
  13. package/dist/lib/browser/intent-resolver-Z724VAMC.mjs.map +7 -0
  14. package/dist/lib/browser/meta.json +1 -1
  15. package/dist/lib/browser/store-NWCY7LAP.mjs +19 -0
  16. package/dist/lib/browser/store-NWCY7LAP.mjs.map +7 -0
  17. package/dist/lib/browser/testing/index.mjs +74 -0
  18. package/dist/lib/browser/testing/index.mjs.map +7 -0
  19. package/dist/lib/browser/worker.mjs +77 -0
  20. package/dist/lib/node/app-graph-builder-G7SRXDFD.cjs +146 -0
  21. package/dist/lib/node/app-graph-builder-G7SRXDFD.cjs.map +7 -0
  22. package/dist/lib/node/chunk-55KIQ6YK.cjs +1437 -0
  23. package/dist/lib/node/chunk-55KIQ6YK.cjs.map +7 -0
  24. package/dist/lib/node/chunk-5GABBW2Q.cjs +308 -0
  25. package/dist/lib/node/chunk-5GABBW2Q.cjs.map +7 -0
  26. package/dist/lib/node/chunk-QLVQ6PND.cjs +58 -0
  27. package/dist/lib/node/chunk-QLVQ6PND.cjs.map +7 -0
  28. package/dist/lib/node/index.cjs +136 -558
  29. package/dist/lib/node/index.cjs.map +4 -4
  30. package/dist/lib/node/{plugin-settings-OZ6IKAE5.cjs → intent-dispatcher-CGUK3BCJ.cjs} +10 -10
  31. package/dist/lib/node/intent-dispatcher-CGUK3BCJ.cjs.map +7 -0
  32. package/dist/lib/node/intent-resolver-7GNKPRWT.cjs +45 -0
  33. package/dist/lib/node/intent-resolver-7GNKPRWT.cjs.map +7 -0
  34. package/dist/lib/node/meta.json +1 -1
  35. package/dist/lib/node/store-WMJSEQPC.cjs +34 -0
  36. package/dist/lib/node/store-WMJSEQPC.cjs.map +7 -0
  37. package/dist/lib/node/testing/index.cjs +98 -0
  38. package/dist/lib/node/testing/index.cjs.map +7 -0
  39. package/dist/lib/node/worker.cjs +99 -0
  40. package/dist/lib/node/worker.cjs.map +7 -0
  41. package/dist/lib/node-esm/app-graph-builder-MKLYH3NE.mjs +138 -0
  42. package/dist/lib/node-esm/app-graph-builder-MKLYH3NE.mjs.map +7 -0
  43. package/dist/lib/node-esm/chunk-47FG42II.mjs +286 -0
  44. package/dist/lib/node-esm/chunk-47FG42II.mjs.map +7 -0
  45. package/dist/lib/node-esm/chunk-CNJYZNSL.mjs +34 -0
  46. package/dist/lib/node-esm/chunk-CNJYZNSL.mjs.map +7 -0
  47. package/dist/lib/node-esm/chunk-ZTB4TA6Q.mjs +1405 -0
  48. package/dist/lib/node-esm/chunk-ZTB4TA6Q.mjs.map +7 -0
  49. package/dist/lib/node-esm/index.mjs +135 -543
  50. package/dist/lib/node-esm/index.mjs.map +4 -4
  51. package/dist/lib/node-esm/intent-dispatcher-RZAWA4XD.mjs +12 -0
  52. package/dist/lib/node-esm/intent-resolver-UIU37CKJ.mjs +39 -0
  53. package/dist/lib/node-esm/intent-resolver-UIU37CKJ.mjs.map +7 -0
  54. package/dist/lib/node-esm/meta.json +1 -1
  55. package/dist/lib/node-esm/store-YUWINFBN.mjs +20 -0
  56. package/dist/lib/node-esm/store-YUWINFBN.mjs.map +7 -0
  57. package/dist/lib/node-esm/testing/index.mjs +75 -0
  58. package/dist/lib/node-esm/testing/index.mjs.map +7 -0
  59. package/dist/lib/node-esm/worker.mjs +78 -0
  60. package/dist/types/src/App.d.ts +22 -13
  61. package/dist/types/src/App.d.ts.map +1 -1
  62. package/dist/types/src/common/capabilities.d.ts +296 -0
  63. package/dist/types/src/common/capabilities.d.ts.map +1 -0
  64. package/dist/types/src/common/events.d.ts +48 -0
  65. package/dist/types/src/common/events.d.ts.map +1 -0
  66. package/dist/types/src/common/file.d.ts +14 -0
  67. package/dist/types/src/common/file.d.ts.map +1 -0
  68. package/dist/types/src/common/graph.d.ts +21 -0
  69. package/dist/types/src/common/graph.d.ts.map +1 -0
  70. package/dist/types/src/common/index.d.ts +8 -0
  71. package/dist/types/src/common/index.d.ts.map +1 -0
  72. package/dist/types/src/common/layout.d.ts +248 -0
  73. package/dist/types/src/common/layout.d.ts.map +1 -0
  74. package/dist/types/src/common/surface.d.ts +68 -0
  75. package/dist/types/src/common/surface.d.ts.map +1 -0
  76. package/dist/types/src/common/translations.d.ts +11 -0
  77. package/dist/types/src/common/translations.d.ts.map +1 -0
  78. package/dist/types/src/core/capabilities.d.ts +94 -0
  79. package/dist/types/src/core/capabilities.d.ts.map +1 -0
  80. package/dist/types/src/core/capabilities.test.d.ts +2 -0
  81. package/dist/types/src/core/capabilities.test.d.ts.map +1 -0
  82. package/dist/types/src/core/events.d.ts +58 -0
  83. package/dist/types/src/core/events.d.ts.map +1 -0
  84. package/dist/types/src/core/index.d.ts +5 -0
  85. package/dist/types/src/core/index.d.ts.map +1 -0
  86. package/dist/types/src/core/manager.d.ts +119 -0
  87. package/dist/types/src/core/manager.d.ts.map +1 -0
  88. package/dist/types/src/core/manager.test.d.ts +2 -0
  89. package/dist/types/src/core/manager.test.d.ts.map +1 -0
  90. package/dist/types/src/core/plugin.d.ts +97 -0
  91. package/dist/types/src/core/plugin.d.ts.map +1 -0
  92. package/dist/types/src/helpers.d.ts +10 -0
  93. package/dist/types/src/helpers.d.ts.map +1 -0
  94. package/dist/types/src/helpers.test.d.ts +2 -0
  95. package/dist/types/src/helpers.test.d.ts.map +1 -0
  96. package/dist/types/src/index.d.ts +5 -1
  97. package/dist/types/src/index.d.ts.map +1 -1
  98. package/dist/types/src/playground/debug/Debug.d.ts +6 -0
  99. package/dist/types/src/playground/debug/Debug.d.ts.map +1 -0
  100. package/dist/types/src/playground/debug/index.d.ts +2 -0
  101. package/dist/types/src/playground/debug/index.d.ts.map +1 -0
  102. package/dist/types/src/playground/debug/plugin.d.ts +2 -0
  103. package/dist/types/src/playground/debug/plugin.d.ts.map +1 -0
  104. package/dist/types/src/playground/generator/Main.d.ts +6 -0
  105. package/dist/types/src/playground/generator/Main.d.ts.map +1 -0
  106. package/dist/types/src/playground/generator/Toolbar.d.ts +6 -0
  107. package/dist/types/src/playground/generator/Toolbar.d.ts.map +1 -0
  108. package/dist/types/src/playground/generator/generator.d.ts +7 -0
  109. package/dist/types/src/playground/generator/generator.d.ts.map +1 -0
  110. package/dist/types/src/playground/generator/index.d.ts +3 -0
  111. package/dist/types/src/playground/generator/index.d.ts.map +1 -0
  112. package/dist/types/src/playground/generator/plugin.d.ts +2 -0
  113. package/dist/types/src/playground/generator/plugin.d.ts.map +1 -0
  114. package/dist/types/src/playground/layout/Layout.d.ts +8 -0
  115. package/dist/types/src/playground/layout/Layout.d.ts.map +1 -0
  116. package/dist/types/src/playground/layout/index.d.ts +2 -0
  117. package/dist/types/src/playground/layout/index.d.ts.map +1 -0
  118. package/dist/types/src/playground/layout/plugin.d.ts +2 -0
  119. package/dist/types/src/playground/layout/plugin.d.ts.map +1 -0
  120. package/dist/types/src/playground/logger/Toolbar.d.ts +6 -0
  121. package/dist/types/src/playground/logger/Toolbar.d.ts.map +1 -0
  122. package/dist/types/src/playground/logger/index.d.ts +2 -0
  123. package/dist/types/src/playground/logger/index.d.ts.map +1 -0
  124. package/dist/types/src/playground/logger/plugin.d.ts +2 -0
  125. package/dist/types/src/playground/logger/plugin.d.ts.map +1 -0
  126. package/dist/types/src/playground/logger/schema.d.ts +13 -0
  127. package/dist/types/src/playground/logger/schema.d.ts.map +1 -0
  128. package/dist/types/src/playground/playground.stories.d.ts +10 -0
  129. package/dist/types/src/playground/playground.stories.d.ts.map +1 -0
  130. package/dist/types/src/plugin-intent/IntentPlugin.d.ts +2 -0
  131. package/dist/types/src/plugin-intent/IntentPlugin.d.ts.map +1 -0
  132. package/dist/types/src/plugin-intent/actions.d.ts +23 -0
  133. package/dist/types/src/plugin-intent/actions.d.ts.map +1 -0
  134. package/dist/types/src/plugin-intent/errors.d.ts +16 -0
  135. package/dist/types/src/plugin-intent/errors.d.ts.map +1 -0
  136. package/dist/types/src/plugin-intent/index.d.ts +5 -0
  137. package/dist/types/src/plugin-intent/index.d.ts.map +1 -0
  138. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts +113 -0
  139. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts.map +1 -0
  140. package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts +2 -0
  141. package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts.map +1 -0
  142. package/dist/types/src/plugin-intent/intent.d.ts +68 -0
  143. package/dist/types/src/plugin-intent/intent.d.ts.map +1 -0
  144. package/dist/types/src/plugin-settings/SettingsPlugin.d.ts +2 -0
  145. package/dist/types/src/plugin-settings/SettingsPlugin.d.ts.map +1 -0
  146. package/dist/types/src/plugin-settings/actions.d.ts +27 -0
  147. package/dist/types/src/plugin-settings/actions.d.ts.map +1 -0
  148. package/dist/types/src/plugin-settings/app-graph-builder.d.ts +197 -0
  149. package/dist/types/src/plugin-settings/app-graph-builder.d.ts.map +1 -0
  150. package/dist/types/src/plugin-settings/index.d.ts +3 -0
  151. package/dist/types/src/plugin-settings/index.d.ts.map +1 -0
  152. package/dist/types/src/plugin-settings/intent-resolver.d.ts +4 -0
  153. package/dist/types/src/plugin-settings/intent-resolver.d.ts.map +1 -0
  154. package/dist/types/src/plugin-settings/store.d.ts +5 -0
  155. package/dist/types/src/plugin-settings/store.d.ts.map +1 -0
  156. package/dist/types/src/plugin-settings/translations.d.ts +11 -0
  157. package/dist/types/src/plugin-settings/translations.d.ts.map +1 -0
  158. package/dist/types/src/react/ErrorBoundary.d.ts.map +1 -0
  159. package/dist/types/src/react/IntentContext.d.ts +8 -0
  160. package/dist/types/src/react/IntentContext.d.ts.map +1 -0
  161. package/dist/types/src/react/PluginManagerProvider.d.ts +10 -0
  162. package/dist/types/src/react/PluginManagerProvider.d.ts.map +1 -0
  163. package/dist/types/src/react/Surface.d.ts +12 -0
  164. package/dist/types/src/react/Surface.d.ts.map +1 -0
  165. package/dist/types/src/react/Surface.stories.d.ts +16 -0
  166. package/dist/types/src/react/Surface.stories.d.ts.map +1 -0
  167. package/dist/types/src/react/common.d.ts +12 -0
  168. package/dist/types/src/react/common.d.ts.map +1 -0
  169. package/dist/types/src/react/index.d.ts +7 -0
  170. package/dist/types/src/react/index.d.ts.map +1 -0
  171. package/dist/types/src/react/useCapabilities.d.ts +13 -0
  172. package/dist/types/src/react/useCapabilities.d.ts.map +1 -0
  173. package/dist/types/src/react/useIntentResolver.d.ts +3 -0
  174. package/dist/types/src/react/useIntentResolver.d.ts.map +1 -0
  175. package/dist/types/src/testing/index.d.ts +2 -0
  176. package/dist/types/src/testing/index.d.ts.map +1 -0
  177. package/dist/types/src/testing/withPluginManager.d.ts +10 -0
  178. package/dist/types/src/testing/withPluginManager.d.ts.map +1 -0
  179. package/dist/types/src/testing/withPluginManager.stories.d.ts +5 -0
  180. package/dist/types/src/testing/withPluginManager.stories.d.ts.map +1 -0
  181. package/dist/types/src/worker.d.ts +4 -0
  182. package/dist/types/src/worker.d.ts.map +1 -0
  183. package/dist/types/tsconfig.tsbuildinfo +1 -0
  184. package/package.json +39 -17
  185. package/project.json +4 -3
  186. package/src/App.tsx +139 -34
  187. package/src/common/capabilities.ts +97 -0
  188. package/src/common/events.ts +72 -0
  189. package/src/common/file.ts +22 -0
  190. package/src/common/graph.ts +30 -0
  191. package/src/{plugins/common → common}/index.ts +3 -2
  192. package/src/common/layout.ts +225 -0
  193. package/src/common/surface.ts +81 -0
  194. package/src/common/translations.ts +17 -0
  195. package/src/core/capabilities.test.ts +116 -0
  196. package/src/core/capabilities.ts +222 -0
  197. package/src/core/events.ts +58 -0
  198. package/src/core/index.ts +8 -0
  199. package/src/core/manager.test.ts +516 -0
  200. package/src/core/manager.ts +511 -0
  201. package/src/core/plugin.ts +131 -0
  202. package/src/helpers.test.ts +97 -0
  203. package/src/helpers.ts +45 -0
  204. package/src/index.ts +6 -3
  205. package/src/playground/debug/Debug.tsx +39 -0
  206. package/src/playground/debug/index.ts +5 -0
  207. package/src/playground/debug/plugin.ts +17 -0
  208. package/src/playground/generator/Main.tsx +71 -0
  209. package/src/playground/generator/Toolbar.tsx +46 -0
  210. package/src/playground/generator/generator.ts +48 -0
  211. package/src/playground/generator/index.ts +6 -0
  212. package/src/playground/generator/plugin.ts +23 -0
  213. package/src/playground/layout/Layout.tsx +33 -0
  214. package/src/playground/layout/index.ts +5 -0
  215. package/src/playground/layout/plugin.ts +17 -0
  216. package/src/playground/logger/Toolbar.tsx +29 -0
  217. package/src/playground/logger/index.ts +5 -0
  218. package/src/playground/logger/plugin.ts +36 -0
  219. package/src/playground/logger/schema.ts +12 -0
  220. package/src/playground/playground.stories.tsx +34 -0
  221. package/src/plugin-intent/IntentPlugin.tsx +20 -0
  222. package/src/plugin-intent/actions.ts +22 -0
  223. package/src/plugin-intent/errors.ts +39 -0
  224. package/src/plugin-intent/index.ts +8 -0
  225. package/src/plugin-intent/intent-dispatcher.test.ts +299 -0
  226. package/src/plugin-intent/intent-dispatcher.ts +304 -0
  227. package/src/plugin-intent/intent.ts +146 -0
  228. package/src/plugin-settings/SettingsPlugin.ts +35 -0
  229. package/src/plugin-settings/actions.ts +27 -0
  230. package/src/plugin-settings/app-graph-builder.ts +122 -0
  231. package/src/plugin-settings/index.ts +6 -0
  232. package/src/plugin-settings/intent-resolver.ts +28 -0
  233. package/src/plugin-settings/store.ts +20 -0
  234. package/src/plugin-settings/translations.ts +17 -0
  235. package/src/react/IntentContext.tsx +34 -0
  236. package/src/react/PluginManagerProvider.ts +22 -0
  237. package/src/react/Surface.stories.tsx +96 -0
  238. package/src/react/Surface.tsx +75 -0
  239. package/src/react/common.ts +12 -0
  240. package/src/react/index.ts +10 -0
  241. package/src/react/useCapabilities.ts +40 -0
  242. package/src/react/useIntentResolver.ts +22 -0
  243. package/src/testing/index.ts +5 -0
  244. package/src/testing/withPluginManager.stories.tsx +47 -0
  245. package/src/testing/withPluginManager.tsx +75 -0
  246. package/src/worker.ts +11 -0
  247. package/tsconfig.json +54 -2
  248. package/dist/lib/browser/chunk-3E7RY3CE.mjs +0 -72
  249. package/dist/lib/browser/chunk-3E7RY3CE.mjs.map +0 -7
  250. package/dist/lib/browser/chunk-653Y45CL.mjs +0 -41
  251. package/dist/lib/browser/chunk-653Y45CL.mjs.map +0 -7
  252. package/dist/lib/browser/chunk-FRXJ25VI.mjs +0 -214
  253. package/dist/lib/browser/chunk-FRXJ25VI.mjs.map +0 -7
  254. package/dist/lib/browser/chunk-YXM35XRE.mjs +0 -213
  255. package/dist/lib/browser/chunk-YXM35XRE.mjs.map +0 -7
  256. package/dist/lib/browser/plugin-intent-LU4KL2RO.mjs +0 -22
  257. package/dist/lib/browser/plugin-settings-OM3G2QFY.mjs +0 -11
  258. package/dist/lib/browser/plugin-surface-LECZMKSQ.mjs +0 -24
  259. package/dist/lib/node/chunk-JZ2JVKRY.cjs +0 -58
  260. package/dist/lib/node/chunk-JZ2JVKRY.cjs.map +0 -7
  261. package/dist/lib/node/chunk-QBM42OQ6.cjs +0 -97
  262. package/dist/lib/node/chunk-QBM42OQ6.cjs.map +0 -7
  263. package/dist/lib/node/chunk-QSVP5HOW.cjs +0 -238
  264. package/dist/lib/node/chunk-QSVP5HOW.cjs.map +0 -7
  265. package/dist/lib/node/chunk-SOVLKUWI.cjs +0 -236
  266. package/dist/lib/node/chunk-SOVLKUWI.cjs.map +0 -7
  267. package/dist/lib/node/plugin-intent-FVFR2LKB.cjs +0 -43
  268. package/dist/lib/node/plugin-intent-FVFR2LKB.cjs.map +0 -7
  269. package/dist/lib/node/plugin-settings-OZ6IKAE5.cjs.map +0 -7
  270. package/dist/lib/node/plugin-surface-YWDRXQTD.cjs +0 -45
  271. package/dist/lib/node/plugin-surface-YWDRXQTD.cjs.map +0 -7
  272. package/dist/lib/node-esm/chunk-2R4GVK7O.mjs +0 -215
  273. package/dist/lib/node-esm/chunk-2R4GVK7O.mjs.map +0 -7
  274. package/dist/lib/node-esm/chunk-EYCTSFEJ.mjs +0 -74
  275. package/dist/lib/node-esm/chunk-EYCTSFEJ.mjs.map +0 -7
  276. package/dist/lib/node-esm/chunk-YFMFQBB4.mjs +0 -214
  277. package/dist/lib/node-esm/chunk-YFMFQBB4.mjs.map +0 -7
  278. package/dist/lib/node-esm/chunk-YNU7FTGJ.mjs +0 -43
  279. package/dist/lib/node-esm/chunk-YNU7FTGJ.mjs.map +0 -7
  280. package/dist/lib/node-esm/plugin-intent-V7ER24Y6.mjs +0 -23
  281. package/dist/lib/node-esm/plugin-settings-37UVWF2V.mjs +0 -12
  282. package/dist/lib/node-esm/plugin-settings-37UVWF2V.mjs.map +0 -7
  283. package/dist/lib/node-esm/plugin-surface-TEU42XQN.mjs +0 -25
  284. package/dist/lib/node-esm/plugin-surface-TEU42XQN.mjs.map +0 -7
  285. package/dist/types/src/plugins/common/file.d.ts +0 -22
  286. package/dist/types/src/plugins/common/file.d.ts.map +0 -1
  287. package/dist/types/src/plugins/common/graph.d.ts +0 -51
  288. package/dist/types/src/plugins/common/graph.d.ts.map +0 -1
  289. package/dist/types/src/plugins/common/index.d.ts +0 -7
  290. package/dist/types/src/plugins/common/index.d.ts.map +0 -1
  291. package/dist/types/src/plugins/common/layout.d.ts +0 -202
  292. package/dist/types/src/plugins/common/layout.d.ts.map +0 -1
  293. package/dist/types/src/plugins/common/metadata.d.ts +0 -16
  294. package/dist/types/src/plugins/common/metadata.d.ts.map +0 -1
  295. package/dist/types/src/plugins/common/navigation.d.ts +0 -196
  296. package/dist/types/src/plugins/common/navigation.d.ts.map +0 -1
  297. package/dist/types/src/plugins/common/translations.d.ts +0 -22
  298. package/dist/types/src/plugins/common/translations.d.ts.map +0 -1
  299. package/dist/types/src/plugins/helpers.d.ts +0 -41
  300. package/dist/types/src/plugins/helpers.d.ts.map +0 -1
  301. package/dist/types/src/plugins/index.d.ts +0 -7
  302. package/dist/types/src/plugins/index.d.ts.map +0 -1
  303. package/dist/types/src/plugins/plugin-host/HostPlugin.d.ts +0 -21
  304. package/dist/types/src/plugins/plugin-host/HostPlugin.d.ts.map +0 -1
  305. package/dist/types/src/plugins/plugin-host/PluginContainer.d.ts +0 -14
  306. package/dist/types/src/plugins/plugin-host/PluginContainer.d.ts.map +0 -1
  307. package/dist/types/src/plugins/plugin-host/PluginContext.d.ts +0 -47
  308. package/dist/types/src/plugins/plugin-host/PluginContext.d.ts.map +0 -1
  309. package/dist/types/src/plugins/plugin-host/index.d.ts +0 -4
  310. package/dist/types/src/plugins/plugin-host/index.d.ts.map +0 -1
  311. package/dist/types/src/plugins/plugin-host/plugin.d.ts +0 -98
  312. package/dist/types/src/plugins/plugin-host/plugin.d.ts.map +0 -1
  313. package/dist/types/src/plugins/plugin-host/plugin.test.d.ts +0 -35
  314. package/dist/types/src/plugins/plugin-host/plugin.test.d.ts.map +0 -1
  315. package/dist/types/src/plugins/plugin-intent/IntentContext.d.ts +0 -21
  316. package/dist/types/src/plugins/plugin-intent/IntentContext.d.ts.map +0 -1
  317. package/dist/types/src/plugins/plugin-intent/IntentPlugin.d.ts +0 -8
  318. package/dist/types/src/plugins/plugin-intent/IntentPlugin.d.ts.map +0 -1
  319. package/dist/types/src/plugins/plugin-intent/helpers.d.ts +0 -6
  320. package/dist/types/src/plugins/plugin-intent/helpers.d.ts.map +0 -1
  321. package/dist/types/src/plugins/plugin-intent/index.d.ts +0 -6
  322. package/dist/types/src/plugins/plugin-intent/index.d.ts.map +0 -1
  323. package/dist/types/src/plugins/plugin-intent/intent.d.ts +0 -81
  324. package/dist/types/src/plugins/plugin-intent/intent.d.ts.map +0 -1
  325. package/dist/types/src/plugins/plugin-intent/meta.d.ts +0 -5
  326. package/dist/types/src/plugins/plugin-intent/meta.d.ts.map +0 -1
  327. package/dist/types/src/plugins/plugin-intent/provides.d.ts +0 -20
  328. package/dist/types/src/plugins/plugin-intent/provides.d.ts.map +0 -1
  329. package/dist/types/src/plugins/plugin-settings/SettingsPlugin.d.ts +0 -4
  330. package/dist/types/src/plugins/plugin-settings/SettingsPlugin.d.ts.map +0 -1
  331. package/dist/types/src/plugins/plugin-settings/index.d.ts +0 -4
  332. package/dist/types/src/plugins/plugin-settings/index.d.ts.map +0 -1
  333. package/dist/types/src/plugins/plugin-settings/meta.d.ts +0 -5
  334. package/dist/types/src/plugins/plugin-settings/meta.d.ts.map +0 -1
  335. package/dist/types/src/plugins/plugin-settings/provides.d.ts +0 -13
  336. package/dist/types/src/plugins/plugin-settings/provides.d.ts.map +0 -1
  337. package/dist/types/src/plugins/plugin-surface/ErrorBoundary.d.ts.map +0 -1
  338. package/dist/types/src/plugins/plugin-surface/Surface.d.ts +0 -62
  339. package/dist/types/src/plugins/plugin-surface/Surface.d.ts.map +0 -1
  340. package/dist/types/src/plugins/plugin-surface/SurfacePlugin.d.ts +0 -7
  341. package/dist/types/src/plugins/plugin-surface/SurfacePlugin.d.ts.map +0 -1
  342. package/dist/types/src/plugins/plugin-surface/SurfaceRootContext.d.ts +0 -39
  343. package/dist/types/src/plugins/plugin-surface/SurfaceRootContext.d.ts.map +0 -1
  344. package/dist/types/src/plugins/plugin-surface/helpers.d.ts +0 -21
  345. package/dist/types/src/plugins/plugin-surface/helpers.d.ts.map +0 -1
  346. package/dist/types/src/plugins/plugin-surface/index.d.ts +0 -8
  347. package/dist/types/src/plugins/plugin-surface/index.d.ts.map +0 -1
  348. package/dist/types/src/plugins/plugin-surface/meta.d.ts +0 -5
  349. package/dist/types/src/plugins/plugin-surface/meta.d.ts.map +0 -1
  350. package/dist/types/src/plugins/plugin-surface/provides.d.ts +0 -16
  351. package/dist/types/src/plugins/plugin-surface/provides.d.ts.map +0 -1
  352. package/src/plugins/common/file.ts +0 -36
  353. package/src/plugins/common/graph.ts +0 -70
  354. package/src/plugins/common/layout.ts +0 -155
  355. package/src/plugins/common/metadata.ts +0 -29
  356. package/src/plugins/common/navigation.ts +0 -185
  357. package/src/plugins/common/translations.ts +0 -36
  358. package/src/plugins/helpers.ts +0 -92
  359. package/src/plugins/index.ts +0 -11
  360. package/src/plugins/plugin-host/HostPlugin.tsx +0 -96
  361. package/src/plugins/plugin-host/PluginContainer.tsx +0 -120
  362. package/src/plugins/plugin-host/PluginContext.tsx +0 -79
  363. package/src/plugins/plugin-host/index.ts +0 -8
  364. package/src/plugins/plugin-host/plugin.test.ts +0 -158
  365. package/src/plugins/plugin-host/plugin.ts +0 -126
  366. package/src/plugins/plugin-intent/IntentContext.tsx +0 -49
  367. package/src/plugins/plugin-intent/IntentPlugin.tsx +0 -151
  368. package/src/plugins/plugin-intent/helpers.ts +0 -11
  369. package/src/plugins/plugin-intent/index.ts +0 -12
  370. package/src/plugins/plugin-intent/intent.ts +0 -101
  371. package/src/plugins/plugin-intent/meta.ts +0 -9
  372. package/src/plugins/plugin-intent/provides.ts +0 -38
  373. package/src/plugins/plugin-settings/SettingsPlugin.tsx +0 -22
  374. package/src/plugins/plugin-settings/index.ts +0 -9
  375. package/src/plugins/plugin-settings/meta.ts +0 -9
  376. package/src/plugins/plugin-settings/provides.ts +0 -29
  377. package/src/plugins/plugin-surface/Surface.tsx +0 -195
  378. package/src/plugins/plugin-surface/SurfacePlugin.tsx +0 -33
  379. package/src/plugins/plugin-surface/SurfaceRootContext.tsx +0 -60
  380. package/src/plugins/plugin-surface/helpers.ts +0 -22
  381. package/src/plugins/plugin-surface/index.ts +0 -14
  382. package/src/plugins/plugin-surface/meta.ts +0 -9
  383. package/src/plugins/plugin-surface/provides.ts +0 -26
  384. /package/dist/lib/browser/{plugin-intent-LU4KL2RO.mjs.map → intent-dispatcher-LJKNIGAM.mjs.map} +0 -0
  385. /package/dist/lib/browser/{plugin-settings-OM3G2QFY.mjs.map → worker.mjs.map} +0 -0
  386. /package/dist/lib/{browser/plugin-surface-LECZMKSQ.mjs.map → node-esm/intent-dispatcher-RZAWA4XD.mjs.map} +0 -0
  387. /package/dist/lib/node-esm/{plugin-intent-V7ER24Y6.mjs.map → worker.mjs.map} +0 -0
  388. /package/dist/types/src/{plugins/plugin-surface → react}/ErrorBoundary.d.ts +0 -0
  389. /package/src/{plugins/plugin-surface → react}/ErrorBoundary.tsx +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/plugins/common/file.ts", "../../../src/plugins/common/graph.ts", "../../../src/plugins/common/layout.ts", "../../../src/plugins/common/metadata.ts", "../../../src/plugins/common/navigation.ts", "../../../src/plugins/common/translations.ts", "../../../src/plugins/plugin-host/plugin.ts", "../../../src/plugins/plugin-host/HostPlugin.tsx", "../../../src/plugins/plugin-host/PluginContainer.tsx", "../../../src/plugins/plugin-host/PluginContext.tsx", "../../../src/App.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Space } from '@dxos/client-protocol';\n\nimport { type Plugin } from '../plugin-host';\n\n// TODO(burdon): See Accept attribute (uses MIME types).\n// E.g., 'image/*': ['.jpg', '.jpeg', '.png', '.gif'],\nexport const defaultFileTypes = {\n images: ['png', 'jpg', 'jpeg', 'gif'],\n media: ['mp3', 'mp4', 'mov', 'avi'],\n text: ['pdf', 'txt', 'md'],\n};\n\nexport type FileInfo = {\n url?: string;\n cid?: string; // TODO(burdon): Meta key? Or other common properties with other file management system? (e.g., WNFS).\n};\n\nexport type FileUploader = (file: File, space: Space) => Promise<FileInfo | undefined>;\n\n/**\n * Generic interface provided by file plugins (e.g., IPFS, WNFS).\n */\nexport type FileManagerProvides = {\n file: {\n upload?: FileUploader;\n };\n};\n\n// TODO(burdon): Better match against interface? and Return provided service type. What if multiple?\nexport const parseFileManagerPlugin = (plugin: Plugin) => {\n return (plugin.provides as any).file ? (plugin as Plugin<FileManagerProvides>) : undefined;\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type { Graph, GraphBuilder, Node } from '@dxos/app-graph';\nimport { type MaybePromise } from '@dxos/util';\n\nimport type { Plugin } from '../plugin-host';\n\n// TODO(wittjosiah): Factor out.\nexport type SerializedNode = {\n name: string;\n data: string;\n type?: string;\n};\n\n// TODO(wittjosiah): Factor out.\nexport type NodeSerializer<T = any> = {\n inputType: string;\n outputType: string;\n disposition?: 'hoist' | 'fallback';\n\n /**\n * Takes a node and serializes it into a format that can be stored.\n */\n serialize: (node: Node<T>) => MaybePromise<SerializedNode>;\n\n /**\n * Takes a serialized node and deserializes it into the application.\n */\n deserialize: (data: SerializedNode, ancestors: unknown[]) => MaybePromise<T>;\n};\n\n/**\n * Provides for a plugin that exposes the application graph.\n */\nexport type GraphProvides = {\n graph: Graph;\n explore: GraphBuilder['explore'];\n};\n\nexport type GraphBuilderProvides = {\n graph: {\n builder: (plugins: Plugin[]) => Parameters<GraphBuilder['addExtension']>[0];\n };\n};\n\nexport type GraphSerializerProvides = {\n graph: {\n serializer: (plugins: Plugin[]) => NodeSerializer[];\n };\n};\n\n/**\n * Type guard for graph plugins.\n */\nexport const parseGraphPlugin = (plugin: Plugin) =>\n (plugin.provides as any).graph?.root ? (plugin as Plugin<GraphProvides>) : undefined;\n\n/**\n * Type guard for graph builder plugins.\n */\nexport const parseGraphBuilderPlugin = (plugin: Plugin) =>\n (plugin.provides as any).graph?.builder ? (plugin as Plugin<GraphBuilderProvides>) : undefined;\n\n/**\n * Type guard for graph serializer plugins.\n */\nexport const parseGraphSerializerPlugin = (plugin: Plugin) =>\n (plugin.provides as any).graph?.serializer ? (plugin as Plugin<GraphSerializerProvides>) : undefined;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { z } from 'zod';\n\nimport { type Plugin } from '../plugin-host';\nimport { type IntentData } from '../plugin-intent';\n\n//\n// Provides\n//\n\nexport const Toast = z.object({\n id: z.string(),\n title: z.string().optional(),\n description: z.string().optional(),\n // TODO(wittjosiah): `icon` should be string to be parsed by an `Icon` component.\n icon: z.any().optional(),\n duration: z.number().optional(),\n closeLabel: z.string().optional(),\n actionLabel: z.string().optional(),\n actionAlt: z.string().optional(),\n onAction: z.function().optional(),\n});\n\nexport type Toast = z.infer<typeof Toast>;\n\n/**\n * Basic state provided by a layout plugin.\n *\n * Layout provides the state of global UI landmarks, such as the sidebar, dialog, and popover.\n * Generally only one dialog or popover should be open at a time, a layout plugin should manage this.\n * For other landmarks, such as toasts, rendering them in the layout prevents them from unmounting when navigating.\n */\n\nconst LayoutMode = z.union([z.literal('deck'), z.literal('solo'), z.literal('fullscreen')]);\nexport const isLayoutMode = (value: any): value is LayoutMode => LayoutMode.safeParse(value).success;\nexport type LayoutMode = z.infer<typeof LayoutMode>;\n\n// TODO(wittjosiah): Replace Zod w/ Effect Schema to align with ECHO.\nexport const Layout = z.object({\n layoutMode: z.union([z.literal('deck'), z.literal('solo'), z.literal('fullscreen')]),\n\n sidebarOpen: z.boolean(),\n complementarySidebarOpen: z.boolean(),\n /**\n * @deprecated\n */\n complementarySidebarContent: z\n .any()\n .optional()\n .describe('DEPRECATED. Data to be passed to the complementary sidebar Surface.'),\n\n dialogOpen: z.boolean(),\n dialogContent: z.any().optional().describe('Data to be passed to the dialog Surface.'),\n // TODO(wittjosiah): Custom properties?\n dialogBlockAlign: z.union([z.literal('start'), z.literal('center')]).optional(),\n dialogType: z.union([z.literal('default'), z.literal('alert')]).optional(),\n\n popoverOpen: z.boolean(),\n popoverContent: z.any().optional().describe('Data to be passed to the popover Surface.'),\n popoverAnchorId: z.string().optional(),\n\n toasts: z.array(Toast),\n\n scrollIntoView: z\n .string()\n .optional()\n .describe('The identifier of a component to scroll into view when it is mounted.'),\n});\n\nexport type Layout = z.infer<typeof Layout>;\n\n/**\n * Provides for a plugin that can manage the app layout.\n */\nexport type LayoutProvides = {\n layout: Readonly<Layout>;\n};\n\n/**\n * Type guard for layout plugins.\n */\nexport const parseLayoutPlugin = (plugin: Plugin) => {\n const { success } = Layout.safeParse((plugin.provides as any).layout);\n return success ? (plugin as Plugin<LayoutProvides>) : undefined;\n};\n\n//\n// Intents\n//\n\nconst LAYOUT_PLUGIN = 'dxos.org/plugin/layout';\n\nconst LAYOUT_ACTION = `${LAYOUT_PLUGIN}/action`;\n\nexport enum LayoutAction {\n SET_LAYOUT = `${LAYOUT_ACTION}/set-layout`,\n SET_LAYOUT_MODE = `${LAYOUT_ACTION}/set-layout-mode`,\n SCROLL_INTO_VIEW = `${LAYOUT_ACTION}/scroll-into-view`,\n UPDATE_PLANK_SIZE = `${LAYOUT_ACTION}/update-plank-size`,\n}\n\n/**\n * Expected payload for layout actions.\n */\nexport namespace LayoutAction {\n export type SetLayoutMode = IntentData<{\n layoutMode?: LayoutMode;\n revert?: boolean;\n }>;\n\n export type SetLayout = IntentData<{\n /**\n * Element to set the state of.\n */\n element: 'fullscreen' | 'sidebar' | 'complementary' | 'dialog' | 'popover' | 'toast';\n\n /**\n * Whether the element is on or off.\n *\n * If omitted, the element's state will be toggled or set based on other provided data.\n * For example, if `component` is provided, the state will be set to `true`.\n */\n state?: boolean;\n\n /**\n * Component to render in the dialog or popover.\n */\n component?: string;\n\n /**\n * Data to be passed to the dialog or popover Surface.\n */\n subject?: any;\n\n /**\n * Anchor ID for the popover.\n */\n anchorId?: string;\n\n // TODO(wittjosiah): Custom properties?\n\n /**\n * Block alignment for the dialog.\n */\n dialogBlockAlign?: 'start' | 'center';\n\n /**\n * Type of dialog.\n */\n dialogType?: 'default' | 'alert';\n }>;\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '../plugin-host';\n\nexport type Metadata = Record<string, any>;\n\nexport type MetadataRecordsProvides = {\n metadata: {\n records: Record<string, Metadata>;\n };\n};\n\nexport type MetadataResolver = (type: string) => Metadata;\n\nexport type MetadataResolverProvides = {\n metadata: {\n resolver: MetadataResolver;\n };\n};\n\nexport const parseMetadataRecordsPlugin = (plugin: Plugin) => {\n return (plugin.provides as any).metadata?.records ? (plugin as Plugin<MetadataRecordsProvides>) : undefined;\n};\n\nexport const parseMetadataResolverPlugin = (plugin: Plugin) => {\n return (plugin.provides as any).metadata?.resolver ? (plugin as Plugin<MetadataResolverProvides>) : undefined;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema as S } from '@effect/schema';\nimport { z } from 'zod';\n\nimport { pick } from '@dxos/util';\n\nimport { type Plugin } from '../plugin-host';\nimport { type IntentData } from '../plugin-intent';\n\n// NOTE(thure): These are chosen from RFC 1738’s `safe` characters: http://www.faqs.org/rfcs/rfc1738.html\nexport const SLUG_LIST_SEPARATOR = '+';\nexport const SLUG_ENTRY_SEPARATOR = '_';\nexport const SLUG_KEY_VALUE_SEPARATOR = '-';\nexport const SLUG_PATH_SEPARATOR = '~';\nexport const SLUG_COLLECTION_INDICATOR = '';\n\nconst LayoutEntrySchema = S.mutable(S.Struct({ id: S.String, path: S.optional(S.String) }));\nexport type LayoutEntry = S.Schema.Type<typeof LayoutEntrySchema>;\n\n// TODO(Zan): Consider renaming the 'main' part to 'deck' part now that we are throwing out the old layout plugin.\n// TODO(Zan): Extend to all strings?\nconst LayoutPartSchema = S.Union(\n S.Literal('sidebar'),\n S.Literal('main'),\n S.Literal('solo'),\n S.Literal('complementary'),\n S.Literal('fullScreen'),\n);\nexport type LayoutPart = S.Schema.Type<typeof LayoutPartSchema>;\n\nconst LayoutPartsSchema = S.partial(\n S.mutable(S.Record({ key: LayoutPartSchema, value: S.mutable(S.Array(LayoutEntrySchema)) })),\n);\nexport type LayoutParts = S.Schema.Type<typeof LayoutPartsSchema>;\n\nconst LayoutCoordinateSchema = S.mutable(S.Struct({ part: LayoutPartSchema, entryId: S.String }));\nexport type LayoutCoordinate = S.Schema.Type<typeof LayoutCoordinateSchema>;\n\nconst PartAdjustmentSchema = S.Union(S.Literal('increment-start'), S.Literal('increment-end'), S.Literal('solo'));\nexport type PartAdjustment = S.Schema.Type<typeof PartAdjustmentSchema>;\n\nconst LayoutAdjustmentSchema = S.mutable(\n S.Struct({ layoutCoordinate: LayoutCoordinateSchema, type: PartAdjustmentSchema }),\n);\nexport type LayoutAdjustment = S.Schema.Type<typeof LayoutAdjustmentSchema>;\n\n/** @deprecated */\nexport const ActiveParts = z.record(z.string(), z.union([z.string(), z.array(z.string())]));\nexport type ActiveParts = z.infer<typeof ActiveParts>;\n\n// TODO(burdon): Where should this go?\nexport type LayoutContainerProps<T> = T & { role?: string; coordinate?: LayoutCoordinate };\n\n/**\n * Provides for a plugin that can manage the app navigation.\n */\nconst LocationProvidesSchema = S.mutable(\n S.Struct({\n location: S.Struct({\n active: LayoutPartsSchema,\n closed: S.Array(S.String),\n }),\n }),\n);\nexport type LocationProvides = S.Schema.Type<typeof LocationProvidesSchema>;\n\n/**\n * Type guard for layout plugins.\n */\nexport const isLayoutParts = (value: unknown): value is LayoutParts => {\n return S.is(LayoutPartsSchema)(value);\n};\n\n// Type guard for PartAdjustment.\nexport const isLayoutAdjustment = (value: unknown): value is LayoutAdjustment => {\n return S.is(LayoutAdjustmentSchema)(value);\n};\n\nexport const parseNavigationPlugin = (plugin: Plugin): Plugin<LocationProvides> | undefined => {\n const location = (plugin.provides as any)?.location;\n if (!location) {\n return undefined;\n }\n\n if (S.is(LocationProvidesSchema)({ location })) {\n return plugin as Plugin<LocationProvides>;\n }\n\n return undefined;\n};\n\n/**\n * Utilities.\n */\n\n/** Extracts all unique IDs from the layout parts. */\nexport const openIds = (layout: LayoutParts, parts?: LayoutPart[]): string[] => {\n return Object.values(parts ? pick(layout, parts) : layout)\n .flatMap((part) => part?.map((entry) => entry.id) ?? [])\n .filter((id): id is string => id !== undefined);\n};\n\nexport const firstIdInPart = (layout: LayoutParts | undefined, part: LayoutPart): string | undefined => {\n if (!layout) {\n return undefined;\n }\n\n return layout[part]?.at(0)?.id;\n};\n\nexport const indexInPart = (\n layout: LayoutParts | undefined,\n layoutCoordinate: LayoutCoordinate | undefined,\n): number | undefined => {\n if (!layout || !layoutCoordinate) {\n return undefined;\n }\n\n const { part, entryId } = layoutCoordinate;\n return layout[part]?.findIndex((entry) => entry.id === entryId);\n};\n\nexport const partLength = (layout: LayoutParts | undefined, part: LayoutPart | undefined): number => {\n if (!layout || !part) {\n return 0;\n }\n\n return layout[part]?.length ?? 0;\n};\n\n//\n// Intents\n//\n\nconst NAVIGATION_PLUGIN = 'dxos.org/plugin/navigation';\n\nconst NAVIGATION_ACTION = `${NAVIGATION_PLUGIN}/action`;\n\nexport enum NavigationAction {\n OPEN = `${NAVIGATION_ACTION}/open`,\n ADD_TO_ACTIVE = `${NAVIGATION_ACTION}/add-to-active`,\n SET = `${NAVIGATION_ACTION}/set`,\n ADJUST = `${NAVIGATION_ACTION}/adjust`,\n CLOSE = `${NAVIGATION_ACTION}/close`,\n EXPOSE = `${NAVIGATION_ACTION}/expose`,\n}\n\n/**\n * Expected payload for navigation actions.\n */\nexport namespace NavigationAction {\n /**\n * An additive overlay to apply to `location.active` (i.e. the result is a union of previous active and the argument)\n */\n export type Open = IntentData<{ activeParts: ActiveParts }>;\n\n /**\n * Payload for adding an item to the active items.\n */\n export type AddToActive = IntentData<{\n part: LayoutPart;\n id: string;\n scrollIntoView?: boolean;\n pivotId?: string;\n positioning?: 'start' | 'end';\n }>;\n\n /**\n * A subtractive overlay to apply to `location.active` (i.e. the result is a subtraction from the previous active of the argument)\n */\n export type Close = IntentData<{ activeParts: ActiveParts; noToggle?: boolean }>;\n\n /**\n * The active parts to directly set, to be used when working with URLs or restoring a specific state.\n */\n export type Set = IntentData<{ activeParts: ActiveParts }>;\n\n /**\n * An atomic transaction to apply to `location.active`, describing which element to (attempt to) move to which location.\n */\n export type Adjust = IntentData<LayoutAdjustment>;\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { z } from 'zod';\n\nimport { type Plugin } from '../plugin-host';\n\n// TODO(burdon): Replace zed with effect.\nexport const ResourceKey = z.union([z.string(), z.record(z.any())]);\nexport type ResourceKey = z.infer<typeof ResourceKey>;\n\nexport const ResourceLanguage = z.record(ResourceKey);\nexport type ResourceLanguage = z.infer<typeof ResourceLanguage>;\n\n/**\n * A resource is a collection of translations for a language.\n */\nexport const Resource = z.record(ResourceLanguage);\nexport type Resource = z.infer<typeof Resource>;\n\n/**\n * Provides for a plugin that exposes translations.\n */\n// TODO(wittjosiah): Rename to TranslationResourcesProvides.\nexport type TranslationsProvides = {\n translations: Readonly<Resource[]>;\n};\n\n/**\n * Type guard for translation plugins.\n */\nexport const parseTranslationsPlugin = (plugin: Plugin) => {\n const { success } = z.array(Resource).safeParse((plugin.provides as any).translations);\n return success ? (plugin as Plugin<TranslationsProvides>) : undefined;\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type { FC, PropsWithChildren } from 'react';\n\n/**\n * Capabilities provided by a plugin.\n * The base surface capabilities are always included.\n */\nexport type PluginProvides<TProvides> = TProvides & {\n /**\n * React Context which is wrapped around the application to enable any hooks the plugin may provide.\n */\n context?: FC<PropsWithChildren>;\n\n /*\n * React component which is rendered at the root of the application.\n */\n root?: FC<PropsWithChildren>;\n};\n\nexport type PluginMeta = {\n /**\n * Globally unique ID.\n *\n * Expected to be in the form of a valid URL.\n *\n * @example dxos.org/plugin/example\n */\n id: string;\n\n /**\n * Short ID for use in URLs.\n *\n * NOTE: This is especially experimental and likely to change.\n */\n // TODO(wittjosiah): How should these be managed?\n shortId?: string;\n\n /**\n * Human-readable name.\n */\n name?: string;\n\n /**\n * Short description of plugin functionality.\n */\n description?: string;\n\n /**\n * URL of home page.\n */\n homePage?: string;\n\n /**\n * URL of source code.\n */\n source?: string;\n\n /**\n * Tags to help categorize the plugin.\n */\n tags?: string[];\n\n /**\n * A grep-able symbol string which can be resolved to an icon asset by @ch-ui/icons, via @ch-ui/vite-plugin-icons.\n */\n icon?: string;\n};\n\n/**\n * A unit of containment of modular functionality that can be provided to an application.\n * Plugins provide things like components, state, actions, etc. to the application.\n */\nexport type Plugin<TProvides = {}> = {\n meta: PluginMeta;\n\n /**\n * Capabilities provided by the plugin.\n */\n provides: PluginProvides<TProvides>;\n};\n\n/**\n * Plugin definitions extend the base `Plugin` interface with additional lifecycle methods.\n */\nexport type PluginDefinition<TProvides = {}, TInitializeProvides = {}> = Omit<Plugin, 'provides'> & {\n /**\n * Capabilities provided by the plugin.\n */\n provides?: Plugin<TProvides>['provides'];\n\n /**\n * Initialize any async behavior required by the plugin.\n *\n * @return Capabilities provided by the plugin which are merged with base capabilities.\n */\n initialize?: () => Promise<PluginProvides<TInitializeProvides> | void>;\n\n /**\n * Called once all plugins have been initialized.\n * This is the place to do any initialization which requires other plugins to be ready.\n *\n * @param plugins All plugins which successfully initialized.\n */\n // TODO(wittjosiah): Rename `ready` to a verb?\n ready?: (plugins: Plugin[]) => Promise<void>;\n\n /**\n * Called when the plugin is unloaded.\n * This is the place to do any cleanup required by the plugin.\n */\n unload?: () => Promise<void>;\n};\n\ntype LazyPlugin<T> = () => Promise<{ default: (props: T) => PluginDefinition }>;\n\nexport namespace Plugin {\n export const lazy = <T>(p: LazyPlugin<T>, props?: T) => {\n return () =>\n p().then(({ default: definition }) => {\n return definition(props as T);\n });\n };\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type ReactNode } from 'react';\n\nimport { LocalStorageStore } from '@dxos/local-storage';\n\nimport { PluginContainer } from './PluginContainer';\nimport { type PluginContext, PluginProvider } from './PluginContext';\nimport { type Plugin, type PluginDefinition, type PluginMeta } from './plugin';\nimport { ErrorBoundary } from '../plugin-surface';\n\nexport type HostPluginParams = {\n plugins: Record<string, () => Promise<PluginDefinition>>;\n // Ordered list of plugins.\n meta: PluginMeta[];\n core: string[];\n defaults?: string[];\n fallback?: ErrorBoundary['props']['fallback'];\n placeholder?: ReactNode;\n};\n\nexport type HostPluginProvides = {\n plugins: PluginContext;\n};\n\nexport const parsePluginHost = (plugin: Plugin) =>\n (plugin.provides as HostPluginProvides).plugins ? (plugin as Plugin<HostPluginProvides>) : undefined;\n\nconst HOST_PLUGIN = 'dxos.org/plugin/host';\n\n/**\n * Bootstraps an application by initializing plugins and rendering root components.\n */\nexport const HostPlugin = ({\n plugins,\n meta,\n core,\n defaults = [],\n fallback = DefaultFallback,\n placeholder = null,\n}: HostPluginParams): PluginDefinition<HostPluginProvides> => {\n const state = new LocalStorageStore<PluginContext>(HOST_PLUGIN, {\n ready: false,\n core,\n enabled: [...defaults],\n plugins: [],\n available: meta.filter(({ id }) => !core.includes(id)),\n // TODO(burdon): Functions should not be part of the settings type.\n setPlugin: (id: string, enabled: boolean) => {\n if (enabled) {\n state.values.enabled.push(id);\n } else {\n const index = state.values.enabled.findIndex((enabled) => enabled === id);\n index !== -1 && state.values.enabled.splice(index, 1);\n }\n },\n });\n\n // Register and load values.\n state.prop({ key: 'enabled', type: LocalStorageStore.json<string[]>() });\n\n return {\n meta: {\n id: HOST_PLUGIN,\n name: 'Plugin host',\n },\n provides: {\n plugins: state.values,\n context: ({ children }) => {\n return <PluginProvider value={state.values}>{children}</PluginProvider>;\n },\n root: () => {\n return (\n <ErrorBoundary fallback={fallback}>\n <PluginContainer plugins={plugins} core={core} state={state.values} placeholder={placeholder} />\n </ErrorBoundary>\n );\n },\n },\n };\n};\n\n/**\n * Fallback does not use tailwind or theme.\n */\nconst DefaultFallback = ({ error }: { error: Error }) => {\n return (\n <div style={{ padding: '1rem' }}>\n {/* TODO(wittjosiah): Link to docs for replacing default. */}\n <h1 style={{ fontSize: '1.2rem', fontWeight: 700, margin: '0.5rem 0' }}>{error.message}</h1>\n <pre>{error.stack}</pre>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type JSX, type FC, type PropsWithChildren, type ReactNode, useEffect, useState } from 'react';\n\nimport { log } from '@dxos/log';\n\nimport { type HostPluginParams } from './HostPlugin';\nimport { type PluginContext } from './PluginContext';\nimport { type Plugin, type PluginDefinition, type PluginProvides } from './plugin';\n\nexport type PluginContainerProps = Pick<HostPluginParams, 'core'> & {\n plugins: Record<string, () => Promise<PluginDefinition>>;\n state: PluginContext;\n placeholder: ReactNode;\n};\n\n/**\n * Root component initializes plugins.\n */\nexport const PluginContainer = ({ plugins: definitions, core, state, placeholder }: PluginContainerProps) => {\n const [error, setError] = useState<unknown>();\n\n useEffect(() => {\n log('initializing plugins', { enabled: state.enabled });\n const t = setTimeout(async () => {\n try {\n const enabledIds = [...core, ...state.enabled];\n const enabled = await Promise.all(\n enabledIds\n .map((id) => definitions[id])\n // If local storage indicates a plugin is enabled, but it is not available, ignore it.\n .filter((definition): definition is () => Promise<PluginDefinition> => Boolean(definition))\n .map((definition) => definition()),\n );\n\n const plugins = await Promise.all(\n enabled.map(async (definition) => {\n const plugin = await initializePlugin(definition).catch((err) => {\n log.error('Failed to initialize plugin:', { id: definition.meta.id, err });\n });\n\n log('initialized', { plugin: definition.meta.id });\n return plugin;\n }),\n );\n\n const initialized = plugins.filter((plugin): plugin is Plugin => Boolean(plugin));\n log('plugins initialized', { plugins: initialized });\n\n await Promise.all(enabled.map((plugin) => plugin.ready?.(initialized)));\n log('plugins ready', { plugins: initialized });\n\n state.plugins = initialized;\n state.ready = true;\n } catch (err) {\n setError(err);\n }\n });\n\n return () => {\n clearTimeout(t);\n state.ready = false;\n // TODO(wittjosiah): Does this ever need to be called prior to having dynamic plugins?\n // void Promise.all(enabled.map((definition) => definition.unload?.()));\n };\n }, []);\n\n if (error) {\n throw error;\n }\n\n if (!state.ready) {\n return <>{placeholder}</>;\n }\n\n const ComposedContext = composeContext(state.plugins);\n\n return <ComposedContext>{rootComponents(state.plugins)}</ComposedContext>;\n};\n\n/**\n * Resolve a `PluginDefinition` into a fully initialized `Plugin`.\n */\nconst initializePlugin = async <T, U>(pluginDefinition: PluginDefinition<T, U>): Promise<Plugin<T & U>> => {\n const provides = await pluginDefinition.initialize?.();\n return {\n ...pluginDefinition,\n provides: {\n ...pluginDefinition.provides,\n ...provides,\n } as PluginProvides<T & U>,\n };\n};\n\nconst rootComponents = (plugins: Plugin[]) => {\n return plugins\n .map((plugin) => {\n const Component = plugin.provides.root;\n if (Component) {\n return <Component key={plugin.meta.id} />;\n } else {\n return null;\n }\n })\n .filter((node): node is JSX.Element => Boolean(node));\n};\n\nconst composeContext = (plugins: Plugin[]) => {\n return compose(plugins.map((p) => p.provides.context!).filter(Boolean));\n};\n\nconst compose = (contexts: FC<PropsWithChildren>[]) => {\n return [...contexts].reduce((Acc, Next) => ({ children }) => (\n <Acc>\n <Next>{children}</Next>\n </Acc>\n ));\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { createContext, useContext, useMemo } from 'react';\n\nimport { raise } from '@dxos/debug';\nimport { nonNullable } from '@dxos/util';\n\nimport { type Plugin, type PluginMeta } from './plugin';\nimport { findPlugin, resolvePlugin } from '../helpers';\n\nexport type PluginContext = {\n /**\n * All plugins are ready.\n */\n ready: boolean;\n\n /**\n * Core plugins.\n */\n core: string[];\n\n /**\n * Ids of plugins which are enabled on this device.\n */\n enabled: string[];\n\n /**\n * Initialized and ready plugins.\n */\n plugins: Plugin[];\n\n /**\n * All available plugins.\n * NOTE: This is metadata rather than just ids because it includes plugins which have not been fully loaded yet.\n */\n available: PluginMeta[];\n\n /**\n * Mark plugin as enabled.\n * Requires reload to take effect.\n */\n // TODO(burdon): Functions should not be part of the settings type.\n setPlugin: (id: string, enabled: boolean) => void;\n};\n\nconst PluginContext = createContext<PluginContext | undefined>(undefined);\n\n/**\n * Get all plugins.\n */\nexport const usePlugins = (): PluginContext => useContext(PluginContext) ?? raise(new Error('Missing PluginContext'));\n\n/**\n * Get a plugin by ID.\n */\nexport const usePlugin = <T,>(id: string): Plugin<T> | undefined => {\n const { plugins } = usePlugins();\n return findPlugin<T>(plugins, id);\n};\n\n/**\n * Resolve a plugin by predicate.\n */\nexport const useResolvePlugin = <T,>(predicate: (plugin: Plugin) => Plugin<T> | undefined): Plugin<T> | undefined => {\n const { plugins } = usePlugins();\n return resolvePlugin(plugins, predicate);\n};\n\n/**\n * Resolve a collection of plugins by predicate.\n */\nexport const useResolvePlugins = <T,>(predicate: (plugin: Plugin) => Plugin<T> | undefined): Plugin<T>[] => {\n const { plugins } = usePlugins();\n return useMemo(() => plugins.map(predicate).filter(nonNullable), [plugins, predicate]);\n};\n\nexport const PluginProvider = PluginContext.Provider;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { invariant } from '@dxos/invariant';\n\nimport { type HostPluginParams, Plugin, HostPlugin } from './plugins';\nimport IntentMeta from './plugins/plugin-intent/meta';\nimport SettingsMeta from './plugins/plugin-settings/meta';\nimport SurfaceMeta from './plugins/plugin-surface/meta';\n\n/**\n * Expected usage is for this to be the entrypoint of the application.\n * Initializes plugins and renders the root components.\n *\n * @example\n * const meta = [LayoutMeta, MyPluginMeta];\n * const plugins = {\n * [LayoutMeta.id]: Plugin.lazy(() => import('./plugins/LayoutPlugin/plugin')),\n * [MyPluginMeta.id]: Plugin.lazy(() => import('./plugins/MyPlugin/plugin')),\n * };\n * const core = [LayoutMeta.id];\n * const default = [MyPluginMeta.id];\n * const fallback = <div>Initializing Plugins...</div>;\n * const App = createApp({ order, plugins, core, default, fallback });\n * createRoot(document.getElementById('root')!).render(\n * <StrictMode>\n * <App />\n * </StrictMode>,\n * );\n *\n * @param params.plugins All plugins available to the application.\n * @param params.meta All plugin metadata.\n * @param params.core Core plugins which will always be enabled.\n * @param params.defaults Default plugins are enabled by default but can be disabled by the user.\n * @param params.fallback Fallback component to render while plugins are initializing.\n */\nexport const createApp = ({ meta, plugins, core, ...params }: HostPluginParams) => {\n const hostPlugin = HostPlugin({\n plugins: {\n ...plugins,\n [IntentMeta.id]: Plugin.lazy(() => import('./plugins/plugin-intent')),\n [SettingsMeta.id]: Plugin.lazy(() => import('./plugins/plugin-settings')),\n [SurfaceMeta.id]: Plugin.lazy(() => import('./plugins/plugin-surface')),\n },\n meta: [IntentMeta, SettingsMeta, SurfaceMeta, ...meta],\n core: [IntentMeta.id, SettingsMeta.id, SurfaceMeta.id, ...core],\n ...params,\n });\n\n invariant(hostPlugin.provides);\n const { context: Context, root: Root } = hostPlugin.provides;\n invariant(Context);\n invariant(Root);\n\n return () => (\n <Context>\n <Root />\n </Context>\n );\n};\n"],
5
- "mappings": "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",
6
- "names": ["defaultFileTypes", "images", "media", "text", "parseFileManagerPlugin", "plugin", "provides", "file", "undefined", "parseGraphPlugin", "plugin", "provides", "graph", "root", "undefined", "parseGraphBuilderPlugin", "builder", "parseGraphSerializerPlugin", "serializer", "z", "Toast", "z", "object", "id", "string", "title", "optional", "description", "icon", "any", "duration", "number", "closeLabel", "actionLabel", "actionAlt", "onAction", "function", "LayoutMode", "union", "literal", "isLayoutMode", "value", "safeParse", "success", "Layout", "layoutMode", "sidebarOpen", "boolean", "complementarySidebarOpen", "complementarySidebarContent", "describe", "dialogOpen", "dialogContent", "dialogBlockAlign", "dialogType", "popoverOpen", "popoverContent", "popoverAnchorId", "toasts", "array", "scrollIntoView", "parseLayoutPlugin", "plugin", "provides", "layout", "undefined", "LAYOUT_PLUGIN", "LAYOUT_ACTION", "LayoutAction", "parseMetadataRecordsPlugin", "plugin", "provides", "metadata", "records", "undefined", "parseMetadataResolverPlugin", "resolver", "Schema", "S", "z", "pick", "SLUG_LIST_SEPARATOR", "SLUG_ENTRY_SEPARATOR", "SLUG_KEY_VALUE_SEPARATOR", "SLUG_PATH_SEPARATOR", "SLUG_COLLECTION_INDICATOR", "LayoutEntrySchema", "S", "mutable", "Struct", "id", "String", "path", "optional", "LayoutPartSchema", "Union", "Literal", "LayoutPartsSchema", "partial", "Record", "key", "value", "Array", "LayoutCoordinateSchema", "part", "entryId", "PartAdjustmentSchema", "LayoutAdjustmentSchema", "layoutCoordinate", "type", "ActiveParts", "z", "record", "string", "union", "array", "LocationProvidesSchema", "location", "active", "closed", "isLayoutParts", "is", "isLayoutAdjustment", "parseNavigationPlugin", "plugin", "provides", "undefined", "openIds", "layout", "parts", "Object", "values", "pick", "flatMap", "map", "entry", "filter", "firstIdInPart", "at", "indexInPart", "findIndex", "partLength", "length", "NAVIGATION_PLUGIN", "NAVIGATION_ACTION", "NavigationAction", "z", "ResourceKey", "z", "union", "string", "record", "any", "ResourceLanguage", "Resource", "parseTranslationsPlugin", "plugin", "success", "array", "safeParse", "provides", "translations", "undefined", "Plugin", "lazy", "p", "props", "then", "default", "definition", "React", "LocalStorageStore", "React", "useEffect", "useState", "log", "PluginContainer", "plugins", "definitions", "core", "state", "placeholder", "error", "setError", "enabled", "t", "setTimeout", "enabledIds", "Promise", "all", "map", "id", "filter", "definition", "Boolean", "plugin", "initializePlugin", "catch", "err", "meta", "initialized", "ready", "clearTimeout", "ComposedContext", "composeContext", "rootComponents", "pluginDefinition", "provides", "initialize", "Component", "root", "key", "node", "compose", "p", "context", "contexts", "reduce", "Acc", "Next", "children", "createContext", "useContext", "useMemo", "raise", "nonNullable", "PluginContext", "createContext", "undefined", "usePlugins", "useContext", "raise", "Error", "usePlugin", "id", "plugins", "findPlugin", "useResolvePlugin", "predicate", "resolvePlugin", "useResolvePlugins", "useMemo", "map", "filter", "nonNullable", "PluginProvider", "Provider", "parsePluginHost", "plugin", "provides", "plugins", "undefined", "HOST_PLUGIN", "HostPlugin", "meta", "core", "defaults", "fallback", "DefaultFallback", "placeholder", "state", "LocalStorageStore", "ready", "enabled", "available", "filter", "id", "includes", "setPlugin", "values", "push", "index", "findIndex", "splice", "prop", "key", "type", "json", "name", "context", "children", "React", "PluginProvider", "value", "root", "ErrorBoundary", "PluginContainer", "error", "div", "style", "padding", "h1", "fontSize", "fontWeight", "margin", "message", "pre", "stack", "React", "invariant", "createApp", "meta", "plugins", "core", "params", "hostPlugin", "HostPlugin", "IntentMeta", "id", "Plugin", "lazy", "SettingsMeta", "SurfaceMeta", "invariant", "provides", "context", "Context", "root", "Root", "React"]
3
+ "sources": ["../../../src/plugin-settings/translations.ts", "../../../src/plugin-settings/SettingsPlugin.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { SETTINGS_PLUGIN } from './actions';\n\nexport default [\n {\n 'en-US': {\n [SETTINGS_PLUGIN]: {\n 'open settings label': 'Open settings',\n 'app settings label': 'Settings',\n 'custom plugins label': 'Plugins',\n },\n },\n },\n];\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { SETTINGS_PLUGIN } from './actions';\nimport translations from './translations';\nimport { Capabilities, Events } from '../common';\nimport { contributes, defineModule, definePlugin, lazy } from '../core';\n\n// TODO(wittjosiah): Add options to exclude some modules.\nexport const SettingsPlugin = () =>\n definePlugin({ id: SETTINGS_PLUGIN }, [\n defineModule({\n id: `${SETTINGS_PLUGIN}/module/store`,\n activatesOn: Events.Startup,\n activatesBefore: [Events.SetupSettings],\n activatesAfter: [Events.SettingsReady],\n activate: lazy(() => import('./store')),\n }),\n defineModule({\n id: `${SETTINGS_PLUGIN}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${SETTINGS_PLUGIN}/module/intent-resolver`,\n activatesOn: Events.SetupIntents,\n activate: lazy(() => import('./intent-resolver')),\n }),\n defineModule({\n id: `${SETTINGS_PLUGIN}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: lazy(() => import('./app-graph-builder')),\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACA,eAAAA,GAAkB;QACjB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;MAC1B;IACF;EACF;;;;ACLK,IAAMC,iBAAiB,MAC5BC,aAAa;EAAEC,IAAIC;AAAgB,GAAG;EACpCC,aAAa;IACXF,IAAI,GAAGC,eAAAA;IACPE,aAAaC,OAAOC;IACpBC,iBAAiB;MAACF,OAAOG;;IACzBC,gBAAgB;MAACJ,OAAOK;;IACxBC,UAAUC,KAAK,MAAM,OAAO,sBAAA,CAAA;EAC9B,CAAA;EACAT,aAAa;IACXF,IAAI,GAAGC,eAAAA;IACPE,aAAaC,OAAOQ;IACpBF,UAAU,MAAMG,YAAYC,aAAaC,cAAcC,oBAAAA;EACzD,CAAA;EACAd,aAAa;IACXF,IAAI,GAAGC,eAAAA;IACPE,aAAaC,OAAOa;IACpBP,UAAUC,KAAK,MAAM,OAAO,gCAAA,CAAA;EAC9B,CAAA;EACAT,aAAa;IACXF,IAAI,GAAGC,eAAAA;IACPE,aAAaC,OAAOc;IACpBR,UAAUC,KAAK,MAAM,OAAO,kCAAA,CAAA;EAC9B,CAAA;CACD;",
6
+ "names": ["SETTINGS_PLUGIN", "SettingsPlugin", "definePlugin", "id", "SETTINGS_PLUGIN", "defineModule", "activatesOn", "Events", "Startup", "activatesBefore", "SetupSettings", "activatesAfter", "SettingsReady", "activate", "lazy", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "SetupIntents", "SetupAppGraph"]
7
7
  }
@@ -0,0 +1,12 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ createDispatcher,
4
+ createResolver,
5
+ intent_dispatcher_default
6
+ } from "./chunk-ZTB4TA6Q.mjs";
7
+ export {
8
+ createDispatcher,
9
+ createResolver,
10
+ intent_dispatcher_default as default
11
+ };
12
+ //# sourceMappingURL=intent-dispatcher-RZAWA4XD.mjs.map
@@ -0,0 +1,39 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ SETTINGS_ID,
4
+ SETTINGS_KEY,
5
+ SettingsAction
6
+ } from "./chunk-CNJYZNSL.mjs";
7
+ import {
8
+ Capabilities,
9
+ LayoutAction,
10
+ chain,
11
+ contributes,
12
+ createIntent,
13
+ createResolver
14
+ } from "./chunk-ZTB4TA6Q.mjs";
15
+
16
+ // packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts
17
+ import { pipe } from "effect";
18
+ var intent_resolver_default = () => contributes(Capabilities.IntentResolver, createResolver({
19
+ intent: SettingsAction.Open,
20
+ resolve: ({ plugin }) => {
21
+ return {
22
+ intents: [
23
+ pipe(createIntent(LayoutAction.SwitchWorkspace, {
24
+ part: "workspace",
25
+ subject: SETTINGS_ID
26
+ }), chain(LayoutAction.Open, {
27
+ part: "main",
28
+ subject: [
29
+ `${SETTINGS_KEY}:${plugin.replaceAll("/", ":")}`
30
+ ]
31
+ }))
32
+ ]
33
+ };
34
+ }
35
+ }));
36
+ export {
37
+ intent_resolver_default as default
38
+ };
39
+ //# sourceMappingURL=intent-resolver-UIU37CKJ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/plugin-settings/intent-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { pipe } from 'effect';\n\nimport { SETTINGS_ID, SETTINGS_KEY, SettingsAction } from './actions';\nimport { Capabilities, LayoutAction } from '../common';\nimport { contributes } from '../core';\nimport { createResolver, createIntent, chain } from '../plugin-intent';\n\nexport default () =>\n contributes(\n Capabilities.IntentResolver,\n createResolver({\n intent: SettingsAction.Open,\n resolve: ({ plugin }) => {\n return {\n intents: [\n pipe(\n createIntent(LayoutAction.SwitchWorkspace, { part: 'workspace', subject: SETTINGS_ID }),\n chain(LayoutAction.Open, { part: 'main', subject: [`${SETTINGS_KEY}:${plugin.replaceAll('/', ':')}`] }),\n ),\n ],\n };\n },\n }),\n );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;AAIA,SAASA,YAAY;AAOrB,IAAA,0BAAe,MACbC,YACEC,aAAaC,gBACbC,eAAe;EACbC,QAAQC,eAAeC;EACvBC,SAAS,CAAC,EAAEC,OAAM,MAAE;AAClB,WAAO;MACLC,SAAS;QACPC,KACEC,aAAaC,aAAaC,iBAAiB;UAAEC,MAAM;UAAaC,SAASC;QAAY,CAAA,GACrFC,MAAML,aAAaN,MAAM;UAAEQ,MAAM;UAAQC,SAAS;YAAC,GAAGG,YAAAA,IAAgBV,OAAOW,WAAW,KAAK,GAAA,CAAA;;QAAQ,CAAA,CAAA;;IAG3G;EACF;AACF,CAAA,CAAA;",
6
+ "names": ["pipe", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "SettingsAction", "Open", "resolve", "plugin", "intents", "pipe", "createIntent", "LayoutAction", "SwitchWorkspace", "part", "subject", "SETTINGS_ID", "chain", "SETTINGS_KEY", "replaceAll"]
7
+ }
@@ -1 +1 @@
1
- {"inputs":{"packages/sdk/app-framework/src/plugins/common/file.ts":{"bytes":2950,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugins/common/graph.ts":{"bytes":3905,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugins/common/layout.ts":{"bytes":12583,"imports":[{"path":"zod","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/plugins/common/metadata.ts":{"bytes":2094,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugins/common/navigation.ts":{"bytes":16951,"imports":[{"path":"@effect/schema","kind":"import-statement","external":true},{"path":"zod","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/plugins/common/translations.ts":{"bytes":3192,"imports":[{"path":"zod","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/plugins/common/index.ts":{"bytes":954,"imports":[{"path":"packages/sdk/app-framework/src/plugins/common/file.ts","kind":"import-statement","original":"./file"},{"path":"packages/sdk/app-framework/src/plugins/common/graph.ts","kind":"import-statement","original":"./graph"},{"path":"packages/sdk/app-framework/src/plugins/common/layout.ts","kind":"import-statement","original":"./layout"},{"path":"packages/sdk/app-framework/src/plugins/common/metadata.ts","kind":"import-statement","original":"./metadata"},{"path":"packages/sdk/app-framework/src/plugins/common/navigation.ts","kind":"import-statement","original":"./navigation"},{"path":"packages/sdk/app-framework/src/plugins/common/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/sdk/app-framework/src/plugins/helpers.ts":{"bytes":8632,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-intent/IntentContext.tsx":{"bytes":4091,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-intent/helpers.ts":{"bytes":1171,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-intent/meta.ts":{"bytes":727,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-intent/provides.ts":{"bytes":2925,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-intent/IntentPlugin.tsx":{"bytes":19221,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugins/plugin-intent/IntentContext.tsx","kind":"import-statement","original":"./IntentContext"},{"path":"packages/sdk/app-framework/src/plugins/plugin-intent/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"packages/sdk/app-framework/src/plugins/plugin-intent/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/sdk/app-framework/src/plugins/plugin-intent/provides.ts","kind":"import-statement","original":"./provides"},{"path":"packages/sdk/app-framework/src/plugins/helpers.ts","kind":"import-statement","original":"../helpers"}],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-intent/intent.ts":{"bytes":4142,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-intent/index.ts":{"bytes":979,"imports":[{"path":"packages/sdk/app-framework/src/plugins/plugin-intent/IntentPlugin.tsx","kind":"import-statement","original":"./IntentPlugin"},{"path":"packages/sdk/app-framework/src/plugins/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"},{"path":"packages/sdk/app-framework/src/plugins/plugin-intent/provides.ts","kind":"import-statement","original":"./provides"},{"path":"packages/sdk/app-framework/src/plugins/plugin-intent/IntentContext.tsx","kind":"import-statement","original":"./IntentContext"}],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-host/plugin.ts":{"bytes":5033,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-host/PluginContainer.tsx":{"bytes":13322,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-host/PluginContext.tsx":{"bytes":5419,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugins/helpers.ts","kind":"import-statement","original":"../helpers"}],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-surface/SurfaceRootContext.tsx":{"bytes":3334,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-surface/meta.ts":{"bytes":735,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-surface/provides.ts":{"bytes":2035,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-surface/SurfacePlugin.tsx":{"bytes":4012,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugins/plugin-surface/SurfaceRootContext.tsx","kind":"import-statement","original":"./SurfaceRootContext"},{"path":"packages/sdk/app-framework/src/plugins/plugin-surface/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/sdk/app-framework/src/plugins/plugin-surface/provides.ts","kind":"import-statement","original":"./provides"},{"path":"packages/sdk/app-framework/src/plugins/helpers.ts","kind":"import-statement","original":"../helpers"}],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-surface/helpers.ts":{"bytes":1818,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-surface/ErrorBoundary.tsx":{"bytes":4344,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-surface/Surface.tsx":{"bytes":16952,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugins/plugin-surface/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"},{"path":"packages/sdk/app-framework/src/plugins/plugin-surface/SurfaceRootContext.tsx","kind":"import-statement","original":"./SurfaceRootContext"}],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-surface/index.ts":{"bytes":1193,"imports":[{"path":"packages/sdk/app-framework/src/plugins/plugin-surface/SurfacePlugin.tsx","kind":"import-statement","original":"./SurfacePlugin"},{"path":"packages/sdk/app-framework/src/plugins/plugin-surface/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"packages/sdk/app-framework/src/plugins/plugin-surface/provides.ts","kind":"import-statement","original":"./provides"},{"path":"packages/sdk/app-framework/src/plugins/plugin-surface/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"},{"path":"packages/sdk/app-framework/src/plugins/plugin-surface/Surface.tsx","kind":"import-statement","original":"./Surface"},{"path":"packages/sdk/app-framework/src/plugins/plugin-surface/SurfaceRootContext.tsx","kind":"import-statement","original":"./SurfaceRootContext"}],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-host/HostPlugin.tsx":{"bytes":9462,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugins/plugin-host/PluginContainer.tsx","kind":"import-statement","original":"./PluginContainer"},{"path":"packages/sdk/app-framework/src/plugins/plugin-host/PluginContext.tsx","kind":"import-statement","original":"./PluginContext"},{"path":"packages/sdk/app-framework/src/plugins/plugin-surface/index.ts","kind":"import-statement","original":"../plugin-surface"}],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-host/index.ts":{"bytes":715,"imports":[{"path":"packages/sdk/app-framework/src/plugins/plugin-host/plugin.ts","kind":"import-statement","original":"./plugin"},{"path":"packages/sdk/app-framework/src/plugins/plugin-host/HostPlugin.tsx","kind":"import-statement","original":"./HostPlugin"},{"path":"packages/sdk/app-framework/src/plugins/plugin-host/PluginContext.tsx","kind":"import-statement","original":"./PluginContext"}],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-settings/meta.ts":{"bytes":743,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-settings/SettingsPlugin.tsx":{"bytes":2052,"imports":[{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugins/plugin-settings/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-settings/provides.ts":{"bytes":2244,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-settings/index.ts":{"bytes":808,"imports":[{"path":"packages/sdk/app-framework/src/plugins/plugin-settings/SettingsPlugin.tsx","kind":"import-statement","original":"./SettingsPlugin"},{"path":"packages/sdk/app-framework/src/plugins/plugin-settings/provides.ts","kind":"import-statement","original":"./provides"}],"format":"esm"},"packages/sdk/app-framework/src/plugins/index.ts":{"bytes":1008,"imports":[{"path":"packages/sdk/app-framework/src/plugins/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/plugins/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"packages/sdk/app-framework/src/plugins/plugin-intent/index.ts","kind":"import-statement","original":"./plugin-intent"},{"path":"packages/sdk/app-framework/src/plugins/plugin-host/index.ts","kind":"import-statement","original":"./plugin-host"},{"path":"packages/sdk/app-framework/src/plugins/plugin-settings/index.ts","kind":"import-statement","original":"./plugin-settings"},{"path":"packages/sdk/app-framework/src/plugins/plugin-surface/index.ts","kind":"import-statement","original":"./plugin-surface"}],"format":"esm"},"packages/sdk/app-framework/src/App.tsx":{"bytes":7547,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugins/index.ts","kind":"import-statement","original":"./plugins"},{"path":"packages/sdk/app-framework/src/plugins/plugin-intent/meta.ts","kind":"import-statement","original":"./plugins/plugin-intent/meta"},{"path":"packages/sdk/app-framework/src/plugins/plugin-settings/meta.ts","kind":"import-statement","original":"./plugins/plugin-settings/meta"},{"path":"packages/sdk/app-framework/src/plugins/plugin-surface/meta.ts","kind":"import-statement","original":"./plugins/plugin-surface/meta"},{"path":"packages/sdk/app-framework/src/plugins/plugin-intent/index.ts","kind":"dynamic-import","original":"./plugins/plugin-intent"},{"path":"packages/sdk/app-framework/src/plugins/plugin-settings/index.ts","kind":"dynamic-import","original":"./plugins/plugin-settings"},{"path":"packages/sdk/app-framework/src/plugins/plugin-surface/index.ts","kind":"dynamic-import","original":"./plugins/plugin-surface"}],"format":"esm"},"packages/sdk/app-framework/src/index.ts":{"bytes":576,"imports":[{"path":"packages/sdk/app-framework/src/plugins/index.ts","kind":"import-statement","original":"./plugins"},{"path":"packages/sdk/app-framework/src/App.tsx","kind":"import-statement","original":"./App"}],"format":"esm"}},"outputs":{"packages/sdk/app-framework/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":43422},"packages/sdk/app-framework/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-YFMFQBB4.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-2R4GVK7O.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-EYCTSFEJ.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-YNU7FTGJ.mjs","kind":"import-statement"},{"path":"zod","kind":"import-statement","external":true},{"path":"@effect/schema","kind":"import-statement","external":true},{"path":"zod","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"zod","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/dist/lib/node-esm/plugin-intent-V7ER24Y6.mjs","kind":"dynamic-import"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/plugin-settings-37UVWF2V.mjs","kind":"dynamic-import"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/plugin-surface-TEU42XQN.mjs","kind":"dynamic-import"}],"exports":["ActiveParts","ErrorBoundary","HostPlugin","IntentAction","IntentProvider","Layout","LayoutAction","NavigationAction","Plugin","PluginProvider","Resource","ResourceKey","ResourceLanguage","SLUG_COLLECTION_INDICATOR","SLUG_ENTRY_SEPARATOR","SLUG_KEY_VALUE_SEPARATOR","SLUG_LIST_SEPARATOR","SLUG_PATH_SEPARATOR","SettingsAction","Surface","SurfaceProvider","Toast","createApp","defaultFileTypes","definePlugin","filterPlugins","findPlugin","firstIdInPart","getPlugin","indexInPart","isLayoutAdjustment","isLayoutMode","isLayoutParts","isObject","openIds","parseFileManagerPlugin","parseGraphBuilderPlugin","parseGraphPlugin","parseGraphSerializerPlugin","parseIntentPlugin","parseIntentResolverPlugin","parseLayoutPlugin","parseMetadataRecordsPlugin","parseMetadataResolverPlugin","parseNavigationPlugin","parsePluginHost","parseRootSurfacePlugin","parseSettingsPlugin","parseSurfacePlugin","parseTranslationsPlugin","partLength","resolvePlugin","useIntent","useIntentDispatcher","useIntentResolver","usePlugin","usePlugins","useResolvePlugin","useResolvePlugins","useSurface","useSurfaceRoot"],"entryPoint":"packages/sdk/app-framework/src/index.ts","inputs":{"packages/sdk/app-framework/src/plugins/common/file.ts":{"bytesInOutput":288},"packages/sdk/app-framework/src/plugins/common/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/plugins/common/graph.ts":{"bytesInOutput":272},"packages/sdk/app-framework/src/plugins/common/layout.ts":{"bytesInOutput":2359},"packages/sdk/app-framework/src/plugins/common/metadata.ts":{"bytesInOutput":226},"packages/sdk/app-framework/src/plugins/common/navigation.ts":{"bytesInOutput":3050},"packages/sdk/app-framework/src/plugins/common/translations.ts":{"bytesInOutput":357},"packages/sdk/app-framework/src/plugins/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/plugins/plugin-host/plugin.ts":{"bytesInOutput":197},"packages/sdk/app-framework/src/plugins/plugin-host/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/plugins/plugin-host/HostPlugin.tsx":{"bytesInOutput":1893},"packages/sdk/app-framework/src/plugins/plugin-host/PluginContainer.tsx":{"bytesInOutput":3386},"packages/sdk/app-framework/src/plugins/plugin-host/PluginContext.tsx":{"bytesInOutput":742},"packages/sdk/app-framework/src/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/App.tsx":{"bytesInOutput":1351}},"bytes":16813},"packages/sdk/app-framework/dist/lib/node-esm/plugin-intent-V7ER24Y6.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/app-framework/dist/lib/node-esm/plugin-intent-V7ER24Y6.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-YFMFQBB4.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-EYCTSFEJ.mjs","kind":"import-statement"}],"exports":["IntentAction","IntentProvider","default","parseIntentPlugin","parseIntentResolverPlugin","useIntent","useIntentDispatcher","useIntentResolver"],"entryPoint":"packages/sdk/app-framework/src/plugins/plugin-intent/index.ts","inputs":{},"bytes":568},"packages/sdk/app-framework/dist/lib/node-esm/chunk-YFMFQBB4.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13614},"packages/sdk/app-framework/dist/lib/node-esm/chunk-YFMFQBB4.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-EYCTSFEJ.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["IntentAction","IntentProvider","meta_default","parseIntentPlugin","parseIntentResolverPlugin","plugin_intent_default","useIntent","useIntentDispatcher","useIntentResolver"],"inputs":{"packages/sdk/app-framework/src/plugins/plugin-intent/IntentPlugin.tsx":{"bytesInOutput":4541},"packages/sdk/app-framework/src/plugins/plugin-intent/IntentContext.tsx":{"bytesInOutput":637},"packages/sdk/app-framework/src/plugins/plugin-intent/helpers.ts":{"bytesInOutput":94},"packages/sdk/app-framework/src/plugins/plugin-intent/meta.ts":{"bytesInOutput":84},"packages/sdk/app-framework/src/plugins/plugin-intent/provides.ts":{"bytesInOutput":453},"packages/sdk/app-framework/src/plugins/plugin-intent/index.ts":{"bytesInOutput":42}},"bytes":6742},"packages/sdk/app-framework/dist/lib/node-esm/plugin-surface-TEU42XQN.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/app-framework/dist/lib/node-esm/plugin-surface-TEU42XQN.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-2R4GVK7O.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-EYCTSFEJ.mjs","kind":"import-statement"}],"exports":["ErrorBoundary","Surface","SurfaceProvider","default","isObject","parseRootSurfacePlugin","parseSurfacePlugin","useSurface","useSurfaceRoot"],"entryPoint":"packages/sdk/app-framework/src/plugins/plugin-surface/index.ts","inputs":{},"bytes":567},"packages/sdk/app-framework/dist/lib/node-esm/chunk-2R4GVK7O.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":17813},"packages/sdk/app-framework/dist/lib/node-esm/chunk-2R4GVK7O.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-EYCTSFEJ.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["ErrorBoundary","Surface","SurfaceProvider","isObject","meta_default","parseRootSurfacePlugin","parseSurfacePlugin","plugin_surface_default","useSurface","useSurfaceRoot"],"inputs":{"packages/sdk/app-framework/src/plugins/plugin-surface/SurfacePlugin.tsx":{"bytesInOutput":661},"packages/sdk/app-framework/src/plugins/plugin-surface/SurfaceRootContext.tsx":{"bytesInOutput":312},"packages/sdk/app-framework/src/plugins/plugin-surface/meta.ts":{"bytesInOutput":87},"packages/sdk/app-framework/src/plugins/plugin-surface/provides.ts":{"bytesInOutput":191},"packages/sdk/app-framework/src/plugins/plugin-surface/helpers.ts":{"bytesInOutput":61},"packages/sdk/app-framework/src/plugins/plugin-surface/index.ts":{"bytesInOutput":44},"packages/sdk/app-framework/src/plugins/plugin-surface/ErrorBoundary.tsx":{"bytesInOutput":707},"packages/sdk/app-framework/src/plugins/plugin-surface/Surface.tsx":{"bytesInOutput":3417}},"bytes":6516},"packages/sdk/app-framework/dist/lib/node-esm/chunk-EYCTSFEJ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4322},"packages/sdk/app-framework/dist/lib/node-esm/chunk-EYCTSFEJ.mjs":{"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true}],"exports":["definePlugin","filterPlugins","findPlugin","getPlugin","resolvePlugin"],"inputs":{"packages/sdk/app-framework/src/plugins/helpers.ts":{"bytesInOutput":1756}},"bytes":2035},"packages/sdk/app-framework/dist/lib/node-esm/plugin-settings-37UVWF2V.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/app-framework/dist/lib/node-esm/plugin-settings-37UVWF2V.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-YNU7FTGJ.mjs","kind":"import-statement"}],"exports":["SettingsAction","default","parseSettingsPlugin"],"entryPoint":"packages/sdk/app-framework/src/plugins/plugin-settings/index.ts","inputs":{},"bytes":343},"packages/sdk/app-framework/dist/lib/node-esm/chunk-YNU7FTGJ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2647},"packages/sdk/app-framework/dist/lib/node-esm/chunk-YNU7FTGJ.mjs":{"imports":[{"path":"@dxos/local-storage","kind":"import-statement","external":true}],"exports":["SettingsAction","meta_default","parseSettingsPlugin","plugin_settings_default"],"inputs":{"packages/sdk/app-framework/src/plugins/plugin-settings/SettingsPlugin.tsx":{"bytesInOutput":220},"packages/sdk/app-framework/src/plugins/plugin-settings/meta.ts":{"bytesInOutput":90},"packages/sdk/app-framework/src/plugins/plugin-settings/provides.ts":{"bytesInOutput":397},"packages/sdk/app-framework/src/plugins/plugin-settings/index.ts":{"bytesInOutput":46}},"bytes":1347}}}
1
+ {"inputs":{"packages/sdk/app-framework/src/core/capabilities.ts":{"bytes":19658,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/core/events.ts":{"bytes":5043,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/core/manager.ts":{"bytes":54827,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/core/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/sdk/app-framework/src/core/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"},"packages/sdk/app-framework/src/core/plugin.ts":{"bytes":7200,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/core/index.ts":{"bytes":770,"imports":[{"path":"packages/sdk/app-framework/src/core/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/sdk/app-framework/src/core/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/sdk/app-framework/src/core/manager.ts","kind":"import-statement","original":"./manager"},{"path":"packages/sdk/app-framework/src/core/plugin.ts","kind":"import-statement","original":"./plugin"}],"format":"esm"},"packages/sdk/app-framework/src/common/capabilities.ts":{"bytes":9148,"imports":[{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/common/events.ts":{"bytes":6123,"imports":[{"path":"packages/sdk/app-framework/src/common/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/common/file.ts":{"bytes":2530,"imports":[{"path":"@effect/schema","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/common/graph.ts":{"bytes":1434,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/intent.ts":{"bytes":10001,"imports":[{"path":"@effect/schema","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/actions.ts":{"bytes":2327,"imports":[{"path":"@effect/schema","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/errors.ts":{"bytes":3874,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts":{"bytes":29137,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/plugin-intent/errors.ts","kind":"import-statement","original":"./errors"},{"path":"packages/sdk/app-framework/src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/IntentPlugin.tsx":{"bytes":2997,"imports":[{"path":"packages/sdk/app-framework/src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts","kind":"dynamic-import","original":"./intent-dispatcher"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/index.ts":{"bytes":810,"imports":[{"path":"packages/sdk/app-framework/src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"},{"path":"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts","kind":"import-statement","original":"./intent-dispatcher"},{"path":"packages/sdk/app-framework/src/plugin-intent/IntentPlugin.tsx","kind":"import-statement","original":"./IntentPlugin"}],"format":"esm"},"packages/sdk/app-framework/src/common/layout.ts":{"bytes":35554,"imports":[{"path":"@effect/schema","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"}],"format":"esm"},"packages/sdk/app-framework/src/common/surface.ts":{"bytes":4002,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/common/translations.ts":{"bytes":2192,"imports":[{"path":"@effect/schema","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/common/index.ts":{"bytes":1037,"imports":[{"path":"packages/sdk/app-framework/src/common/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/sdk/app-framework/src/common/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/sdk/app-framework/src/common/file.ts","kind":"import-statement","original":"./file"},{"path":"packages/sdk/app-framework/src/common/graph.ts","kind":"import-statement","original":"./graph"},{"path":"packages/sdk/app-framework/src/common/layout.ts","kind":"import-statement","original":"./layout"},{"path":"packages/sdk/app-framework/src/common/surface.ts","kind":"import-statement","original":"./surface"},{"path":"packages/sdk/app-framework/src/common/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/sdk/app-framework/src/helpers.ts":{"bytes":5078,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/react/PluginManagerProvider.ts":{"bytes":2070,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/react/useCapabilities.ts":{"bytes":3774,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/react/PluginManagerProvider.ts","kind":"import-statement","original":"./PluginManagerProvider"}],"format":"esm"},"packages/sdk/app-framework/src/react/common.ts":{"bytes":1609,"imports":[{"path":"packages/sdk/app-framework/src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"}],"format":"esm"},"packages/sdk/app-framework/src/react/ErrorBoundary.tsx":{"bytes":4327,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/react/Surface.tsx":{"bytes":10288,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/react/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"},{"path":"packages/sdk/app-framework/src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"}],"format":"esm"},"packages/sdk/app-framework/src/react/useIntentResolver.ts":{"bytes":2530,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/react/index.ts","kind":"import-statement","original":"../react"}],"format":"esm"},"packages/sdk/app-framework/src/react/index.ts":{"bytes":1035,"imports":[{"path":"packages/sdk/app-framework/src/react/common.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/react/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"},{"path":"packages/sdk/app-framework/src/react/PluginManagerProvider.ts","kind":"import-statement","original":"./PluginManagerProvider"},{"path":"packages/sdk/app-framework/src/react/Surface.tsx","kind":"import-statement","original":"./Surface"},{"path":"packages/sdk/app-framework/src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"packages/sdk/app-framework/src/react/useIntentResolver.ts","kind":"import-statement","original":"./useIntentResolver"}],"format":"esm"},"packages/sdk/app-framework/src/App.tsx":{"bytes":17999,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"packages/sdk/app-framework/src/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"packages/sdk/app-framework/src/react/index.ts","kind":"import-statement","original":"./react"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/actions.ts":{"bytes":3121,"imports":[{"path":"@effect/schema","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/translations.ts":{"bytes":1354,"imports":[{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/store.ts":{"bytes":2467,"imports":[{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts":{"bytes":3523,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/app-graph-builder.ts":{"bytes":16303,"imports":[{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/SettingsPlugin.ts":{"bytes":4859,"imports":[{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/plugin-settings/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"packages/sdk/app-framework/src/plugin-settings/store.ts","kind":"dynamic-import","original":"./store"},{"path":"packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/sdk/app-framework/src/plugin-settings/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/index.ts":{"bytes":619,"imports":[{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/plugin-settings/SettingsPlugin.ts","kind":"import-statement","original":"./SettingsPlugin"}],"format":"esm"},"packages/sdk/app-framework/src/index.ts":{"bytes":944,"imports":[{"path":"packages/sdk/app-framework/src/App.tsx","kind":"import-statement","original":"./App"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"./plugin-intent"},{"path":"packages/sdk/app-framework/src/plugin-settings/index.ts","kind":"import-statement","original":"./plugin-settings"},{"path":"packages/sdk/app-framework/src/react/index.ts","kind":"import-statement","original":"./react"}],"format":"esm"},"packages/sdk/app-framework/src/testing/withPluginManager.tsx":{"bytes":8218,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/App.tsx","kind":"import-statement","original":"../App"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/testing/index.ts":{"bytes":531,"imports":[{"path":"packages/sdk/app-framework/src/testing/withPluginManager.tsx","kind":"import-statement","original":"./withPluginManager"}],"format":"esm"},"packages/sdk/app-framework/src/worker.ts":{"bytes":1287,"imports":[{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"./plugin-intent"}],"format":"esm"}},"outputs":{"packages/sdk/app-framework/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2781},"packages/sdk/app-framework/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-47FG42II.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-CNJYZNSL.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-ZTB4TA6Q.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/store-YUWINFBN.mjs","kind":"dynamic-import"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/intent-resolver-UIU37CKJ.mjs","kind":"dynamic-import"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/app-graph-builder-MKLYH3NE.mjs","kind":"dynamic-import"}],"exports":["Capabilities","ErrorBoundary","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","Plugin","PluginManager","PluginManagerProvider","PluginModule","PluginsContext","Resource","ResourceKey","ResourceLanguage","SETTINGS_ACTION","SETTINGS_ID","SETTINGS_KEY","SETTINGS_PLUGIN","SettingsAction","SettingsPlugin","Surface","allOf","chain","contributes","createApp","createDispatcher","createIntent","createResolver","createSurface","defaultFileTypes","defineCapability","defineEvent","defineModule","definePlugin","eventKey","getEvents","isAllOf","isOneOf","isSurfaceAvailable","lazy","oneOf","useAppGraph","useCapabilities","useCapability","useIntentDispatcher","useIntentResolver","useLayout","usePluginManager","useSurfaces"],"entryPoint":"packages/sdk/app-framework/src/index.ts","inputs":{"packages/sdk/app-framework/src/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/plugin-settings/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/plugin-settings/translations.ts":{"bytesInOutput":228},"packages/sdk/app-framework/src/plugin-settings/SettingsPlugin.ts":{"bytesInOutput":905}},"bytes":3242},"packages/sdk/app-framework/dist/lib/node-esm/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4088},"packages/sdk/app-framework/dist/lib/node-esm/testing/index.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-47FG42II.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-ZTB4TA6Q.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"exports":["setupPluginManager","withPluginManager"],"entryPoint":"packages/sdk/app-framework/src/testing/index.ts","inputs":{"packages/sdk/app-framework/src/testing/withPluginManager.tsx":{"bytesInOutput":1636},"packages/sdk/app-framework/src/testing/index.ts":{"bytesInOutput":0}},"bytes":2065},"packages/sdk/app-framework/dist/lib/node-esm/chunk-47FG42II.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":23456},"packages/sdk/app-framework/dist/lib/node-esm/chunk-47FG42II.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-ZTB4TA6Q.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true}],"exports":["ErrorBoundary","PluginManagerProvider","Surface","createApp","isSurfaceAvailable","useAppGraph","useCapabilities","useCapability","useIntentDispatcher","useIntentResolver","useLayout","usePluginManager","useSurfaces"],"inputs":{"packages/sdk/app-framework/src/react/PluginManagerProvider.ts":{"bytesInOutput":312},"packages/sdk/app-framework/src/react/useCapabilities.ts":{"bytesInOutput":568},"packages/sdk/app-framework/src/react/common.ts":{"bytesInOutput":198},"packages/sdk/app-framework/src/react/ErrorBoundary.tsx":{"bytesInOutput":705},"packages/sdk/app-framework/src/react/Surface.tsx":{"bytesInOutput":1746},"packages/sdk/app-framework/src/react/useIntentResolver.ts":{"bytesInOutput":414},"packages/sdk/app-framework/src/react/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/App.tsx":{"bytesInOutput":3505},"packages/sdk/app-framework/src/helpers.ts":{"bytesInOutput":1049}},"bytes":9441},"packages/sdk/app-framework/dist/lib/node-esm/worker.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/app-framework/dist/lib/node-esm/worker.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-ZTB4TA6Q.mjs","kind":"import-statement"}],"exports":["Capabilities","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","Plugin","PluginManager","PluginModule","PluginsContext","Resource","ResourceKey","ResourceLanguage","allOf","chain","contributes","createDispatcher","createIntent","createResolver","createSurface","defaultFileTypes","defineCapability","defineEvent","defineModule","definePlugin","eventKey","getEvents","isAllOf","isOneOf","lazy","oneOf"],"entryPoint":"packages/sdk/app-framework/src/worker.ts","inputs":{"packages/sdk/app-framework/src/worker.ts":{"bytesInOutput":0}},"bytes":1242},"packages/sdk/app-framework/dist/lib/node-esm/intent-dispatcher-RZAWA4XD.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/app-framework/dist/lib/node-esm/intent-dispatcher-RZAWA4XD.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-ZTB4TA6Q.mjs","kind":"import-statement"}],"exports":["createDispatcher","createResolver","default"],"entryPoint":"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts","inputs":{},"bytes":343},"packages/sdk/app-framework/dist/lib/node-esm/store-YUWINFBN.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1230},"packages/sdk/app-framework/dist/lib/node-esm/store-YUWINFBN.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-ZTB4TA6Q.mjs","kind":"import-statement"},{"path":"@dxos/local-storage","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/sdk/app-framework/src/plugin-settings/store.ts","inputs":{"packages/sdk/app-framework/src/plugin-settings/store.ts":{"bytesInOutput":366}},"bytes":671},"packages/sdk/app-framework/dist/lib/node-esm/intent-resolver-UIU37CKJ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1602},"packages/sdk/app-framework/dist/lib/node-esm/intent-resolver-UIU37CKJ.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-CNJYZNSL.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-ZTB4TA6Q.mjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts","inputs":{"packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts":{"bytesInOutput":526}},"bytes":1008},"packages/sdk/app-framework/dist/lib/node-esm/app-graph-builder-MKLYH3NE.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7437},"packages/sdk/app-framework/dist/lib/node-esm/app-graph-builder-MKLYH3NE.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-CNJYZNSL.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-ZTB4TA6Q.mjs","kind":"import-statement"},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/sdk/app-framework/src/plugin-settings/app-graph-builder.ts","inputs":{"packages/sdk/app-framework/src/plugin-settings/app-graph-builder.ts":{"bytesInOutput":3622}},"bytes":4086},"packages/sdk/app-framework/dist/lib/node-esm/chunk-CNJYZNSL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1523},"packages/sdk/app-framework/dist/lib/node-esm/chunk-CNJYZNSL.mjs":{"imports":[{"path":"@effect/schema","kind":"import-statement","external":true}],"exports":["SETTINGS_ACTION","SETTINGS_ID","SETTINGS_KEY","SETTINGS_PLUGIN","SettingsAction"],"inputs":{"packages/sdk/app-framework/src/plugin-settings/actions.ts":{"bytesInOutput":703}},"bytes":1000},"packages/sdk/app-framework/dist/lib/node-esm/chunk-ZTB4TA6Q.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":97800},"packages/sdk/app-framework/dist/lib/node-esm/chunk-ZTB4TA6Q.mjs":{"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@effect/schema","kind":"import-statement","external":true},{"path":"@effect/schema","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@effect/schema","kind":"import-statement","external":true},{"path":"@effect/schema","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/dist/lib/node-esm/intent-dispatcher-RZAWA4XD.mjs","kind":"dynamic-import"},{"path":"@effect/schema","kind":"import-statement","external":true}],"exports":["Capabilities","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","Plugin","PluginManager","PluginModule","PluginsContext","Resource","ResourceKey","ResourceLanguage","allOf","chain","contributes","createDispatcher","createIntent","createResolver","createSurface","defaultFileTypes","defineCapability","defineEvent","defineModule","definePlugin","eventKey","getEvents","intent_dispatcher_default","isAllOf","isOneOf","lazy","oneOf"],"inputs":{"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts":{"bytesInOutput":4995},"packages/sdk/app-framework/src/plugin-intent/actions.ts":{"bytesInOutput":420},"packages/sdk/app-framework/src/plugin-intent/intent.ts":{"bytesInOutput":798},"packages/sdk/app-framework/src/plugin-intent/errors.ts":{"bytesInOutput":662},"packages/sdk/app-framework/src/core/capabilities.ts":{"bytesInOutput":4123},"packages/sdk/app-framework/src/core/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/core/events.ts":{"bytesInOutput":512},"packages/sdk/app-framework/src/core/manager.ts":{"bytesInOutput":14797},"packages/sdk/app-framework/src/core/plugin.ts":{"bytesInOutput":516},"packages/sdk/app-framework/src/common/capabilities.ts":{"bytesInOutput":1852},"packages/sdk/app-framework/src/common/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/common/events.ts":{"bytesInOutput":1101},"packages/sdk/app-framework/src/common/file.ts":{"bytesInOutput":376},"packages/sdk/app-framework/src/common/layout.ts":{"bytesInOutput":9981},"packages/sdk/app-framework/src/plugin-intent/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/plugin-intent/IntentPlugin.tsx":{"bytesInOutput":602},"packages/sdk/app-framework/src/common/surface.ts":{"bytesInOutput":48},"packages/sdk/app-framework/src/common/translations.ts":{"bytesInOutput":289}},"bytes":42807}}}
@@ -0,0 +1,20 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ Capabilities,
4
+ contributes
5
+ } from "./chunk-ZTB4TA6Q.mjs";
6
+
7
+ // packages/sdk/app-framework/src/plugin-settings/store.ts
8
+ import { RootSettingsStore } from "@dxos/local-storage";
9
+ var store_default = (context) => {
10
+ const allSettings = context.requestCapabilities(Capabilities.Settings);
11
+ const settingsStore = new RootSettingsStore();
12
+ allSettings.forEach((setting) => {
13
+ settingsStore.createStore(setting);
14
+ });
15
+ return contributes(Capabilities.SettingsStore, settingsStore);
16
+ };
17
+ export {
18
+ store_default as default
19
+ };
20
+ //# sourceMappingURL=store-YUWINFBN.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/plugin-settings/store.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { RootSettingsStore } from '@dxos/local-storage';\n\nimport { Capabilities } from '../common';\nimport { contributes, type PluginsContext } from '../core';\n\nexport default (context: PluginsContext) => {\n // TODO(wittjosiah): This should subscribe to capabilities and create stores for newly added settings objects.\n const allSettings = context.requestCapabilities(Capabilities.Settings);\n const settingsStore = new RootSettingsStore();\n\n allSettings.forEach((setting) => {\n settingsStore.createStore(setting as any);\n });\n\n return contributes(Capabilities.SettingsStore, settingsStore);\n};\n"],
5
+ "mappings": ";;;;;;;AAIA,SAASA,yBAAyB;AAKlC,IAAA,gBAAe,CAACC,YAAAA;AAEd,QAAMC,cAAcD,QAAQE,oBAAoBC,aAAaC,QAAQ;AACrE,QAAMC,gBAAgB,IAAIC,kBAAAA;AAE1BL,cAAYM,QAAQ,CAACC,YAAAA;AACnBH,kBAAcI,YAAYD,OAAAA;EAC5B,CAAA;AAEA,SAAOE,YAAYP,aAAaQ,eAAeN,aAAAA;AACjD;",
6
+ "names": ["RootSettingsStore", "context", "allSettings", "requestCapabilities", "Capabilities", "Settings", "settingsStore", "RootSettingsStore", "forEach", "setting", "createStore", "contributes", "SettingsStore"]
7
+ }
@@ -0,0 +1,75 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ createApp
4
+ } from "../chunk-47FG42II.mjs";
5
+ import {
6
+ Capabilities,
7
+ Events,
8
+ PluginManager,
9
+ contributes,
10
+ defineModule,
11
+ definePlugin
12
+ } from "../chunk-ZTB4TA6Q.mjs";
13
+
14
+ // packages/sdk/app-framework/src/testing/withPluginManager.tsx
15
+ import React, { useEffect } from "react";
16
+ import { raise } from "@dxos/debug";
17
+ var setupPluginManager = ({ capabilities, plugins = [], core = plugins.map(({ meta }) => meta.id), ...options } = {}) => {
18
+ const pluginManager = new PluginManager({
19
+ pluginLoader: () => raise(new Error("Not implemented")),
20
+ plugins: [
21
+ StoryPlugin(),
22
+ ...plugins
23
+ ],
24
+ core: [
25
+ STORY_PLUGIN,
26
+ ...core
27
+ ],
28
+ ...options
29
+ });
30
+ if (capabilities) {
31
+ capabilities.forEach((capability) => {
32
+ pluginManager.context.contributeCapability({
33
+ interface: capability.interface,
34
+ implementation: capability.implementation,
35
+ module: "story"
36
+ });
37
+ });
38
+ }
39
+ return pluginManager;
40
+ };
41
+ var withPluginManager = (options = {}) => {
42
+ const pluginManager = setupPluginManager(options);
43
+ const App = createApp({
44
+ pluginManager
45
+ });
46
+ return (Story, context) => {
47
+ useEffect(() => {
48
+ const capability = contributes(Capabilities.ReactRoot, {
49
+ id: context.id,
50
+ root: () => /* @__PURE__ */ React.createElement(Story, null)
51
+ });
52
+ pluginManager.context.contributeCapability({
53
+ ...capability,
54
+ module: "dxos.org/app-framework/withPluginManager"
55
+ });
56
+ return () => pluginManager.context.removeCapability(capability.interface, capability.implementation);
57
+ }, []);
58
+ return /* @__PURE__ */ React.createElement(App, null);
59
+ };
60
+ };
61
+ var STORY_PLUGIN = "dxos.org/app-framework/story";
62
+ var StoryPlugin = () => definePlugin({
63
+ id: STORY_PLUGIN
64
+ }, [
65
+ defineModule({
66
+ id: STORY_PLUGIN,
67
+ activatesOn: Events.Startup,
68
+ activate: () => []
69
+ })
70
+ ]);
71
+ export {
72
+ setupPluginManager,
73
+ withPluginManager
74
+ };
75
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/testing/withPluginManager.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Decorator } from '@storybook/react';\nimport React, { useEffect } from 'react';\n\nimport { raise } from '@dxos/debug';\n\nimport { createApp, type CreateAppOptions } from '../App';\nimport { Capabilities, Events } from '../common';\nimport { type AnyCapability, contributes, defineModule, definePlugin, PluginManager } from '../core';\n\n/**\n * @internal\n */\nexport const setupPluginManager = ({\n capabilities,\n plugins = [],\n core = plugins.map(({ meta }) => meta.id),\n ...options\n}: CreateAppOptions & { capabilities?: AnyCapability[] } = {}) => {\n const pluginManager = new PluginManager({\n pluginLoader: () => raise(new Error('Not implemented')),\n plugins: [StoryPlugin(), ...plugins],\n core: [STORY_PLUGIN, ...core],\n ...options,\n });\n\n if (capabilities) {\n capabilities.forEach((capability) => {\n pluginManager.context.contributeCapability({\n interface: capability.interface,\n implementation: capability.implementation,\n module: 'story',\n });\n });\n }\n\n return pluginManager;\n};\n\n/**\n * Wraps a story with a plugin manager.\n */\nexport const withPluginManager = (options: CreateAppOptions & { capabilities?: AnyCapability[] } = {}): Decorator => {\n const pluginManager = setupPluginManager(options);\n const App = createApp({ pluginManager });\n\n return (Story, context) => {\n useEffect(() => {\n const capability = contributes(Capabilities.ReactRoot, {\n id: context.id,\n root: () => <Story />,\n });\n\n pluginManager.context.contributeCapability({\n ...capability,\n module: 'dxos.org/app-framework/withPluginManager',\n });\n\n return () => pluginManager.context.removeCapability(capability.interface, capability.implementation);\n }, []);\n\n return <App />;\n };\n};\n\n// No-op plugin to ensure there exists at least one plugin for the startup event.\n// This is necessary because `createApp` expects the startup event to complete before the app is ready.\nconst STORY_PLUGIN = 'dxos.org/app-framework/story';\nconst StoryPlugin = () =>\n definePlugin({ id: STORY_PLUGIN }, [\n defineModule({ id: STORY_PLUGIN, activatesOn: Events.Startup, activate: () => [] }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;AAKA,OAAOA,SAASC,iBAAiB;AAEjC,SAASC,aAAa;AASf,IAAMC,qBAAqB,CAAC,EACjCC,cACAC,UAAU,CAAA,GACVC,OAAOD,QAAQE,IAAI,CAAC,EAAEC,KAAI,MAAOA,KAAKC,EAAE,GACxC,GAAGC,QAAAA,IACsD,CAAC,MAAC;AAC3D,QAAMC,gBAAgB,IAAIC,cAAc;IACtCC,cAAc,MAAMC,MAAM,IAAIC,MAAM,iBAAA,CAAA;IACpCV,SAAS;MAACW,YAAAA;SAAkBX;;IAC5BC,MAAM;MAACW;SAAiBX;;IACxB,GAAGI;EACL,CAAA;AAEA,MAAIN,cAAc;AAChBA,iBAAac,QAAQ,CAACC,eAAAA;AACpBR,oBAAcS,QAAQC,qBAAqB;QACzCC,WAAWH,WAAWG;QACtBC,gBAAgBJ,WAAWI;QAC3BC,QAAQ;MACV,CAAA;IACF,CAAA;EACF;AAEA,SAAOb;AACT;AAKO,IAAMc,oBAAoB,CAACf,UAAiE,CAAC,MAAC;AACnG,QAAMC,gBAAgBR,mBAAmBO,OAAAA;AACzC,QAAMgB,MAAMC,UAAU;IAAEhB;EAAc,CAAA;AAEtC,SAAO,CAACiB,OAAOR,YAAAA;AACbS,cAAU,MAAA;AACR,YAAMV,aAAaW,YAAYC,aAAaC,WAAW;QACrDvB,IAAIW,QAAQX;QACZwB,MAAM,MAAM,sBAAA,cAACL,OAAAA,IAAAA;MACf,CAAA;AAEAjB,oBAAcS,QAAQC,qBAAqB;QACzC,GAAGF;QACHK,QAAQ;MACV,CAAA;AAEA,aAAO,MAAMb,cAAcS,QAAQc,iBAAiBf,WAAWG,WAAWH,WAAWI,cAAc;IACrG,GAAG,CAAA,CAAE;AAEL,WAAO,sBAAA,cAACG,KAAAA,IAAAA;EACV;AACF;AAIA,IAAMT,eAAe;AACrB,IAAMD,cAAc,MAClBmB,aAAa;EAAE1B,IAAIQ;AAAa,GAAG;EACjCmB,aAAa;IAAE3B,IAAIQ;IAAcoB,aAAaC,OAAOC;IAASC,UAAU,MAAM,CAAA;EAAG,CAAA;CAClF;",
6
+ "names": ["React", "useEffect", "raise", "setupPluginManager", "capabilities", "plugins", "core", "map", "meta", "id", "options", "pluginManager", "PluginManager", "pluginLoader", "raise", "Error", "StoryPlugin", "STORY_PLUGIN", "forEach", "capability", "context", "contributeCapability", "interface", "implementation", "module", "withPluginManager", "App", "createApp", "Story", "useEffect", "contributes", "Capabilities", "ReactRoot", "root", "removeCapability", "definePlugin", "defineModule", "activatesOn", "Events", "Startup", "activate"]
7
+ }
@@ -0,0 +1,78 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ Capabilities,
4
+ Events,
5
+ FileInfoSchema,
6
+ INTENT_ACTION,
7
+ INTENT_PLUGIN,
8
+ IntentAction,
9
+ IntentPlugin,
10
+ LAYOUT_ACTION,
11
+ LAYOUT_PLUGIN,
12
+ Label,
13
+ LayoutAction,
14
+ Plugin,
15
+ PluginManager,
16
+ PluginModule,
17
+ PluginsContext,
18
+ Resource,
19
+ ResourceKey,
20
+ ResourceLanguage,
21
+ allOf,
22
+ chain,
23
+ contributes,
24
+ createDispatcher,
25
+ createIntent,
26
+ createResolver,
27
+ createSurface,
28
+ defaultFileTypes,
29
+ defineCapability,
30
+ defineEvent,
31
+ defineModule,
32
+ definePlugin,
33
+ eventKey,
34
+ getEvents,
35
+ isAllOf,
36
+ isOneOf,
37
+ lazy,
38
+ oneOf
39
+ } from "./chunk-ZTB4TA6Q.mjs";
40
+ export {
41
+ Capabilities,
42
+ Events,
43
+ FileInfoSchema,
44
+ INTENT_ACTION,
45
+ INTENT_PLUGIN,
46
+ IntentAction,
47
+ IntentPlugin,
48
+ LAYOUT_ACTION,
49
+ LAYOUT_PLUGIN,
50
+ Label,
51
+ LayoutAction,
52
+ Plugin,
53
+ PluginManager,
54
+ PluginModule,
55
+ PluginsContext,
56
+ Resource,
57
+ ResourceKey,
58
+ ResourceLanguage,
59
+ allOf,
60
+ chain,
61
+ contributes,
62
+ createDispatcher,
63
+ createIntent,
64
+ createResolver,
65
+ createSurface,
66
+ defaultFileTypes,
67
+ defineCapability,
68
+ defineEvent,
69
+ defineModule,
70
+ definePlugin,
71
+ eventKey,
72
+ getEvents,
73
+ isAllOf,
74
+ isOneOf,
75
+ lazy,
76
+ oneOf
77
+ };
78
+ //# sourceMappingURL=worker.mjs.map