@dxos/plugin-deck 0.8.4-main.e098934 → 0.8.4-main.ead640a

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 (111) hide show
  1. package/dist/lib/browser/{app-graph-builder-DVEKLXB4.mjs → app-graph-builder-YYP67JHW.mjs} +15 -14
  2. package/dist/lib/browser/app-graph-builder-YYP67JHW.mjs.map +7 -0
  3. package/dist/lib/browser/{check-app-scheme-3BQJXWEY.mjs → check-app-scheme-GCOL6YDT.mjs} +6 -6
  4. package/dist/lib/browser/check-app-scheme-GCOL6YDT.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-F5BQOOEG.mjs → chunk-7I6H3N4Q.mjs} +8 -6
  6. package/dist/lib/browser/chunk-7I6H3N4Q.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-HUWUYTOI.mjs +16 -0
  8. package/dist/lib/browser/chunk-HUWUYTOI.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-NU7H23SK.mjs → chunk-JQKOS2HB.mjs} +341 -308
  10. package/dist/lib/browser/chunk-JQKOS2HB.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-MHP4GPX5.mjs +11 -0
  12. package/dist/lib/browser/chunk-MHP4GPX5.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-WILMPGDV.mjs → chunk-RJP5R7PY.mjs} +14 -14
  14. package/dist/lib/browser/{chunk-WILMPGDV.mjs.map → chunk-RJP5R7PY.mjs.map} +3 -3
  15. package/dist/lib/browser/{chunk-NRCPV6AV.mjs → chunk-VX7MMQOW.mjs} +9 -9
  16. package/dist/lib/browser/chunk-VX7MMQOW.mjs.map +7 -0
  17. package/dist/lib/browser/index.mjs +8 -9
  18. package/dist/lib/browser/index.mjs.map +3 -3
  19. package/dist/lib/browser/{intent-resolver-2SUIIV6N.mjs → intent-resolver-7XNOEPVN.mjs} +20 -17
  20. package/dist/lib/browser/intent-resolver-7XNOEPVN.mjs.map +7 -0
  21. package/dist/lib/browser/meta.json +1 -1
  22. package/dist/lib/browser/{react-root-7PRVDLF7.mjs → react-root-OJEF7YCH.mjs} +11 -11
  23. package/dist/lib/browser/react-root-OJEF7YCH.mjs.map +7 -0
  24. package/dist/lib/browser/{react-surface-FNY2YC2F.mjs → react-surface-XN2NJYHO.mjs} +13 -13
  25. package/dist/lib/browser/react-surface-XN2NJYHO.mjs.map +7 -0
  26. package/dist/lib/browser/{settings-LUPQPZ27.mjs → settings-M3KSKRAP.mjs} +7 -6
  27. package/dist/lib/browser/{settings-LUPQPZ27.mjs.map → settings-M3KSKRAP.mjs.map} +3 -3
  28. package/dist/lib/browser/state-6ZSDTF6Q.mjs +12 -0
  29. package/dist/lib/browser/{toolkit-XGJSBY67.mjs → toolkit-L7C3UAEU.mjs} +14 -12
  30. package/dist/lib/browser/toolkit-L7C3UAEU.mjs.map +7 -0
  31. package/dist/lib/browser/types/index.mjs +2 -2
  32. package/dist/lib/browser/{url-handler-LROZYQ26.mjs → url-handler-EHTLXZRR.mjs} +6 -6
  33. package/dist/lib/browser/{url-handler-LROZYQ26.mjs.map → url-handler-EHTLXZRR.mjs.map} +1 -1
  34. package/dist/types/src/DeckPlugin.d.ts +1 -1
  35. package/dist/types/src/DeckPlugin.d.ts.map +1 -1
  36. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  37. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  38. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  39. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  40. package/dist/types/src/capabilities/state.d.ts +3 -0
  41. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  42. package/dist/types/src/capabilities/toolkit.d.ts +3 -2
  43. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -1
  44. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts +2 -3
  45. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts.map +1 -1
  46. package/dist/types/src/components/DeckLayout/DeckLayout.stories.d.ts +74 -0
  47. package/dist/types/src/components/DeckLayout/DeckLayout.stories.d.ts.map +1 -0
  48. package/dist/types/src/components/DeckLayout/DeckMain.d.ts +3 -0
  49. package/dist/types/src/components/DeckLayout/DeckMain.d.ts.map +1 -0
  50. package/dist/types/src/components/DeckLayout/Toast.d.ts +5 -0
  51. package/dist/types/src/components/DeckLayout/Toast.d.ts.map +1 -1
  52. package/dist/types/src/components/DeckSettings/DeckSettings.d.ts.map +1 -1
  53. package/dist/types/src/components/Plank/Plank.d.ts.map +1 -1
  54. package/dist/types/src/components/Plank/Plank.stories.d.ts +2 -1
  55. package/dist/types/src/components/Plank/Plank.stories.d.ts.map +1 -1
  56. package/dist/types/src/events.d.ts.map +1 -1
  57. package/dist/types/src/hooks/useHoistStatusbar.d.ts.map +1 -1
  58. package/dist/types/src/meta.d.ts +0 -1
  59. package/dist/types/src/meta.d.ts.map +1 -1
  60. package/dist/types/src/translations.d.ts +1 -0
  61. package/dist/types/src/translations.d.ts.map +1 -1
  62. package/dist/types/src/types/schema.d.ts +4 -3
  63. package/dist/types/src/types/schema.d.ts.map +1 -1
  64. package/dist/types/tsconfig.tsbuildinfo +1 -1
  65. package/package.json +43 -43
  66. package/src/DeckPlugin.ts +62 -63
  67. package/src/capabilities/app-graph-builder.ts +10 -9
  68. package/src/capabilities/capabilities.ts +3 -3
  69. package/src/capabilities/check-app-scheme.ts +2 -2
  70. package/src/capabilities/intent-resolver.ts +12 -9
  71. package/src/capabilities/react-root.tsx +2 -2
  72. package/src/capabilities/react-surface.tsx +4 -4
  73. package/src/capabilities/settings.ts +1 -0
  74. package/src/capabilities/state.ts +7 -4
  75. package/src/capabilities/toolkit.ts +9 -7
  76. package/src/capabilities/tools.ts +1 -1
  77. package/src/components/DeckLayout/Banner.tsx +2 -2
  78. package/src/components/DeckLayout/DeckLayout.stories.tsx +64 -0
  79. package/src/components/DeckLayout/DeckLayout.tsx +8 -278
  80. package/src/components/DeckLayout/DeckMain.tsx +285 -0
  81. package/src/components/DeckLayout/Fallback.tsx +2 -2
  82. package/src/components/DeckLayout/Toast.tsx +27 -2
  83. package/src/components/DeckSettings/DeckSettings.tsx +9 -3
  84. package/src/components/Plank/Plank.stories.tsx +3 -5
  85. package/src/components/Plank/Plank.tsx +25 -9
  86. package/src/components/Plank/PlankControls.tsx +3 -3
  87. package/src/components/Plank/PlankError.tsx +2 -2
  88. package/src/components/Plank/PlankHeading.tsx +5 -5
  89. package/src/components/Sidebar/ComplementarySidebar.tsx +5 -5
  90. package/src/components/Sidebar/Sidebar.tsx +2 -2
  91. package/src/components/Sidebar/SidebarButton.tsx +4 -4
  92. package/src/events.ts +2 -2
  93. package/src/hooks/useHoistStatusbar.ts +4 -3
  94. package/src/meta.ts +1 -3
  95. package/src/translations.ts +1 -0
  96. package/src/types/schema.ts +5 -3
  97. package/dist/lib/browser/app-graph-builder-DVEKLXB4.mjs.map +0 -7
  98. package/dist/lib/browser/check-app-scheme-3BQJXWEY.mjs.map +0 -7
  99. package/dist/lib/browser/chunk-F5BQOOEG.mjs.map +0 -7
  100. package/dist/lib/browser/chunk-M57WD3V6.mjs +0 -16
  101. package/dist/lib/browser/chunk-M57WD3V6.mjs.map +0 -7
  102. package/dist/lib/browser/chunk-NRCPV6AV.mjs.map +0 -7
  103. package/dist/lib/browser/chunk-NU7H23SK.mjs.map +0 -7
  104. package/dist/lib/browser/chunk-Z5KITAZW.mjs +0 -13
  105. package/dist/lib/browser/chunk-Z5KITAZW.mjs.map +0 -7
  106. package/dist/lib/browser/intent-resolver-2SUIIV6N.mjs.map +0 -7
  107. package/dist/lib/browser/react-root-7PRVDLF7.mjs.map +0 -7
  108. package/dist/lib/browser/react-surface-FNY2YC2F.mjs.map +0 -7
  109. package/dist/lib/browser/state-CRXR7X63.mjs +0 -12
  110. package/dist/lib/browser/toolkit-XGJSBY67.mjs.map +0 -7
  111. /package/dist/lib/browser/{state-CRXR7X63.mjs.map → state-6ZSDTF6Q.mjs.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/events.ts", "../../../src/DeckPlugin.ts", "../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events } from '@dxos/app-framework';\n\nimport { DECK_PLUGIN } from './meta';\n\nexport namespace DeckEvents {\n export const StateReady = Events.createStateEvent(`${DECK_PLUGIN}/state-ready`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { setAutoFreeze } from 'immer';\n\nimport { Capabilities, Events, allOf, contributes, defineModule, definePlugin, oneOf } from '@dxos/app-framework';\nimport { translations as stackTranslations } from '@dxos/react-ui-stack';\n\nimport {\n AppGraphBuilder,\n CheckAppScheme,\n DeckSettings,\n DeckState,\n LayoutIntentResolver,\n ReactRoot,\n ReactSurface,\n Toolkit,\n UrlHandler,\n} from './capabilities';\nimport { DeckEvents } from './events';\nimport { meta } from './meta';\nimport { translations } from './translations';\n\n// NOTE(Zan): When producing values with immer, we shouldn't auto-freeze them because\n// our signal implementation needs to add some hidden properties to the produced values.\n// TODO(Zan): Move this to a more global location if we use immer more broadly.\nsetAutoFreeze(false);\n\nexport const DeckPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/check-app-scheme`,\n activatesOn: Events.SettingsReady,\n activate: CheckAppScheme,\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: DeckSettings,\n }),\n defineModule({\n id: `${meta.id}/module/layout`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: oneOf(Events.SetupSettings, Events.SetupAppGraph),\n activatesAfter: [Events.LayoutReady, DeckEvents.StateReady],\n activate: DeckState,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, ...stackTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/react-root`,\n activatesOn: Events.Startup,\n activate: ReactRoot,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/layout-intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: LayoutIntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n // defineModule({\n // id: `${meta.id}/module/tools`,\n // activatesOn: Events.SetupArtifactDefinition,\n // activate: Tools,\n // }),\n defineModule({\n id: `${meta.id}/module/toolkit`,\n // TODO(wittjosiah): Shouldn't use the startup event.\n activatesOn: Events.Startup,\n activate: Toolkit,\n }),\n defineModule({\n id: `${meta.id}/module/url`,\n activatesOn: allOf(Events.DispatcherReady, DeckEvents.StateReady),\n activate: UrlHandler,\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\n\nexport const translations = [\n {\n 'en-US': {\n [meta.id]: {\n 'plugin name': 'Deck',\n 'settings title': 'Deck settings',\n 'main header label': 'Main header',\n 'open navigation sidebar label': 'Open sidebar',\n 'collapse navigation sidebar label': 'Minimize sidebar',\n 'open complementary sidebar label': 'Open context sidebar',\n 'close complementary sidebar label': 'Minimize context sidebar',\n 'sidebar title': 'Navigation sidebar',\n 'complementary sidebar title': 'Context sidebar',\n 'plugin error message': 'Content failed to render.',\n 'content fallback message': 'Unsupported',\n 'content fallback description':\n 'No plugin had a response for the address you navigated to. Double-check the URL, and ensure you’ve enabled a plugin that supports the object.',\n 'toggle fullscreen label': 'Toggle fullscreen',\n 'settings show hints label': 'Show hints',\n 'settings native redirect label': 'Enable native url redirect (experimental)',\n 'settings new plank position start label': 'Start',\n 'settings new plank position end label': 'End',\n 'select new plank positioning placeholder': 'Select new plank positioning',\n 'select new plank positioning label': 'New plank positioning',\n 'undo available label': 'Click to undo previous action.',\n 'undo action label': 'Undo',\n 'undo action alt': 'Undo previous action',\n 'undo close label': 'Dismiss',\n 'error fallback message': 'Unable to open this item',\n 'plank heading fallback label': 'Untitled',\n 'actions menu label': 'Options',\n 'settings deck label': 'Disable deck',\n 'pending heading': 'Loading…',\n 'insert plank label': 'Open',\n 'resize label': 'Drag to resize',\n 'pin start label': 'Pin to the left sidebar',\n 'pin end label': 'Pin to the right sidebar',\n 'increment start label': 'Move to the left',\n 'increment end label': 'Move to the right',\n 'show deck plank label': 'Return to deck',\n 'show solo plank label': 'Maximize',\n 'exit fullscreen label': 'Exit fullscreen',\n 'show fullscreen plank label': 'Fullscreen',\n 'close label': 'Close',\n 'minify label': 'Minify',\n 'open companion label': 'Open companion',\n 'close companion label': 'Close companion',\n 'settings overscroll label': 'Plank scrolling',\n 'select overscroll placeholder': 'Select plank scrolling behavior',\n 'settings overscroll centering label': 'Centering',\n 'settings overscroll none label': 'None',\n 'settings enable statusbar label': 'Show status bar',\n 'settings enable deck label': 'Enable Deck',\n 'close current label': 'Close current plank',\n 'close others label': 'Close other planks',\n 'close all label': 'Close all planks',\n 'companion plank heading fallback label': 'Related',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
- "mappings": "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",
6
- "names": ["Events", "DeckEvents", "StateReady", "Events", "createStateEvent", "DECK_PLUGIN", "setAutoFreeze", "Capabilities", "Events", "allOf", "contributes", "defineModule", "definePlugin", "oneOf", "translations", "stackTranslations", "translations", "meta", "id", "setAutoFreeze", "DeckPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SettingsReady", "activate", "CheckAppScheme", "SetupSettings", "DeckSettings", "oneOf", "SetupAppGraph", "activatesAfter", "LayoutReady", "DeckEvents", "StateReady", "DeckState", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "stackTranslations", "Startup", "ReactRoot", "SetupReactSurface", "ReactSurface", "SetupIntentResolver", "LayoutIntentResolver", "AppGraphBuilder", "Toolkit", "allOf", "DispatcherReady", "UrlHandler"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport namespace DeckEvents {\n export const StateReady = Events.createStateEvent(`${meta.id}/state-ready`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { setAutoFreeze } from 'immer';\n\nimport { Capabilities, Events, allOf, contributes, defineModule, definePlugin, oneOf } from '@dxos/app-framework';\nimport { translations as stackTranslations } from '@dxos/react-ui-stack';\n\nimport {\n AppGraphBuilder,\n CheckAppScheme,\n DeckSettings,\n DeckState,\n LayoutIntentResolver,\n ReactRoot,\n ReactSurface,\n Toolkit,\n UrlHandler,\n} from './capabilities';\nimport { DeckEvents } from './events';\nimport { meta } from './meta';\nimport { translations } from './translations';\n\n// NOTE(Zan): When producing values with immer, we shouldn't auto-freeze them because\n// our signal implementation needs to add some hidden properties to the produced values.\n// TODO(Zan): Move this to a more global location if we use immer more broadly.\nsetAutoFreeze(false);\n\nexport const DeckPlugin = definePlugin(meta, () => [\n defineModule({\n id: `${meta.id}/module/check-app-scheme`,\n activatesOn: Events.SettingsReady,\n activate: CheckAppScheme,\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: DeckSettings,\n }),\n defineModule({\n id: `${meta.id}/module/layout`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: oneOf(Events.SetupSettings, Events.SetupAppGraph),\n activatesAfter: [Events.LayoutReady, DeckEvents.StateReady],\n activate: DeckState,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, ...stackTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/react-root`,\n activatesOn: Events.Startup,\n activate: ReactRoot,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/layout-intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: LayoutIntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n // defineModule({\n // id: `${meta.id}/module/tools`,\n // activatesOn: Events.SetupArtifactDefinition,\n // activate: Tools,\n // }),\n defineModule({\n id: `${meta.id}/module/toolkit`,\n // TODO(wittjosiah): Shouldn't use the startup event.\n activatesOn: Events.Startup,\n activate: Toolkit,\n }),\n defineModule({\n id: `${meta.id}/module/url`,\n activatesOn: allOf(Events.DispatcherReady, DeckEvents.StateReady),\n activate: UrlHandler,\n }),\n]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\n\nexport const translations = [\n {\n 'en-US': {\n [meta.id]: {\n 'plugin name': 'Deck',\n 'settings title': 'Deck settings',\n 'main header label': 'Main header',\n 'open navigation sidebar label': 'Open sidebar',\n 'collapse navigation sidebar label': 'Minimize sidebar',\n 'open complementary sidebar label': 'Open context sidebar',\n 'close complementary sidebar label': 'Minimize context sidebar',\n 'sidebar title': 'Navigation sidebar',\n 'complementary sidebar title': 'Context sidebar',\n 'plugin error message': 'Content failed to render.',\n 'content fallback message': 'Unsupported',\n 'content fallback description':\n 'No plugin had a response for the address you navigated to. Double-check the URL, and ensure you’ve enabled a plugin that supports the object.',\n 'toggle fullscreen label': 'Toggle fullscreen',\n 'settings show hints label': 'Show hints',\n 'settings native redirect label': 'Enable native url redirect (experimental)',\n 'settings new plank position start label': 'Start',\n 'settings new plank position end label': 'End',\n 'select new plank positioning placeholder': 'Select new plank positioning',\n 'select new plank positioning label': 'New plank positioning',\n 'undo available label': 'Click to undo previous action.',\n 'undo action label': 'Undo',\n 'undo action alt': 'Undo previous action',\n 'undo close label': 'Dismiss',\n 'error fallback message': 'Unable to open this item',\n 'plank heading fallback label': 'Untitled',\n 'actions menu label': 'Options',\n 'settings deck label': 'Disable deck',\n 'pending heading': 'Loading…',\n 'insert plank label': 'Open',\n 'resize label': 'Drag to resize',\n 'pin start label': 'Pin to the left sidebar',\n 'pin end label': 'Pin to the right sidebar',\n 'increment start label': 'Move to the left',\n 'increment end label': 'Move to the right',\n 'show deck plank label': 'Return to deck',\n 'show solo plank label': 'Maximize',\n 'exit fullscreen label': 'Exit fullscreen',\n 'show fullscreen plank label': 'Fullscreen',\n 'close label': 'Close',\n 'minify label': 'Minify',\n 'open companion label': 'Open companion',\n 'close companion label': 'Close companion',\n 'settings overscroll label': 'Plank scrolling',\n 'select overscroll placeholder': 'Select plank scrolling behavior',\n 'settings overscroll centering label': 'Centering',\n 'settings overscroll none label': 'None',\n 'settings enable statusbar label': 'Show status bar',\n 'settings enable deck label': 'Enable Deck',\n 'settings encapsulated planks label': 'Encapsulated planks',\n 'close current label': 'Close current plank',\n 'close others label': 'Close other planks',\n 'close all label': 'Close all planks',\n 'companion plank heading fallback label': 'Related',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
+ "mappings": "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",
6
+ "names": ["Events", "DeckEvents", "StateReady", "Events", "createStateEvent", "meta", "id", "setAutoFreeze", "Capabilities", "Events", "allOf", "contributes", "defineModule", "definePlugin", "oneOf", "translations", "stackTranslations", "translations", "meta", "id", "setAutoFreeze", "DeckPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SettingsReady", "activate", "CheckAppScheme", "SetupSettings", "DeckSettings", "oneOf", "SetupAppGraph", "activatesAfter", "LayoutReady", "DeckEvents", "StateReady", "DeckState", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "stackTranslations", "Startup", "ReactRoot", "SetupReactSurface", "ReactSurface", "SetupIntentResolver", "LayoutIntentResolver", "AppGraphBuilder", "Toolkit", "allOf", "DispatcherReady", "UrlHandler"]
7
7
  }
@@ -7,21 +7,24 @@ import {
7
7
  } from "./chunk-CNTGBCMK.mjs";
8
8
  import {
9
9
  DeckCapabilities
10
- } from "./chunk-M57WD3V6.mjs";
10
+ } from "./chunk-HUWUYTOI.mjs";
11
11
  import {
12
12
  DeckAction,
13
13
  PLANK_COMPANION_TYPE,
14
14
  defaultDeck,
15
15
  getMode,
16
16
  isLayoutMode
17
- } from "./chunk-F5BQOOEG.mjs";
17
+ } from "./chunk-7I6H3N4Q.mjs";
18
18
  import {
19
- DECK_PLUGIN
20
- } from "./chunk-Z5KITAZW.mjs";
19
+ meta
20
+ } from "./chunk-MHP4GPX5.mjs";
21
21
 
22
22
  // src/capabilities/intent-resolver.ts
23
23
  import { batch } from "@preact/signals-core";
24
- import { Effect, Option, Schema, pipe } from "effect";
24
+ import * as Effect from "effect/Effect";
25
+ import * as Function from "effect/Function";
26
+ import * as Option from "effect/Option";
27
+ import * as Schema from "effect/Schema";
25
28
  import { Capabilities, IntentAction, LayoutAction, chain, contributes, createIntent, createResolver } from "@dxos/app-framework";
26
29
  import { Obj } from "@dxos/echo";
27
30
  import { invariant } from "@dxos/invariant";
@@ -32,7 +35,7 @@ import { isActionLike } from "@dxos/plugin-graph";
32
35
  import { ObservabilityAction } from "@dxos/plugin-observability/types";
33
36
  import { byPosition, isNonNullable } from "@dxos/util";
34
37
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-deck/src/capabilities/intent-resolver.ts";
35
- var intent_resolver_default = (context) => contributes(Capabilities.IntentResolver, [
38
+ var intent_resolver_default = ((context) => contributes(Capabilities.IntentResolver, [
36
39
  createResolver({
37
40
  intent: IntentAction.ShowUndo,
38
41
  resolve: (data) => {
@@ -49,26 +52,26 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
49
52
  title: data.message ?? [
50
53
  "undo available label",
51
54
  {
52
- ns: DECK_PLUGIN
55
+ ns: meta.id
53
56
  }
54
57
  ],
55
58
  duration: 1e4,
56
59
  actionLabel: [
57
60
  "undo action label",
58
61
  {
59
- ns: DECK_PLUGIN
62
+ ns: meta.id
60
63
  }
61
64
  ],
62
65
  actionAlt: [
63
66
  "undo action alt",
64
67
  {
65
- ns: DECK_PLUGIN
68
+ ns: meta.id
66
69
  }
67
70
  ],
68
71
  closeLabel: [
69
72
  "undo close label",
70
73
  {
71
- ns: DECK_PLUGIN
74
+ ns: meta.id
72
75
  }
73
76
  ],
74
77
  onAction: () => undo()
@@ -210,7 +213,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
210
213
  } else {
211
214
  log.warn("Invalid layout mode", options, {
212
215
  F: __dxlog_file,
213
- L: 201,
216
+ L: 204,
214
217
  S: void 0,
215
218
  C: (f, a) => f(...a)
216
219
  });
@@ -284,7 +287,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
284
287
  const { graph } = context.getCapability(Capabilities.AppGraph);
285
288
  const state = context.getCapability(DeckCapabilities.MutableDeckState);
286
289
  const attention = context.getCapability(AttentionCapabilities.Attention);
287
- const settings = context.getCapabilities(Capabilities.SettingsStore)[0]?.getStore(DECK_PLUGIN)?.value;
290
+ const settings = context.getCapabilities(Capabilities.SettingsStore)[0]?.getStore(meta.id)?.value;
288
291
  if (options?.workspace && state.activeDeck !== options?.workspace) {
289
292
  const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);
290
293
  yield* dispatch(createIntent(LayoutAction.SwitchWorkspace, {
@@ -422,7 +425,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
422
425
  } else {
423
426
  invariant(data.companion !== data.primary, void 0, {
424
427
  F: __dxlog_file,
425
- L: 381,
428
+ L: 384,
426
429
  S: void 0,
427
430
  A: [
428
431
  "data.companion !== data.primary",
@@ -451,7 +454,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
451
454
  });
452
455
  }
453
456
  if (adjustment.type === "companion") {
454
- return pipe(graph.getNode(adjustment.id), Option.map((node) => graph.getConnections(node.id).filter((n) => n.type === PLANK_COMPANION_TYPE).toSorted((a, b) => byPosition(a.properties, b.properties))), Option.flatMap((companions) => companions.length > 0 ? Option.some(companions[0]) : Option.none()), Option.match({
457
+ return Function.pipe(graph.getNode(adjustment.id), Option.map((node) => graph.getConnections(node.id).filter((n) => n.type === PLANK_COMPANION_TYPE).toSorted((a, b) => byPosition(a.properties, b.properties))), Option.flatMap((companions) => companions.length > 0 ? Option.some(companions[0]) : Option.none()), Option.match({
455
458
  onNone: () => ({}),
456
459
  onSome: (companion) => ({
457
460
  intents: [
@@ -495,7 +498,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
495
498
  return {
496
499
  intents: [
497
500
  // NOTE: The order of these is important.
498
- pipe(createIntent(LayoutAction.SetLayoutMode, {
501
+ Function.pipe(createIntent(LayoutAction.SetLayoutMode, {
499
502
  part: "mode",
500
503
  options: {
501
504
  mode: "deck"
@@ -514,8 +517,8 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
514
517
  });
515
518
  }
516
519
  })
517
- ]);
520
+ ]));
518
521
  export {
519
522
  intent_resolver_default as default
520
523
  };
521
- //# sourceMappingURL=intent-resolver-2SUIIV6N.mjs.map
524
+ //# sourceMappingURL=intent-resolver-7XNOEPVN.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { batch } from '@preact/signals-core';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\n\nimport {\n Capabilities,\n IntentAction,\n LayoutAction,\n type PluginContext,\n chain,\n contributes,\n createIntent,\n createResolver,\n} from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { isLiveObject } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { isActionLike } from '@dxos/plugin-graph';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { byPosition, isNonNullable } from '@dxos/util';\n\nimport { closeEntry, createEntryId, incrementPlank, openEntry } from '../layout';\nimport { meta } from '../meta';\nimport {\n DeckAction,\n type DeckSettingsProps,\n type LayoutMode,\n PLANK_COMPANION_TYPE,\n defaultDeck,\n getMode,\n isLayoutMode,\n} from '../types';\nimport { setActive } from '../util';\n\nimport { DeckCapabilities } from './capabilities';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: IntentAction.ShowUndo,\n resolve: (data) => {\n const layout = context.getCapability(DeckCapabilities.MutableDeckState);\n const { undoPromise: undo } = context.getCapability(Capabilities.IntentDispatcher);\n\n // TODO(wittjosiah): Support undoing further back than the last action.\n if (layout.currentUndoId) {\n layout.toasts = layout.toasts.filter((toast) => toast.id !== layout.currentUndoId);\n }\n layout.currentUndoId = `${IntentAction.ShowUndo._tag}-${Date.now()}`;\n layout.toasts = [\n ...layout.toasts,\n {\n id: layout.currentUndoId,\n title: data.message ?? ['undo available label', { ns: meta.id }],\n duration: 10_000,\n actionLabel: ['undo action label', { ns: meta.id }],\n actionAlt: ['undo action alt', { ns: meta.id }],\n closeLabel: ['undo close label', { ns: meta.id }],\n onAction: () => undo(),\n },\n ];\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n // TODO(wittjosiah): This should be able to just be `Schema.is(LayoutAction.UpdateSidebar.fields.input)`\n // but the filter is not being applied correctly.\n filter: (data): data is Schema.Schema.Type<typeof LayoutAction.UpdateSidebar.fields.input> =>\n Schema.is(LayoutAction.UpdateSidebar.fields.input)(data),\n resolve: ({ options }) => {\n const layout = context.getCapability(DeckCapabilities.MutableDeckState);\n const next = options?.state ?? layout.sidebarState;\n if (next !== layout.sidebarState) {\n layout.sidebarState = next;\n }\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n // TODO(wittjosiah): This should be able to just be `Schema.is(LayoutAction.UpdateComplementary.fields.input)`\n // but the filter is not being applied correctly.\n filter: (data): data is Schema.Schema.Type<typeof LayoutAction.UpdateComplementary.fields.input> =>\n Schema.is(LayoutAction.UpdateComplementary.fields.input)(data),\n resolve: ({ subject, options }) => {\n const layout = context.getCapability(DeckCapabilities.MutableDeckState);\n\n if (layout.complementarySidebarPanel !== subject) {\n layout.complementarySidebarPanel = subject;\n }\n\n const next = subject ? 'expanded' : (options?.state ?? layout.complementarySidebarState);\n if (next !== layout.complementarySidebarState) {\n layout.complementarySidebarState = next;\n }\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n // TODO(wittjosiah): This should be able to just be `Schema.is(LayoutAction.UpdateDialog.fields.input)`\n // but the filter is not being applied correctly.\n filter: (data): data is Schema.Schema.Type<typeof LayoutAction.UpdateDialog.fields.input> =>\n Schema.is(LayoutAction.UpdateDialog.fields.input)(data),\n resolve: ({ subject, options }) => {\n const layout = context.getCapability(DeckCapabilities.MutableDeckState);\n layout.dialogOpen = options.state ?? Boolean(subject);\n layout.dialogType = options.type ?? 'default';\n layout.dialogBlockAlign = options.blockAlign ?? 'center';\n layout.dialogOverlayClasses = options.overlayClasses;\n layout.dialogOverlayStyle = options.overlayStyle;\n layout.dialogContent = subject ? { component: subject, props: options.props } : null;\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n // TODO(wittjosiah): This should be able to just be `Schema.is(LayoutAction.UpdatePopover.fields.input)`\n // but the filter is not being applied correctly.\n filter: (data): data is Schema.Schema.Type<typeof LayoutAction.UpdatePopover.fields.input> =>\n Schema.is(LayoutAction.UpdatePopover.fields.input)(data),\n resolve: ({ subject, options }) => {\n const layout = context.getCapability(DeckCapabilities.MutableDeckState);\n layout.popoverOpen = options.state ?? Boolean(subject);\n layout.popoverContent =\n typeof subject === 'string' ? { component: subject, props: options.props } : subject ? { subject } : null;\n layout.popoverSide = options.side;\n if (options.variant === 'virtual') {\n layout.popoverAnchor = options.anchor;\n } else {\n layout.popoverAnchorId = options.anchorId;\n }\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n // TODO(wittjosiah): This should be able to just be `Schema.is(LayoutAction.AddToast.fields.input)`\n // but the filter is not being applied correctly.\n filter: (data): data is Schema.Schema.Type<typeof LayoutAction.AddToast.fields.input> =>\n Schema.is(LayoutAction.AddToast.fields.input)(data),\n resolve: ({ subject }) => {\n const layout = context.getCapability(DeckCapabilities.MutableDeckState);\n layout.toasts.push(subject);\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n // TODO(wittjosiah): This should be able to just be `Schema.is(LayoutAction.SetLayoutMode.fields.input)`\n // but the filter is not being applied correctly.\n filter: (data): data is Schema.Schema.Type<typeof LayoutAction.SetLayoutMode.fields.input> => {\n if (!Schema.is(LayoutAction.SetLayoutMode.fields.input)(data)) {\n return false;\n }\n\n if ('mode' in data.options) {\n return isLayoutMode(data.options.mode);\n }\n\n return true;\n },\n resolve: ({ subject, options }) => {\n const state = context.getCapability(DeckCapabilities.MutableDeckState);\n\n const setMode = (mode: LayoutMode) => {\n const deck = state.deck;\n const current = deck.solo ? [deck.solo] : deck.active;\n // When un-soloing, the solo entry is added to the deck.\n const next = (\n mode !== 'deck' ? [subject ?? deck.solo ?? deck.active[0]] : [...deck.active, deck.solo]\n ).filter(isNonNullable);\n\n const removed = current.filter((id) => !next.includes(id));\n const closed = Array.from(new Set([...deck.inactive.filter((id) => !next.includes(id)), ...removed]));\n deck.inactive = closed;\n\n if (mode !== 'deck' && next[0]) {\n deck.solo = next[0];\n } else if (mode === 'deck' && deck.solo) {\n deck.solo = undefined;\n deck.initialized = true;\n }\n\n if (mode === 'solo--fullscreen') {\n deck.fullscreen = !deck.fullscreen;\n }\n };\n\n return batch(() => {\n if ('mode' in options) {\n const current = getMode(state.deck);\n if (current !== options.mode) {\n state.previousMode[state.activeDeck] = current;\n }\n setMode(options.mode as LayoutMode);\n } else if ('revert' in options) {\n const last = state.previousMode[state.activeDeck];\n setMode(last ?? 'solo');\n } else {\n log.warn('Invalid layout mode', options);\n }\n });\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n filter: (data): data is Schema.Schema.Type<typeof LayoutAction.SwitchWorkspace.fields.input> =>\n Schema.is(LayoutAction.SwitchWorkspace.fields.input)(data),\n resolve: ({ subject }) => {\n const { graph } = context.getCapability(Capabilities.AppGraph);\n const state = context.getCapability(DeckCapabilities.MutableDeckState);\n batch(() => {\n // TODO(wittjosiah): This is a hack to prevent the previous deck from being set for pinned items.\n // Ideally this should be worked into the data model in a generic way.\n if (!state.activeDeck.startsWith('!')) {\n state.previousDeck = state.activeDeck;\n }\n state.activeDeck = subject;\n if (!state.decks[subject]) {\n state.decks[subject] = { ...defaultDeck };\n }\n });\n\n const first = state.deck.solo ? state.deck.solo : state.deck.active[0];\n if (first) {\n return {\n intents: [createIntent(LayoutAction.ScrollIntoView, { part: 'current', subject: first })],\n };\n } else {\n const [item] = graph\n .getConnections(subject)\n .filter((node) => !isActionLike(node) && !node.properties.disposition);\n if (item) {\n return {\n intents: [createIntent(LayoutAction.Open, { part: 'main', subject: [item.id] })],\n };\n }\n }\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n filter: (data): data is Schema.Schema.Type<typeof LayoutAction.RevertWorkspace.fields.input> =>\n Schema.is(LayoutAction.RevertWorkspace.fields.input)(data),\n resolve: () => {\n const state = context.getCapability(DeckCapabilities.MutableDeckState);\n return {\n intents: [createIntent(LayoutAction.SwitchWorkspace, { part: 'workspace', subject: state.previousDeck })],\n };\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n filter: (data): data is Schema.Schema.Type<typeof LayoutAction.Open.fields.input> =>\n Schema.is(LayoutAction.Open.fields.input)(data),\n resolve: ({ subject, options }) =>\n Effect.gen(function* () {\n const { graph } = context.getCapability(Capabilities.AppGraph);\n const state = context.getCapability(DeckCapabilities.MutableDeckState);\n const attention = context.getCapability(AttentionCapabilities.Attention);\n const settings = context\n .getCapabilities(Capabilities.SettingsStore)[0]\n ?.getStore<DeckSettingsProps>(meta.id)?.value;\n\n if (options?.workspace && state.activeDeck !== options?.workspace) {\n const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n yield* dispatch(\n createIntent(LayoutAction.SwitchWorkspace, { part: 'workspace', subject: options.workspace }),\n );\n }\n\n const previouslyOpenIds = new Set<string>(state.deck.solo ? [state.deck.solo] : state.deck.active);\n batch(() => {\n const next = state.deck.solo\n ? (subject as string[]).map((id) => createEntryId(id, options?.variant))\n : subject.reduce(\n (acc, entryId) =>\n openEntry(acc, entryId, {\n key: options?.key,\n positioning: options?.positioning ?? settings?.newPlankPositioning,\n pivotId: options?.pivotId,\n variant: options?.variant,\n }),\n state.deck.active,\n );\n\n return setActive({ next, state, attention });\n });\n\n const ids = state.deck.solo ? [state.deck.solo] : state.deck.active;\n const newlyOpen = ids.filter((i) => !previouslyOpenIds.has(i));\n\n return {\n intents: [\n ...(options?.scrollIntoView !== false\n ? [createIntent(LayoutAction.ScrollIntoView, { part: 'current', subject: newlyOpen[0] ?? subject[0] })]\n : []),\n createIntent(LayoutAction.Expose, { part: 'navigation', subject: newlyOpen[0] ?? subject[0] }),\n ...newlyOpen.map((subjectId) => {\n const typename = Option.match(graph.getNode(subjectId), {\n onNone: () => undefined,\n onSome: (node) => {\n const active = node.data;\n return isLiveObject(active) ? Obj.getTypename(active) : undefined;\n },\n });\n return createIntent(ObservabilityAction.SendEvent, {\n name: 'navigation.activate',\n properties: {\n subjectId,\n typename,\n },\n });\n }),\n ],\n };\n }),\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n filter: (data): data is Schema.Schema.Type<typeof LayoutAction.Close.fields.input> =>\n Schema.is(LayoutAction.Close.fields.input)(data),\n resolve: ({ subject }) => {\n const state = context.getCapability(DeckCapabilities.MutableDeckState);\n const attention = context.getCapability(AttentionCapabilities.Attention);\n const active = state.deck.solo ? [state.deck.solo] : state.deck.active;\n const next = subject.reduce((acc, id) => closeEntry(acc, id), active);\n const toAttend = setActive({ next, state, attention });\n\n const clearCompanionIntents = subject\n .filter((id) => state.deck.activeCompanions && id in state.deck.activeCompanions)\n .map((primary) => createIntent(DeckAction.ChangeCompanion, { primary, companion: null }));\n\n return {\n intents: [\n ...clearCompanionIntents,\n ...(toAttend ? [createIntent(LayoutAction.ScrollIntoView, { part: 'current', subject: toAttend })] : []),\n ],\n };\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n filter: (data): data is Schema.Schema.Type<typeof LayoutAction.Set.fields.input> =>\n Schema.is(LayoutAction.Set.fields.input)(data),\n resolve: ({ subject }) => {\n const state = context.getCapability(DeckCapabilities.MutableDeckState);\n const attention = context.getCapability(AttentionCapabilities.Attention);\n const toAttend = setActive({ next: subject as string[], state, attention });\n return {\n intents: toAttend ? [createIntent(LayoutAction.ScrollIntoView, { part: 'current', subject: toAttend })] : [],\n };\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n filter: (data): data is Schema.Schema.Type<typeof LayoutAction.ScrollIntoView.fields.input> =>\n Schema.is(LayoutAction.ScrollIntoView.fields.input)(data),\n resolve: ({ subject }) => {\n const layout = context.getCapability(DeckCapabilities.MutableDeckState);\n layout.scrollIntoView = subject;\n },\n }),\n createResolver({\n intent: DeckAction.UpdatePlankSize,\n resolve: (data) => {\n const state = context.getCapability(DeckCapabilities.MutableDeckState);\n state.deck.plankSizing[data.id] = data.size;\n },\n }),\n createResolver({\n intent: DeckAction.ChangeCompanion,\n resolve: (data) => {\n const state = context.getCapability(DeckCapabilities.MutableDeckState);\n // TODO(thure): Reactivity only works when creating a lexically new `activeCompanions`… Are these not proxy objects?\n if (data.companion === null) {\n const { [data.primary]: _, ...nextActiveCompanions } = state.deck.activeCompanions ?? {};\n state.deck.activeCompanions = nextActiveCompanions;\n } else {\n invariant(data.companion !== data.primary);\n state.deck.activeCompanions = {\n ...state.deck.activeCompanions,\n [data.primary]: data.companion,\n };\n }\n },\n }),\n createResolver({\n intent: DeckAction.Adjust,\n resolve: (adjustment) => {\n const state = context.getCapability(DeckCapabilities.MutableDeckState);\n const attention = context.getCapability(AttentionCapabilities.Attention);\n const { graph } = context.getCapability(Capabilities.AppGraph);\n\n return batch(() => {\n if (adjustment.type === 'increment-end' || adjustment.type === 'increment-start') {\n setActive({\n next: incrementPlank(state.deck.active, adjustment),\n state,\n attention,\n });\n }\n\n if (adjustment.type === 'companion') {\n return Function.pipe(\n graph.getNode(adjustment.id),\n Option.map((node) =>\n graph\n .getConnections(node.id)\n .filter((n) => n.type === PLANK_COMPANION_TYPE)\n .toSorted((a, b) => byPosition(a.properties, b.properties)),\n ),\n Option.flatMap((companions) => (companions.length > 0 ? Option.some(companions[0]) : Option.none())),\n Option.match({\n onNone: () => ({}),\n onSome: (companion) => ({\n intents: [\n // TODO(wittjosiah): This should remember the previously selected companion.\n createIntent(DeckAction.ChangeCompanion, { primary: adjustment.id, companion: companion.id }),\n ],\n }),\n }),\n );\n }\n\n if (adjustment.type.startsWith('solo')) {\n const entryId = adjustment.id;\n if (!state.deck.solo) {\n // Solo the entry.\n return {\n intents: [\n createIntent(LayoutAction.SetLayoutMode, {\n part: 'mode',\n subject: entryId,\n options: { mode: adjustment.type },\n }),\n ],\n };\n } else {\n if (adjustment.type === 'solo--fullscreen') {\n // Toggle fullscreen on the current entry.\n return {\n intents: [\n createIntent(LayoutAction.SetLayoutMode, {\n part: 'mode',\n subject: entryId,\n options: { mode: 'solo--fullscreen' },\n }),\n ],\n };\n } else if (adjustment.type === 'solo') {\n // Un-solo the current entry.\n return {\n intents: [\n // NOTE: The order of these is important.\n Function.pipe(\n createIntent(LayoutAction.SetLayoutMode, { part: 'mode', options: { mode: 'deck' } }),\n chain(LayoutAction.Open, { part: 'main', subject: [entryId] }),\n ),\n ],\n };\n }\n }\n }\n });\n },\n }),\n ]);\n"],
5
+ "mappings": "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",
6
+ "names": ["batch", "Effect", "Function", "Option", "Schema", "Capabilities", "IntentAction", "LayoutAction", "chain", "contributes", "createIntent", "createResolver", "Obj", "invariant", "isLiveObject", "log", "AttentionCapabilities", "isActionLike", "ObservabilityAction", "byPosition", "isNonNullable", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "IntentAction", "ShowUndo", "resolve", "data", "layout", "getCapability", "DeckCapabilities", "MutableDeckState", "undoPromise", "undo", "IntentDispatcher", "currentUndoId", "toasts", "filter", "toast", "id", "_tag", "Date", "now", "title", "message", "ns", "meta", "duration", "actionLabel", "actionAlt", "closeLabel", "onAction", "LayoutAction", "UpdateLayout", "is", "UpdateSidebar", "fields", "input", "options", "next", "state", "sidebarState", "UpdateComplementary", "subject", "complementarySidebarPanel", "complementarySidebarState", "UpdateDialog", "dialogOpen", "Boolean", "dialogType", "type", "dialogBlockAlign", "blockAlign", "dialogOverlayClasses", "overlayClasses", "dialogOverlayStyle", "overlayStyle", "dialogContent", "component", "props", "UpdatePopover", "popoverOpen", "popoverContent", "popoverSide", "side", "variant", "popoverAnchor", "anchor", "popoverAnchorId", "anchorId", "AddToast", "push", "SetLayoutMode", "isLayoutMode", "mode", "setMode", "deck", "current", "solo", "active", "isNonNullable", "removed", "includes", "closed", "Array", "from", "Set", "inactive", "undefined", "initialized", "fullscreen", "batch", "getMode", "previousMode", "activeDeck", "last", "log", "warn", "SwitchWorkspace", "graph", "AppGraph", "startsWith", "previousDeck", "decks", "defaultDeck", "first", "intents", "createIntent", "ScrollIntoView", "part", "item", "getConnections", "node", "isActionLike", "properties", "disposition", "Open", "RevertWorkspace", "gen", "attention", "AttentionCapabilities", "Attention", "settings", "getCapabilities", "SettingsStore", "getStore", "value", "workspace", "dispatch", "previouslyOpenIds", "map", "createEntryId", "reduce", "acc", "entryId", "openEntry", "key", "positioning", "newPlankPositioning", "pivotId", "setActive", "ids", "newlyOpen", "i", "has", "scrollIntoView", "Expose", "subjectId", "typename", "match", "getNode", "onNone", "onSome", "isLiveObject", "Obj", "getTypename", "ObservabilityAction", "SendEvent", "name", "Close", "closeEntry", "toAttend", "clearCompanionIntents", "activeCompanions", "primary", "DeckAction", "ChangeCompanion", "companion", "UpdatePlankSize", "plankSizing", "size", "_", "nextActiveCompanions", "invariant", "Adjust", "adjustment", "incrementPlank", "pipe", "n", "PLANK_COMPANION_TYPE", "toSorted", "a", "b", "byPosition", "flatMap", "companions", "length", "some", "none", "chain"]
7
+ }