@dxos/app-framework 0.8.4-main.5acf9ea → 0.8.4-main.5ea62a8

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 (132) hide show
  1. package/.swc/plugins/linux_x86_64_19.0.0/727453fb3a62f7f1d952a41e051ca8a6f88cadc45cee43c6a4d1aa45f9b75665.wasmer-v7 +0 -0
  2. package/.swc/plugins/{v7_linux_x86_64_13.0.0/fce1bdb8e20a094e4af08bad09cc81497ed0e2e7c51223b07d371063cca18429 → linux_x86_64_19.0.0/fce1bdb8e20a094e4af08bad09cc81497ed0e2e7c51223b07d371063cca18429.wasmer-v7} +0 -0
  3. package/dist/lib/browser/{app-graph-builder-LYF7EKNN.mjs → app-graph-builder-AFFC6VB2.mjs} +3 -3
  4. package/dist/lib/browser/app-graph-builder-AFFC6VB2.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-FO2PH7M3.mjs → chunk-DND4XMN4.mjs} +59 -33
  6. package/dist/lib/browser/chunk-DND4XMN4.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-FMN65HSW.mjs → chunk-OZY7HV2A.mjs} +376 -252
  8. package/dist/lib/browser/chunk-OZY7HV2A.mjs.map +7 -0
  9. package/dist/lib/browser/index.mjs +11 -5
  10. package/dist/lib/browser/index.mjs.map +2 -2
  11. package/dist/lib/browser/{intent-dispatcher-LSYQZSEB.mjs → intent-dispatcher-QG7UPGQX.mjs} +2 -2
  12. package/dist/lib/browser/{intent-resolver-ZTNOSO3A.mjs → intent-resolver-4S4PSTM5.mjs} +2 -2
  13. package/dist/lib/browser/intent-resolver-4S4PSTM5.mjs.map +7 -0
  14. package/dist/lib/browser/meta.json +1 -1
  15. package/dist/lib/browser/{store-KML2R4IE.mjs → store-6E33KLGK.mjs} +2 -2
  16. package/dist/lib/browser/{store-KML2R4IE.mjs.map → store-6E33KLGK.mjs.map} +1 -1
  17. package/dist/lib/browser/testing/index.mjs +5 -7
  18. package/dist/lib/browser/testing/index.mjs.map +3 -3
  19. package/dist/lib/browser/worker.mjs +7 -1
  20. package/dist/lib/node-esm/{app-graph-builder-SAOWGJDK.mjs → app-graph-builder-S4OAULX5.mjs} +3 -3
  21. package/dist/lib/node-esm/app-graph-builder-S4OAULX5.mjs.map +7 -0
  22. package/dist/lib/node-esm/{chunk-73HGSHKE.mjs → chunk-E2TK7Z4P.mjs} +59 -33
  23. package/dist/lib/node-esm/chunk-E2TK7Z4P.mjs.map +7 -0
  24. package/dist/lib/node-esm/{chunk-ZEZ4FVEU.mjs → chunk-F63ZRXMK.mjs} +376 -252
  25. package/dist/lib/node-esm/chunk-F63ZRXMK.mjs.map +7 -0
  26. package/dist/lib/node-esm/index.mjs +11 -5
  27. package/dist/lib/node-esm/index.mjs.map +2 -2
  28. package/dist/lib/node-esm/{intent-dispatcher-6CYNGPSW.mjs → intent-dispatcher-NXBGPJOX.mjs} +2 -2
  29. package/dist/lib/node-esm/{intent-resolver-W7Z7WFFM.mjs → intent-resolver-2ZKXI5ET.mjs} +2 -2
  30. package/dist/lib/node-esm/intent-resolver-2ZKXI5ET.mjs.map +7 -0
  31. package/dist/lib/node-esm/meta.json +1 -1
  32. package/dist/lib/node-esm/{store-QEXGXLWZ.mjs → store-QQUTQHHT.mjs} +2 -2
  33. package/dist/lib/node-esm/{store-QEXGXLWZ.mjs.map → store-QQUTQHHT.mjs.map} +1 -1
  34. package/dist/lib/node-esm/testing/index.mjs +5 -7
  35. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  36. package/dist/lib/node-esm/worker.mjs +7 -1
  37. package/dist/types/src/App.d.ts +1 -1
  38. package/dist/types/src/App.d.ts.map +1 -1
  39. package/dist/types/src/common/capabilities.d.ts +75 -8
  40. package/dist/types/src/common/capabilities.d.ts.map +1 -1
  41. package/dist/types/src/common/collaboration.d.ts +9 -8
  42. package/dist/types/src/common/collaboration.d.ts.map +1 -1
  43. package/dist/types/src/common/events.d.ts.map +1 -1
  44. package/dist/types/src/common/index.d.ts +1 -1
  45. package/dist/types/src/common/index.d.ts.map +1 -1
  46. package/dist/types/src/common/surface.d.ts +1 -1
  47. package/dist/types/src/common/surface.d.ts.map +1 -1
  48. package/dist/types/src/core/capabilities.d.ts +4 -1
  49. package/dist/types/src/core/capabilities.d.ts.map +1 -1
  50. package/dist/types/src/core/manager.d.ts +6 -2
  51. package/dist/types/src/core/manager.d.ts.map +1 -1
  52. package/dist/types/src/playground/debug/Debug.d.ts +1 -1
  53. package/dist/types/src/playground/generator/Main.d.ts +1 -1
  54. package/dist/types/src/playground/generator/Toolbar.d.ts +1 -1
  55. package/dist/types/src/playground/generator/Toolbar.d.ts.map +1 -1
  56. package/dist/types/src/playground/generator/generator.d.ts.map +1 -1
  57. package/dist/types/src/playground/layout/Layout.d.ts +2 -2
  58. package/dist/types/src/playground/logger/Toolbar.d.ts +1 -1
  59. package/dist/types/src/playground/logger/Toolbar.d.ts.map +1 -1
  60. package/dist/types/src/playground/logger/plugin.d.ts.map +1 -1
  61. package/dist/types/src/playground/playground.stories.d.ts +5 -3
  62. package/dist/types/src/playground/playground.stories.d.ts.map +1 -1
  63. package/dist/types/src/plugin-intent/IntentPlugin.d.ts.map +1 -1
  64. package/dist/types/src/plugin-intent/index.d.ts +1 -0
  65. package/dist/types/src/plugin-intent/index.d.ts.map +1 -1
  66. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts +3 -3
  67. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts.map +1 -1
  68. package/dist/types/src/plugin-settings/SettingsPlugin.d.ts.map +1 -1
  69. package/dist/types/src/plugin-settings/app-graph-builder.d.ts +1 -1
  70. package/dist/types/src/plugin-settings/app-graph-builder.d.ts.map +1 -1
  71. package/dist/types/src/plugin-settings/intent-resolver.d.ts +1 -1
  72. package/dist/types/src/plugin-settings/intent-resolver.d.ts.map +1 -1
  73. package/dist/types/src/plugin-settings/store.d.ts +1 -1
  74. package/dist/types/src/plugin-settings/store.d.ts.map +1 -1
  75. package/dist/types/src/react/ErrorBoundary.d.ts +13 -14
  76. package/dist/types/src/react/ErrorBoundary.d.ts.map +1 -1
  77. package/dist/types/src/react/IntentContext.d.ts.map +1 -1
  78. package/dist/types/src/react/Surface.d.ts.map +1 -1
  79. package/dist/types/src/react/Surface.stories.d.ts +6 -4
  80. package/dist/types/src/react/Surface.stories.d.ts.map +1 -1
  81. package/dist/types/src/react/common.d.ts.map +1 -1
  82. package/dist/types/src/react/useCapabilities.d.ts.map +1 -1
  83. package/dist/types/src/testing/withPluginManager.d.ts +2 -0
  84. package/dist/types/src/testing/withPluginManager.d.ts.map +1 -1
  85. package/dist/types/src/testing/withPluginManager.stories.d.ts +9 -3
  86. package/dist/types/src/testing/withPluginManager.stories.d.ts.map +1 -1
  87. package/dist/types/tsconfig.tsbuildinfo +1 -1
  88. package/package.json +31 -30
  89. package/src/App.tsx +18 -14
  90. package/src/common/capabilities.ts +91 -10
  91. package/src/common/collaboration.ts +5 -8
  92. package/src/common/events.ts +3 -1
  93. package/src/common/index.ts +1 -1
  94. package/src/common/surface.ts +1 -1
  95. package/src/core/capabilities.test.ts +1 -1
  96. package/src/core/capabilities.ts +11 -6
  97. package/src/core/manager.test.ts +4 -3
  98. package/src/core/manager.ts +132 -54
  99. package/src/helpers.test.ts +1 -1
  100. package/src/playground/generator/Toolbar.tsx +2 -1
  101. package/src/playground/generator/generator.ts +2 -2
  102. package/src/playground/layout/plugin.ts +1 -1
  103. package/src/playground/logger/Toolbar.tsx +2 -1
  104. package/src/playground/logger/plugin.ts +3 -2
  105. package/src/playground/playground.stories.tsx +15 -10
  106. package/src/plugin-intent/IntentPlugin.ts +2 -1
  107. package/src/plugin-intent/index.ts +1 -0
  108. package/src/plugin-intent/intent-dispatcher.test.ts +1 -1
  109. package/src/plugin-intent/intent-dispatcher.ts +10 -8
  110. package/src/plugin-settings/SettingsPlugin.ts +3 -2
  111. package/src/plugin-settings/app-graph-builder.ts +4 -3
  112. package/src/plugin-settings/intent-resolver.ts +3 -2
  113. package/src/plugin-settings/store.ts +1 -1
  114. package/src/react/ErrorBoundary.tsx +24 -15
  115. package/src/react/IntentContext.tsx +3 -2
  116. package/src/react/Surface.stories.tsx +21 -13
  117. package/src/react/Surface.tsx +4 -3
  118. package/src/react/common.ts +2 -1
  119. package/src/react/useCapabilities.ts +2 -1
  120. package/src/testing/withPluginManager.stories.tsx +9 -5
  121. package/src/testing/withPluginManager.tsx +11 -11
  122. package/.swc/plugins/v7_linux_x86_64_13.0.0/f45bdff002284d9e8f9ef3f0be909de12da36c049cbcf261ac78fc00abb09a2d +0 -0
  123. package/dist/lib/browser/app-graph-builder-LYF7EKNN.mjs.map +0 -7
  124. package/dist/lib/browser/chunk-FMN65HSW.mjs.map +0 -7
  125. package/dist/lib/browser/chunk-FO2PH7M3.mjs.map +0 -7
  126. package/dist/lib/browser/intent-resolver-ZTNOSO3A.mjs.map +0 -7
  127. package/dist/lib/node-esm/app-graph-builder-SAOWGJDK.mjs.map +0 -7
  128. package/dist/lib/node-esm/chunk-73HGSHKE.mjs.map +0 -7
  129. package/dist/lib/node-esm/chunk-ZEZ4FVEU.mjs.map +0 -7
  130. package/dist/lib/node-esm/intent-resolver-W7Z7WFFM.mjs.map +0 -7
  131. /package/dist/lib/browser/{intent-dispatcher-LSYQZSEB.mjs.map → intent-dispatcher-QG7UPGQX.mjs.map} +0 -0
  132. /package/dist/lib/node-esm/{intent-dispatcher-6CYNGPSW.mjs.map → intent-dispatcher-NXBGPJOX.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"inputs":{"src/core/capabilities.ts":{"bytes":23767,"imports":[{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/core/events.ts":{"bytes":5358,"imports":[],"format":"esm"},"src/core/manager.ts":{"bytes":55028,"imports":[{"path":"@effect-rx/rx-react","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":"src/core/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/core/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"},"src/core/plugin.ts":{"bytes":7283,"imports":[],"format":"esm"},"src/core/index.ts":{"bytes":725,"imports":[{"path":"src/core/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/core/events.ts","kind":"import-statement","original":"./events"},{"path":"src/core/manager.ts","kind":"import-statement","original":"./manager"},{"path":"src/core/plugin.ts","kind":"import-statement","original":"./plugin"}],"format":"esm"},"src/common/capabilities.ts":{"bytes":10623,"imports":[{"path":"src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"src/common/collaboration.ts":{"bytes":2656,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"format":"esm"},"src/common/events.ts":{"bytes":5579,"imports":[{"path":"src/common/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"src/common/file.ts":{"bytes":2495,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"src/plugin-intent/intent.ts":{"bytes":10028,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"src/plugin-intent/actions.ts":{"bytes":3329,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"}],"format":"esm"},"src/plugin-intent/errors.ts":{"bytes":3753,"imports":[],"format":"esm"},"src/plugin-intent/intent-dispatcher.ts":{"bytes":30764,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"src/plugin-intent/errors.ts","kind":"import-statement","original":"./errors"},{"path":"src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"},{"path":"src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"src/plugin-intent/IntentPlugin.ts":{"bytes":2991,"imports":[{"path":"src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"src/plugin-intent/intent-dispatcher.ts","kind":"dynamic-import","original":"./intent-dispatcher"}],"format":"esm"},"src/plugin-intent/index.ts":{"bytes":761,"imports":[{"path":"src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"},{"path":"src/plugin-intent/intent-dispatcher.ts","kind":"import-statement","original":"./intent-dispatcher"},{"path":"src/plugin-intent/IntentPlugin.ts","kind":"import-statement","original":"./IntentPlugin"}],"format":"esm"},"src/common/layout.ts":{"bytes":42696,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"}],"format":"esm"},"src/common/surface.ts":{"bytes":4114,"imports":[],"format":"esm"},"src/common/translations.ts":{"bytes":2211,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"src/common/index.ts":{"bytes":1048,"imports":[{"path":"src/common/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/common/collaboration.ts","kind":"import-statement","original":"./collaboration"},{"path":"src/common/events.ts","kind":"import-statement","original":"./events"},{"path":"src/common/file.ts","kind":"import-statement","original":"./file"},{"path":"src/common/layout.ts","kind":"import-statement","original":"./layout"},{"path":"src/common/surface.ts","kind":"import-statement","original":"./surface"},{"path":"src/common/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"src/helpers.ts":{"bytes":4985,"imports":[],"format":"esm"},"src/react/PluginManagerProvider.ts":{"bytes":2017,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"src/react/useCapabilities.ts":{"bytes":3264,"imports":[{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"src/react/PluginManagerProvider.ts","kind":"import-statement","original":"./PluginManagerProvider"}],"format":"esm"},"src/react/common.ts":{"bytes":1560,"imports":[{"path":"src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"src/common/index.ts","kind":"import-statement","original":"../common"}],"format":"esm"},"src/react/ErrorBoundary.tsx":{"bytes":4370,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/react/Surface.tsx":{"bytes":10694,"imports":[{"path":"@preact-signals/safe-react/tracking","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":"src/react/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"},{"path":"src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"src/common/index.ts","kind":"import-statement","original":"../common"}],"format":"esm"},"src/react/useIntentResolver.ts":{"bytes":2465,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"src/react/index.ts","kind":"import-statement","original":"../react"}],"format":"esm"},"src/react/index.ts":{"bytes":982,"imports":[{"path":"src/react/common.ts","kind":"import-statement","original":"./common"},{"path":"src/react/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"},{"path":"src/react/PluginManagerProvider.ts","kind":"import-statement","original":"./PluginManagerProvider"},{"path":"src/react/Surface.tsx","kind":"import-statement","original":"./Surface"},{"path":"src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"src/react/useIntentResolver.ts","kind":"import-statement","original":"./useIntentResolver"}],"format":"esm"},"src/App.tsx":{"bytes":29896,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@effect-rx/rx-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},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/react/index.ts","kind":"import-statement","original":"./react"}],"format":"esm"},"src/plugin-settings/actions.ts":{"bytes":3514,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"src/plugin-settings/translations.ts":{"bytes":1470,"imports":[{"path":"src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"}],"format":"esm"},"src/plugin-settings/store.ts":{"bytes":4056,"imports":[{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"src/plugin-settings/intent-resolver.ts":{"bytes":3773,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"}],"format":"esm"},"src/plugin-settings/app-graph-builder.ts":{"bytes":20627,"imports":[{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"}],"format":"esm"},"src/plugin-settings/SettingsPlugin.ts":{"bytes":4859,"imports":[{"path":"src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"src/plugin-settings/translations.ts","kind":"import-statement","original":"./translations"},{"path":"src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"src/plugin-settings/store.ts","kind":"dynamic-import","original":"./store"},{"path":"src/plugin-settings/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"src/plugin-settings/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"}],"format":"esm"},"src/plugin-settings/index.ts":{"bytes":574,"imports":[{"path":"src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"src/plugin-settings/SettingsPlugin.ts","kind":"import-statement","original":"./SettingsPlugin"}],"format":"esm"},"src/index.ts":{"bytes":895,"imports":[{"path":"src/App.tsx","kind":"import-statement","original":"./App"},{"path":"src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"src/plugin-intent/index.ts","kind":"import-statement","original":"./plugin-intent"},{"path":"src/plugin-settings/index.ts","kind":"import-statement","original":"./plugin-settings"},{"path":"src/react/index.ts","kind":"import-statement","original":"./react"}],"format":"esm"},"src/testing/withPluginManager.tsx":{"bytes":11142,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"src/App.tsx","kind":"import-statement","original":"../App"},{"path":"src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"src/testing/index.ts":{"bytes":486,"imports":[{"path":"src/testing/withPluginManager.tsx","kind":"import-statement","original":"./withPluginManager"}],"format":"esm"},"src/worker.ts":{"bytes":1234,"imports":[{"path":"src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"src/plugin-intent/index.ts","kind":"import-statement","original":"./plugin-intent"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2946},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-FO2PH7M3.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-ORWHM7CO.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-FMN65HSW.mjs","kind":"import-statement"},{"path":"dist/lib/browser/store-KML2R4IE.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/intent-resolver-ZTNOSO3A.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/app-graph-builder-LYF7EKNN.mjs","kind":"dynamic-import"}],"exports":["Capabilities","CollaborationActions","ErrorBoundary","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","Plugin","PluginContext","PluginManager","PluginManagerProvider","PluginModule","Resource","ResourceKey","ResourceLanguage","SETTINGS_ACTION","SETTINGS_ID","SETTINGS_KEY","SETTINGS_PLUGIN","SettingsAction","SettingsPlugin","Surface","allOf","chain","contributes","createDispatcher","createIntent","createResolver","createSurface","defaultFileTypes","defineCapability","defineEvent","defineModule","definePlugin","eventKey","getEvents","isAllOf","isOneOf","isSurfaceAvailable","lazy","oneOf","useApp","useAppGraph","useCapabilities","useCapability","useIntentDispatcher","useIntentResolver","useLayout","usePluginManager","useSurfaces"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/plugin-settings/index.ts":{"bytesInOutput":0},"src/plugin-settings/translations.ts":{"bytesInOutput":220},"src/plugin-settings/SettingsPlugin.ts":{"bytesInOutput":924}},"bytes":3147},"dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5761},"dist/lib/browser/testing/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-FO2PH7M3.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-FMN65HSW.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"exports":["getValue","setupPluginManager","withPluginManager"],"entryPoint":"src/testing/index.ts","inputs":{"src/testing/withPluginManager.tsx":{"bytesInOutput":2198},"src/testing/index.ts":{"bytesInOutput":0}},"bytes":2517},"dist/lib/browser/chunk-FO2PH7M3.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":29269},"dist/lib/browser/chunk-FO2PH7M3.mjs":{"imports":[{"path":"dist/lib/browser/chunk-FMN65HSW.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","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/safe-react/tracking","kind":"import-statement","external":true},{"path":"@effect-rx/rx-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},{"path":"@dxos/react-hooks","kind":"import-statement","external":true}],"exports":["ErrorBoundary","PluginManagerProvider","Surface","isSurfaceAvailable","useApp","useAppGraph","useCapabilities","useCapability","useIntentDispatcher","useIntentResolver","useLayout","usePluginManager","useSurfaces"],"inputs":{"src/react/PluginManagerProvider.ts":{"bytesInOutput":312},"src/react/useCapabilities.ts":{"bytesInOutput":714},"src/react/common.ts":{"bytesInOutput":198},"src/react/ErrorBoundary.tsx":{"bytesInOutput":705},"src/react/Surface.tsx":{"bytesInOutput":2020},"src/react/useIntentResolver.ts":{"bytesInOutput":414},"src/react/index.ts":{"bytesInOutput":0},"src/App.tsx":{"bytesInOutput":6555},"src/helpers.ts":{"bytesInOutput":1049}},"bytes":12573},"dist/lib/browser/worker.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/worker.mjs":{"imports":[{"path":"dist/lib/browser/chunk-FMN65HSW.mjs","kind":"import-statement"}],"exports":["Capabilities","CollaborationActions","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","Plugin","PluginContext","PluginManager","PluginModule","Resource","ResourceKey","ResourceLanguage","allOf","chain","contributes","createDispatcher","createIntent","createResolver","createSurface","defaultFileTypes","defineCapability","defineEvent","defineModule","definePlugin","eventKey","getEvents","isAllOf","isOneOf","lazy","oneOf"],"entryPoint":"src/worker.ts","inputs":{"src/worker.ts":{"bytesInOutput":0}},"bytes":1196},"dist/lib/browser/intent-dispatcher-LSYQZSEB.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/intent-dispatcher-LSYQZSEB.mjs":{"imports":[{"path":"dist/lib/browser/chunk-FMN65HSW.mjs","kind":"import-statement"}],"exports":["createDispatcher","createResolver","default"],"entryPoint":"src/plugin-intent/intent-dispatcher.ts","inputs":{},"bytes":251},"dist/lib/browser/store-KML2R4IE.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2187},"dist/lib/browser/store-KML2R4IE.mjs":{"imports":[{"path":"dist/lib/browser/chunk-FMN65HSW.mjs","kind":"import-statement"},{"path":"@dxos/local-storage","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/plugin-settings/store.ts","inputs":{"src/plugin-settings/store.ts":{"bytesInOutput":811}},"bytes":997},"dist/lib/browser/intent-resolver-ZTNOSO3A.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1819},"dist/lib/browser/intent-resolver-ZTNOSO3A.mjs":{"imports":[{"path":"dist/lib/browser/chunk-ORWHM7CO.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-FMN65HSW.mjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/plugin-settings/intent-resolver.ts","inputs":{"src/plugin-settings/intent-resolver.ts":{"bytesInOutput":577}},"bytes":940},"dist/lib/browser/app-graph-builder-LYF7EKNN.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":9867},"dist/lib/browser/app-graph-builder-LYF7EKNN.mjs":{"imports":[{"path":"dist/lib/browser/chunk-ORWHM7CO.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-FMN65HSW.mjs","kind":"import-statement"},{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/plugin-settings/app-graph-builder.ts","inputs":{"src/plugin-settings/app-graph-builder.ts":{"bytesInOutput":4285}},"bytes":4630},"dist/lib/browser/chunk-ORWHM7CO.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1718},"dist/lib/browser/chunk-ORWHM7CO.mjs":{"imports":[{"path":"effect","kind":"import-statement","external":true}],"exports":["SETTINGS_ACTION","SETTINGS_ID","SETTINGS_KEY","SETTINGS_PLUGIN","SettingsAction"],"inputs":{"src/plugin-settings/actions.ts":{"bytesInOutput":731}},"bytes":908},"dist/lib/browser/chunk-FMN65HSW.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":108272},"dist/lib/browser/chunk-FMN65HSW.mjs":{"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@effect-rx/rx-react","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","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"dist/lib/browser/intent-dispatcher-LSYQZSEB.mjs","kind":"dynamic-import"},{"path":"effect","kind":"import-statement","external":true}],"exports":["Capabilities","CollaborationActions","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","Plugin","PluginContext","PluginManager","PluginModule","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":{"src/plugin-intent/intent-dispatcher.ts":{"bytesInOutput":5251},"src/plugin-intent/actions.ts":{"bytesInOutput":699},"src/plugin-intent/intent.ts":{"bytesInOutput":888},"src/plugin-intent/errors.ts":{"bytesInOutput":654},"src/core/capabilities.ts":{"bytesInOutput":5167},"src/core/index.ts":{"bytesInOutput":0},"src/core/events.ts":{"bytesInOutput":512},"src/core/manager.ts":{"bytesInOutput":14915},"src/core/plugin.ts":{"bytesInOutput":516},"src/common/capabilities.ts":{"bytesInOutput":2137},"src/common/index.ts":{"bytesInOutput":0},"src/common/collaboration.ts":{"bytesInOutput":687},"src/common/events.ts":{"bytesInOutput":1232},"src/common/file.ts":{"bytesInOutput":408},"src/common/layout.ts":{"bytesInOutput":12360},"src/plugin-intent/index.ts":{"bytesInOutput":0},"src/plugin-intent/IntentPlugin.ts":{"bytesInOutput":620},"src/common/surface.ts":{"bytesInOutput":48},"src/common/translations.ts":{"bytesInOutput":331}},"bytes":47635}}}
