@dxos/app-framework 0.7.5-main.9d26e3a → 0.7.5-main.e9bb01b

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 (382) hide show
  1. package/dist/lib/browser/app-graph-builder-F7VZ6LRN.mjs +137 -0
  2. package/dist/lib/browser/app-graph-builder-F7VZ6LRN.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-ATRNTMSS.mjs +1399 -0
  4. package/dist/lib/browser/chunk-ATRNTMSS.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-WS6SU6HI.mjs +285 -0
  8. package/dist/lib/browser/chunk-WS6SU6HI.mjs.map +7 -0
  9. package/dist/lib/browser/index.mjs +119 -642
  10. package/dist/lib/browser/index.mjs.map +4 -4
  11. package/dist/lib/browser/intent-dispatcher-E6J7E5Y5.mjs +11 -0
  12. package/dist/lib/browser/intent-resolver-XLE4L3LS.mjs +38 -0
  13. package/dist/lib/browser/intent-resolver-XLE4L3LS.mjs.map +7 -0
  14. package/dist/lib/browser/meta.json +1 -1
  15. package/dist/lib/browser/store-QU2IKFAI.mjs +19 -0
  16. package/dist/lib/browser/store-QU2IKFAI.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-JGBADFF7.cjs +146 -0
  21. package/dist/lib/node/app-graph-builder-JGBADFF7.cjs.map +7 -0
  22. package/dist/lib/node/{chunk-FCMHRU3M.cjs → chunk-QLVQ6PND.cjs} +23 -35
  23. package/dist/lib/node/chunk-QLVQ6PND.cjs.map +7 -0
  24. package/dist/lib/node/chunk-WKC6YMEQ.cjs +1433 -0
  25. package/dist/lib/node/chunk-WKC6YMEQ.cjs.map +7 -0
  26. package/dist/lib/node/chunk-WRWRZKZU.cjs +308 -0
  27. package/dist/lib/node/chunk-WRWRZKZU.cjs.map +7 -0
  28. package/dist/lib/node/index.cjs +125 -665
  29. package/dist/lib/node/index.cjs.map +4 -4
  30. package/dist/lib/node/{plugin-settings-W6UHMH5M.cjs → intent-dispatcher-CFBKDZQR.cjs} +10 -14
  31. package/dist/lib/node/intent-dispatcher-CFBKDZQR.cjs.map +7 -0
  32. package/dist/lib/node/intent-resolver-3TKCXP4S.cjs +45 -0
  33. package/dist/lib/node/intent-resolver-3TKCXP4S.cjs.map +7 -0
  34. package/dist/lib/node/meta.json +1 -1
  35. package/dist/lib/node/store-4QMUUU2A.cjs +34 -0
  36. package/dist/lib/node/store-4QMUUU2A.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-2QEX57NX.mjs +138 -0
  42. package/dist/lib/node-esm/app-graph-builder-2QEX57NX.mjs.map +7 -0
  43. package/dist/lib/node-esm/chunk-44J2VZBB.mjs +1401 -0
  44. package/dist/lib/node-esm/chunk-44J2VZBB.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-HTLXL32I.mjs +286 -0
  48. package/dist/lib/node-esm/chunk-HTLXL32I.mjs.map +7 -0
  49. package/dist/lib/node-esm/index.mjs +119 -642
  50. package/dist/lib/node-esm/index.mjs.map +4 -4
  51. package/dist/lib/node-esm/intent-dispatcher-LDQGDZ62.mjs +12 -0
  52. package/dist/lib/node-esm/intent-resolver-7VJWN67U.mjs +39 -0
  53. package/dist/lib/node-esm/intent-resolver-7VJWN67U.mjs.map +7 -0
  54. package/dist/lib/node-esm/meta.json +1 -1
  55. package/dist/lib/node-esm/store-VWDAYUQY.mjs +20 -0
  56. package/dist/lib/node-esm/store-VWDAYUQY.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 +293 -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/{plugins/plugin-surface/SurfaceContext.d.ts → common/surface.d.ts} +12 -29
  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.map +1 -0
  141. package/dist/types/src/{plugins/plugin-intent → plugin-intent}/intent.d.ts +8 -28
  142. package/dist/types/src/plugin-intent/intent.d.ts.map +1 -0
  143. package/dist/types/src/plugin-settings/SettingsPlugin.d.ts +2 -0
  144. package/dist/types/src/plugin-settings/SettingsPlugin.d.ts.map +1 -0
  145. package/dist/types/src/plugin-settings/actions.d.ts +27 -0
  146. package/dist/types/src/plugin-settings/actions.d.ts.map +1 -0
  147. package/dist/types/src/plugin-settings/app-graph-builder.d.ts +197 -0
  148. package/dist/types/src/plugin-settings/app-graph-builder.d.ts.map +1 -0
  149. package/dist/types/src/plugin-settings/index.d.ts +3 -0
  150. package/dist/types/src/plugin-settings/index.d.ts.map +1 -0
  151. package/dist/types/src/plugin-settings/intent-resolver.d.ts +4 -0
  152. package/dist/types/src/plugin-settings/intent-resolver.d.ts.map +1 -0
  153. package/dist/types/src/plugin-settings/store.d.ts +5 -0
  154. package/dist/types/src/plugin-settings/store.d.ts.map +1 -0
  155. package/dist/types/src/plugin-settings/translations.d.ts +11 -0
  156. package/dist/types/src/plugin-settings/translations.d.ts.map +1 -0
  157. package/dist/types/src/react/ErrorBoundary.d.ts.map +1 -0
  158. package/dist/types/src/{plugins/plugin-intent → react}/IntentContext.d.ts +2 -2
  159. package/dist/types/src/react/IntentContext.d.ts.map +1 -0
  160. package/dist/types/src/react/PluginManagerProvider.d.ts +10 -0
  161. package/dist/types/src/react/PluginManagerProvider.d.ts.map +1 -0
  162. package/dist/types/src/react/Surface.d.ts +12 -0
  163. package/dist/types/src/react/Surface.d.ts.map +1 -0
  164. package/dist/types/src/react/Surface.stories.d.ts +16 -0
  165. package/dist/types/src/react/Surface.stories.d.ts.map +1 -0
  166. package/dist/types/src/react/common.d.ts +12 -0
  167. package/dist/types/src/react/common.d.ts.map +1 -0
  168. package/dist/types/src/react/index.d.ts +7 -0
  169. package/dist/types/src/react/index.d.ts.map +1 -0
  170. package/dist/types/src/react/useCapabilities.d.ts +13 -0
  171. package/dist/types/src/react/useCapabilities.d.ts.map +1 -0
  172. package/dist/types/src/react/useIntentResolver.d.ts +3 -0
  173. package/dist/types/src/react/useIntentResolver.d.ts.map +1 -0
  174. package/dist/types/src/testing/index.d.ts +2 -0
  175. package/dist/types/src/testing/index.d.ts.map +1 -0
  176. package/dist/types/src/testing/withPluginManager.d.ts +10 -0
  177. package/dist/types/src/testing/withPluginManager.d.ts.map +1 -0
  178. package/dist/types/src/testing/withPluginManager.stories.d.ts +5 -0
  179. package/dist/types/src/testing/withPluginManager.stories.d.ts.map +1 -0
  180. package/dist/types/src/worker.d.ts +4 -0
  181. package/dist/types/src/worker.d.ts.map +1 -0
  182. package/dist/types/tsconfig.tsbuildinfo +1 -1
  183. package/package.json +37 -18
  184. package/project.json +4 -3
  185. package/src/App.tsx +139 -34
  186. package/src/common/capabilities.ts +91 -0
  187. package/src/common/events.ts +72 -0
  188. package/src/common/file.ts +22 -0
  189. package/src/common/graph.ts +30 -0
  190. package/src/{plugins/common → common}/index.ts +3 -2
  191. package/src/common/layout.ts +225 -0
  192. package/src/{plugins/plugin-surface/SurfaceContext.ts → common/surface.ts} +6 -37
  193. package/src/common/translations.ts +17 -0
  194. package/src/core/capabilities.test.ts +116 -0
  195. package/src/core/capabilities.ts +222 -0
  196. package/src/core/events.ts +58 -0
  197. package/src/core/index.ts +8 -0
  198. package/src/core/manager.test.ts +516 -0
  199. package/src/core/manager.ts +511 -0
  200. package/src/core/plugin.ts +131 -0
  201. package/src/helpers.test.ts +97 -0
  202. package/src/helpers.ts +45 -0
  203. package/src/index.ts +6 -3
  204. package/src/playground/debug/Debug.tsx +39 -0
  205. package/src/playground/debug/index.ts +5 -0
  206. package/src/playground/debug/plugin.ts +17 -0
  207. package/src/playground/generator/Main.tsx +71 -0
  208. package/src/playground/generator/Toolbar.tsx +46 -0
  209. package/src/playground/generator/generator.ts +48 -0
  210. package/src/playground/generator/index.ts +6 -0
  211. package/src/playground/generator/plugin.ts +23 -0
  212. package/src/playground/layout/Layout.tsx +33 -0
  213. package/src/playground/layout/index.ts +5 -0
  214. package/src/playground/layout/plugin.ts +17 -0
  215. package/src/playground/logger/Toolbar.tsx +29 -0
  216. package/src/playground/logger/index.ts +5 -0
  217. package/src/playground/logger/plugin.ts +36 -0
  218. package/src/playground/logger/schema.ts +12 -0
  219. package/src/playground/playground.stories.tsx +34 -0
  220. package/src/plugin-intent/IntentPlugin.tsx +20 -0
  221. package/src/plugin-intent/actions.ts +22 -0
  222. package/src/plugin-intent/errors.ts +39 -0
  223. package/src/plugin-intent/index.ts +8 -0
  224. package/src/{plugins/plugin-intent → plugin-intent}/intent-dispatcher.test.ts +83 -63
  225. package/src/{plugins/plugin-intent → plugin-intent}/intent-dispatcher.ts +114 -95
  226. package/src/{plugins/plugin-intent → plugin-intent}/intent.ts +10 -26
  227. package/src/plugin-settings/SettingsPlugin.ts +35 -0
  228. package/src/plugin-settings/actions.ts +27 -0
  229. package/src/plugin-settings/app-graph-builder.ts +122 -0
  230. package/src/plugin-settings/index.ts +6 -0
  231. package/src/plugin-settings/intent-resolver.ts +28 -0
  232. package/src/plugin-settings/store.ts +20 -0
  233. package/src/plugin-settings/translations.ts +17 -0
  234. package/src/{plugins/plugin-intent → react}/IntentContext.tsx +13 -5
  235. package/src/react/PluginManagerProvider.ts +22 -0
  236. package/src/react/Surface.stories.tsx +96 -0
  237. package/src/react/Surface.tsx +75 -0
  238. package/src/react/common.ts +12 -0
  239. package/src/react/index.ts +10 -0
  240. package/src/react/useCapabilities.ts +39 -0
  241. package/src/react/useIntentResolver.ts +22 -0
  242. package/src/testing/index.ts +5 -0
  243. package/src/testing/withPluginManager.stories.tsx +47 -0
  244. package/src/testing/withPluginManager.tsx +75 -0
  245. package/src/worker.ts +11 -0
  246. package/tsconfig.json +16 -4
  247. package/dist/lib/browser/chunk-3E7RY3CE.mjs +0 -72
  248. package/dist/lib/browser/chunk-3E7RY3CE.mjs.map +0 -7
  249. package/dist/lib/browser/chunk-QG25ZU2N.mjs +0 -320
  250. package/dist/lib/browser/chunk-QG25ZU2N.mjs.map +0 -7
  251. package/dist/lib/browser/chunk-SPDTXTOV.mjs +0 -163
  252. package/dist/lib/browser/chunk-SPDTXTOV.mjs.map +0 -7
  253. package/dist/lib/browser/chunk-WBOXEHBE.mjs +0 -51
  254. package/dist/lib/browser/chunk-WBOXEHBE.mjs.map +0 -7
  255. package/dist/lib/browser/plugin-intent-T7Y3MJ5C.mjs +0 -32
  256. package/dist/lib/browser/plugin-settings-5U2L2NRU.mjs +0 -15
  257. package/dist/lib/browser/plugin-surface-OKPF3EQI.mjs +0 -24
  258. package/dist/lib/node/chunk-BW3RNEVI.cjs +0 -185
  259. package/dist/lib/node/chunk-BW3RNEVI.cjs.map +0 -7
  260. package/dist/lib/node/chunk-FCMHRU3M.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-VWHAALIN.cjs +0 -344
  264. package/dist/lib/node/chunk-VWHAALIN.cjs.map +0 -7
  265. package/dist/lib/node/plugin-intent-F3TQZIUR.cjs +0 -53
  266. package/dist/lib/node/plugin-intent-F3TQZIUR.cjs.map +0 -7
  267. package/dist/lib/node/plugin-settings-W6UHMH5M.cjs.map +0 -7
  268. package/dist/lib/node/plugin-surface-CCSIONYW.cjs +0 -45
  269. package/dist/lib/node/plugin-surface-CCSIONYW.cjs.map +0 -7
  270. package/dist/lib/node-esm/chunk-3T5UIJY3.mjs +0 -53
  271. package/dist/lib/node-esm/chunk-3T5UIJY3.mjs.map +0 -7
  272. package/dist/lib/node-esm/chunk-4GX7V5ZE.mjs +0 -164
  273. package/dist/lib/node-esm/chunk-4GX7V5ZE.mjs.map +0 -7
  274. package/dist/lib/node-esm/chunk-CFOUYXQ6.mjs +0 -321
  275. package/dist/lib/node-esm/chunk-CFOUYXQ6.mjs.map +0 -7
  276. package/dist/lib/node-esm/chunk-EYCTSFEJ.mjs +0 -74
  277. package/dist/lib/node-esm/chunk-EYCTSFEJ.mjs.map +0 -7
  278. package/dist/lib/node-esm/plugin-intent-W2HQC6LC.mjs +0 -33
  279. package/dist/lib/node-esm/plugin-settings-H5RHNFVC.mjs +0 -16
  280. package/dist/lib/node-esm/plugin-settings-H5RHNFVC.mjs.map +0 -7
  281. package/dist/lib/node-esm/plugin-surface-V3YET3UL.mjs +0 -25
  282. package/dist/lib/node-esm/plugin-surface-V3YET3UL.mjs.map +0 -7
  283. package/dist/types/src/plugins/common/file.d.ts +0 -22
  284. package/dist/types/src/plugins/common/file.d.ts.map +0 -1
  285. package/dist/types/src/plugins/common/graph.d.ts +0 -51
  286. package/dist/types/src/plugins/common/graph.d.ts.map +0 -1
  287. package/dist/types/src/plugins/common/index.d.ts +0 -7
  288. package/dist/types/src/plugins/common/index.d.ts.map +0 -1
  289. package/dist/types/src/plugins/common/layout.d.ts +0 -176
  290. package/dist/types/src/plugins/common/layout.d.ts.map +0 -1
  291. package/dist/types/src/plugins/common/metadata.d.ts +0 -16
  292. package/dist/types/src/plugins/common/metadata.d.ts.map +0 -1
  293. package/dist/types/src/plugins/common/navigation.d.ts +0 -243
  294. package/dist/types/src/plugins/common/navigation.d.ts.map +0 -1
  295. package/dist/types/src/plugins/common/translations.d.ts +0 -22
  296. package/dist/types/src/plugins/common/translations.d.ts.map +0 -1
  297. package/dist/types/src/plugins/helpers.d.ts +0 -41
  298. package/dist/types/src/plugins/helpers.d.ts.map +0 -1
  299. package/dist/types/src/plugins/index.d.ts +0 -7
  300. package/dist/types/src/plugins/index.d.ts.map +0 -1
  301. package/dist/types/src/plugins/plugin-host/HostPlugin.d.ts +0 -16
  302. package/dist/types/src/plugins/plugin-host/HostPlugin.d.ts.map +0 -1
  303. package/dist/types/src/plugins/plugin-host/PluginContainer.d.ts +0 -14
  304. package/dist/types/src/plugins/plugin-host/PluginContainer.d.ts.map +0 -1
  305. package/dist/types/src/plugins/plugin-host/PluginContext.d.ts +0 -47
  306. package/dist/types/src/plugins/plugin-host/PluginContext.d.ts.map +0 -1
  307. package/dist/types/src/plugins/plugin-host/index.d.ts +0 -6
  308. package/dist/types/src/plugins/plugin-host/index.d.ts.map +0 -1
  309. package/dist/types/src/plugins/plugin-host/plugin.d.ts +0 -104
  310. package/dist/types/src/plugins/plugin-host/plugin.d.ts.map +0 -1
  311. package/dist/types/src/plugins/plugin-host/plugin.test.d.ts +0 -35
  312. package/dist/types/src/plugins/plugin-host/plugin.test.d.ts.map +0 -1
  313. package/dist/types/src/plugins/plugin-intent/IntentContext.d.ts.map +0 -1
  314. package/dist/types/src/plugins/plugin-intent/IntentPlugin.d.ts +0 -8
  315. package/dist/types/src/plugins/plugin-intent/IntentPlugin.d.ts.map +0 -1
  316. package/dist/types/src/plugins/plugin-intent/index.d.ts +0 -7
  317. package/dist/types/src/plugins/plugin-intent/index.d.ts.map +0 -1
  318. package/dist/types/src/plugins/plugin-intent/intent-dispatcher.d.ts +0 -107
  319. package/dist/types/src/plugins/plugin-intent/intent-dispatcher.d.ts.map +0 -1
  320. package/dist/types/src/plugins/plugin-intent/intent-dispatcher.test.d.ts.map +0 -1
  321. package/dist/types/src/plugins/plugin-intent/intent.d.ts.map +0 -1
  322. package/dist/types/src/plugins/plugin-intent/meta.d.ts +0 -6
  323. package/dist/types/src/plugins/plugin-intent/meta.d.ts.map +0 -1
  324. package/dist/types/src/plugins/plugin-intent/provides.d.ts +0 -16
  325. package/dist/types/src/plugins/plugin-intent/provides.d.ts.map +0 -1
  326. package/dist/types/src/plugins/plugin-settings/SettingsPlugin.d.ts +0 -4
  327. package/dist/types/src/plugins/plugin-settings/SettingsPlugin.d.ts.map +0 -1
  328. package/dist/types/src/plugins/plugin-settings/index.d.ts +0 -4
  329. package/dist/types/src/plugins/plugin-settings/index.d.ts.map +0 -1
  330. package/dist/types/src/plugins/plugin-settings/meta.d.ts +0 -5
  331. package/dist/types/src/plugins/plugin-settings/meta.d.ts.map +0 -1
  332. package/dist/types/src/plugins/plugin-settings/provides.d.ts +0 -26
  333. package/dist/types/src/plugins/plugin-settings/provides.d.ts.map +0 -1
  334. package/dist/types/src/plugins/plugin-surface/ErrorBoundary.d.ts.map +0 -1
  335. package/dist/types/src/plugins/plugin-surface/Surface.d.ts +0 -7
  336. package/dist/types/src/plugins/plugin-surface/Surface.d.ts.map +0 -1
  337. package/dist/types/src/plugins/plugin-surface/SurfaceContext.d.ts.map +0 -1
  338. package/dist/types/src/plugins/plugin-surface/SurfacePlugin.d.ts +0 -7
  339. package/dist/types/src/plugins/plugin-surface/SurfacePlugin.d.ts.map +0 -1
  340. package/dist/types/src/plugins/plugin-surface/helpers.d.ts +0 -21
  341. package/dist/types/src/plugins/plugin-surface/helpers.d.ts.map +0 -1
  342. package/dist/types/src/plugins/plugin-surface/index.d.ts +0 -8
  343. package/dist/types/src/plugins/plugin-surface/index.d.ts.map +0 -1
  344. package/dist/types/src/plugins/plugin-surface/meta.d.ts +0 -5
  345. package/dist/types/src/plugins/plugin-surface/meta.d.ts.map +0 -1
  346. package/dist/types/src/plugins/plugin-surface/provides.d.ts +0 -17
  347. package/dist/types/src/plugins/plugin-surface/provides.d.ts.map +0 -1
  348. package/src/plugins/common/file.ts +0 -36
  349. package/src/plugins/common/graph.ts +0 -70
  350. package/src/plugins/common/layout.ts +0 -173
  351. package/src/plugins/common/metadata.ts +0 -29
  352. package/src/plugins/common/navigation.ts +0 -214
  353. package/src/plugins/common/translations.ts +0 -36
  354. package/src/plugins/helpers.ts +0 -92
  355. package/src/plugins/index.ts +0 -11
  356. package/src/plugins/plugin-host/HostPlugin.tsx +0 -88
  357. package/src/plugins/plugin-host/PluginContainer.tsx +0 -120
  358. package/src/plugins/plugin-host/PluginContext.tsx +0 -79
  359. package/src/plugins/plugin-host/index.ts +0 -12
  360. package/src/plugins/plugin-host/plugin.test.ts +0 -158
  361. package/src/plugins/plugin-host/plugin.ts +0 -133
  362. package/src/plugins/plugin-intent/IntentPlugin.tsx +0 -75
  363. package/src/plugins/plugin-intent/index.ts +0 -13
  364. package/src/plugins/plugin-intent/meta.ts +0 -11
  365. package/src/plugins/plugin-intent/provides.ts +0 -26
  366. package/src/plugins/plugin-settings/SettingsPlugin.tsx +0 -22
  367. package/src/plugins/plugin-settings/index.ts +0 -9
  368. package/src/plugins/plugin-settings/meta.ts +0 -9
  369. package/src/plugins/plugin-settings/provides.ts +0 -34
  370. package/src/plugins/plugin-surface/Surface.tsx +0 -62
  371. package/src/plugins/plugin-surface/SurfacePlugin.tsx +0 -45
  372. package/src/plugins/plugin-surface/helpers.ts +0 -22
  373. package/src/plugins/plugin-surface/index.ts +0 -14
  374. package/src/plugins/plugin-surface/meta.ts +0 -9
  375. package/src/plugins/plugin-surface/provides.ts +0 -27
  376. /package/dist/lib/browser/{plugin-intent-T7Y3MJ5C.mjs.map → intent-dispatcher-E6J7E5Y5.mjs.map} +0 -0
  377. /package/dist/lib/browser/{plugin-settings-5U2L2NRU.mjs.map → worker.mjs.map} +0 -0
  378. /package/dist/lib/{browser/plugin-surface-OKPF3EQI.mjs.map → node-esm/intent-dispatcher-LDQGDZ62.mjs.map} +0 -0
  379. /package/dist/lib/node-esm/{plugin-intent-W2HQC6LC.mjs.map → worker.mjs.map} +0 -0
  380. /package/dist/types/src/{plugins/plugin-intent → plugin-intent}/intent-dispatcher.test.d.ts +0 -0
  381. /package/dist/types/src/{plugins/plugin-surface → react}/ErrorBoundary.d.ts +0 -0
  382. /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/HostPlugin.tsx", "../../../src/plugins/plugin-host/PluginContainer.tsx", "../../../src/plugins/plugin-host/PluginContext.tsx", "../../../src/plugins/plugin-host/plugin.ts", "../../../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 { S } from '@dxos/echo-schema';\n\nimport { type Plugin } from '../plugin-host';\nimport { Label } from '../plugin-intent';\n\n//\n// Provides\n//\n\nexport const Toast = S.Struct({\n id: S.String,\n title: S.optional(Label),\n description: S.optional(Label),\n icon: S.optional(S.String),\n duration: S.optional(S.Number),\n closeLabel: S.optional(Label),\n actionLabel: S.optional(Label),\n actionAlt: S.optional(Label),\n // TODO(wittjosiah): Make class with customizable method?\n onAction: S.optional(S.Any),\n});\n\nexport type Toast = S.Schema.Type<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 = S.Union(S.Literal('deck'), S.Literal('solo'), S.Literal('fullscreen'));\nexport const isLayoutMode = (value: any): value is LayoutMode => S.is(LayoutMode)(value);\nexport type LayoutMode = S.Schema.Type<typeof LayoutMode>;\n\nexport const Layout = S.mutable(\n S.Struct({\n layoutMode: LayoutMode,\n\n sidebarOpen: S.Boolean,\n complementarySidebarOpen: S.Boolean,\n /**\n * @deprecated Data to be passed to the complementary sidebar Surface.\n */\n complementarySidebarContent: S.optional(S.Any),\n\n dialogOpen: S.Boolean,\n /**\n * Data to be passed to the dialog Surface.\n */\n dialogContent: S.optional(S.Any),\n // TODO(wittjosiah): Custom properties?\n dialogBlockAlign: S.optional(S.Literal('start', 'center')),\n dialogType: S.optional(S.Literal('default', 'alert')),\n\n popoverOpen: S.Boolean,\n /**\n * Data to be passed to the popover Surface.\n */\n popoverContent: S.optional(S.Any),\n popoverAnchorId: S.optional(S.String),\n\n toasts: S.mutable(S.Array(Toast)),\n\n /**\n * The identifier of a component to scroll into view when it is mounted.\n */\n scrollIntoView: S.optional(S.String),\n }),\n);\n\nexport type Layout = S.Schema.Type<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 = S.is(Layout)((plugin.provides as any).layout);\n return success ? (plugin as Plugin<LayoutProvides>) : undefined;\n};\n\n//\n// Intents\n//\n\nexport const LAYOUT_PLUGIN = 'dxos.org/plugin/layout';\nexport const LAYOUT_ACTION = `${LAYOUT_PLUGIN}/action`;\n\n/**\n * Expected payload for layout actions.\n */\nexport namespace LayoutAction {\n export class SetLayout extends S.TaggedClass<SetLayout>()(`${LAYOUT_ACTION}/set-layout`, {\n input: S.Struct({\n /**\n * Element to set the state of.\n */\n element: S.Literal('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: S.optional(S.Boolean),\n\n /**\n * Component to render in the dialog or popover.\n */\n component: S.optional(S.String),\n\n /**\n * Data to be passed to the dialog or popover Surface.\n */\n subject: S.optional(S.Any),\n\n /**\n * Anchor ID for the popover.\n */\n anchorId: S.optional(S.String),\n\n // TODO(wittjosiah): Custom properties?\n\n /**\n * Block alignment for the dialog.\n */\n dialogBlockAlign: S.optional(S.Literal('start', 'center')),\n\n /**\n * Type of dialog.\n */\n dialogType: S.optional(S.Literal('default', 'alert')),\n }),\n output: S.Void,\n }) {}\n\n // TODO(wittjosiah): Do all these need to be separate actions?\n\n export class SetLayoutMode extends S.TaggedClass<SetLayoutMode>()(`${LAYOUT_ACTION}/set-layout-mode`, {\n input: S.Union(\n S.Struct({\n layoutMode: LayoutMode,\n }),\n S.Struct({\n revert: S.Literal(true),\n }),\n ),\n output: S.Void,\n }) {}\n\n export class ScrollIntoView extends S.TaggedClass<ScrollIntoView>()(`${LAYOUT_ACTION}/scroll-into-view`, {\n input: S.Struct({\n id: S.optional(S.String),\n // TODO(wittjosiah): Factor out to thread scroll into view action?\n cursor: S.optional(S.String),\n ref: S.optional(S.String),\n }),\n output: S.Void,\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';\n\nimport { pick } from '@dxos/util';\n\nimport { type Plugin } from '../plugin-host';\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(\n S.Literal('increment-start'),\n S.Literal('increment-end'),\n S.Literal('pin-start'),\n S.Literal('pin-end'),\n S.Literal('close'),\n S.Literal('solo'),\n);\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 = S.Record({ key: S.String, value: S.Union(S.String, S.mutable(S.Array(S.String))) });\nexport type ActiveParts = S.Schema.Type<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\nexport const NAVIGATION_PLUGIN = 'dxos.org/plugin/navigation';\nexport const NAVIGATION_ACTION = `${NAVIGATION_PLUGIN}/action`;\n\n/**\n * Expected payload for navigation actions.\n */\n// TODO(wittjosiah): These seem to be too deck-specific.\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 class Open extends S.TaggedClass<Open>()(`${NAVIGATION_ACTION}/open`, {\n input: S.Struct({\n activeParts: ActiveParts,\n noToggle: S.optional(S.Boolean),\n }),\n output: S.Struct({\n open: S.Array(S.String),\n }),\n }) {}\n\n /**\n * Payload for adding an item to the active items.\n */\n export class AddToActive extends S.TaggedClass<AddToActive>()(`${NAVIGATION_ACTION}/add-to-active`, {\n input: S.Struct({\n id: S.String,\n part: LayoutPartSchema,\n scrollIntoView: S.optional(S.Boolean),\n pivotId: S.optional(S.String),\n positioning: S.optional(S.Literal('start', 'end')),\n }),\n output: S.Void,\n }) {}\n\n /**\n * The active parts to directly set, to be used when working with URLs or restoring a specific state.\n */\n export class Set extends S.TaggedClass<Set>()(`${NAVIGATION_ACTION}/set`, {\n input: S.Struct({\n activeParts: ActiveParts,\n }),\n output: S.Void,\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 class Close extends S.TaggedClass<Close>()(`${NAVIGATION_ACTION}/close`, {\n input: S.Struct({\n activeParts: ActiveParts,\n noToggle: S.optional(S.Boolean),\n }),\n output: S.Void,\n }) {}\n\n /**\n * An atomic transaction to apply to `location.active`, describing which element to (attempt to) move to which location.\n */\n export class Adjust extends S.TaggedClass<Adjust>()(`${NAVIGATION_ACTION}/adjust`, {\n input: LayoutAdjustmentSchema,\n output: S.Void,\n }) {}\n\n // TODO(wittjosiah): This action seems unrelated to the others.\n export class Expose extends S.TaggedClass<Expose>()(`${NAVIGATION_ACTION}/expose`, {\n input: S.Struct({\n id: S.String,\n }),\n output: S.Void,\n }) {}\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 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 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\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 => {\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 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?.({ plugins: 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 type { FC, PropsWithChildren } from 'react';\n\n/**\n * Application context to be provided to plugin callbacks.\n */\nexport type HostContext = {\n plugins: Plugin[];\n};\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?: (context: HostContext) => 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 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", "S", "Toast", "S", "Struct", "id", "String", "title", "optional", "Label", "description", "icon", "duration", "Number", "closeLabel", "actionLabel", "actionAlt", "onAction", "Any", "LayoutMode", "Union", "Literal", "isLayoutMode", "value", "is", "Layout", "mutable", "layoutMode", "sidebarOpen", "Boolean", "complementarySidebarOpen", "complementarySidebarContent", "dialogOpen", "dialogContent", "dialogBlockAlign", "dialogType", "popoverOpen", "popoverContent", "popoverAnchorId", "toasts", "Array", "scrollIntoView", "parseLayoutPlugin", "plugin", "success", "provides", "layout", "undefined", "LAYOUT_PLUGIN", "LAYOUT_ACTION", "LayoutAction", "SetLayout", "TaggedClass", "input", "element", "state", "component", "subject", "anchorId", "output", "Void", "SetLayoutMode", "revert", "ScrollIntoView", "cursor", "ref", "parseMetadataRecordsPlugin", "plugin", "provides", "metadata", "records", "undefined", "parseMetadataResolverPlugin", "resolver", "Schema", "S", "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", "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", "Open", "TaggedClass", "input", "activeParts", "noToggle", "Boolean", "output", "open", "AddToActive", "scrollIntoView", "pivotId", "positioning", "Void", "Set", "Close", "Adjust", "Expose", "z", "ResourceKey", "z", "union", "string", "record", "any", "ResourceLanguage", "Resource", "parseTranslationsPlugin", "plugin", "success", "array", "safeParse", "provides", "translations", "undefined", "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", "HOST_PLUGIN", "HostPlugin", "plugins", "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", "provides", "context", "children", "React", "PluginProvider", "value", "root", "ErrorBoundary", "PluginContainer", "error", "div", "style", "padding", "h1", "fontSize", "fontWeight", "margin", "message", "pre", "stack", "Plugin", "lazy", "p", "props", "then", "default", "definition", "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,11 @@
