@dxos/plugin-deck 0.8.2-main.f11618f → 0.8.2-main.fbd8ed0

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/dist/lib/browser/{app-graph-builder-VYZ4IWI3.mjs → app-graph-builder-R7COZ4A6.mjs} +16 -15
  2. package/dist/lib/browser/app-graph-builder-R7COZ4A6.mjs.map +7 -0
  3. package/dist/lib/browser/{check-app-scheme-O7JPE4TM.mjs → check-app-scheme-7AXGR6UT.mjs} +2 -2
  4. package/dist/lib/browser/check-app-scheme-7AXGR6UT.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-3O2UZVBA.mjs +121 -0
  6. package/dist/lib/browser/chunk-3O2UZVBA.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-JAYQ5BTF.mjs +157 -0
  8. package/dist/lib/browser/chunk-JAYQ5BTF.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-RDFJGGGX.mjs → chunk-KIGMELV2.mjs} +186 -201
  10. package/dist/lib/browser/chunk-KIGMELV2.mjs.map +7 -0
  11. package/dist/lib/browser/{state-Z6UY2Z3M.mjs → chunk-OF5RIATN.mjs} +6 -4
  12. package/dist/lib/browser/chunk-OF5RIATN.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-TRFYUEBA.mjs +145 -0
  14. package/dist/lib/browser/chunk-TRFYUEBA.mjs.map +7 -0
  15. package/dist/lib/browser/index.mjs +4 -5
  16. package/dist/lib/browser/index.mjs.map +1 -1
  17. package/dist/lib/browser/{intent-resolver-JKWXWUV6.mjs → intent-resolver-MAKOS57L.mjs} +78 -62
  18. package/dist/lib/browser/intent-resolver-MAKOS57L.mjs.map +7 -0
  19. package/dist/lib/browser/meta.json +1 -1
  20. package/dist/lib/browser/{react-root-S6ZAKNZA.mjs → react-root-DGQVIHXP.mjs} +6 -6
  21. package/dist/lib/browser/{react-surface-I7WZBOGM.mjs → react-surface-PXBXIOPU.mjs} +6 -6
  22. package/dist/lib/browser/{settings-6NU7CF2B.mjs → settings-UBWJF7J7.mjs} +4 -4
  23. package/dist/lib/browser/{settings-6NU7CF2B.mjs.map → settings-UBWJF7J7.mjs.map} +3 -3
  24. package/dist/lib/browser/state-4WFB4SDO.mjs +10 -0
  25. package/dist/lib/browser/state-4WFB4SDO.mjs.map +7 -0
  26. package/dist/lib/browser/{tools-VDVQTJMD.mjs → tools-IVPIPTVA.mjs} +7 -7
  27. package/dist/lib/browser/tools-IVPIPTVA.mjs.map +7 -0
  28. package/dist/lib/browser/types.mjs +1 -1
  29. package/dist/lib/browser/{url-handler-3CARFXQK.mjs → url-handler-JSYGSVSB.mjs} +4 -4
  30. package/dist/lib/browser/url-handler-JSYGSVSB.mjs.map +7 -0
  31. package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -179
  32. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  33. package/dist/types/src/capabilities/check-app-scheme.d.ts +2 -2
  34. package/dist/types/src/capabilities/check-app-scheme.d.ts.map +1 -1
  35. package/dist/types/src/capabilities/index.d.ts +5 -180
  36. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  37. package/dist/types/src/capabilities/intent-resolver.d.ts +2 -2
  38. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  39. package/dist/types/src/capabilities/state.d.ts +2 -2
  40. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  41. package/dist/types/src/capabilities/tools.d.ts.map +1 -1
  42. package/dist/types/src/capabilities/url-handler.d.ts +2 -2
  43. package/dist/types/src/capabilities/url-handler.d.ts.map +1 -1
  44. package/dist/types/src/components/DeckLayout/Banner.d.ts.map +1 -1
  45. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts.map +1 -1
  46. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts.map +1 -1
  47. package/dist/types/src/components/DeckLayout/Popover.d.ts.map +1 -1
  48. package/dist/types/src/components/DeckLayout/StatusBar.d.ts.map +1 -1
  49. package/dist/types/src/components/DeckLayout/Toast.d.ts.map +1 -1
  50. package/dist/types/src/components/DeckSettings/DeckSettings.d.ts.map +1 -1
  51. package/dist/types/src/components/Plank/Plank.d.ts +18 -5
  52. package/dist/types/src/components/Plank/Plank.d.ts.map +1 -1
  53. package/dist/types/src/components/Plank/Plank.stories.d.ts +3 -3
  54. package/dist/types/src/components/Plank/Plank.stories.d.ts.map +1 -1
  55. package/dist/types/src/components/Plank/PlankControls.d.ts +1 -0
  56. package/dist/types/src/components/Plank/PlankControls.d.ts.map +1 -1
  57. package/dist/types/src/components/Plank/PlankError.d.ts.map +1 -1
  58. package/dist/types/src/components/Plank/PlankHeading.d.ts.map +1 -1
  59. package/dist/types/src/components/Sidebar/ComplementarySidebar.d.ts.map +1 -1
  60. package/dist/types/src/components/Sidebar/Sidebar.d.ts.map +1 -1
  61. package/dist/types/src/components/Sidebar/SidebarButton.d.ts +2 -1
  62. package/dist/types/src/components/Sidebar/SidebarButton.d.ts.map +1 -1
  63. package/dist/types/src/hooks/index.d.ts +5 -1
  64. package/dist/types/src/hooks/index.d.ts.map +1 -1
  65. package/dist/types/src/hooks/useBreakpoints.d.ts.map +1 -0
  66. package/dist/types/src/hooks/useCompanions.d.ts.map +1 -0
  67. package/dist/types/src/hooks/useDeckCompanions.d.ts +13 -0
  68. package/dist/types/src/hooks/useDeckCompanions.d.ts.map +1 -0
  69. package/dist/types/src/hooks/useHoistStatusbar.d.ts.map +1 -0
  70. package/dist/types/src/hooks/useNodeActionExpander.d.ts.map +1 -1
  71. package/dist/types/src/index.d.ts +1 -1
  72. package/dist/types/src/index.d.ts.map +1 -1
  73. package/dist/types/src/layout.d.ts.map +1 -1
  74. package/dist/types/src/types.d.ts +104 -104
  75. package/dist/types/src/types.d.ts.map +1 -1
  76. package/dist/types/src/util/index.d.ts +1 -4
  77. package/dist/types/src/util/index.d.ts.map +1 -1
  78. package/dist/types/src/util/layoutAppliesTopbar.d.ts.map +1 -1
  79. package/dist/types/src/util/overscroll.d.ts.map +1 -1
  80. package/dist/types/src/util/set-active.d.ts.map +1 -1
  81. package/dist/types/tsconfig.tsbuildinfo +1 -1
  82. package/package.json +35 -29
  83. package/src/capabilities/app-graph-builder.ts +120 -92
  84. package/src/capabilities/check-app-scheme.ts +3 -5
  85. package/src/capabilities/index.ts +1 -0
  86. package/src/capabilities/intent-resolver.ts +94 -76
  87. package/src/capabilities/settings.ts +2 -2
  88. package/src/capabilities/state.ts +4 -2
  89. package/src/capabilities/tools.ts +4 -3
  90. package/src/capabilities/url-handler.ts +4 -4
  91. package/src/components/DeckLayout/ContentEmpty.tsx +3 -2
  92. package/src/components/DeckLayout/DeckLayout.tsx +12 -10
  93. package/src/components/Plank/Plank.stories.tsx +20 -8
  94. package/src/components/Plank/Plank.tsx +100 -67
  95. package/src/components/Plank/PlankControls.tsx +15 -25
  96. package/src/components/Plank/PlankHeading.tsx +19 -9
  97. package/src/components/Sidebar/ComplementarySidebar.tsx +4 -35
  98. package/src/components/Sidebar/Sidebar.tsx +2 -1
  99. package/src/components/Sidebar/SidebarButton.tsx +30 -7
  100. package/src/components/fragments.ts +1 -1
  101. package/src/hooks/index.ts +5 -1
  102. package/src/{util → hooks}/useCompanions.ts +3 -3
  103. package/src/hooks/useDeckCompanions.ts +33 -0
  104. package/src/hooks/useNodeActionExpander.ts +3 -8
  105. package/src/index.ts +1 -1
  106. package/src/types.ts +72 -71
  107. package/src/util/index.ts +1 -4
  108. package/dist/lib/browser/app-graph-builder-VYZ4IWI3.mjs.map +0 -7
  109. package/dist/lib/browser/check-app-scheme-O7JPE4TM.mjs.map +0 -7
  110. package/dist/lib/browser/chunk-6HJZL3WT.mjs +0 -118
  111. package/dist/lib/browser/chunk-6HJZL3WT.mjs.map +0 -7
  112. package/dist/lib/browser/chunk-FLOVGNYB.mjs +0 -81
  113. package/dist/lib/browser/chunk-FLOVGNYB.mjs.map +0 -7
  114. package/dist/lib/browser/chunk-RBJ6DLAC.mjs +0 -24
  115. package/dist/lib/browser/chunk-RBJ6DLAC.mjs.map +0 -7
  116. package/dist/lib/browser/chunk-RDFJGGGX.mjs.map +0 -7
  117. package/dist/lib/browser/chunk-ZMJMCN7O.mjs +0 -157
  118. package/dist/lib/browser/chunk-ZMJMCN7O.mjs.map +0 -7
  119. package/dist/lib/browser/intent-resolver-JKWXWUV6.mjs.map +0 -7
  120. package/dist/lib/browser/state-Z6UY2Z3M.mjs.map +0 -7
  121. package/dist/lib/browser/tools-VDVQTJMD.mjs.map +0 -7
  122. package/dist/lib/browser/url-handler-3CARFXQK.mjs.map +0 -7
  123. package/dist/types/src/util/useBreakpoints.d.ts.map +0 -1
  124. package/dist/types/src/util/useCompanions.d.ts.map +0 -1
  125. package/dist/types/src/util/useHoistStatusbar.d.ts.map +0 -1
  126. /package/dist/lib/browser/{react-root-S6ZAKNZA.mjs.map → react-root-DGQVIHXP.mjs.map} +0 -0
  127. /package/dist/lib/browser/{react-surface-I7WZBOGM.mjs.map → react-surface-PXBXIOPU.mjs.map} +0 -0
  128. /package/dist/types/src/{util → hooks}/useBreakpoints.d.ts +0 -0
  129. /package/dist/types/src/{util → hooks}/useCompanions.d.ts +0 -0
  130. /package/dist/types/src/{util → hooks}/useHoistStatusbar.d.ts +0 -0
  131. /package/src/{util → hooks}/useBreakpoints.ts +0 -0
  132. /package/src/{util → hooks}/useHoistStatusbar.ts +0 -0
