@dxos/plugin-deck 0.7.5-main.499c70c → 0.7.5-main.5ae2ba8

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 (188) hide show
  1. package/dist/lib/browser/app-graph-builder-IYHAGFA3.mjs +151 -0
  2. package/dist/lib/browser/app-graph-builder-IYHAGFA3.mjs.map +7 -0
  3. package/dist/lib/browser/check-app-scheme-S3EYUPMF.mjs +33 -0
  4. package/dist/lib/browser/check-app-scheme-S3EYUPMF.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-22AQ5IVX.mjs +17 -0
  6. package/dist/lib/browser/chunk-22AQ5IVX.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-FT33W5CI.mjs +128 -0
  8. package/dist/lib/browser/chunk-FT33W5CI.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-G2X3ZDCE.mjs +24 -0
  10. package/dist/lib/browser/chunk-G2X3ZDCE.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-KANJBSIX.mjs +97 -0
  12. package/dist/lib/browser/chunk-KANJBSIX.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-GVOGPULO.mjs → chunk-N7TEPFVR.mjs} +5 -4
  14. package/dist/lib/browser/chunk-N7TEPFVR.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-O4RFYYQ6.mjs +1114 -0
  16. package/dist/lib/browser/chunk-O4RFYYQ6.mjs.map +7 -0
  17. package/dist/lib/browser/index.mjs +104 -1776
  18. package/dist/lib/browser/index.mjs.map +4 -4
  19. package/dist/lib/browser/intent-resolver-ZD67BRUI.mjs +488 -0
  20. package/dist/lib/browser/intent-resolver-ZD67BRUI.mjs.map +7 -0
  21. package/dist/lib/browser/meta.json +1 -1
  22. package/dist/lib/browser/react-root-6ILKHD5J.mjs +45 -0
  23. package/dist/lib/browser/react-root-6ILKHD5J.mjs.map +7 -0
  24. package/dist/lib/browser/react-surface-O75FKXAI.mjs +39 -0
  25. package/dist/lib/browser/react-surface-O75FKXAI.mjs.map +7 -0
  26. package/dist/lib/browser/settings-H35U6NHE.mjs +28 -0
  27. package/dist/lib/browser/settings-H35U6NHE.mjs.map +7 -0
  28. package/dist/lib/browser/state-U4SHOPJW.mjs +129 -0
  29. package/dist/lib/browser/state-U4SHOPJW.mjs.map +7 -0
  30. package/dist/lib/browser/tools-64LXGLYR.mjs +59 -0
  31. package/dist/lib/browser/tools-64LXGLYR.mjs.map +7 -0
  32. package/dist/lib/browser/types.mjs +16 -4
  33. package/dist/lib/browser/url-handler-MVHTKUYA.mjs +72 -0
  34. package/dist/lib/browser/url-handler-MVHTKUYA.mjs.map +7 -0
  35. package/dist/types/src/DeckPlugin.d.ts +1 -5
  36. package/dist/types/src/DeckPlugin.d.ts.map +1 -1
  37. package/dist/types/src/capabilities/app-graph-builder.d.ts +181 -0
  38. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  39. package/dist/types/src/capabilities/capabilities.d.ts +142 -0
  40. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
  41. package/dist/types/src/capabilities/check-app-scheme.d.ts +4 -0
  42. package/dist/types/src/capabilities/check-app-scheme.d.ts.map +1 -0
  43. package/dist/types/src/capabilities/index.d.ts +190 -0
  44. package/dist/types/src/capabilities/index.d.ts.map +1 -0
  45. package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
  46. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
  47. package/dist/types/src/capabilities/react-root.d.ts +7 -0
  48. package/dist/types/src/capabilities/react-root.d.ts.map +1 -0
  49. package/dist/types/src/capabilities/react-surface.d.ts +4 -0
  50. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  51. package/dist/types/src/capabilities/settings.d.ts +4 -0
  52. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  53. package/dist/types/src/capabilities/state.d.ts +79 -0
  54. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  55. package/dist/types/src/capabilities/tools.d.ts +10 -0
  56. package/dist/types/src/capabilities/tools.d.ts.map +1 -0
  57. package/dist/types/src/capabilities/url-handler.d.ts +4 -0
  58. package/dist/types/src/capabilities/url-handler.d.ts.map +1 -0
  59. package/dist/types/src/components/DeckLayout/ActiveNode.d.ts +1 -2
  60. package/dist/types/src/components/DeckLayout/ActiveNode.d.ts.map +1 -1
  61. package/dist/types/src/components/DeckLayout/Banner.d.ts +5 -0
  62. package/dist/types/src/components/DeckLayout/Banner.d.ts.map +1 -0
  63. package/dist/types/src/components/DeckLayout/ComplementarySidebar.d.ts +1 -4
  64. package/dist/types/src/components/DeckLayout/ComplementarySidebar.d.ts.map +1 -1
  65. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts +1 -2
  66. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts.map +1 -1
  67. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts +2 -7
  68. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts.map +1 -1
  69. package/dist/types/src/components/DeckLayout/Fallback.d.ts +1 -2
  70. package/dist/types/src/components/DeckLayout/Fallback.d.ts.map +1 -1
  71. package/dist/types/src/components/DeckLayout/Fullscreen.d.ts +1 -2
  72. package/dist/types/src/components/DeckLayout/Fullscreen.d.ts.map +1 -1
  73. package/dist/types/src/components/DeckLayout/NodePlankHeading.d.ts +3 -3
  74. package/dist/types/src/components/DeckLayout/NodePlankHeading.d.ts.map +1 -1
  75. package/dist/types/src/components/DeckLayout/Plank.d.ts +8 -6
  76. package/dist/types/src/components/DeckLayout/Plank.d.ts.map +1 -1
  77. package/dist/types/src/components/DeckLayout/PlankControls.d.ts +2 -2
  78. package/dist/types/src/components/DeckLayout/PlankControls.d.ts.map +1 -1
  79. package/dist/types/src/components/DeckLayout/PlankError.d.ts +6 -6
  80. package/dist/types/src/components/DeckLayout/PlankError.d.ts.map +1 -1
  81. package/dist/types/src/components/DeckLayout/PlankLoading.d.ts +1 -2
  82. package/dist/types/src/components/DeckLayout/PlankLoading.d.ts.map +1 -1
  83. package/dist/types/src/components/DeckLayout/Sidebar.d.ts +1 -6
  84. package/dist/types/src/components/DeckLayout/Sidebar.d.ts.map +1 -1
  85. package/dist/types/src/components/DeckLayout/SidebarButton.d.ts +7 -0
  86. package/dist/types/src/components/DeckLayout/SidebarButton.d.ts.map +1 -0
  87. package/dist/types/src/components/DeckLayout/StatusBar.d.ts +1 -2
  88. package/dist/types/src/components/DeckLayout/StatusBar.d.ts.map +1 -1
  89. package/dist/types/src/components/DeckLayout/Toast.d.ts +2 -3
  90. package/dist/types/src/components/DeckLayout/Toast.d.ts.map +1 -1
  91. package/dist/types/src/components/DeckLayout/Topbar.d.ts +2 -0
  92. package/dist/types/src/components/DeckLayout/Topbar.d.ts.map +1 -0
  93. package/dist/types/src/components/LayoutSettings.d.ts +1 -2
  94. package/dist/types/src/components/LayoutSettings.d.ts.map +1 -1
  95. package/dist/types/src/components/fragments.d.ts +4 -0
  96. package/dist/types/src/components/fragments.d.ts.map +1 -0
  97. package/dist/types/src/components/index.d.ts +0 -2
  98. package/dist/types/src/components/index.d.ts.map +1 -1
  99. package/dist/types/src/events.d.ts +5 -0
  100. package/dist/types/src/events.d.ts.map +1 -0
  101. package/dist/types/src/hooks/useMainSize.d.ts +2 -2
  102. package/dist/types/src/hooks/useNode.d.ts.map +1 -1
  103. package/dist/types/src/index.d.ts +3 -2
  104. package/dist/types/src/index.d.ts.map +1 -1
  105. package/dist/types/src/layout.d.ts +5 -19
  106. package/dist/types/src/layout.d.ts.map +1 -1
  107. package/dist/types/src/meta.d.ts +4 -4
  108. package/dist/types/src/meta.d.ts.map +1 -1
  109. package/dist/types/src/translations.d.ts +4 -2
  110. package/dist/types/src/translations.d.ts.map +1 -1
  111. package/dist/types/src/types.d.ts +127 -20
  112. package/dist/types/src/types.d.ts.map +1 -1
  113. package/dist/types/src/util/index.d.ts +4 -2
  114. package/dist/types/src/util/index.d.ts.map +1 -1
  115. package/dist/types/src/util/layoutAppliesTopbar.d.ts +2 -0
  116. package/dist/types/src/util/layoutAppliesTopbar.d.ts.map +1 -0
  117. package/dist/types/src/util/set-active.d.ts +9 -0
  118. package/dist/types/src/util/set-active.d.ts.map +1 -0
  119. package/dist/types/src/util/useBreakpoints.d.ts +2 -0
  120. package/dist/types/src/util/useBreakpoints.d.ts.map +1 -0
  121. package/dist/types/src/util/useHoistStatusbar.d.ts +2 -0
  122. package/dist/types/src/util/useHoistStatusbar.d.ts.map +1 -0
  123. package/dist/types/tsconfig.tsbuildinfo +1 -1
  124. package/package.json +32 -37
  125. package/src/DeckPlugin.ts +87 -0
  126. package/src/capabilities/app-graph-builder.ts +113 -0
  127. package/src/capabilities/capabilities.ts +15 -0
  128. package/src/capabilities/check-app-scheme.ts +44 -0
  129. package/src/capabilities/index.ts +17 -0
  130. package/src/capabilities/intent-resolver.ts +368 -0
  131. package/src/capabilities/react-root.tsx +46 -0
  132. package/src/capabilities/react-surface.tsx +31 -0
  133. package/src/capabilities/settings.ts +21 -0
  134. package/src/capabilities/state.ts +108 -0
  135. package/src/capabilities/tools.ts +66 -0
  136. package/src/capabilities/url-handler.ts +65 -0
  137. package/src/components/DeckLayout/ActiveNode.tsx +2 -3
  138. package/src/components/DeckLayout/Banner.tsx +37 -0
  139. package/src/components/DeckLayout/ComplementarySidebar.tsx +188 -58
  140. package/src/components/DeckLayout/ContentEmpty.tsx +9 -4
  141. package/src/components/DeckLayout/DeckLayout.tsx +151 -99
  142. package/src/components/DeckLayout/Fullscreen.tsx +2 -3
  143. package/src/components/DeckLayout/NodePlankHeading.tsx +64 -77
  144. package/src/components/DeckLayout/Plank.tsx +35 -43
  145. package/src/components/DeckLayout/PlankControls.tsx +12 -11
  146. package/src/components/DeckLayout/PlankError.tsx +6 -5
  147. package/src/components/DeckLayout/Sidebar.tsx +19 -9
  148. package/src/components/DeckLayout/SidebarButton.tsx +68 -0
  149. package/src/components/DeckLayout/StatusBar.tsx +6 -12
  150. package/src/components/DeckLayout/Toast.tsx +2 -2
  151. package/src/components/DeckLayout/Topbar.tsx +11 -0
  152. package/src/components/LayoutSettings.tsx +8 -8
  153. package/src/components/fragments.ts +14 -0
  154. package/src/components/index.ts +0 -2
  155. package/src/events.ts +12 -0
  156. package/src/hooks/useMainSize.ts +3 -3
  157. package/src/hooks/useNode.ts +3 -1
  158. package/src/index.ts +3 -4
  159. package/src/layout.ts +43 -212
  160. package/src/meta.ts +3 -2
  161. package/src/translations.ts +8 -6
  162. package/src/types.ts +110 -36
  163. package/src/util/index.ts +4 -2
  164. package/src/util/layoutAppliesTopbar.ts +7 -0
  165. package/src/util/set-active.ts +47 -0
  166. package/src/util/useBreakpoints.ts +11 -0
  167. package/src/util/useHoistStatusbar.ts +20 -0
  168. package/dist/lib/browser/chunk-GVOGPULO.mjs.map +0 -7
  169. package/dist/lib/browser/chunk-ZC3K6C2W.mjs +0 -37
  170. package/dist/lib/browser/chunk-ZC3K6C2W.mjs.map +0 -7
  171. package/dist/lib/browser/meta.mjs +0 -9
  172. package/dist/lib/browser/meta.mjs.map +0 -7
  173. package/dist/types/src/components/DeckContext.d.ts +0 -8
  174. package/dist/types/src/components/DeckContext.d.ts.map +0 -1
  175. package/dist/types/src/components/LayoutContext.d.ts +0 -5
  176. package/dist/types/src/components/LayoutContext.d.ts.map +0 -1
  177. package/dist/types/src/layout.test.d.ts +0 -2
  178. package/dist/types/src/layout.test.d.ts.map +0 -1
  179. package/dist/types/src/util/check-app-scheme.d.ts +0 -2
  180. package/dist/types/src/util/check-app-scheme.d.ts.map +0 -1
  181. package/dist/types/src/util/layout-parts.d.ts +0 -7
  182. package/dist/types/src/util/layout-parts.d.ts.map +0 -1
  183. package/src/DeckPlugin.tsx +0 -623
  184. package/src/components/DeckContext.ts +0 -14
  185. package/src/components/LayoutContext.ts +0 -12
  186. package/src/layout.test.ts +0 -380
  187. package/src/util/check-app-scheme.ts +0 -21
  188. package/src/util/layout-parts.ts +0 -12