1
+ import {
2
+ createDispatcher,
3
+ createResolver,
4
+ intent_dispatcher_default
5
+ } from "./chunk-ATRNTMSS.mjs";
6
+ export {
7
+ createDispatcher,
8
+ createResolver,
9
+ intent_dispatcher_default as default
10
+ };
11
+ //# sourceMappingURL=intent-dispatcher-E6J7E5Y5.mjs.map
@@ -0,0 +1,38 @@
1
+ import {
2
+ SETTINGS_ID,
3
+ SETTINGS_KEY,
4
+ SettingsAction
5
+ } from "./chunk-LDJ3T4V3.mjs";
6
+ import {
7
+ Capabilities,
8
+ LayoutAction,
9
+ chain,
10
+ contributes,
11
+ createIntent,
12
+ createResolver
13
+ } from "./chunk-ATRNTMSS.mjs";
14
+
15
+ // packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts
16
+ import { pipe } from "effect";
17
+ var intent_resolver_default = () => contributes(Capabilities.IntentResolver, createResolver({
18
+ intent: SettingsAction.Open,
19
+ resolve: ({ plugin }) => {
20
+ return {
21
+ intents: [
22
+ pipe(createIntent(LayoutAction.SwitchWorkspace, {
23
+ part: "workspace",
24
+ subject: SETTINGS_ID
25
+ }), chain(LayoutAction.Open, {
26
+ part: "main",
27
+ subject: [
28
+ `${SETTINGS_KEY}:${plugin.replaceAll("/", ":")}`
29
+ ]
30
+ }))
31
+ ]
32
+ };
33
+ }
34
+ }));
35
+ export {
36
+ intent_resolver_default as default
37
+ };
38
+ //# sourceMappingURL=intent-resolver-XLE4L3LS.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/plugin-intent/IntentContext.tsx":{"bytes":3502,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-intent/meta.ts":{"bytes":899,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-intent/intent.ts":{"bytes":11540,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugins/plugin-intent/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-intent/intent-dispatcher.ts":{"bytes":26419,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugins/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"}],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-intent/provides.ts":{"bytes":2116,"imports":[],"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/IntentPlugin.tsx":{"bytes":9264,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/live-object","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/intent-dispatcher.ts","kind":"import-statement","original":"./intent-dispatcher"},{"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/index.ts":{"bytes":1092,"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/intent-dispatcher.ts","kind":"import-statement","original":"./intent-dispatcher"},{"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/common/layout.ts":{"bytes":15958,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugins/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"}],"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":21664,"imports":[{"path":"@effect/schema","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/plugin-host/PluginContainer.tsx":{"bytes":13427,"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/SurfaceContext.ts":{"bytes":6150,"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":2171,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-surface/SurfacePlugin.tsx":{"bytes":5012,"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/SurfaceContext.ts","kind":"import-statement","original":"./SurfaceContext"},{"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":8258,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","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/SurfaceContext.ts","kind":"import-statement","original":"./SurfaceContext"}],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-surface/index.ts":{"bytes":1185,"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/SurfaceContext.ts","kind":"import-statement","original":"./SurfaceContext"}],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-host/HostPlugin.tsx":{"bytes":8748,"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/plugin.ts":{"bytes":5209,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugins/plugin-host/index.ts":{"bytes":961,"imports":[{"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/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":3097,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"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/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":46470},"packages/sdk/app-framework/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-QG25ZU2N.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-SPDTXTOV.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-3E7RY3CE.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-WBOXEHBE.mjs","kind":"import-statement"},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@effect/schema","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/browser/plugin-intent-T7Y3MJ5C.mjs","kind":"dynamic-import"},{"path":"packages/sdk/app-framework/dist/lib/browser/plugin-settings-5U2L2NRU.mjs","kind":"dynamic-import"},{"path":"packages/sdk/app-framework/dist/lib/browser/plugin-surface-OKPF3EQI.mjs","kind":"dynamic-import"}],"exports":["ActiveParts","ErrorBoundary","HostPlugin","INTENT_ACTION","IntentAction","IntentProvider","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","Layout","LayoutAction","NAVIGATION_ACTION","NAVIGATION_PLUGIN","NavigationAction","Plugin","PluginProvider","Resource","ResourceKey","ResourceLanguage","SETTINGS_ACTION","SETTINGS_PLUGIN","SLUG_COLLECTION_INDICATOR","SLUG_ENTRY_SEPARATOR","SLUG_KEY_VALUE_SEPARATOR","SLUG_LIST_SEPARATOR","SLUG_PATH_SEPARATOR","SettingsAction","Surface","SurfaceProvider","Toast","chain","createApp","createDispatcher","createIntent","createResolver","createSurface","defaultFileTypes","definePlugin","filterPlugins","findPlugin","firstIdInPart","getPlugin","indexInPart","isLayoutAdjustment","isLayoutMode","isLayoutParts","isObject","openIds","parseFileManagerPlugin","parseGraphBuilderPlugin","parseGraphPlugin","parseGraphSerializerPlugin","parseIntentPlugin","parseIntentResolverPlugin","parseLayoutPlugin","parseMetadataRecordsPlugin","parseMetadataResolverPlugin","parseNavigationPlugin","parseRootSurfacePlugin","parseSettingsPlugin","parseSurfacePlugin","parseTranslationsPlugin","partLength","resolvePlugin","useIntentDispatcher","useIntentResolver","usePlugin","usePlugins","useResolvePlugin","useResolvePlugins","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":3569},"packages/sdk/app-framework/src/plugins/common/metadata.ts":{"bytesInOutput":226},"packages/sdk/app-framework/src/plugins/common/navigation.ts":{"bytesInOutput":4047},"packages/sdk/app-framework/src/plugins/common/translations.ts":{"bytesInOutput":344},"packages/sdk/app-framework/src/plugins/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/plugins/plugin-host/HostPlugin.tsx":{"bytesInOutput":1787},"packages/sdk/app-framework/src/plugins/plugin-host/PluginContainer.tsx":{"bytesInOutput":3417},"packages/sdk/app-framework/src/plugins/plugin-host/PluginContext.tsx":{"bytesInOutput":742},"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/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/App.tsx":{"bytesInOutput":1351}},"bytes":19131},"packages/sdk/app-framework/dist/lib/browser/plugin-intent-T7Y3MJ5C.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/app-framework/dist/lib/browser/plugin-intent-T7Y3MJ5C.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-QG25ZU2N.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-3E7RY3CE.mjs","kind":"import-statement"}],"exports":["INTENT_ACTION","IntentAction","IntentProvider","Label","chain","createDispatcher","createIntent","createResolver","default","parseIntentPlugin","parseIntentResolverPlugin","useIntentDispatcher","useIntentResolver"],"entryPoint":"packages/sdk/app-framework/src/plugins/plugin-intent/index.ts","inputs":{},"bytes":628},"packages/sdk/app-framework/dist/lib/browser/chunk-QG25ZU2N.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":28856},"packages/sdk/app-framework/dist/lib/browser/chunk-QG25ZU2N.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-3E7RY3CE.mjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"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":"@dxos/util","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["INTENT_ACTION","IntentAction","IntentProvider","Label","chain","createDispatcher","createIntent","createResolver","meta_default","parseIntentPlugin","parseIntentResolverPlugin","plugin_intent_default","useIntentDispatcher","useIntentResolver"],"inputs":{"packages/sdk/app-framework/src/plugins/plugin-intent/IntentPlugin.tsx":{"bytesInOutput":1890},"packages/sdk/app-framework/src/plugins/plugin-intent/IntentContext.tsx":{"bytesInOutput":703},"packages/sdk/app-framework/src/plugins/plugin-intent/intent-dispatcher.ts":{"bytesInOutput":4523},"packages/sdk/app-framework/src/plugins/plugin-intent/intent.ts":{"bytesInOutput":1123},"packages/sdk/app-framework/src/plugins/plugin-intent/meta.ts":{"bytesInOutput":119},"packages/sdk/app-framework/src/plugins/plugin-intent/provides.ts":{"bytesInOutput":185},"packages/sdk/app-framework/src/plugins/plugin-intent/index.ts":{"bytesInOutput":42}},"bytes":9668},"packages/sdk/app-framework/dist/lib/browser/plugin-surface-OKPF3EQI.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/app-framework/dist/lib/browser/plugin-surface-OKPF3EQI.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-SPDTXTOV.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-3E7RY3CE.mjs","kind":"import-statement"}],"exports":["ErrorBoundary","Surface","SurfaceProvider","createSurface","default","isObject","parseRootSurfacePlugin","parseSurfacePlugin","useSurfaceRoot"],"entryPoint":"packages/sdk/app-framework/src/plugins/plugin-surface/index.ts","inputs":{},"bytes":481},"packages/sdk/app-framework/dist/lib/browser/chunk-SPDTXTOV.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":15618},"packages/sdk/app-framework/dist/lib/browser/chunk-SPDTXTOV.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-3E7RY3CE.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/react-hooks","kind":"import-statement","external":true}],"exports":["ErrorBoundary","Surface","SurfaceProvider","createSurface","isObject","meta_default","parseRootSurfacePlugin","parseSurfacePlugin","plugin_surface_default","useSurfaceRoot"],"inputs":{"packages/sdk/app-framework/src/plugins/plugin-surface/SurfacePlugin.tsx":{"bytesInOutput":873},"packages/sdk/app-framework/src/plugins/plugin-surface/SurfaceContext.ts":{"bytesInOutput":328},"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":1767}},"bytes":5000},"packages/sdk/app-framework/dist/lib/browser/chunk-3E7RY3CE.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4320},"packages/sdk/app-framework/dist/lib/browser/chunk-3E7RY3CE.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":1942},"packages/sdk/app-framework/dist/lib/browser/plugin-settings-5U2L2NRU.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/app-framework/dist/lib/browser/plugin-settings-5U2L2NRU.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-WBOXEHBE.mjs","kind":"import-statement"}],"exports":["SETTINGS_ACTION","SETTINGS_PLUGIN","SettingsAction","default","parseSettingsPlugin"],"entryPoint":"packages/sdk/app-framework/src/plugins/plugin-settings/index.ts","inputs":{},"bytes":327},"packages/sdk/app-framework/dist/lib/browser/chunk-WBOXEHBE.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3103},"packages/sdk/app-framework/dist/lib/browser/chunk-WBOXEHBE.mjs":{"imports":[{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["SETTINGS_ACTION","SETTINGS_PLUGIN","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":547},"packages/sdk/app-framework/src/plugins/plugin-settings/index.ts":{"bytesInOutput":46}},"bytes":1442}}}
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":8433,"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":3766,"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":3770,"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/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2780},"packages/sdk/app-framework/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-WS6SU6HI.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-LDJ3T4V3.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-ATRNTMSS.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/store-QU2IKFAI.mjs","kind":"dynamic-import"},{"path":"packages/sdk/app-framework/dist/lib/browser/intent-resolver-XLE4L3LS.mjs","kind":"dynamic-import"},{"path":"packages/sdk/app-framework/dist/lib/browser/app-graph-builder-F7VZ6LRN.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":3150},"packages/sdk/app-framework/dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4087},"packages/sdk/app-framework/dist/lib/browser/testing/index.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-WS6SU6HI.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-ATRNTMSS.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":1973},"packages/sdk/app-framework/dist/lib/browser/chunk-WS6SU6HI.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":23453},"packages/sdk/app-framework/dist/lib/browser/chunk-WS6SU6HI.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-ATRNTMSS.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":9349},"packages/sdk/app-framework/dist/lib/browser/worker.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/app-framework/dist/lib/browser/worker.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-ATRNTMSS.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":1150},"packages/sdk/app-framework/dist/lib/browser/intent-dispatcher-E6J7E5Y5.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/app-framework/dist/lib/browser/intent-dispatcher-E6J7E5Y5.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-ATRNTMSS.mjs","kind":"import-statement"}],"exports":["createDispatcher","createResolver","default"],"entryPoint":"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts","inputs":{},"bytes":251},"packages/sdk/app-framework/dist/lib/browser/store-QU2IKFAI.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1229},"packages/sdk/app-framework/dist/lib/browser/store-QU2IKFAI.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-ATRNTMSS.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":579},"packages/sdk/app-framework/dist/lib/browser/intent-resolver-XLE4L3LS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1601},"packages/sdk/app-framework/dist/lib/browser/intent-resolver-XLE4L3LS.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-LDJ3T4V3.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-ATRNTMSS.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":916},"packages/sdk/app-framework/dist/lib/browser/app-graph-builder-F7VZ6LRN.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7436},"packages/sdk/app-framework/dist/lib/browser/app-graph-builder-F7VZ6LRN.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-LDJ3T4V3.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-ATRNTMSS.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":3994},"packages/sdk/app-framework/dist/lib/browser/chunk-LDJ3T4V3.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1521},"packages/sdk/app-framework/dist/lib/browser/chunk-LDJ3T4V3.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":907},"packages/sdk/app-framework/dist/lib/browser/chunk-ATRNTMSS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":97349},"packages/sdk/app-framework/dist/lib/browser/chunk-ATRNTMSS.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/browser/intent-dispatcher-E6J7E5Y5.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":632},"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":1655},"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":42487}}}
@@ -0,0 +1,19 @@
1
+ import {
2
+ Capabilities,
3
+ contributes
4
+ } from "./chunk-ATRNTMSS.mjs";
5
+
6
+ // packages/sdk/app-framework/src/plugin-settings/store.ts
7
+ import { RootSettingsStore } from "@dxos/local-storage";
8
+ var store_default = (context) => {
9
+ const allSettings = context.requestCapabilities(Capabilities.Settings);
10
+ const settingsStore = new RootSettingsStore();
11
+ allSettings.forEach((setting) => {
12
+ settingsStore.createStore(setting);
13
+ });
14
+ return contributes(Capabilities.SettingsStore, settingsStore);
15
+ };
16
+ export {
17
+ store_default as default
18
+ };
19
+ //# sourceMappingURL=store-QU2IKFAI.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,74 @@
1
+ import {
2
+ createApp
3
+ } from "../chunk-WS6SU6HI.mjs";
4
+ import {
5
+ Capabilities,
6
+ Events,
7
+ PluginManager,
8
+ contributes,
9
+ defineModule,
10
+ definePlugin
11
+ } from "../chunk-ATRNTMSS.mjs";
12
+
13
+ // packages/sdk/app-framework/src/testing/withPluginManager.tsx
14
+ import React, { useEffect } from "react";
15
+ import { raise } from "@dxos/debug";
16
+ var setupPluginManager = ({ capabilities, plugins = [], core = plugins.map(({ meta }) => meta.id), ...options } = {}) => {
17
+ const pluginManager = new PluginManager({
18
+ pluginLoader: () => raise(new Error("Not implemented")),
19
+ plugins: [
20
+ StoryPlugin(),
21
+ ...plugins
22
+ ],
23
+ core: [
24
+ STORY_PLUGIN,
25
+ ...core
26
+ ],
27
+ ...options
28
+ });
29
+ if (capabilities) {
30
+ capabilities.forEach((capability) => {
31
+ pluginManager.context.contributeCapability({
32
+ interface: capability.interface,
33
+ implementation: capability.implementation,
34
+ module: "story"
35
+ });
36
+ });
37
+ }
38
+ return pluginManager;
39
+ };
40
+ var withPluginManager = (options = {}) => {
41
+ const pluginManager = setupPluginManager(options);
42
+ const App = createApp({
43
+ pluginManager
44
+ });
45
+ return (Story, context) => {
46
+ useEffect(() => {
47
+ const capability = contributes(Capabilities.ReactRoot, {
48
+ id: context.id,
49
+ root: () => /* @__PURE__ */ React.createElement(Story, null)
50
+ });
51
+ pluginManager.context.contributeCapability({
52
+ ...capability,
53
+ module: "dxos.org/app-framework/withPluginManager"
54
+ });
55
+ return () => pluginManager.context.removeCapability(capability.interface, capability.implementation);
56
+ }, []);
57
+ return /* @__PURE__ */ React.createElement(App, null);
58
+ };
59
+ };
60
+ var STORY_PLUGIN = "dxos.org/app-framework/story";
61
+ var StoryPlugin = () => definePlugin({
62
+ id: STORY_PLUGIN
63
+ }, [
64
+ defineModule({
65
+ id: STORY_PLUGIN,
66
+ activatesOn: Events.Startup,
67
+ activate: () => []
68
+ })
69
+ ]);
70
+ export {
71
+ setupPluginManager,
72
+ withPluginManager
73
+ };
74
+ //# 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,77 @@
1
+ import {
2
+ Capabilities,
3
+ Events,
4
+ FileInfoSchema,
5
+ INTENT_ACTION,
6
+ INTENT_PLUGIN,
7
+ IntentAction,
8
+ IntentPlugin,
9
+ LAYOUT_ACTION,
10
+ LAYOUT_PLUGIN,
11
+ Label,
12
+ LayoutAction,
13
+ Plugin,
14
+ PluginManager,
15
+ PluginModule,
16
+ PluginsContext,
17
+ Resource,
18
+ ResourceKey,
19
+ ResourceLanguage,
20
+ allOf,
21
+ chain,
22
+ contributes,
23
+ createDispatcher,
24
+ createIntent,
25
+ createResolver,
26
+ createSurface,
27
+ defaultFileTypes,
28
+ defineCapability,
29
+ defineEvent,
30
+ defineModule,
31
+ definePlugin,
32
+ eventKey,
33
+ getEvents,
34
+ isAllOf,
35
+ isOneOf,
36
+ lazy,
37
+ oneOf
38
+ } from "./chunk-ATRNTMSS.mjs";
39
+ export {
40
+ Capabilities,
41
+ Events,
42
+ FileInfoSchema,
43
+ INTENT_ACTION,
44
+ INTENT_PLUGIN,
45
+ IntentAction,
46
+ IntentPlugin,
47
+ LAYOUT_ACTION,
48
+ LAYOUT_PLUGIN,
49
+ Label,
50
+ LayoutAction,
51
+ Plugin,
52
+ PluginManager,
53
+ PluginModule,
54
+ PluginsContext,
55
+ Resource,
56
+ ResourceKey,
57
+ ResourceLanguage,
58
+ allOf,
59
+ chain,
60
+ contributes,
61
+ createDispatcher,
62
+ createIntent,
63
+ createResolver,
64
+ createSurface,
65
+ defaultFileTypes,
66
+ defineCapability,
67
+ defineEvent,
68
+ defineModule,
69
+ definePlugin,
70
+ eventKey,
71
+ getEvents,
72
+ isAllOf,
73
+ isOneOf,
74
+ lazy,
75
+ oneOf
76
+ };
77
+ //# sourceMappingURL=worker.mjs.map