@@ -2,11 +2,9 @@ import {
2
2
  closeEntry,
3
3
  createEntryId,
4
4
  incrementPlank,
5
- openEntry
6
- } from "./chunk-FLOVGNYB.mjs";
7
- import {
5
+ openEntry,
8
6
  setActive
9
- } from "./chunk-6HJZL3WT.mjs";
7
+ } from "./chunk-TRFYUEBA.mjs";
10
8
  import {
11
9
  DeckCapabilities
12
10
  } from "./chunk-XMCG42ID.mjs";
@@ -16,20 +14,21 @@ import {
16
14
  defaultDeck,
17
15
  getMode,
18
16
  isLayoutMode
19
- } from "./chunk-ZMJMCN7O.mjs";
17
+ } from "./chunk-JAYQ5BTF.mjs";
20
18
  import {
21
19
  DECK_PLUGIN
22
20
  } from "./chunk-NSATFAEE.mjs";
23
21
 
24
22
  // packages/plugins/plugin-deck/src/capabilities/intent-resolver.ts
25
23
  import { batch } from "@preact/signals-core";
26
- import { Effect, pipe } from "effect";
24
+ import { Schema, Effect, pipe, Option } from "effect";
27
25
  import { Capabilities, createResolver, contributes, IntentAction, LayoutAction, createIntent, chain } from "@dxos/app-framework";