@@ -0,0 +1,59 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-N7TEPFVR.mjs";
4
+
5
+ // packages/plugins/plugin-deck/src/capabilities/tools.ts
6
+ import { contributes, createIntent, Capabilities, LayoutAction } from "@dxos/app-framework";
7
+ import { defineTool, ToolResult } from "@dxos/artifact";
8
+ import { S } from "@dxos/echo-schema";
9
+ import { invariant } from "@dxos/invariant";
10
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-deck/src/capabilities/tools.ts";
11
+ var tools_default = () => contributes(Capabilities.Tools, [
12
+ defineTool(meta.id, {
13
+ name: "show",
14
+ // TODO(ZaymonFC): We should update the prompt to teach the LLM the difference between object ids and fully qualified ids.
15
+ description: `
16
+ Show an item in the app. Use this tool to open an artifact.
17
+ When supplying IDs to show, they must be fully qualified like space:object.
18
+ `,
19
+ caption: "Showing item...",
20
+ // TODO(wittjosiah): Refactor Layout/Navigation/Deck actions so that they can be used directly.
21
+ schema: S.Struct({
22
+ id: S.String.annotations({
23
+ description: "The ID of the item to show."
24
+ }),
25
+ pivotId: S.optional(S.String.annotations({
26
+ description: "The ID of the chat. If provided, the item will be added after the pivot item."
27
+ }))
28
+ }),
29
+ execute: async ({ id }, { extensions }) => {
30
+ invariant(extensions?.dispatch, "No intent dispatcher", {
31
+ F: __dxlog_file,
32
+ L: 48,
33
+ S: void 0,
34
+ A: [
35
+ "extensions?.dispatch",
36
+ "'No intent dispatcher'"
37
+ ]
38
+ });
39
+ const { data, error } = await extensions.dispatch(createIntent(LayoutAction.Open, {
40
+ subject: [
41
+ id
42
+ ],
43
+ part: "main",
44
+ options: {
45
+ pivotId: extensions.pivotId,
46
+ positioning: "end"
47
+ }
48
+ }));
49
+ if (error) {
50
+ return ToolResult.Error(error.message);
51
+ }
52
+ return ToolResult.Success(data);
53
+ }
54
+ })
55
+ ]);
56
+ export {
57
+ tools_default as default
58
+ };
59
+ //# sourceMappingURL=tools-64LXGLYR.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/tools.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport {\n contributes,\n createIntent,\n Capabilities,\n LayoutAction,\n type PromiseIntentDispatcher,\n} from '@dxos/app-framework';\nimport { defineTool, ToolResult } from '@dxos/artifact';\nimport { S } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\n\nimport { meta } from '../meta';\n\n// TODO(burdon): Factor out.\ndeclare global {\n interface ToolContextExtensions {\n dispatch?: PromiseIntentDispatcher;\n pivotId?: string;\n }\n}\n\nexport default () =>\n contributes(Capabilities.Tools, [\n defineTool(meta.id, {\n name: 'show',\n // TODO(ZaymonFC): We should update the prompt to teach the LLM the difference between object ids and fully qualified ids.\n description: `\n Show an item in the app. Use this tool to open an artifact. \n When supplying IDs to show, they must be fully qualified like space:object.\n `,\n caption: 'Showing item...',\n // TODO(wittjosiah): Refactor Layout/Navigation/Deck actions so that they can be used directly.\n schema: S.Struct({\n id: S.String.annotations({\n description: 'The ID of the item to show.',\n }),\n pivotId: S.optional(\n S.String.annotations({\n description: 'The ID of the chat. If provided, the item will be added after the pivot item.',\n }),\n ),\n }),\n execute: async ({ id }, { extensions }) => {\n invariant(extensions?.dispatch, 'No intent dispatcher');\n const { data, error } = await extensions.dispatch(\n createIntent(LayoutAction.Open, {\n subject: [id],\n part: 'main',\n options: {\n pivotId: extensions.pivotId,\n positioning: 'end',\n },\n }),\n );\n if (error) {\n return ToolResult.Error(error.message);\n }\n\n return ToolResult.Success(data);\n },\n }),\n ]);\n"],
5
+ "mappings": ";;;;;AAIA,SACEA,aACAC,cACAC,cACAC,oBAEK;AACP,SAASC,YAAYC,kBAAkB;AACvC,SAASC,SAAS;AAClB,SAASC,iBAAiB;;AAY1B,IAAA,gBAAe,MACbC,YAAYC,aAAaC,OAAO;EAC9BC,WAAWC,KAAKC,IAAI;IAClBC,MAAM;;IAENC,aAAa;;;;IAIbC,SAAS;;IAETC,QAAQC,EAAEC,OAAO;MACfN,IAAIK,EAAEE,OAAOC,YAAY;QACvBN,aAAa;MACf,CAAA;MACAO,SAASJ,EAAEK,SACTL,EAAEE,OAAOC,YAAY;QACnBN,aAAa;MACf,CAAA,CAAA;IAEJ,CAAA;IACAS,SAAS,OAAO,EAAEX,GAAE,GAAI,EAAEY,WAAU,MAAE;AACpCC,gBAAUD,YAAYE,UAAU,wBAAA;;;;;;;;;AAChC,YAAM,EAAEC,MAAMC,MAAK,IAAK,MAAMJ,WAAWE,SACvCG,aAAaC,aAAaC,MAAM;QAC9BC,SAAS;UAACpB;;QACVqB,MAAM;QACNC,SAAS;UACPb,SAASG,WAAWH;UACpBc,aAAa;QACf;MACF,CAAA,CAAA;AAEF,UAAIP,OAAO;AACT,eAAOQ,WAAWC,MAAMT,MAAMU,OAAO;MACvC;AAEA,aAAOF,WAAWG,QAAQZ,IAAAA;IAC5B;EACF,CAAA;CACD;",
6
+ "names": ["contributes", "createIntent", "Capabilities", "LayoutAction", "defineTool", "ToolResult", "S", "invariant", "contributes", "Capabilities", "Tools", "defineTool", "meta", "id", "name", "description", "caption", "schema", "S", "Struct", "String", "annotations", "pivotId", "optional", "execute", "extensions", "invariant", "dispatch", "data", "error", "createIntent", "LayoutAction", "Open", "subject", "part", "options", "positioning", "ToolResult", "Error", "message", "Success"]
7
+ }
@@ -1,16 +1,28 @@
1
1
  import {
2
2
  DECK_ACTION,
3
+ Deck,
3
4
  DeckAction,
5
+ DeckSettingsSchema,
6
+ DeckState,
4
7
  NewPlankPositions,
5
8
  OverscrollOptions,
6
- parsePanelPlugin
7
- } from "./chunk-ZC3K6C2W.mjs";
8
- import "./chunk-GVOGPULO.mjs";
9
+ PlankSizing,
10
+ SLUG_PATH_SEPARATOR,
11
+ getMode,
12
+ isLayoutMode
13
+ } from "./chunk-FT33W5CI.mjs";
14
+ import "./chunk-N7TEPFVR.mjs";
9
15
  export {
10
16
  DECK_ACTION,
17
+ Deck,
11
18
  DeckAction,
19
+ DeckSettingsSchema,
20
+ DeckState,
12
21
  NewPlankPositions,
13
22
  OverscrollOptions,
14
- parsePanelPlugin
23
+ PlankSizing,
24
+ SLUG_PATH_SEPARATOR,
25
+ getMode,
26
+ isLayoutMode
15
27
  };