1
+ {"inputs":{"src/core/capabilities.ts":{"bytes":24751,"imports":[{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/core/events.ts":{"bytes":5358,"imports":[],"format":"esm"},"src/core/manager.ts":{"bytes":67329,"imports":[{"path":"@effect-rx/rx-react","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":"src/core/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/core/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"},"src/core/plugin.ts":{"bytes":7924,"imports":[],"format":"esm"},"src/core/index.ts":{"bytes":725,"imports":[{"path":"src/core/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/core/events.ts","kind":"import-statement","original":"./events"},{"path":"src/core/manager.ts","kind":"import-statement","original":"./manager"},{"path":"src/core/plugin.ts","kind":"import-statement","original":"./plugin"}],"format":"esm"},"src/common/capabilities.ts":{"bytes":12292,"imports":[{"path":"src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"src/common/collaboration.ts":{"bytes":2116,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/common/events.ts":{"bytes":5619,"imports":[{"path":"src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"src/common/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"src/common/file.ts":{"bytes":2495,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"src/common/graph.ts":{"bytes":1389,"imports":[],"format":"esm"},"src/plugin-intent/intent.ts":{"bytes":10028,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"src/plugin-intent/actions.ts":{"bytes":3329,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"}],"format":"esm"},"src/plugin-intent/errors.ts":{"bytes":4128,"imports":[],"format":"esm"},"src/plugin-intent/intent-dispatcher.ts":{"bytes":31282,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"src/plugin-intent/errors.ts","kind":"import-statement","original":"./errors"},{"path":"src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"}],"format":"esm"},"src/plugin-intent/IntentPlugin.ts":{"bytes":2995,"imports":[{"path":"src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"src/plugin-intent/intent-dispatcher.ts","kind":"dynamic-import","original":"./intent-dispatcher"}],"format":"esm"},"src/plugin-intent/index.ts":{"bytes":843,"imports":[{"path":"src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"src/plugin-intent/errors.ts","kind":"import-statement","original":"./errors"},{"path":"src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"},{"path":"src/plugin-intent/intent-dispatcher.ts","kind":"import-statement","original":"./intent-dispatcher"},{"path":"src/plugin-intent/IntentPlugin.ts","kind":"import-statement","original":"./IntentPlugin"}],"format":"esm"},"src/common/layout.ts":{"bytes":42696,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"}],"format":"esm"},"src/common/surface.ts":{"bytes":4114,"imports":[],"format":"esm"},"src/common/translations.ts":{"bytes":2211,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"src/common/index.ts":{"bytes":1089,"imports":[{"path":"src/common/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/common/collaboration.ts","kind":"import-statement","original":"./collaboration"},{"path":"src/common/events.ts","kind":"import-statement","original":"./events"},{"path":"src/common/file.ts","kind":"import-statement","original":"./file"},{"path":"src/common/graph.ts","kind":"import-statement","original":"./graph"},{"path":"src/common/layout.ts","kind":"import-statement","original":"./layout"},{"path":"src/common/surface.ts","kind":"import-statement","original":"./surface"},{"path":"src/common/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"src/helpers.ts":{"bytes":4985,"imports":[],"format":"esm"},"src/react/PluginManagerProvider.ts":{"bytes":2017,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"src/react/useCapabilities.ts":{"bytes":3264,"imports":[{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"src/react/PluginManagerProvider.ts","kind":"import-statement","original":"./PluginManagerProvider"}],"format":"esm"},"src/react/common.ts":{"bytes":1564,"imports":[{"path":"src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"}],"format":"esm"},"src/react/ErrorBoundary.tsx":{"bytes":6147,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/react/Surface.tsx":{"bytes":10698,"imports":[{"path":"@preact-signals/safe-react/tracking","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":"src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"src/react/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"},{"path":"src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"}],"format":"esm"},"src/react/useIntentResolver.ts":{"bytes":2465,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"src/react/index.ts","kind":"import-statement","original":"../react"}],"format":"esm"},"src/react/index.ts":{"bytes":982,"imports":[{"path":"src/react/common.ts","kind":"import-statement","original":"./common"},{"path":"src/react/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"},{"path":"src/react/PluginManagerProvider.ts","kind":"import-statement","original":"./PluginManagerProvider"},{"path":"src/react/Surface.tsx","kind":"import-statement","original":"./Surface"},{"path":"src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"src/react/useIntentResolver.ts","kind":"import-statement","original":"./useIntentResolver"}],"format":"esm"},"src/App.tsx":{"bytes":29891,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@effect-rx/rx-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},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/react/index.ts","kind":"import-statement","original":"./react"}],"format":"esm"},"src/plugin-settings/actions.ts":{"bytes":3514,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"src/plugin-settings/translations.ts":{"bytes":1470,"imports":[{"path":"src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"}],"format":"esm"},"src/plugin-settings/store.ts":{"bytes":4056,"imports":[{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"src/plugin-settings/intent-resolver.ts":{"bytes":3773,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"},{"path":"src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"}],"format":"esm"},"src/plugin-settings/app-graph-builder.ts":{"bytes":20631,"imports":[{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"},{"path":"src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"}],"format":"esm"},"src/plugin-settings/SettingsPlugin.ts":{"bytes":4859,"imports":[{"path":"src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"src/plugin-settings/translations.ts","kind":"import-statement","original":"./translations"},{"path":"src/plugin-settings/store.ts","kind":"dynamic-import","original":"./store"},{"path":"src/plugin-settings/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"src/plugin-settings/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"}],"format":"esm"},"src/plugin-settings/index.ts":{"bytes":574,"imports":[{"path":"src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"src/plugin-settings/SettingsPlugin.ts","kind":"import-statement","original":"./SettingsPlugin"}],"format":"esm"},"src/index.ts":{"bytes":895,"imports":[{"path":"src/App.tsx","kind":"import-statement","original":"./App"},{"path":"src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"src/plugin-intent/index.ts","kind":"import-statement","original":"./plugin-intent"},{"path":"src/plugin-settings/index.ts","kind":"import-statement","original":"./plugin-settings"},{"path":"src/react/index.ts","kind":"import-statement","original":"./react"}],"format":"esm"},"src/testing/withPluginManager.tsx":{"bytes":11032,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"src/App.tsx","kind":"import-statement","original":"../App"},{"path":"src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"src/testing/index.ts":{"bytes":486,"imports":[{"path":"src/testing/withPluginManager.tsx","kind":"import-statement","original":"./withPluginManager"}],"format":"esm"},"src/worker.ts":{"bytes":1234,"imports":[{"path":"src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"src/plugin-intent/index.ts","kind":"import-statement","original":"./plugin-intent"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2951},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-DND4XMN4.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-ORWHM7CO.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-OZY7HV2A.mjs","kind":"import-statement"},{"path":"dist/lib/browser/store-6E33KLGK.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/intent-resolver-4S4PSTM5.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/app-graph-builder-AFFC6VB2.mjs","kind":"dynamic-import"}],"exports":["BaseError","Capabilities","CollaborationActions","CycleDetectedError","ErrorBoundary","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","NoResolversError","Plugin","PluginContext","PluginManager","PluginManagerProvider","PluginModule","Resource","ResourceKey","ResourceLanguage","SETTINGS_ACTION","SETTINGS_ID","SETTINGS_KEY","SETTINGS_PLUGIN","SettingsAction","SettingsPlugin","Surface","allOf","chain","contributes","createDispatcher","createIntent","createResolver","createSurface","defaultFileTypes","defineCapability","defineEvent","defineModule","definePlugin","eventKey","getEvents","isAllOf","isOneOf","isSurfaceAvailable","lazy","oneOf","useApp","useAppGraph","useCapabilities","useCapability","useIntentDispatcher","useIntentResolver","useLayout","usePluginManager","useSurfaces"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/plugin-settings/index.ts":{"bytesInOutput":0},"src/plugin-settings/translations.ts":{"bytesInOutput":220},"src/plugin-settings/SettingsPlugin.ts":{"bytesInOutput":924}},"bytes":3257},"dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5714},"dist/lib/browser/testing/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-DND4XMN4.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-OZY7HV2A.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true}],"exports":["getValue","setupPluginManager","withPluginManager"],"entryPoint":"src/testing/index.ts","inputs":{"src/testing/withPluginManager.tsx":{"bytesInOutput":2160},"src/testing/index.ts":{"bytesInOutput":0}},"bytes":2479},"dist/lib/browser/chunk-DND4XMN4.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":29970},"dist/lib/browser/chunk-DND4XMN4.mjs":{"imports":[{"path":"dist/lib/browser/chunk-OZY7HV2A.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","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/safe-react/tracking","kind":"import-statement","external":true},{"path":"@effect-rx/rx-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},{"path":"@dxos/react-hooks","kind":"import-statement","external":true}],"exports":["ErrorBoundary","PluginManagerProvider","Surface","isSurfaceAvailable","useApp","useAppGraph","useCapabilities","useCapability","useIntentDispatcher","useIntentResolver","useLayout","usePluginManager","useSurfaces"],"inputs":{"src/react/PluginManagerProvider.ts":{"bytesInOutput":312},"src/react/useCapabilities.ts":{"bytesInOutput":714},"src/react/common.ts":{"bytesInOutput":198},"src/react/ErrorBoundary.tsx":{"bytesInOutput":1642},"src/react/Surface.tsx":{"bytesInOutput":2022},"src/react/useIntentResolver.ts":{"bytesInOutput":414},"src/react/index.ts":{"bytesInOutput":0},"src/App.tsx":{"bytesInOutput":6568},"src/helpers.ts":{"bytesInOutput":1049}},"bytes":13525},"dist/lib/browser/worker.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/worker.mjs":{"imports":[{"path":"dist/lib/browser/chunk-OZY7HV2A.mjs","kind":"import-statement"}],"exports":["BaseError","Capabilities","CollaborationActions","CycleDetectedError","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","NoResolversError","Plugin","PluginContext","PluginManager","PluginModule","Resource","ResourceKey","ResourceLanguage","allOf","chain","contributes","createDispatcher","createIntent","createResolver","createSurface","defaultFileTypes","defineCapability","defineEvent","defineModule","definePlugin","eventKey","getEvents","isAllOf","isOneOf","lazy","oneOf"],"entryPoint":"src/worker.ts","inputs":{"src/worker.ts":{"bytesInOutput":0}},"bytes":1306},"dist/lib/browser/intent-dispatcher-QG7UPGQX.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/intent-dispatcher-QG7UPGQX.mjs":{"imports":[{"path":"dist/lib/browser/chunk-OZY7HV2A.mjs","kind":"import-statement"}],"exports":["createDispatcher","createResolver","default"],"entryPoint":"src/plugin-intent/intent-dispatcher.ts","inputs":{},"bytes":251},"dist/lib/browser/store-6E33KLGK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2187},"dist/lib/browser/store-6E33KLGK.mjs":{"imports":[{"path":"dist/lib/browser/chunk-OZY7HV2A.mjs","kind":"import-statement"},{"path":"@dxos/local-storage","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/plugin-settings/store.ts","inputs":{"src/plugin-settings/store.ts":{"bytesInOutput":811}},"bytes":997},"dist/lib/browser/intent-resolver-4S4PSTM5.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1821},"dist/lib/browser/intent-resolver-4S4PSTM5.mjs":{"imports":[{"path":"dist/lib/browser/chunk-ORWHM7CO.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-OZY7HV2A.mjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/plugin-settings/intent-resolver.ts","inputs":{"src/plugin-settings/intent-resolver.ts":{"bytesInOutput":577}},"bytes":940},"dist/lib/browser/app-graph-builder-AFFC6VB2.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":9869},"dist/lib/browser/app-graph-builder-AFFC6VB2.mjs":{"imports":[{"path":"dist/lib/browser/chunk-ORWHM7CO.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-OZY7HV2A.mjs","kind":"import-statement"},{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/plugin-settings/app-graph-builder.ts","inputs":{"src/plugin-settings/app-graph-builder.ts":{"bytesInOutput":4285}},"bytes":4630},"dist/lib/browser/chunk-ORWHM7CO.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1718},"dist/lib/browser/chunk-ORWHM7CO.mjs":{"imports":[{"path":"effect","kind":"import-statement","external":true}],"exports":["SETTINGS_ACTION","SETTINGS_ID","SETTINGS_KEY","SETTINGS_PLUGIN","SettingsAction"],"inputs":{"src/plugin-settings/actions.ts":{"bytesInOutput":731}},"bytes":908},"dist/lib/browser/chunk-OZY7HV2A.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":115827},"dist/lib/browser/chunk-OZY7HV2A.mjs":{"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@effect-rx/rx-react","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","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"dist/lib/browser/intent-dispatcher-QG7UPGQX.mjs","kind":"dynamic-import"},{"path":"effect","kind":"import-statement","external":true}],"exports":["BaseError","Capabilities","CollaborationActions","CycleDetectedError","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","NoResolversError","Plugin","PluginContext","PluginManager","PluginModule","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":{"src/plugin-intent/intent-dispatcher.ts":{"bytesInOutput":5447},"src/core/capabilities.ts":{"bytesInOutput":5719},"src/core/index.ts":{"bytesInOutput":0},"src/core/events.ts":{"bytesInOutput":512},"src/core/manager.ts":{"bytesInOutput":17845},"src/core/plugin.ts":{"bytesInOutput":1113},"src/common/capabilities.ts":{"bytesInOutput":2253},"src/common/index.ts":{"bytesInOutput":0},"src/common/collaboration.ts":{"bytesInOutput":509},"src/common/events.ts":{"bytesInOutput":1232},"src/common/file.ts":{"bytesInOutput":408},"src/common/layout.ts":{"bytesInOutput":12360},"src/plugin-intent/actions.ts":{"bytesInOutput":699},"src/plugin-intent/intent.ts":{"bytesInOutput":912},"src/plugin-intent/index.ts":{"bytesInOutput":0},"src/plugin-intent/errors.ts":{"bytesInOutput":988},"src/plugin-intent/IntentPlugin.ts":{"bytesInOutput":620},"src/common/surface.ts":{"bytesInOutput":48},"src/common/translations.ts":{"bytesInOutput":331}},"bytes":52261}}}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Capabilities,
3
3
  contributes