28
- import { getTypename, S } from "@dxos/echo-schema";
26
+ import { getTypename } from "@dxos/echo-schema";
29
27
  import { invariant } from "@dxos/invariant";
30
28
  import { isLiveObject } from "@dxos/live-object";
31
29
  import { log } from "@dxos/log";
32
30
  import { AttentionCapabilities } from "@dxos/plugin-attention";
31
+ import { isActionLike } from "@dxos/plugin-graph";
33
32
  import { ObservabilityAction } from "@dxos/plugin-observability/types";
34
33
  import { byPosition, isNonNullable } from "@dxos/util";
35
34
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-deck/src/capabilities/intent-resolver.ts";
@@ -37,8 +36,8 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
37
36
  createResolver({
38
37
  intent: IntentAction.ShowUndo,
39
38
  resolve: (data) => {
40
- const layout = context.requestCapability(DeckCapabilities.MutableDeckState);
41
- const { undoPromise: undo } = context.requestCapability(Capabilities.IntentDispatcher);
39
+ const layout = context.getCapability(DeckCapabilities.MutableDeckState);
40
+ const { undoPromise: undo } = context.getCapability(Capabilities.IntentDispatcher);
42
41
  if (layout.currentUndoId) {
43
42
  layout.toasts = layout.toasts.filter((toast) => toast.id !== layout.currentUndoId);
44
43
  }
@@ -79,11 +78,11 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
79
78
  }),
80
79
  createResolver({
81
80
  intent: LayoutAction.UpdateLayout,
82
- // TODO(wittjosiah): This should be able to just be `S.is(LayoutAction.UpdateSidebar.fields.input)`
81
+ // TODO(wittjosiah): This should be able to just be `Schema.is(LayoutAction.UpdateSidebar.fields.input)`
83
82
  // but the filter is not being applied correctly.
84
- filter: (data) => S.is(LayoutAction.UpdateSidebar.fields.input)(data),
83
+ filter: (data) => Schema.is(LayoutAction.UpdateSidebar.fields.input)(data),
85
84
  resolve: ({ options }) => {
86
- const layout = context.requestCapability(DeckCapabilities.MutableDeckState);
85
+ const layout = context.getCapability(DeckCapabilities.MutableDeckState);
87
86
  const next = options?.state ?? layout.sidebarState;
88
87
  if (next !== layout.sidebarState) {
89
88
  layout.sidebarState = next;
@@ -92,11 +91,11 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
92
91
  }),
93
92
  createResolver({
94
93
  intent: LayoutAction.UpdateLayout,
95
- // TODO(wittjosiah): This should be able to just be `S.is(LayoutAction.UpdateComplementary.fields.input)`
94
+ // TODO(wittjosiah): This should be able to just be `Schema.is(LayoutAction.UpdateComplementary.fields.input)`
96
95
  // but the filter is not being applied correctly.
97
- filter: (data) => S.is(LayoutAction.UpdateComplementary.fields.input)(data),
96
+ filter: (data) => Schema.is(LayoutAction.UpdateComplementary.fields.input)(data),
98
97
  resolve: ({ subject, options }) => {
99
- const layout = context.requestCapability(DeckCapabilities.MutableDeckState);
98
+ const layout = context.getCapability(DeckCapabilities.MutableDeckState);
100
99
  if (layout.complementarySidebarPanel !== subject) {
101
100
  layout.complementarySidebarPanel = subject;
102
101
  }
@@ -108,11 +107,11 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
108
107
  }),
109
108
  createResolver({
110
109
  intent: LayoutAction.UpdateLayout,
111
- // TODO(wittjosiah): This should be able to just be `S.is(LayoutAction.UpdateDialog.fields.input)`
110
+ // TODO(wittjosiah): This should be able to just be `Schema.is(LayoutAction.UpdateDialog.fields.input)`
112
111
  // but the filter is not being applied correctly.
113
- filter: (data) => S.is(LayoutAction.UpdateDialog.fields.input)(data),
112
+ filter: (data) => Schema.is(LayoutAction.UpdateDialog.fields.input)(data),
114
113
  resolve: ({ subject, options }) => {
115
- const layout = context.requestCapability(DeckCapabilities.MutableDeckState);
114
+ const layout = context.getCapability(DeckCapabilities.MutableDeckState);
116
115
  layout.dialogOpen = options.state ?? Boolean(subject);
117
116
  layout.dialogContent = subject ? {
118
117
  component: subject,
@@ -124,11 +123,11 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
124
123
  }),
125
124
  createResolver({
126
125
  intent: LayoutAction.UpdateLayout,
127
- // TODO(wittjosiah): This should be able to just be `S.is(LayoutAction.UpdatePopover.fields.input)`
126
+ // TODO(wittjosiah): This should be able to just be `Schema.is(LayoutAction.UpdatePopover.fields.input)`
128
127
  // but the filter is not being applied correctly.
129
- filter: (data) => S.is(LayoutAction.UpdatePopover.fields.input)(data),
128
+ filter: (data) => Schema.is(LayoutAction.UpdatePopover.fields.input)(data),
130
129
  resolve: ({ subject, options }) => {
131
- const layout = context.requestCapability(DeckCapabilities.MutableDeckState);
130
+ const layout = context.getCapability(DeckCapabilities.MutableDeckState);
132
131
  layout.popoverOpen = options.state ?? Boolean(subject);
133
132
  layout.popoverContent = typeof subject === "string" ? {
134
133
  component: subject,
@@ -146,20 +145,20 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
146
145
  }),
147
146
  createResolver({
148
147
  intent: LayoutAction.UpdateLayout,
149
- // TODO(wittjosiah): This should be able to just be `S.is(LayoutAction.AddToast.fields.input)`
148
+ // TODO(wittjosiah): This should be able to just be `Schema.is(LayoutAction.AddToast.fields.input)`
150
149
  // but the filter is not being applied correctly.
151
- filter: (data) => S.is(LayoutAction.AddToast.fields.input)(data),
150
+ filter: (data) => Schema.is(LayoutAction.AddToast.fields.input)(data),
152
151
  resolve: ({ subject }) => {
153
- const layout = context.requestCapability(DeckCapabilities.MutableDeckState);
152
+ const layout = context.getCapability(DeckCapabilities.MutableDeckState);
154
153
  layout.toasts.push(subject);
155
154
  }
156
155
  }),
157
156
  createResolver({
158
157
  intent: LayoutAction.UpdateLayout,
159
- // TODO(wittjosiah): This should be able to just be `S.is(LayoutAction.SetLayoutMode.fields.input)`
158
+ // TODO(wittjosiah): This should be able to just be `Schema.is(LayoutAction.SetLayoutMode.fields.input)`
160
159
  // but the filter is not being applied correctly.
161
160
  filter: (data) => {
162
- if (!S.is(LayoutAction.SetLayoutMode.fields.input)(data)) {
161
+ if (!Schema.is(LayoutAction.SetLayoutMode.fields.input)(data)) {
163
162
  return false;
164
163
  }
165
164
  if ("mode" in data.options) {
@@ -168,7 +167,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
168
167
  return true;
169
168
  },
170
169
  resolve: ({ subject, options }) => {
171
- const state = context.requestCapability(DeckCapabilities.MutableDeckState);
170
+ const state = context.getCapability(DeckCapabilities.MutableDeckState);
172
171
  const setMode = (mode) => {
173
172
  const deck = state.deck;
174
173
  const current = deck.solo ? [
@@ -219,9 +218,10 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
219
218
  }),
220
219
  createResolver({
221
220
  intent: LayoutAction.UpdateLayout,
222
- filter: (data) => S.is(LayoutAction.SwitchWorkspace.fields.input)(data),
221
+ filter: (data) => Schema.is(LayoutAction.SwitchWorkspace.fields.input)(data),
223
222
  resolve: ({ subject }) => {
224
- const state = context.requestCapability(DeckCapabilities.MutableDeckState);
223
+ const { graph } = context.getCapability(Capabilities.AppGraph);
224
+ const state = context.getCapability(DeckCapabilities.MutableDeckState);
225
225
  batch(() => {
226
226
  if (!state.activeDeck.startsWith("!")) {
227
227
  state.previousDeck = state.activeDeck;
@@ -243,14 +243,28 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
243
243
  })
244
244
  ]
245
245
  };
246
+ } else {
247
+ const [item] = graph.getConnections(subject).filter((node) => !isActionLike(node));
248
+ if (item) {
249
+ return {
250
+ intents: [
251
+ createIntent(LayoutAction.Open, {
252
+ part: "main",
253
+ subject: [
254
+ item.id
255
+ ]
256
+ })
257
+ ]
258
+ };
259
+ }
246
260
  }
247
261
  }
248
262
  }),
249
263
  createResolver({
250
264
  intent: LayoutAction.UpdateLayout,
251
- filter: (data) => S.is(LayoutAction.RevertWorkspace.fields.input)(data),
265
+ filter: (data) => Schema.is(LayoutAction.RevertWorkspace.fields.input)(data),
252
266
  resolve: () => {
253
- const state = context.requestCapability(DeckCapabilities.MutableDeckState);
267
+ const state = context.getCapability(DeckCapabilities.MutableDeckState);
254
268
  return {
255
269
  intents: [
256
270
  createIntent(LayoutAction.SwitchWorkspace, {
@@ -263,14 +277,14 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
263
277
  }),
264
278
  createResolver({
265
279
  intent: LayoutAction.UpdateLayout,
266
- filter: (data) => S.is(LayoutAction.Open.fields.input)(data),
280
+ filter: (data) => Schema.is(LayoutAction.Open.fields.input)(data),
267
281
  resolve: ({ subject, options }) => Effect.gen(function* () {
268
- const { graph } = context.requestCapability(Capabilities.AppGraph);
269
- const state = context.requestCapability(DeckCapabilities.MutableDeckState);
270
- const attention = context.requestCapability(AttentionCapabilities.Attention);
271
- const settings = context.requestCapabilities(Capabilities.SettingsStore)[0]?.getStore(DECK_PLUGIN)?.value;
282
+ const { graph } = context.getCapability(Capabilities.AppGraph);
283
+ const state = context.getCapability(DeckCapabilities.MutableDeckState);
284
+ const attention = context.getCapability(AttentionCapabilities.Attention);
285
+ const settings = context.getCapabilities(Capabilities.SettingsStore)[0]?.getStore(DECK_PLUGIN)?.value;
272
286
  if (options?.workspace && state.activeDeck !== options?.workspace) {
273
- const { dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
287
+ const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);
274
288
  yield* dispatch(createIntent(LayoutAction.SwitchWorkspace, {
275
289
  part: "workspace",
276
290
  subject: options.workspace
@@ -309,8 +323,13 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
309
323
  subject: newlyOpen[0] ?? subject[0]
310
324
  }),
311
325
  ...newlyOpen.map((subjectId) => {
312
- const active = graph?.findNode(subjectId)?.data;
313
- const typename = isLiveObject(active) ? getTypename(active) : void 0;
326
+ const typename = Option.match(graph.getNode(subjectId), {
327
+ onNone: () => void 0,
328
+ onSome: (node) => {
329
+ const active = node.data;
330
+ return isLiveObject(active) ? getTypename(active) : void 0;
331
+ }
332
+ });
314
333
  return createIntent(ObservabilityAction.SendEvent, {
315
334
  name: "navigation.activate",
316
335
  properties: {
@@ -325,10 +344,10 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
325
344
  }),
326
345
  createResolver({
327
346
  intent: LayoutAction.UpdateLayout,
328
- filter: (data) => S.is(LayoutAction.Close.fields.input)(data),
347
+ filter: (data) => Schema.is(LayoutAction.Close.fields.input)(data),
329
348
  resolve: ({ subject }) => {
330
- const state = context.requestCapability(DeckCapabilities.MutableDeckState);
331
- const attention = context.requestCapability(AttentionCapabilities.Attention);
349
+ const state = context.getCapability(DeckCapabilities.MutableDeckState);
350
+ const attention = context.getCapability(AttentionCapabilities.Attention);
332
351
  const active = state.deck.solo ? [
333
352
  state.deck.solo
334
353
  ] : state.deck.active;
@@ -357,10 +376,10 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
357
376
  }),
358
377
  createResolver({
359
378
  intent: LayoutAction.UpdateLayout,
360
- filter: (data) => S.is(LayoutAction.Set.fields.input)(data),
379
+ filter: (data) => Schema.is(LayoutAction.Set.fields.input)(data),
361
380
  resolve: ({ subject }) => {
362
- const state = context.requestCapability(DeckCapabilities.MutableDeckState);
363
- const attention = context.requestCapability(AttentionCapabilities.Attention);
381
+ const state = context.getCapability(DeckCapabilities.MutableDeckState);
382
+ const attention = context.getCapability(AttentionCapabilities.Attention);
364
383
  const toAttend = setActive({
365
384
  next: subject,
366
385
  state,
@@ -378,30 +397,30 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
378
397
  }),
379
398
  createResolver({
380
399
  intent: LayoutAction.UpdateLayout,
381
- filter: (data) => S.is(LayoutAction.ScrollIntoView.fields.input)(data),
400
+ filter: (data) => Schema.is(LayoutAction.ScrollIntoView.fields.input)(data),
382
401
  resolve: ({ subject }) => {
383
- const layout = context.requestCapability(DeckCapabilities.MutableDeckState);
402
+ const layout = context.getCapability(DeckCapabilities.MutableDeckState);
384
403
  layout.scrollIntoView = subject;
385
404
  }
386
405
  }),
387
406
  createResolver({
388
407
  intent: DeckAction.UpdatePlankSize,
389
408
  resolve: (data) => {
390
- const state = context.requestCapability(DeckCapabilities.MutableDeckState);
409
+ const state = context.getCapability(DeckCapabilities.MutableDeckState);
391
410
  state.deck.plankSizing[data.id] = data.size;
392
411
  }
393
412
  }),
394
413
  createResolver({
395
414
  intent: DeckAction.ChangeCompanion,
396
415
  resolve: (data) => {
397
- const state = context.requestCapability(DeckCapabilities.MutableDeckState);
416
+ const state = context.getCapability(DeckCapabilities.MutableDeckState);
398
417
  if (data.companion === null) {
399
418
  const { [data.primary]: _, ...nextActiveCompanions } = state.deck.activeCompanions ?? {};
400
419
  state.deck.activeCompanions = nextActiveCompanions;
401
420
  } else {
402
421
  invariant(data.companion !== data.primary, void 0, {
403
422
  F: __dxlog_file,
404
- L: 363,
423
+ L: 376,
405
424
  S: void 0,
406
425
  A: [
407
426
  "data.companion !== data.primary",
@@ -418,9 +437,9 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
418
437
  createResolver({
419
438
  intent: DeckAction.Adjust,
420
439
  resolve: (adjustment) => {
421
- const state = context.requestCapability(DeckCapabilities.MutableDeckState);
422
- const attention = context.requestCapability(AttentionCapabilities.Attention);
423
- const { graph } = context.requestCapability(Capabilities.AppGraph);
440
+ const state = context.getCapability(DeckCapabilities.MutableDeckState);
441
+ const attention = context.getCapability(AttentionCapabilities.Attention);
442
+ const { graph } = context.getCapability(Capabilities.AppGraph);
424
443
  return batch(() => {
425
444
  if (adjustment.type === "increment-end" || adjustment.type === "increment-start") {
426
445
  setActive({
@@ -430,12 +449,9 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
430
449
  });
431
450
  }
432
451
  if (adjustment.type === "companion") {
433
- const node = graph.findNode(adjustment.id);
434
- const [companion] = node ? graph.nodes(node, {
435
- filter: (n) => n.type === PLANK_COMPANION_TYPE
436
- }).toSorted((a, b) => byPosition(a.properties, b.properties)) : [];
437
- if (companion) {
438
- return {
452
+ 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({
453
+ onNone: () => ({}),
454
+ onSome: (companion) => ({
439
455
  intents: [
440
456
  // TODO(wittjosiah): This should remember the previously selected companion.
441
457
  createIntent(DeckAction.ChangeCompanion, {
@@ -443,8 +459,8 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
443
459
  companion: companion.id
444
460
  })
445
461
  ]
446
- };
447
- }
462
+ })
463
+ }));
448
464
  }
449
465
  if (adjustment.type.startsWith("solo")) {
450
466
  const entryId = adjustment.id;
@@ -500,4 +516,4 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
500
516
  export {
501
517
  intent_resolver_default as default
502
518
  };
503
- //# sourceMappingURL=intent-resolver-JKWXWUV6.mjs.map
519
+ //# sourceMappingURL=intent-resolver-MAKOS57L.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 { Schema, Effect, pipe, Option } from 'effect';\n\nimport {\n Capabilities,\n createResolver,\n contributes,\n IntentAction,\n LayoutAction,\n type PluginContext,\n createIntent,\n chain,\n} from '@dxos/app-framework';\nimport { getTypename } from '@dxos/echo-schema';\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 { DeckCapabilities } from './capabilities';\nimport { closeEntry, createEntryId, incrementPlank, openEntry } from '../layout';\nimport { DECK_PLUGIN } from '../meta';\nimport {\n DeckAction,\n type LayoutMode,\n type DeckSettingsProps,\n isLayoutMode,\n getMode,\n defaultDeck,\n PLANK_COMPANION_TYPE,\n} from '../types';\nimport { setActive } from '../util';\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: DECK_PLUGIN }],\n duration: 10_000,\n actionLabel: ['undo action label', { ns: DECK_PLUGIN }],\n actionAlt: ['undo action alt', { ns: DECK_PLUGIN }],\n closeLabel: ['undo close label', { ns: DECK_PLUGIN }],\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.dialogContent = subject ? { component: subject, props: options.props } : null;\n layout.dialogBlockAlign = options.blockAlign ?? 'center';\n layout.dialogType = options.type ?? 'default';\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.getConnections(subject).filter((node) => !isActionLike(node));\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>(DECK_PLUGIN)?.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) ? 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 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 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", "Schema", "Effect", "pipe", "Option", "Capabilities", "createResolver", "contributes", "IntentAction", "LayoutAction", "createIntent", "chain", "getTypename", "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", "DECK_PLUGIN", "duration", "actionLabel", "actionAlt", "closeLabel", "onAction", "LayoutAction", "UpdateLayout", "Schema", "is", "UpdateSidebar", "fields", "input", "options", "next", "state", "sidebarState", "UpdateComplementary", "subject", "complementarySidebarPanel", "complementarySidebarState", "UpdateDialog", "dialogOpen", "Boolean", "dialogContent", "component", "props", "dialogBlockAlign", "blockAlign", "dialogType", "type", "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", "Open", "RevertWorkspace", "Effect", "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", "Option", "match", "getNode", "onNone", "onSome", "isLiveObject", "getTypename", "ObservabilityAction", "SendEvent", "name", "properties", "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
+ }