16
28
  //# sourceMappingURL=types.mjs.map
@@ -0,0 +1,72 @@
1
+ import {
2
+ DeckCapabilities
3
+ } from "./chunk-22AQ5IVX.mjs";
4
+ import "./chunk-N7TEPFVR.mjs";
5
+
6
+ // packages/plugins/plugin-deck/src/capabilities/url-handler.ts
7
+ import { Capabilities, contributes, createIntent, LayoutAction } from "@dxos/app-framework";
8
+ import { scheduledEffect } from "@dxos/echo-signals/core";
9
+ var url_handler_default = async (context) => {
10
+ const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher) ?? {};
11
+ const state = context.requestCapability(DeckCapabilities.MutableDeckState);
12
+ const handleNavigation = async () => {
13
+ const pathname = window.location.pathname;
14
+ if (pathname === "/reset") {
15
+ state.activeDeck = "default";
16
+ state.decks = {
17
+ default: {
18
+ initialized: false,
19
+ active: [],
20
+ inactive: [],
21
+ fullscreen: false,
22
+ solo: void 0,
23
+ plankSizing: {}
24
+ }
25
+ };
26
+ window.location.pathname = "/";
27
+ return;
28
+ }
29
+ const [_, nextDeck, nextSolo] = pathname.split("/");
30
+ if (nextDeck && nextDeck !== state.activeDeck) {
31
+ await dispatch(createIntent(LayoutAction.SwitchWorkspace, {
32
+ part: "workspace",
33
+ subject: nextDeck
34
+ }));
35
+ }
36
+ if (nextSolo && nextSolo !== state.deck.solo) {
37
+ await dispatch(createIntent(LayoutAction.SetLayoutMode, {
38
+ part: "mode",
39
+ subject: nextSolo,
40
+ options: {
41
+ mode: "solo"
42
+ }
43
+ }));
44
+ } else if (!nextSolo && state.deck.solo) {
45
+ await dispatch(createIntent(LayoutAction.SetLayoutMode, {
46
+ part: "mode",
47
+ options: {
48
+ mode: "deck"
49
+ }
50
+ }));
51
+ }
52
+ };
53
+ await handleNavigation();
54
+ window.addEventListener("popstate", handleNavigation);
55
+ const unsubscribe = scheduledEffect(() => ({
56
+ solo: state.deck.solo,
57
+ activeDeck: state.activeDeck
58
+ }), ({ solo, activeDeck }) => {
59
+ const path = solo ? `/${activeDeck}/${solo}` : `/${activeDeck}`;
60
+ if (window.location.pathname !== path) {
61
+ history.pushState(null, "", `${path}${window.location.search}`);
62
+ }
63
+ });
64
+ return contributes(Capabilities.Null, null, () => {
65
+ window.removeEventListener("popstate", handleNavigation);
66
+ unsubscribe();
67
+ });
68
+ };
69
+ export {
70
+ url_handler_default as default
71
+ };
72
+ //# sourceMappingURL=url-handler-MVHTKUYA.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/url-handler.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, LayoutAction, type PluginsContext } from '@dxos/app-framework';\nimport { scheduledEffect } from '@dxos/echo-signals/core';\n\nimport { DeckCapabilities } from './capabilities';\n\n// TODO(wittjosiah): Cleanup the url handling. May justify introducing routing capabilities.\nexport default async (context: PluginsContext) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher) ?? {};\n const state = context.requestCapability(DeckCapabilities.MutableDeckState);\n\n const handleNavigation = async () => {\n const pathname = window.location.pathname;\n if (pathname === '/reset') {\n state.activeDeck = 'default';\n state.decks = {\n default: {\n initialized: false,\n active: [],\n inactive: [],\n fullscreen: false,\n solo: undefined,\n plankSizing: {},\n },\n };\n window.location.pathname = '/';\n return;\n }\n\n const [_, nextDeck, nextSolo] = pathname.split('/');\n if (nextDeck && nextDeck !== state.activeDeck) {\n await dispatch(createIntent(LayoutAction.SwitchWorkspace, { part: 'workspace', subject: nextDeck }));\n }\n\n if (nextSolo && nextSolo !== state.deck.solo) {\n await dispatch(\n createIntent(LayoutAction.SetLayoutMode, { part: 'mode', subject: nextSolo, options: { mode: 'solo' } }),\n );\n } else if (!nextSolo && state.deck.solo) {\n await dispatch(createIntent(LayoutAction.SetLayoutMode, { part: 'mode', options: { mode: 'deck' } }));\n }\n };\n\n await handleNavigation();\n window.addEventListener('popstate', handleNavigation);\n\n const unsubscribe = scheduledEffect(\n () => ({ solo: state.deck.solo, activeDeck: state.activeDeck }),\n ({ solo, activeDeck }) => {\n const path = solo ? `/${activeDeck}/${solo}` : `/${activeDeck}`;\n if (window.location.pathname !== path) {\n // TODO(thure): In some browsers, this only preserves the most recent state change, even though this is not `history.replace`…\n history.pushState(null, '', `${path}${window.location.search}`);\n }\n },\n );\n\n return contributes(Capabilities.Null, null, () => {\n window.removeEventListener('popstate', handleNavigation);\n unsubscribe();\n });\n};\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,cAAcC,aAAaC,cAAcC,oBAAyC;AAC3F,SAASC,uBAAuB;AAKhC,IAAA,sBAAe,OAAOC,YAAAA;AACpB,QAAM,EAAEC,iBAAiBC,SAAQ,IAAKF,QAAQG,kBAAkBC,aAAaC,gBAAgB,KAAK,CAAC;AACnG,QAAMC,QAAQN,QAAQG,kBAAkBI,iBAAiBC,gBAAgB;AAEzE,QAAMC,mBAAmB,YAAA;AACvB,UAAMC,WAAWC,OAAOC,SAASF;AACjC,QAAIA,aAAa,UAAU;AACzBJ,YAAMO,aAAa;AACnBP,YAAMQ,QAAQ;QACZC,SAAS;UACPC,aAAa;UACbC,QAAQ,CAAA;UACRC,UAAU,CAAA;UACVC,YAAY;UACZC,MAAMC;UACNC,aAAa,CAAC;QAChB;MACF;AACAX,aAAOC,SAASF,WAAW;AAC3B;IACF;AAEA,UAAM,CAACa,GAAGC,UAAUC,QAAAA,IAAYf,SAASgB,MAAM,GAAA;AAC/C,QAAIF,YAAYA,aAAalB,MAAMO,YAAY;AAC7C,YAAMX,SAASyB,aAAaC,aAAaC,iBAAiB;QAAEC,MAAM;QAAaC,SAASP;MAAS,CAAA,CAAA;IACnG;AAEA,QAAIC,YAAYA,aAAanB,MAAM0B,KAAKZ,MAAM;AAC5C,YAAMlB,SACJyB,aAAaC,aAAaK,eAAe;QAAEH,MAAM;QAAQC,SAASN;QAAUS,SAAS;UAAEC,MAAM;QAAO;MAAE,CAAA,CAAA;IAE1G,WAAW,CAACV,YAAYnB,MAAM0B,KAAKZ,MAAM;AACvC,YAAMlB,SAASyB,aAAaC,aAAaK,eAAe;QAAEH,MAAM;QAAQI,SAAS;UAAEC,MAAM;QAAO;MAAE,CAAA,CAAA;IACpG;EACF;AAEA,QAAM1B,iBAAAA;AACNE,SAAOyB,iBAAiB,YAAY3B,gBAAAA;AAEpC,QAAM4B,cAAcC,gBAClB,OAAO;IAAElB,MAAMd,MAAM0B,KAAKZ;IAAMP,YAAYP,MAAMO;EAAW,IAC7D,CAAC,EAAEO,MAAMP,WAAU,MAAE;AACnB,UAAM0B,OAAOnB,OAAO,IAAIP,UAAAA,IAAcO,IAAAA,KAAS,IAAIP,UAAAA;AACnD,QAAIF,OAAOC,SAASF,aAAa6B,MAAM;AAErCC,cAAQC,UAAU,MAAM,IAAI,GAAGF,IAAAA,GAAO5B,OAAOC,SAAS8B,MAAM,EAAE;IAChE;EACF,CAAA;AAGF,SAAOC,YAAYvC,aAAawC,MAAM,MAAM,MAAA;AAC1CjC,WAAOkC,oBAAoB,YAAYpC,gBAAAA;AACvC4B,gBAAAA;EACF,CAAA;AACF;",
6
+ "names": ["Capabilities", "contributes", "createIntent", "LayoutAction", "scheduledEffect", "context", "dispatchPromise", "dispatch", "requestCapability", "Capabilities", "IntentDispatcher", "state", "DeckCapabilities", "MutableDeckState", "handleNavigation", "pathname", "window", "location", "activeDeck", "decks", "default", "initialized", "active", "inactive", "fullscreen", "solo", "undefined", "plankSizing", "_", "nextDeck", "nextSolo", "split", "createIntent", "LayoutAction", "SwitchWorkspace", "part", "subject", "deck", "SetLayoutMode", "options", "mode", "addEventListener", "unsubscribe", "scheduledEffect", "path", "history", "pushState", "search", "contributes", "Null", "removeEventListener"]
7
+ }
@@ -1,6 +1,2 @@
1
- import { type PluginDefinition } from '@dxos/app-framework';
2
- import { type DeckPluginProvides } from './types';
3
- export declare const DeckPlugin: ({ observability, }?: {
4
- observability?: boolean;
5
- }) => PluginDefinition<DeckPluginProvides>;
1
+ export declare const DeckPlugin: () => import("@dxos/app-framework").Plugin;
6
2
  //# sourceMappingURL=DeckPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeckPlugin.d.ts","sourceRoot":"","sources":["../../../src/DeckPlugin.tsx"],"names":[],"mappings":"AASA,OAAO,EAmBL,KAAK,gBAAgB,EAItB,MAAM,qBAAqB,CAAC;AAyB7B,OAAO,EAEL,KAAK,kBAAkB,EAMxB,MAAM,SAAS,CAAC;AAajB,eAAO,MAAM,UAAU,wBAEpB;IACD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,KAAQ,gBAAgB,CAAC,kBAAkB,CA4hB3C,CAAC"}