4
- } from "./chunk-FMN65HSW.mjs";
4
+ } from "./chunk-OZY7HV2A.mjs";
5
5
 
6
6
  // src/plugin-settings/store.ts
7
7
  import { RootSettingsStore } from "@dxos/local-storage";
@@ -27,4 +27,4 @@ var store_default = (context) => {
27
27
  export {
28
28
  store_default as default
29
29
  };
30
- //# sourceMappingURL=store-KML2R4IE.mjs.map
30
+ //# sourceMappingURL=store-6E33KLGK.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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 PluginContext } from '../core';\n\nexport default (context: PluginContext) => {\n // TODO(wittjosiah): Replace with rx?\n const settingsStore = new RootSettingsStore();\n\n let previous: Capabilities.Settings[] = [];\n const registry = context.getCapability(Capabilities.RxRegistry);\n const cancel = registry.subscribe(\n context.capabilities(Capabilities.Settings),\n (allSettings) => {\n const added = allSettings.filter((setting) => !previous.includes(setting));\n const removed = previous.filter((setting) => !allSettings.includes(setting));\n previous = allSettings;\n added.forEach((setting) => {\n settingsStore.createStore(setting as any);\n });\n removed.forEach((setting) => {\n settingsStore.removeStore(setting.prefix);\n });\n },\n { immediate: true },\n );\n\n return contributes(Capabilities.SettingsStore, settingsStore, () => cancel());\n};\n"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { RootSettingsStore } from '@dxos/local-storage';\n\nimport { Capabilities } from '../common';\nimport { type PluginContext, contributes } from '../core';\n\nexport default (context: PluginContext) => {\n // TODO(wittjosiah): Replace with rx?\n const settingsStore = new RootSettingsStore();\n\n let previous: Capabilities.Settings[] = [];\n const registry = context.getCapability(Capabilities.RxRegistry);\n const cancel = registry.subscribe(\n context.capabilities(Capabilities.Settings),\n (allSettings) => {\n const added = allSettings.filter((setting) => !previous.includes(setting));\n const removed = previous.filter((setting) => !allSettings.includes(setting));\n previous = allSettings;\n added.forEach((setting) => {\n settingsStore.createStore(setting as any);\n });\n removed.forEach((setting) => {\n settingsStore.removeStore(setting.prefix);\n });\n },\n { immediate: true },\n );\n\n return contributes(Capabilities.SettingsStore, settingsStore, () => cancel());\n};\n"],
5
5
  "mappings": ";;;;;;AAIA,SAASA,yBAAyB;AAKlC,IAAA,gBAAe,CAACC,YAAAA;AAEd,QAAMC,gBAAgB,IAAIC,kBAAAA;AAE1B,MAAIC,WAAoC,CAAA;AACxC,QAAMC,WAAWJ,QAAQK,cAAcC,aAAaC,UAAU;AAC9D,QAAMC,SAASJ,SAASK,UACtBT,QAAQU,aAAaJ,aAAaK,QAAQ,GAC1C,CAACC,gBAAAA;AACC,UAAMC,QAAQD,YAAYE,OAAO,CAACC,YAAY,CAACZ,SAASa,SAASD,OAAAA,CAAAA;AACjE,UAAME,UAAUd,SAASW,OAAO,CAACC,YAAY,CAACH,YAAYI,SAASD,OAAAA,CAAAA;AACnEZ,eAAWS;AACXC,UAAMK,QAAQ,CAACH,YAAAA;AACbd,oBAAckB,YAAYJ,OAAAA;IAC5B,CAAA;AACAE,YAAQC,QAAQ,CAACH,YAAAA;AACfd,oBAAcmB,YAAYL,QAAQM,MAAM;IAC1C,CAAA;EACF,GACA;IAAEC,WAAW;EAAK,CAAA;AAGpB,SAAOC,YAAYjB,aAAakB,eAAevB,eAAe,MAAMO,OAAAA,CAAAA;AACtE;",
6
6
  "names": ["RootSettingsStore", "context", "settingsStore", "RootSettingsStore", "previous", "registry", "getCapability", "Capabilities", "RxRegistry", "cancel", "subscribe", "capabilities", "Settings", "allSettings", "added", "filter", "setting", "includes", "removed", "forEach", "createStore", "removeStore", "prefix", "immediate", "contributes", "SettingsStore"]
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  useApp
3
- } from "../chunk-FO2PH7M3.mjs";
3
+ } from "../chunk-DND4XMN4.mjs";
4
4
  import {
5
5
  Capabilities,
6
6
  Events,
@@ -8,11 +8,12 @@ import {
8
8
  contributes,
9
9
  defineModule,
10
10
  definePlugin
11
- } from "../chunk-FMN65HSW.mjs";
11
+ } from "../chunk-OZY7HV2A.mjs";
12
12
 
13
13
  // src/testing/withPluginManager.tsx
14
14
  import React, { useEffect, useMemo } from "react";
15
15
  import { raise } from "@dxos/debug";
16
+ import { useAsyncEffect } from "@dxos/react-hooks";
16
17
  var getValue = (providerOrValue, context) => {
17
18
  return typeof providerOrValue === "function" ? providerOrValue(context) : providerOrValue;
18
19
  };
@@ -61,11 +62,8 @@ var withPluginManager = (options = {}) => {
61
62
  pluginManager,
62
63
  context
63
64
  ]);
64
- useEffect(() => {
65
- const timeout = setTimeout(async () => {
66
- await Promise.all(options.fireEvents?.map((event) => pluginManager.activate(event)) ?? []);
67
- });
68
- return () => clearTimeout(timeout);
65
+ useAsyncEffect(async () => {
66
+ await Promise.all(options.fireEvents?.map((event) => pluginManager.activate(event)) ?? []);
69
67
  }, [
70
68
  pluginManager
71
69
  ]);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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, useMemo } from 'react';\n\nimport { raise } from '@dxos/debug';\n\nimport { useApp, type CreateAppOptions } from '../App';\nimport { Capabilities, Events } from '../common';\nimport {\n contributes,\n defineModule,\n definePlugin,\n type ActivationEvent,\n type AnyCapability,\n PluginManager,\n type PluginContext,\n} from '../core';\n\n// TODO(burdon): Factor out (use consistently in plugin framework?)\nexport type Provider<C, R> = (context: C) => R;\nexport type ProviderOrValue<C, R> = Provider<C, R> | R;\nexport const getValue = <C, R>(providerOrValue: ProviderOrValue<C, R>, context: C): R => {\n return typeof providerOrValue === 'function' ? (providerOrValue as Provider<C, R>)(context) : providerOrValue;\n};\n\n/**\n * @internal\n */\nexport const setupPluginManager = ({\n capabilities,\n plugins = [],\n core = plugins.map(({ meta }) => meta.id),\n ...options\n}: CreateAppOptions & Pick<WithPluginManagerOptions, 'capabilities'> = {}) => {\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 getValue(capabilities, pluginManager.context).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\nexport type WithPluginManagerOptions = CreateAppOptions & {\n capabilities?: ProviderOrValue<PluginContext, AnyCapability[]>;\n fireEvents?: (ActivationEvent | string)[];\n};\n\n/**\n * Wraps a story with a plugin manager.\n * NOTE: This builds up and tears down the plugin manager on every render.\n */\nexport const withPluginManager = (options: WithPluginManagerOptions = {}): Decorator => {\n return (Story, context) => {\n const pluginManager = useMemo(() => setupPluginManager(options), [options]);\n\n // Set-up root capability.\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 () => {\n pluginManager.context.removeCapability(capability.interface, capability.implementation);\n };\n }, [pluginManager, context]);\n\n // Fire events.\n useEffect(() => {\n const timeout = setTimeout(async () => {\n await Promise.all(options.fireEvents?.map((event) => pluginManager.activate(event)) ?? []);\n });\n\n return () => clearTimeout(timeout);\n }, [pluginManager]);\n\n // Create app.\n const App = useApp({ pluginManager });\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, name: 'Story' }, [\n defineModule({ id: STORY_PLUGIN, activatesOn: Events.Startup, activate: () => [] }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;;;AAKA,OAAOA,SAASC,WAAWC,eAAe;AAE1C,SAASC,aAAa;AAiBf,IAAMC,WAAW,CAAOC,iBAAwCC,YAAAA;AACrE,SAAO,OAAOD,oBAAoB,aAAcA,gBAAmCC,OAAAA,IAAWD;AAChG;AAKO,IAAME,qBAAqB,CAAC,EACjCC,cACAC,UAAU,CAAA,GACVC,OAAOD,QAAQE,IAAI,CAAC,EAAEC,KAAI,MAAOA,KAAKC,EAAE,GACxC,GAAGC,QAAAA,IACkE,CAAC,MAAC;AACvE,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;AAChBJ,aAASI,cAAcO,cAAcT,OAAO,EAAEgB,QAAQ,CAACC,eAAAA;AACrDR,oBAAcT,QAAQkB,qBAAqB;QACzCC,WAAWF,WAAWE;QACtBC,gBAAgBH,WAAWG;QAC3BC,QAAQ;MACV,CAAA;IACF,CAAA;EACF;AAEA,SAAOZ;AACT;AAWO,IAAMa,oBAAoB,CAACd,UAAoC,CAAC,MAAC;AACtE,SAAO,CAACe,OAAOvB,YAAAA;AACb,UAAMS,gBAAgBe,QAAQ,MAAMvB,mBAAmBO,OAAAA,GAAU;MAACA;KAAQ;AAG1EiB,cAAU,MAAA;AACR,YAAMR,aAAaS,YAAYC,aAAaC,WAAW;QACrDrB,IAAIP,QAAQO;QACZsB,MAAM,MAAM,sBAAA,cAACN,OAAAA,IAAAA;MACf,CAAA;AAEAd,oBAAcT,QAAQkB,qBAAqB;QACzC,GAAGD;QACHI,QAAQ;MACV,CAAA;AAEA,aAAO,MAAA;AACLZ,sBAAcT,QAAQ8B,iBAAiBb,WAAWE,WAAWF,WAAWG,cAAc;MACxF;IACF,GAAG;MAACX;MAAeT;KAAQ;AAG3ByB,cAAU,MAAA;AACR,YAAMM,UAAUC,WAAW,YAAA;AACzB,cAAMC,QAAQC,IAAI1B,QAAQ2B,YAAY9B,IAAI,CAAC+B,UAAU3B,cAAc4B,SAASD,KAAAA,CAAAA,KAAW,CAAA,CAAE;MAC3F,CAAA;AAEA,aAAO,MAAME,aAAaP,OAAAA;IAC5B,GAAG;MAACtB;KAAc;AAGlB,UAAM8B,MAAMC,OAAO;MAAE/B;IAAc,CAAA;AAEnC,WAAO,sBAAA,cAAC8B,KAAAA,IAAAA;EACV;AACF;AAIA,IAAMxB,eAAe;AACrB,IAAMD,cAAc,MAClB2B,aAAa;EAAElC,IAAIQ;EAAc2B,MAAM;AAAQ,GAAG;EAChDC,aAAa;IAAEpC,IAAIQ;IAAc6B,aAAaC,OAAOC;IAAST,UAAU,MAAM,CAAA;EAAG,CAAA;CAClF;",
6
- "names": ["React", "useEffect", "useMemo", "raise", "getValue", "providerOrValue", "context", "setupPluginManager", "capabilities", "plugins", "core", "map", "meta", "id", "options", "pluginManager", "PluginManager", "pluginLoader", "raise", "Error", "storyPlugin", "STORY_PLUGIN", "forEach", "capability", "contributeCapability", "interface", "implementation", "module", "withPluginManager", "Story", "useMemo", "useEffect", "contributes", "Capabilities", "ReactRoot", "root", "removeCapability", "timeout", "setTimeout", "Promise", "all", "fireEvents", "event", "activate", "clearTimeout", "App", "useApp", "definePlugin", "name", "defineModule", "activatesOn", "Events", "Startup"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Decorator } from '@storybook/react';\nimport React, { useEffect, useMemo } from 'react';\n\nimport { raise } from '@dxos/debug';\nimport { useAsyncEffect } from '@dxos/react-hooks';\n\nimport { type CreateAppOptions, useApp } from '../App';\nimport { Capabilities, Events } from '../common';\nimport {\n type ActivationEvent,\n type AnyCapability,\n type PluginContext,\n PluginManager,\n contributes,\n defineModule,\n definePlugin,\n} from '../core';\n\n// TODO(burdon): Factor out (use consistently in plugin framework?)\nexport type Provider<C, R> = (context: C) => R;\nexport type ProviderOrValue<C, R> = Provider<C, R> | R;\n\nexport const getValue = <C, R>(providerOrValue: ProviderOrValue<C, R>, context: C): R => {\n return typeof providerOrValue === 'function' ? (providerOrValue as Provider<C, R>)(context) : providerOrValue;\n};\n\n/**\n * @internal\n */\nexport const setupPluginManager = ({\n capabilities,\n plugins = [],\n core = plugins.map(({ meta }) => meta.id),\n ...options\n}: CreateAppOptions & Pick<WithPluginManagerOptions, 'capabilities'> = {}) => {\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 getValue(capabilities, pluginManager.context).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\nexport type WithPluginManagerOptions = CreateAppOptions & {\n /** @deprecated */\n capabilities?: ProviderOrValue<PluginContext, AnyCapability[]>;\n /** @deprecated */\n fireEvents?: (ActivationEvent | string)[];\n};\n\n/**\n * Wraps a story with a plugin manager.\n * NOTE: This builds up and tears down the plugin manager on every render.\n */\nexport const withPluginManager = (options: WithPluginManagerOptions = {}): Decorator => {\n return (Story, context) => {\n const pluginManager = useMemo(() => setupPluginManager(options), [options]);\n\n // Set-up root capability.\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 () => {\n pluginManager.context.removeCapability(capability.interface, capability.implementation);\n };\n }, [pluginManager, context]);\n\n // Fire events.\n useAsyncEffect(async () => {\n await Promise.all(options.fireEvents?.map((event) => pluginManager.activate(event)) ?? []);\n }, [pluginManager]);\n\n // Create app.\n const App = useApp({ pluginManager });\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, name: 'Story' }, [\n defineModule({ id: STORY_PLUGIN, activatesOn: Events.Startup, activate: () => [] }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;AAKA,OAAOA,SAASC,WAAWC,eAAe;AAE1C,SAASC,aAAa;AACtB,SAASC,sBAAsB;AAkBxB,IAAMC,WAAW,CAAOC,iBAAwCC,YAAAA;AACrE,SAAO,OAAOD,oBAAoB,aAAcA,gBAAmCC,OAAAA,IAAWD;AAChG;AAKO,IAAME,qBAAqB,CAAC,EACjCC,cACAC,UAAU,CAAA,GACVC,OAAOD,QAAQE,IAAI,CAAC,EAAEC,KAAI,MAAOA,KAAKC,EAAE,GACxC,GAAGC,QAAAA,IACkE,CAAC,MAAC;AACvE,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;AAChBJ,aAASI,cAAcO,cAAcT,OAAO,EAAEgB,QAAQ,CAACC,eAAAA;AACrDR,oBAAcT,QAAQkB,qBAAqB;QACzCC,WAAWF,WAAWE;QACtBC,gBAAgBH,WAAWG;QAC3BC,QAAQ;MACV,CAAA;IACF,CAAA;EACF;AAEA,SAAOZ;AACT;AAaO,IAAMa,oBAAoB,CAACd,UAAoC,CAAC,MAAC;AACtE,SAAO,CAACe,OAAOvB,YAAAA;AACb,UAAMS,gBAAgBe,QAAQ,MAAMvB,mBAAmBO,OAAAA,GAAU;MAACA;KAAQ;AAG1EiB,cAAU,MAAA;AACR,YAAMR,aAAaS,YAAYC,aAAaC,WAAW;QACrDrB,IAAIP,QAAQO;QACZsB,MAAM,MAAM,sBAAA,cAACN,OAAAA,IAAAA;MACf,CAAA;AAEAd,oBAAcT,QAAQkB,qBAAqB;QACzC,GAAGD;QACHI,QAAQ;MACV,CAAA;AAEA,aAAO,MAAA;AACLZ,sBAAcT,QAAQ8B,iBAAiBb,WAAWE,WAAWF,WAAWG,cAAc;MACxF;IACF,GAAG;MAACX;MAAeT;KAAQ;AAG3B+B,mBAAe,YAAA;AACb,YAAMC,QAAQC,IAAIzB,QAAQ0B,YAAY7B,IAAI,CAAC8B,UAAU1B,cAAc2B,SAASD,KAAAA,CAAAA,KAAW,CAAA,CAAE;IAC3F,GAAG;MAAC1B;KAAc;AAGlB,UAAM4B,MAAMC,OAAO;MAAE7B;IAAc,CAAA;AAEnC,WAAO,sBAAA,cAAC4B,KAAAA,IAAAA;EACV;AACF;AAIA,IAAMtB,eAAe;AACrB,IAAMD,cAAc,MAClByB,aAAa;EAAEhC,IAAIQ;EAAcyB,MAAM;AAAQ,GAAG;EAChDC,aAAa;IAAElC,IAAIQ;IAAc2B,aAAaC,OAAOC;IAASR,UAAU,MAAM,CAAA;EAAG,CAAA;CAClF;",
6
+ "names": ["React", "useEffect", "useMemo", "raise", "useAsyncEffect", "getValue", "providerOrValue", "context", "setupPluginManager", "capabilities", "plugins", "core", "map", "meta", "id", "options", "pluginManager", "PluginManager", "pluginLoader", "raise", "Error", "storyPlugin", "STORY_PLUGIN", "forEach", "capability", "contributeCapability", "interface", "implementation", "module", "withPluginManager", "Story", "useMemo", "useEffect", "contributes", "Capabilities", "ReactRoot", "root", "removeCapability", "useAsyncEffect", "Promise", "all", "fireEvents", "event", "activate", "App", "useApp", "definePlugin", "name", "defineModule", "activatesOn", "Events", "Startup"]
7
7
  }