1
+ {"version":3,"file":"DeckPlugin.d.ts","sourceRoot":"","sources":["../../../src/DeckPlugin.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,UAAU,4CAyDnB,CAAC"}
@@ -0,0 +1,181 @@
1
+ import { type PluginsContext } from '@dxos/app-framework';
2
+ import { type Node } from '@dxos/plugin-graph';
3
+ declare const _default: (context: PluginsContext) => import("@dxos/app-framework").Capability<Readonly<{
4
+ id: string;
5
+ position: import("@dxos/util").Position;
6
+ resolver?: import("@dxos/app-graph").ResolverExtension;
7
+ connector?: import("@dxos/app-graph").ConnectorExtension;
8
+ relation?: import("@dxos/app-graph").Relation;
9
+ type?: string;
10
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
11
+ }> | Readonly<{
12
+ id: string;
13
+ position: import("@dxos/util").Position;
14
+ resolver?: import("@dxos/app-graph").ResolverExtension;
15
+ connector?: import("@dxos/app-graph").ConnectorExtension;
16
+ relation?: import("@dxos/app-graph").Relation;
17
+ type?: string;
18
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
19
+ }>[] | (Readonly<{
20
+ id: string;
21
+ position: import("@dxos/util").Position;
22
+ resolver?: import("@dxos/app-graph").ResolverExtension;
23
+ connector?: import("@dxos/app-graph").ConnectorExtension;
24
+ relation?: import("@dxos/app-graph").Relation;
25
+ type?: string;
26
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
27
+ }> | Readonly<{
28
+ id: string;
29
+ position: import("@dxos/util").Position;
30
+ resolver?: import("@dxos/app-graph").ResolverExtension;
31
+ connector?: import("@dxos/app-graph").ConnectorExtension;
32
+ relation?: import("@dxos/app-graph").Relation;
33
+ type?: string;
34
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
35
+ }>[] | (Readonly<{
36
+ id: string;
37
+ position: import("@dxos/util").Position;
38
+ resolver?: import("@dxos/app-graph").ResolverExtension;
39
+ connector?: import("@dxos/app-graph").ConnectorExtension;
40
+ relation?: import("@dxos/app-graph").Relation;
41
+ type?: string;
42
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
43
+ }> | Readonly<{
44
+ id: string;
45
+ position: import("@dxos/util").Position;
46
+ resolver?: import("@dxos/app-graph").ResolverExtension;
47
+ connector?: import("@dxos/app-graph").ConnectorExtension;
48
+ relation?: import("@dxos/app-graph").Relation;
49
+ type?: string;
50
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
51
+ }>[] | (Readonly<{
52
+ id: string;
53
+ position: import("@dxos/util").Position;
54
+ resolver?: import("@dxos/app-graph").ResolverExtension;
55
+ connector?: import("@dxos/app-graph").ConnectorExtension;
56
+ relation?: import("@dxos/app-graph").Relation;
57
+ type?: string;
58
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
59
+ }> | Readonly<{
60
+ id: string;
61
+ position: import("@dxos/util").Position;
62
+ resolver?: import("@dxos/app-graph").ResolverExtension;
63
+ connector?: import("@dxos/app-graph").ConnectorExtension;
64
+ relation?: import("@dxos/app-graph").Relation;
65
+ type?: string;
66
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
67
+ }>[] | (Readonly<{
68
+ id: string;
69
+ position: import("@dxos/util").Position;
70
+ resolver?: import("@dxos/app-graph").ResolverExtension;
71
+ connector?: import("@dxos/app-graph").ConnectorExtension;
72
+ relation?: import("@dxos/app-graph").Relation;
73
+ type?: string;
74
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
75
+ }> | Readonly<{
76
+ id: string;
77
+ position: import("@dxos/util").Position;
78
+ resolver?: import("@dxos/app-graph").ResolverExtension;
79
+ connector?: import("@dxos/app-graph").ConnectorExtension;
80
+ relation?: import("@dxos/app-graph").Relation;
81
+ type?: string;
82
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
83
+ }>[] | (Readonly<{
84
+ id: string;
85
+ position: import("@dxos/util").Position;
86
+ resolver?: import("@dxos/app-graph").ResolverExtension;
87
+ connector?: import("@dxos/app-graph").ConnectorExtension;
88
+ relation?: import("@dxos/app-graph").Relation;
89
+ type?: string;
90
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
91
+ }> | Readonly<{
92
+ id: string;
93
+ position: import("@dxos/util").Position;
94
+ resolver?: import("@dxos/app-graph").ResolverExtension;
95
+ connector?: import("@dxos/app-graph").ConnectorExtension;
96
+ relation?: import("@dxos/app-graph").Relation;
97
+ type?: string;
98
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
99
+ }>[] | (Readonly<{
100
+ id: string;
101
+ position: import("@dxos/util").Position;
102
+ resolver?: import("@dxos/app-graph").ResolverExtension;
103
+ connector?: import("@dxos/app-graph").ConnectorExtension;
104
+ relation?: import("@dxos/app-graph").Relation;
105
+ type?: string;
106
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
107
+ }> | Readonly<{
108
+ id: string;
109
+ position: import("@dxos/util").Position;
110
+ resolver?: import("@dxos/app-graph").ResolverExtension;
111
+ connector?: import("@dxos/app-graph").ConnectorExtension;
112
+ relation?: import("@dxos/app-graph").Relation;
113
+ type?: string;
114
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
115
+ }>[] | (Readonly<{
116
+ id: string;
117
+ position: import("@dxos/util").Position;
118
+ resolver?: import("@dxos/app-graph").ResolverExtension;
119
+ connector?: import("@dxos/app-graph").ConnectorExtension;
120
+ relation?: import("@dxos/app-graph").Relation;
121
+ type?: string;
122
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
123
+ }> | Readonly<{
124
+ id: string;
125
+ position: import("@dxos/util").Position;
126
+ resolver?: import("@dxos/app-graph").ResolverExtension;
127
+ connector?: import("@dxos/app-graph").ConnectorExtension;
128
+ relation?: import("@dxos/app-graph").Relation;
129
+ type?: string;
130
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
131
+ }>[] | (Readonly<{
132
+ id: string;
133
+ position: import("@dxos/util").Position;
134
+ resolver?: import("@dxos/app-graph").ResolverExtension;
135
+ connector?: import("@dxos/app-graph").ConnectorExtension;
136
+ relation?: import("@dxos/app-graph").Relation;
137
+ type?: string;
138
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
139
+ }> | Readonly<{
140
+ id: string;
141
+ position: import("@dxos/util").Position;
142
+ resolver?: import("@dxos/app-graph").ResolverExtension;
143
+ connector?: import("@dxos/app-graph").ConnectorExtension;
144
+ relation?: import("@dxos/app-graph").Relation;
145
+ type?: string;
146
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
147
+ }>[] | (Readonly<{
148
+ id: string;
149
+ position: import("@dxos/util").Position;
150
+ resolver?: import("@dxos/app-graph").ResolverExtension;
151
+ connector?: import("@dxos/app-graph").ConnectorExtension;
152
+ relation?: import("@dxos/app-graph").Relation;
153
+ type?: string;
154
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
155
+ }> | Readonly<{
156
+ id: string;
157
+ position: import("@dxos/util").Position;
158
+ resolver?: import("@dxos/app-graph").ResolverExtension;
159
+ connector?: import("@dxos/app-graph").ConnectorExtension;
160
+ relation?: import("@dxos/app-graph").Relation;
161
+ type?: string;
162
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
163
+ }>[] | (any[] | Readonly<{
164
+ id: string;
165
+ position: import("@dxos/util").Position;
166
+ resolver?: import("@dxos/app-graph").ResolverExtension;
167
+ connector?: import("@dxos/app-graph").ConnectorExtension;
168
+ relation?: import("@dxos/app-graph").Relation;
169
+ type?: string;
170
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
171
+ }> | Readonly<{
172
+ id: string;
173
+ position: import("@dxos/util").Position;
174
+ resolver?: import("@dxos/app-graph").ResolverExtension;
175
+ connector?: import("@dxos/app-graph").ConnectorExtension;
176
+ relation?: import("@dxos/app-graph").Relation;
177
+ type?: string;
178
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
179
+ }>[])[])[])[])[])[])[])[])[])[])[]>;
180
+ export default _default;
181
+ //# sourceMappingURL=app-graph-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAyD,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEjH,OAAO,EAAmB,KAAK,IAAI,EAAW,MAAM,oBAAoB,CAAC;kCAKhD,cAAc;;qBAyEY,YACjD;sBAAsC,iBAEvC;uBAGS,iBAAY;sBACR,iBACb;;2BAAkE,iBAAiB;;;qBAIpE,YAAY;sBAAsC,iBAAiB;uBACrE,iBAAa;sBAEF,iBACzB;;2BAEY,iBACD;;;qBAGD,YAAE;sBAGa,iBAAiB;uBAAgD,iBACzF;sBAG0B,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;AAtGj7N,wBAqGI"}
@@ -0,0 +1,142 @@
1
+ import { type DeepReadonly } from '@dxos/util';
2
+ import { type Panel } from '../types';
3
+ export declare namespace DeckCapabilities {
4
+ const DeckState: import("@dxos/app-framework").InterfaceDef<DeepReadonly<{
5
+ deck: {
6
+ solo?: string | undefined;
7
+ fullscreen: boolean;
8
+ initialized: boolean;
9
+ active: string[];
10
+ inactive: string[];
11
+ plankSizing: {
12
+ [x: string]: number;
13
+ };
14
+ };
15
+ sidebarState: "closed" | "collapsed" | "expanded";
16
+ complementarySidebarState: "closed" | "collapsed" | "expanded";
17
+ complementarySidebarPanel?: string | undefined;
18
+ dialogOpen: boolean;
19
+ dialogContent?: any;
20
+ dialogBlockAlign?: "start" | "end" | "center" | undefined;
21
+ dialogType?: "default" | "alert" | undefined;
22
+ popoverOpen: boolean;
23
+ popoverSide?: "top" | "right" | "bottom" | "left" | undefined;
24
+ popoverContent?: any;
25
+ popoverAnchorId?: string | undefined;
26
+ toasts: {
27
+ readonly description?: string | [string, {
28
+ ns: string;
29
+ count?: number | undefined;
30
+ }] | undefined;
31
+ readonly id: string;
32
+ readonly title?: string | [string, {
33
+ ns: string;
34
+ count?: number | undefined;
35
+ }] | undefined;
36
+ readonly icon?: string | undefined;
37
+ readonly duration?: number | undefined;
38
+ readonly closeLabel?: string | [string, {
39
+ ns: string;
40
+ count?: number | undefined;
41
+ }] | undefined;
42
+ readonly actionLabel?: string | [string, {
43
+ ns: string;
44
+ count?: number | undefined;
45
+ }] | undefined;
46
+ readonly actionAlt?: string | [string, {
47
+ ns: string;
48
+ count?: number | undefined;
49
+ }] | undefined;
50
+ readonly onAction?: any;
51
+ }[];
52
+ currentUndoId?: string | undefined;
53
+ activeDeck: string;
54
+ previousDeck: string;
55
+ decks: {
56
+ [x: string]: {
57
+ solo?: string | undefined;
58
+ fullscreen: boolean;
59
+ initialized: boolean;
60
+ active: string[];
61
+ inactive: string[];
62
+ plankSizing: {
63
+ [x: string]: number;
64
+ };
65
+ };
66
+ };
67
+ previousMode: {
68
+ [x: string]: "deck" | "solo" | "fullscreen";
69
+ };
70
+ scrollIntoView?: string | undefined;
71
+ }>>;
72
+ const MutableDeckState: import("@dxos/app-framework").InterfaceDef<{
73
+ deck: {
74
+ solo?: string | undefined;
75
+ fullscreen: boolean;
76
+ initialized: boolean;
77
+ active: string[];
78
+ inactive: string[];
79
+ plankSizing: {
80
+ [x: string]: number;
81
+ };
82
+ };
83
+ sidebarState: "closed" | "collapsed" | "expanded";
84
+ complementarySidebarState: "closed" | "collapsed" | "expanded";
85
+ complementarySidebarPanel?: string | undefined;
86
+ dialogOpen: boolean;
87
+ dialogContent?: any;
88
+ dialogBlockAlign?: "start" | "end" | "center" | undefined;
89
+ dialogType?: "default" | "alert" | undefined;
90
+ popoverOpen: boolean;
91
+ popoverSide?: "top" | "right" | "bottom" | "left" | undefined;
92
+ popoverContent?: any;
93
+ popoverAnchorId?: string | undefined;
94
+ toasts: {
95
+ readonly description?: string | [string, {
96
+ ns: string;
97
+ count?: number | undefined;
98
+ }] | undefined;
99
+ readonly id: string;
100
+ readonly title?: string | [string, {
101
+ ns: string;
102
+ count?: number | undefined;
103
+ }] | undefined;
104
+ readonly icon?: string | undefined;
105
+ readonly duration?: number | undefined;
106
+ readonly closeLabel?: string | [string, {
107
+ ns: string;
108
+ count?: number | undefined;
109
+ }] | undefined;
110
+ readonly actionLabel?: string | [string, {
111
+ ns: string;
112
+ count?: number | undefined;
113
+ }] | undefined;
114
+ readonly actionAlt?: string | [string, {
115
+ ns: string;
116
+ count?: number | undefined;
117
+ }] | undefined;
118
+ readonly onAction?: any;
119
+ }[];
120
+ currentUndoId?: string | undefined;
121
+ activeDeck: string;
122
+ previousDeck: string;
123
+ decks: {
124
+ [x: string]: {
125
+ solo?: string | undefined;
126
+ fullscreen: boolean;
127
+ initialized: boolean;
128
+ active: string[];
129
+ inactive: string[];
130
+ plankSizing: {
131
+ [x: string]: number;
132
+ };
133
+ };
134
+ };
135
+ previousMode: {
136
+ [x: string]: "deck" | "solo" | "fullscreen";
137
+ };
138
+ scrollIntoView?: string | undefined;
139
+ }>;
140
+ const ComplementaryPanel: import("@dxos/app-framework").InterfaceDef<Panel>;
141
+ }
142
+ //# sourceMappingURL=capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/capabilities.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAkB,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtD,yBAAiB,gBAAgB,CAAC;IACzB,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAA+E,CAAC;IAC/F,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAiE,CAAC;IACxF,MAAM,kBAAkB,mDAA2E,CAAC;CAC5G"}
@@ -0,0 +1,4 @@
1
+ import { type PluginsContext } from '@dxos/app-framework';
2
+ declare const _default: (context: PluginsContext) => Promise<import("@dxos/app-framework").Capability<null>>;
3
+ export default _default;
4
+ //# sourceMappingURL=check-app-scheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-app-scheme.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/check-app-scheme.ts"],"names":[],"mappings":"AAOA,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;kCA4BtD,cAAc;AAA7C,wBAQE"}