@@ -1,6 +1,8 @@
1
1
  import {
2
+ BaseError,
2
3
  Capabilities,
3
4
  CollaborationActions,
5
+ CycleDetectedError,
4
6
  Events,
5
7
  FileInfoSchema,
6
8
  INTENT_ACTION,
@@ -11,6 +13,7 @@ import {
11
13
  LAYOUT_PLUGIN,
12
14
  Label,
13
15
  LayoutAction,
16
+ NoResolversError,
14
17
  Plugin,
15
18
  PluginContext,
16
19
  PluginManager,
@@ -36,10 +39,12 @@ import {
36
39
  isOneOf,
37
40
  lazy,
38
41
  oneOf
39
- } from "./chunk-FMN65HSW.mjs";
42
+ } from "./chunk-OZY7HV2A.mjs";
40
43
  export {
44
+ BaseError,
41
45
  Capabilities,
42
46
  CollaborationActions,
47
+ CycleDetectedError,
43
48
  Events,
44
49
  FileInfoSchema,
45
50
  INTENT_ACTION,
@@ -50,6 +55,7 @@ export {
50
55
  LAYOUT_PLUGIN,
51
56
  Label,
52
57
  LayoutAction,
58
+ NoResolversError,
53
59
  Plugin,
54
60
  PluginContext,
55
61
  PluginManager,
@@ -9,12 +9,12 @@ import {
9
9
  Capabilities,
10
10
  contributes,
11
11
  createIntent
12
- } from "./chunk-ZEZ4FVEU.mjs";
12
+ } from "./chunk-F63ZRXMK.mjs";
13
13
 
14
14
  // src/plugin-settings/app-graph-builder.ts
15
15
  import { Rx } from "@effect-rx/rx-react";
16
16
  import { Option, pipe } from "effect";
17
- import { createExtension, ROOT_ID } from "@dxos/app-graph";
17
+ import { ROOT_ID, createExtension } from "@dxos/app-graph";
18
18
  import { isNonNullable } from "@dxos/util";
19
19
  var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, [
20
20
  createExtension({
@@ -135,4 +135,4 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
135
135
  export {
136
136
  app_graph_builder_default as default
137
137
  };
138
- //# sourceMappingURL=app-graph-builder-SAOWGJDK.mjs.map
138
+ //# sourceMappingURL=app-graph-builder-S4OAULX5.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/plugin-settings/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport { Option, pipe } from 'effect';\n\nimport { ROOT_ID, createExtension } from '@dxos/app-graph';\nimport { type SettingsStore, type SettingsValue } from '@dxos/local-storage';\nimport { isNonNullable } from '@dxos/util';\n\nimport { Capabilities } from '../common';\nimport { type PluginContext, type PluginMeta, contributes } from '../core';\nimport { createIntent } from '../plugin-intent';\n\nimport { SETTINGS_ID, SETTINGS_KEY, SETTINGS_PLUGIN, SettingsAction } from './actions';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${SETTINGS_PLUGIN}/action`,\n actions: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => [\n {\n id: SETTINGS_PLUGIN,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SettingsAction.Open));\n },\n properties: {\n label: ['open settings label', { ns: SETTINGS_PLUGIN }],\n icon: 'ph--gear--regular',\n disposition: 'menu',\n keyBinding: {\n macos: 'meta+,',\n windows: 'alt+,',\n },\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n createExtension({\n id: `${SETTINGS_PLUGIN}/core`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => [\n {\n id: SETTINGS_ID,\n type: SETTINGS_PLUGIN,\n properties: {\n label: ['app settings label', { ns: SETTINGS_PLUGIN }],\n icon: 'ph--gear--regular',\n disposition: 'pin-end',\n position: 'hoist',\n testId: 'treeView.appSettings',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n createExtension({\n id: `${SETTINGS_PLUGIN}/core-plugins`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id !== SETTINGS_ID ? Option.none() : Option.some(node))),\n Option.map(() => {\n const manager = get(context.capability(Capabilities.PluginManager));\n const [settingsStore] = get(context.capabilities(Capabilities.SettingsStore));\n return [\n ...manager.plugins\n .filter((plugin) => manager.core.includes(plugin.meta.id))\n .map((plugin): [PluginMeta, SettingsStore<SettingsValue>] | null => {\n const settings = settingsStore?.getStore(plugin.meta.id);\n if (!settings) {\n return null;\n }\n\n return [plugin.meta, settings];\n })\n .filter(isNonNullable)\n .map(([meta, settings]) => ({\n id: `${SETTINGS_KEY}:${meta.id.replaceAll('/', ':')}`,\n type: 'category',\n data: settings,\n properties: {\n label: meta.name ?? meta.id,\n icon: meta.icon ?? 'ph--circle--regular',\n },\n })),\n\n {\n id: `${SETTINGS_KEY}:custom-plugins`,\n type: 'category',\n properties: {\n label: ['custom plugins label', { ns: SETTINGS_PLUGIN }],\n icon: 'ph--squares-four--regular',\n role: 'branch',\n disposition: 'collection',\n },\n },\n ];\n }),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n createExtension({\n id: `${SETTINGS_PLUGIN}/custom-plugins`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n node.id !== `${SETTINGS_KEY}:custom-plugins` ? Option.none() : Option.some(node),\n ),\n Option.map(() => {\n const manager = get(context.capability(Capabilities.PluginManager));\n const [settingsStore] = get(context.capabilities(Capabilities.SettingsStore));\n return manager.plugins\n .filter((plugin) => !manager.core.includes(plugin.meta.id))\n .map((plugin): [PluginMeta, SettingsStore<SettingsValue>] | null => {\n const settings = settingsStore?.getStore(plugin.meta.id);\n if (!settings) {\n return null;\n }\n\n return [plugin.meta, settings];\n })\n .filter(isNonNullable)\n .map(([meta, settings]) => ({\n id: `${SETTINGS_KEY}:${meta.id.replaceAll('/', ':')}`,\n type: 'category',\n data: settings,\n properties: {\n label: meta.name ?? meta.id,\n icon: meta.icon ?? 'ph--circle--regular',\n },\n }));\n }),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;AAIA,SAASA,UAAU;AACnB,SAASC,QAAQC,YAAY;AAE7B,SAASC,SAASC,uBAAuB;AAEzC,SAASC,qBAAqB;AAQ9B,IAAA,4BAAe,CAACC,YACdC,YAAYC,aAAaC,iBAAiB;EACxCC,gBAAgB;IACdC,IAAI,GAAGC,eAAAA;IACPC,SAAS,CAACC,SACRC,GAAGC,KAAK,CAACC,QACPC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UAAUA,MAAKH,OAAOU,UAAUF,OAAOG,KAAKR,KAAAA,IAAQK,OAAOI,KAAI,CAAA,GAC/EJ,OAAOK,IAAI,MAAM;MACf;QACEb,IAAIC;QACJa,MAAM,YAAA;AACJ,gBAAM,EAAEC,iBAAiBC,SAAQ,IAAKrB,QAAQsB,cAAcpB,aAAaqB,gBAAgB;AACzF,gBAAMF,SAASG,aAAaC,eAAeC,IAAI,CAAA;QACjD;QACAC,YAAY;UACVC,OAAO;YAAC;YAAuB;cAAEC,IAAIvB;YAAgB;;UACrDwB,MAAM;UACNC,aAAa;UACbC,YAAY;YACVC,OAAO;YACPC,SAAS;UACX;QACF;MACF;KACD,GACDrB,OAAOsB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;EAGjC,CAAA;EACA/B,gBAAgB;IACdC,IAAI,GAAGC,eAAAA;IACP8B,WAAW,CAAC5B,SACVC,GAAGC,KAAK,CAACC,QACPC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UAAUA,MAAKH,OAAOU,UAAUF,OAAOG,KAAKR,KAAAA,IAAQK,OAAOI,KAAI,CAAA,GAC/EJ,OAAOK,IAAI,MAAM;MACf;QACEb,IAAIgC;QACJC,MAAMhC;QACNqB,YAAY;UACVC,OAAO;YAAC;YAAsB;cAAEC,IAAIvB;YAAgB;;UACpDwB,MAAM;UACNC,aAAa;UACbQ,UAAU;UACVC,QAAQ;QACV;MACF;KACD,GACD3B,OAAOsB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;EAGjC,CAAA;EACA/B,gBAAgB;IACdC,IAAI,GAAGC,eAAAA;IACP8B,WAAW,CAAC5B,SACVC,GAAGC,KAAK,CAACC,QACPC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UAAUA,MAAKH,OAAOgC,cAAcxB,OAAOI,KAAI,IAAKJ,OAAOG,KAAKR,KAAAA,CAAAA,GAChFK,OAAOK,IAAI,MAAA;AACT,YAAMuB,UAAU9B,IAAIX,QAAQ0C,WAAWxC,aAAayC,aAAa,CAAA;AACjE,YAAM,CAACC,aAAAA,IAAiBjC,IAAIX,QAAQ6C,aAAa3C,aAAa4C,aAAa,CAAA;AAC3E,aAAO;WACFL,QAAQM,QACRC,OAAO,CAACC,WAAWR,QAAQS,KAAKC,SAASF,OAAOG,KAAK/C,EAAE,CAAA,EACvDa,IAAI,CAAC+B,WAAAA;AACJ,gBAAMI,WAAWT,eAAeU,SAASL,OAAOG,KAAK/C,EAAE;AACvD,cAAI,CAACgD,UAAU;AACb,mBAAO;UACT;AAEA,iBAAO;YAACJ,OAAOG;YAAMC;;QACvB,CAAA,EACCL,OAAOO,aAAAA,EACPrC,IAAI,CAAC,CAACkC,MAAMC,QAAAA,OAAe;UAC1BhD,IAAI,GAAGmD,YAAAA,IAAgBJ,KAAK/C,GAAGoD,WAAW,KAAK,GAAA,CAAA;UAC/CnB,MAAM;UACNnB,MAAMkC;UACN1B,YAAY;YACVC,OAAOwB,KAAKM,QAAQN,KAAK/C;YACzByB,MAAMsB,KAAKtB,QAAQ;UACrB;QACF,EAAA;QAEF;UACEzB,IAAI,GAAGmD,YAAAA;UACPlB,MAAM;UACNX,YAAY;YACVC,OAAO;cAAC;cAAwB;gBAAEC,IAAIvB;cAAgB;;YACtDwB,MAAM;YACN6B,MAAM;YACN5B,aAAa;UACf;QACF;;IAEJ,CAAA,GACAlB,OAAOsB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;EAGjC,CAAA;EACA/B,gBAAgB;IACdC,IAAI,GAAGC,eAAAA;IACP8B,WAAW,CAAC5B,SACVC,GAAGC,KAAK,CAACC,QACPC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UACdA,MAAKH,OAAO,GAAGmD,YAAAA,oBAAgC3C,OAAOI,KAAI,IAAKJ,OAAOG,KAAKR,KAAAA,CAAAA,GAE7EK,OAAOK,IAAI,MAAA;AACT,YAAMuB,UAAU9B,IAAIX,QAAQ0C,WAAWxC,aAAayC,aAAa,CAAA;AACjE,YAAM,CAACC,aAAAA,IAAiBjC,IAAIX,QAAQ6C,aAAa3C,aAAa4C,aAAa,CAAA;AAC3E,aAAOL,QAAQM,QACZC,OAAO,CAACC,WAAW,CAACR,QAAQS,KAAKC,SAASF,OAAOG,KAAK/C,EAAE,CAAA,EACxDa,IAAI,CAAC+B,WAAAA;AACJ,cAAMI,WAAWT,eAAeU,SAASL,OAAOG,KAAK/C,EAAE;AACvD,YAAI,CAACgD,UAAU;AACb,iBAAO;QACT;AAEA,eAAO;UAACJ,OAAOG;UAAMC;;MACvB,CAAA,EACCL,OAAOO,aAAAA,EACPrC,IAAI,CAAC,CAACkC,MAAMC,QAAAA,OAAe;QAC1BhD,IAAI,GAAGmD,YAAAA,IAAgBJ,KAAK/C,GAAGoD,WAAW,KAAK,GAAA,CAAA;QAC/CnB,MAAM;QACNnB,MAAMkC;QACN1B,YAAY;UACVC,OAAOwB,KAAKM,QAAQN,KAAK/C;UACzByB,MAAMsB,KAAKtB,QAAQ;QACrB;MACF,EAAA;IACJ,CAAA,GACAjB,OAAOsB,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;EAGjC,CAAA;CACD;",
6
+ "names": ["Rx", "Option", "pipe", "ROOT_ID", "createExtension", "isNonNullable", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "SETTINGS_PLUGIN", "actions", "node", "Rx", "make", "get", "pipe", "Option", "flatMap", "ROOT_ID", "some", "none", "map", "data", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "createIntent", "SettingsAction", "Open", "properties", "label", "ns", "icon", "disposition", "keyBinding", "macos", "windows", "getOrElse", "connector", "SETTINGS_ID", "type", "position", "testId", "manager", "capability", "PluginManager", "settingsStore", "capabilities", "SettingsStore", "plugins", "filter", "plugin", "core", "includes", "meta", "settings", "getStore", "isNonNullable", "SETTINGS_KEY", "replaceAll", "name", "role"]
7
+ }
@@ -3,7 +3,7 @@ import {
3
3
  Capabilities,
4
4
  Events,
5
5
  PluginManager
6
- } from "./chunk-ZEZ4FVEU.mjs";
6
+ } from "./chunk-F63ZRXMK.mjs";
7
7
 
8
8
  // src/react/PluginManagerProvider.ts
9
9
  import { createContext, useContext } from "react";
@@ -24,7 +24,7 @@ var useCapability = (interfaceDef) => {
24
24
  const capabilities = useCapabilities(interfaceDef);
25
25
  invariant(capabilities.length > 0, `No capability found for ${interfaceDef.identifier}`, {
26
26
  F: __dxlog_file,
27
- L: 28,
27
+ L: 29,
28
28
  S: void 0,
29
29
  A: [
30
30
  "capabilities.length > 0",
@@ -40,14 +40,22 @@ var useAppGraph = () => useCapability(Capabilities.AppGraph);
40
40
  var useLayout = () => useCapability(Capabilities.Layout);
41
41
 
42
42
  // src/react/ErrorBoundary.tsx
43
+ import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
43
44
  import React, { Component } from "react";
44
- var ErrorBoundary = class extends Component {
45
- constructor(props) {
46
- super(props);
47
- this.state = {
48
- error: void 0
49
- };
45
+ function _define_property(obj, key, value) {
46
+ if (key in obj) {
47
+ Object.defineProperty(obj, key, {
48
+ value,
49
+ enumerable: true,
50
+ configurable: true,
51
+ writable: true
52
+ });
53
+ } else {
54
+ obj[key] = value;
50
55
  }
56
+ return obj;
57
+ }
58
+ var ErrorBoundary = class extends Component {
51
59
  static getDerivedStateFromError(error) {
52
60
  return {
53
61
  error
@@ -60,10 +68,10 @@ var ErrorBoundary = class extends Component {
60
68
  }
61
69
  render() {
62
70
  if (this.state.error) {
63
- return /* @__PURE__ */ React.createElement(this.props.fallback, {
71
+ const Fallback = this.props.fallback ?? DefaultFallback;
72
+ return /* @__PURE__ */ React.createElement(Fallback, {
64
73
  data: this.props.data,
65
- error: this.state.error,
66
- reset: this.resetError
74
+ error: this.state.error
67
75
  });
68
76
  }
69
77
  return this.props.children;
@@ -73,11 +81,30 @@ var ErrorBoundary = class extends Component {
73
81
  error: void 0
74
82
  });
75
83
  }
84
+ constructor(...args) {
85
+ super(...args), _define_property(this, "state", {
86
+ error: void 0
87
+ });
88
+ }
89
+ };
90
+ var DefaultFallback = ({ data, error }) => {
91
+ var _effect = _useSignals();
92
+ try {
93
+ return /* @__PURE__ */ React.createElement("div", {
94
+ className: "flex flex-col gap-2 overflow-hidden border border-red-500 rounded-sm"
95
+ }, /* @__PURE__ */ React.createElement("pre", {
96
+ className: "whitespace-pre-wrap font-sm text-xs p-2"
97
+ }, "ERROR: ", error.message), /* @__PURE__ */ React.createElement("pre", {
98
+ className: "whitespace-pre-wrap font-sm text-xs p-2 text-subdued"
99
+ }, JSON.stringify(data, null, 2)));
100
+ } finally {
101
+ _effect.f();
102
+ }
76
103
  };
77
104
 
78
105
  // src/react/Surface.tsx
79
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
80
- import React2, { memo, forwardRef, Suspense, useMemo, Fragment } from "react";
106
+ import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
107
+ import React2, { Fragment, Suspense, forwardRef, memo, useMemo } from "react";
81
108
  import { useDefaultValue } from "@dxos/react-hooks";
82
109
  import { byPosition } from "@dxos/util";
83
110
  var DEFAULT_PLACEHOLDER = /* @__PURE__ */ React2.createElement(Fragment, null);
@@ -99,7 +126,7 @@ var isSurfaceAvailable = (context, { role, data }) => {
99
126
  return candidates.length > 0;
100
127
  };
101
128
  var Surface = /* @__PURE__ */ memo(/* @__PURE__ */ forwardRef(({ id: _id, role, data: _data, limit, fallback, placeholder = DEFAULT_PLACEHOLDER, ...rest }, forwardedRef) => {
102
- var _effect = _useSignals();
129
+ var _effect = _useSignals2();
103
130
  try {
104
131
  const surfaces = useSurfaces();
105
132
  const data = useDefaultValue(_data, () => ({}));
@@ -148,13 +175,13 @@ var useIntentResolver = (module, resolver) => {
148
175
  };
149
176
 
150
177
  // src/App.tsx
151
- import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
178
+ import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
152
179
  import { RegistryContext } from "@effect-rx/rx-react";
153
180
  import { effect } from "@preact/signals-core";
154
181
  import React3, { useCallback, useEffect as useEffect2, useMemo as useMemo2, useState } from "react";
155
182
  import { invariant as invariant2 } from "@dxos/invariant";
156
183
  import { live } from "@dxos/live-object";
157
- import { useDefaultValue as useDefaultValue2 } from "@dxos/react-hooks";
184
+ import { useAsyncEffect, useDefaultValue as useDefaultValue2 } from "@dxos/react-hooks";
158
185
 
159
186
  // src/helpers.ts
160
187
  var topologicalSort = (nodes) => {
@@ -190,7 +217,7 @@ var topologicalSort = (nodes) => {
190
217
  // src/App.tsx
191
218
  var __dxlog_file2 = "/__w/dxos/dxos/packages/sdk/app-framework/src/App.tsx";
192
219
  var ENABLED_KEY = "dxos.org/app-framework/enabled";
193
- var useApp = ({ pluginManager, pluginLoader: _pluginLoader, plugins: _plugins, core: _core, defaults: _defaults, placeholder, fallback = DefaultFallback, cacheEnabled = false, safeMode = false }) => {
220
+ var useApp = ({ pluginManager, pluginLoader: _pluginLoader, plugins: _plugins, core: _core, defaults: _defaults, placeholder, fallback = DefaultFallback2, cacheEnabled = false, safeMode = false }) => {
194
221
  const plugins = useDefaultValue2(_plugins, () => []);
195
222
  const core = useDefaultValue2(_core, () => plugins.map(({ meta }) => meta.id));
196
223
  const defaults = useDefaultValue2(_defaults, () => []);
@@ -277,15 +304,12 @@ var useApp = ({ pluginManager, pluginLoader: _pluginLoader, plugins: _plugins, c
277
304
  }, [
278
305
  manager
279
306
  ]);
280
- useEffect2(() => {
281
- const timeout = setTimeout(async () => {
282
- await Promise.all([
283
- // TODO(wittjosiah): Factor out such that this could be called per surface role when attempting to render.
284
- manager.activate(Events.SetupReactSurface),
285
- manager.activate(Events.Startup)
286
- ]);
287
- });
288
- return () => clearTimeout(timeout);
307
+ useAsyncEffect(async () => {
308
+ await Promise.all([
309
+ // TODO(wittjosiah): Factor out such that this could be called per surface role when attempting to render.
310
+ manager.activate(Events.SetupReactSurface),
311
+ manager.activate(Events.Startup)
312
+ ]);
289
313
  }, [
290
314
  manager
291
315
  ]);
@@ -336,7 +360,7 @@ var useLoading = (state) => {
336
360
  return stage;
337
361
  };
338
362
  var App = ({ placeholder: Placeholder, state }) => {
339
- var _effect = _useSignals2();
363
+ var _effect = _useSignals3();
340
364
  try {
341
365
  const reactContexts = useCapabilities(Capabilities.ReactContext);
342
366
  const reactRoots = useCapabilities(Capabilities.ReactRoot);
@@ -360,15 +384,16 @@ var App = ({ placeholder: Placeholder, state }) => {
360
384
  _effect.f();
361
385
  }
362
386
  };
363
- var DefaultFallback = ({ error }) => {
364
- var _effect = _useSignals2();
387
+ var DefaultFallback2 = ({ error }) => {
388
+ var _effect = _useSignals3();
365
389
  try {
366
390
  return /* @__PURE__ */ React3.createElement("div", {
367
391
  style: {
368
- margin: "0.5rem",
392
+ margin: "1rem",
369
393
  padding: "1rem",
370
394
  overflow: "hidden",
371
- border: "1px solid red"
395
+ border: "4px solid teal",
396
+ borderRadius: "1rem"
372
397
  }
373
398
  }, /* @__PURE__ */ React3.createElement("h1", {
374
399
  style: {
@@ -394,7 +419,8 @@ var composeContexts = (contexts) => {
394
419
  return topologicalSort(contexts).map(({ context }) => context).reduce((Acc, Next) => ({ children }) => /* @__PURE__ */ React3.createElement(Acc, null, /* @__PURE__ */ React3.createElement(Next, null, children)));
395
420
  };
396
421
  var setupDevtools = (manager) => {
397
- globalThis.composer ??= {};
422
+ var _globalThis;
423
+ (_globalThis = globalThis).composer ?? (_globalThis.composer = {});
398
424
  globalThis.composer.manager = manager;
399
425
  };
400
426
 
@@ -413,4 +439,4 @@ export {
413
439
  useIntentResolver,
414
440
  useApp
415
441
  };
416
- //# sourceMappingURL=chunk-73HGSHKE.mjs.map
442
+ //# sourceMappingURL=chunk-E2TK7Z4P.mjs.map