@dxos/plugin-deck 0.7.5-feature-compute.4d9d99a → 0.7.5-labs.a279d8c

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 (29) hide show
  1. package/dist/lib/browser/{chunk-2M4PXYNB.mjs → chunk-WUMAJGVA.mjs} +3 -3
  2. package/dist/lib/browser/{chunk-2M4PXYNB.mjs.map → chunk-WUMAJGVA.mjs.map} +2 -2
  3. package/dist/lib/browser/index.mjs +11 -5
  4. package/dist/lib/browser/index.mjs.map +3 -3
  5. package/dist/lib/browser/{location-QHRBQBQN.mjs → location-AIO6V3MK.mjs} +2 -2
  6. package/dist/lib/browser/meta.json +1 -1
  7. package/dist/lib/browser/{react-context-3BDW7W2N.mjs → react-context-G6PDXUI5.mjs} +2 -2
  8. package/dist/lib/browser/{react-root-UL7ZDRVZ.mjs → react-root-AWYSGU4Q.mjs} +2 -2
  9. package/dist/lib/browser/{react-surface-VPNOGGNN.mjs → react-surface-CLUABFNX.mjs} +2 -2
  10. package/dist/lib/browser/tools-4XY7KFQF.mjs +46 -0
  11. package/dist/lib/browser/tools-4XY7KFQF.mjs.map +7 -0
  12. package/dist/lib/browser/{url-handler-Z5B7LD3N.mjs → url-handler-JRAQRY73.mjs} +2 -2
  13. package/dist/types/src/DeckPlugin.d.ts.map +1 -1
  14. package/dist/types/src/capabilities/layout/app-graph-builder.d.ts.map +1 -1
  15. package/dist/types/src/capabilities/layout/index.d.ts.map +1 -1
  16. package/dist/types/src/capabilities/navigation/index.d.ts +1 -0
  17. package/dist/types/src/capabilities/navigation/index.d.ts.map +1 -1
  18. package/dist/types/src/capabilities/navigation/tools.d.ts +9 -0
  19. package/dist/types/src/capabilities/navigation/tools.d.ts.map +1 -0
  20. package/package.json +30 -29
  21. package/src/DeckPlugin.ts +6 -0
  22. package/src/capabilities/navigation/index.ts +1 -0
  23. package/src/capabilities/navigation/tools.ts +57 -0
  24. package/src/components/DeckLayout/ContentEmpty.tsx +2 -2
  25. /package/dist/lib/browser/{location-QHRBQBQN.mjs.map → location-AIO6V3MK.mjs.map} +0 -0
  26. /package/dist/lib/browser/{react-context-3BDW7W2N.mjs.map → react-context-G6PDXUI5.mjs.map} +0 -0
  27. /package/dist/lib/browser/{react-root-UL7ZDRVZ.mjs.map → react-root-AWYSGU4Q.mjs.map} +0 -0
  28. /package/dist/lib/browser/{react-surface-VPNOGGNN.mjs.map → react-surface-CLUABFNX.mjs.map} +0 -0
  29. /package/dist/lib/browser/{url-handler-Z5B7LD3N.mjs.map → url-handler-JRAQRY73.mjs.map} +0 -0
@@ -1,5 +1,6 @@
1
1
  export declare const CheckAppScheme: (props?: import("@dxos/app-framework").PluginsContext | undefined) => Promise<import("@dxos/app-framework").Capability<null>>;
2
2
  export declare const LocationState: (props?: unknown) => Promise<import("@dxos/app-framework").Capability<import("packages/common/util/dist/types/src").DeepReadonly<import("@dxos/app-framework").Capabilities.MutableLocation>>>;
3
3
  export declare const NavigationIntentResolver: (props?: import("@dxos/app-framework").PluginsContext | undefined) => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.IntentResolver>>;
4
+ export declare const NavigationTools: (props?: unknown) => Promise<import("@dxos/app-framework").Capability<import("packages/experimental/artifact/dist/types/src").Tool[]>>;
4
5
  export declare const UrlHandler: (props?: import("@dxos/app-framework").PluginsContext | undefined) => Promise<import("@dxos/app-framework").Capability<null>>;
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/navigation/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc,+HAA2C,CAAC;AACvE,eAAO,MAAM,aAAa,gMAAmC,CAAC;AAC9D,eAAO,MAAM,wBAAwB,oLAA0C,CAAC;AAChF,eAAO,MAAM,UAAU,+HAAsC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/navigation/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc,+HAA2C,CAAC;AACvE,eAAO,MAAM,aAAa,gMAAmC,CAAC;AAC9D,eAAO,MAAM,wBAAwB,oLAA0C,CAAC;AAChF,eAAO,MAAM,eAAe,wIAAgC,CAAC;AAC7D,eAAO,MAAM,UAAU,+HAAsC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type PromiseIntentDispatcher } from '@dxos/app-framework';
2
+ declare global {
3
+ interface ToolContextExtensions {
4
+ dispatch?: PromiseIntentDispatcher;
5
+ }
6
+ }
7
+ declare const _default: () => import("@dxos/app-framework").Capability<import("@dxos/artifact").Tool[]>;
8
+ export default _default;
9
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/navigation/tools.ts"],"names":[],"mappings":"AAIA,OAAO,EAKL,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAC;AAM7B,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,QAAQ,CAAC,EAAE,uBAAuB,CAAC;KACpC;CACF;;AAED,wBAkCK"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-deck",
3
- "version": "0.7.5-feature-compute.4d9d99a",
3
+ "version": "0.7.5-labs.a279d8c",
4
4
  "description": "DXOS Surface plugin for the main application layout.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -34,29 +34,30 @@
34
34
  "@preact/signals-core": "^1.6.0",
35
35
  "effect": "^3.12.3",
36
36
  "immer": "^10.1.1",
37
- "@dxos/debug": "0.7.5-feature-compute.4d9d99a",
38
- "@dxos/app-framework": "0.7.5-feature-compute.4d9d99a",
39
- "@dxos/async": "0.7.5-feature-compute.4d9d99a",
40
- "@dxos/echo-schema": "0.7.5-feature-compute.4d9d99a",
41
- "@dxos/echo-signals": "0.7.5-feature-compute.4d9d99a",
42
- "@dxos/invariant": "0.7.5-feature-compute.4d9d99a",
43
- "@dxos/keyboard": "0.7.5-feature-compute.4d9d99a",
44
- "@dxos/live-object": "0.7.5-feature-compute.4d9d99a",
45
- "@dxos/local-storage": "0.7.5-feature-compute.4d9d99a",
46
- "@dxos/log": "0.7.5-feature-compute.4d9d99a",
47
- "@dxos/plugin-attention": "0.7.5-feature-compute.4d9d99a",
48
- "@dxos/plugin-observability": "0.7.5-feature-compute.4d9d99a",
49
- "@dxos/plugin-graph": "0.7.5-feature-compute.4d9d99a",
50
- "@dxos/plugin-theme": "0.7.5-feature-compute.4d9d99a",
51
- "@dxos/plugin-client": "0.7.5-feature-compute.4d9d99a",
52
- "@dxos/react-client": "0.7.5-feature-compute.4d9d99a",
53
- "@dxos/react-ui-attention": "0.7.5-feature-compute.4d9d99a",
54
- "@dxos/react-ui-form": "0.7.5-feature-compute.4d9d99a",
55
- "@dxos/react-ui-mosaic": "0.7.5-feature-compute.4d9d99a",
56
- "@dxos/react-ui-stack": "0.7.5-feature-compute.4d9d99a",
57
- "@dxos/react-ui-tabs": "0.7.5-feature-compute.4d9d99a",
58
- "@dxos/react-ui-text-tooltip": "0.7.5-feature-compute.4d9d99a",
59
- "@dxos/util": "0.7.5-feature-compute.4d9d99a"
37
+ "@dxos/app-framework": "0.7.5-labs.a279d8c",
38
+ "@dxos/artifact": "0.7.5-labs.a279d8c",
39
+ "@dxos/async": "0.7.5-labs.a279d8c",
40
+ "@dxos/echo-schema": "0.7.5-labs.a279d8c",
41
+ "@dxos/debug": "0.7.5-labs.a279d8c",
42
+ "@dxos/echo-signals": "0.7.5-labs.a279d8c",
43
+ "@dxos/invariant": "0.7.5-labs.a279d8c",
44
+ "@dxos/keyboard": "0.7.5-labs.a279d8c",
45
+ "@dxos/live-object": "0.7.5-labs.a279d8c",
46
+ "@dxos/local-storage": "0.7.5-labs.a279d8c",
47
+ "@dxos/log": "0.7.5-labs.a279d8c",
48
+ "@dxos/plugin-attention": "0.7.5-labs.a279d8c",
49
+ "@dxos/plugin-graph": "0.7.5-labs.a279d8c",
50
+ "@dxos/plugin-client": "0.7.5-labs.a279d8c",
51
+ "@dxos/plugin-observability": "0.7.5-labs.a279d8c",
52
+ "@dxos/react-client": "0.7.5-labs.a279d8c",
53
+ "@dxos/react-ui-form": "0.7.5-labs.a279d8c",
54
+ "@dxos/plugin-theme": "0.7.5-labs.a279d8c",
55
+ "@dxos/react-ui-mosaic": "0.7.5-labs.a279d8c",
56
+ "@dxos/react-ui-stack": "0.7.5-labs.a279d8c",
57
+ "@dxos/react-ui-text-tooltip": "0.7.5-labs.a279d8c",
58
+ "@dxos/util": "0.7.5-labs.a279d8c",
59
+ "@dxos/react-ui-tabs": "0.7.5-labs.a279d8c",
60
+ "@dxos/react-ui-attention": "0.7.5-labs.a279d8c"
60
61
  },
61
62
  "devDependencies": {
62
63
  "@phosphor-icons/react": "^2.1.5",
@@ -65,16 +66,16 @@
65
66
  "react": "~18.2.0",
66
67
  "react-dom": "~18.2.0",
67
68
  "vite": "5.4.7",
68
- "@dxos/react-ui": "0.7.5-feature-compute.4d9d99a",
69
- "@dxos/storybook-utils": "0.7.5-feature-compute.4d9d99a",
70
- "@dxos/react-ui-theme": "0.7.5-feature-compute.4d9d99a"
69
+ "@dxos/react-ui": "0.7.5-labs.a279d8c",
70
+ "@dxos/react-ui-theme": "0.7.5-labs.a279d8c",
71
+ "@dxos/storybook-utils": "0.7.5-labs.a279d8c"
71
72
  },
72
73
  "peerDependencies": {
73
74
  "@phosphor-icons/react": "^2.0.5",
74
75
  "react": "~18.2.0",
75
76
  "react-dom": "~18.2.0",
76
- "@dxos/react-ui": "0.7.5-feature-compute.4d9d99a",
77
- "@dxos/react-ui-theme": "0.7.5-feature-compute.4d9d99a"
77
+ "@dxos/react-ui": "0.7.5-labs.a279d8c",
78
+ "@dxos/react-ui-theme": "0.7.5-labs.a279d8c"
78
79
  },
79
80
  "publishConfig": {
80
81
  "access": "public"
package/src/DeckPlugin.ts CHANGED
@@ -21,6 +21,7 @@ import {
21
21
  DeckSettings,
22
22
  ReactSurface,
23
23
  UrlHandler,
24
+ NavigationTools,
24
25
  } from './capabilities';
25
26
  import { DeckEvents } from './events';
26
27
  import { meta } from './meta';
@@ -120,4 +121,9 @@ export const DeckPlugin = () =>
120
121
  activatesOn: Events.SetupIntents,
121
122
  activate: NavigationIntentResolver,
122
123
  }),
124
+ defineModule({
125
+ id: `${meta.id}/module/navigation-tools`,
126
+ activatesOn: Events.Startup,
127
+ activate: NavigationTools,
128
+ }),
123
129
  ]);
@@ -7,4 +7,5 @@ import { lazy } from '@dxos/app-framework';
7
7
  export const CheckAppScheme = lazy(() => import('./check-app-scheme'));
8
8
  export const LocationState = lazy(() => import('./location'));
9
9
  export const NavigationIntentResolver = lazy(() => import('./intent-resolver'));
10
+ export const NavigationTools = lazy(() => import('./tools'));
10
11
  export const UrlHandler = lazy(() => import('./url-handler'));
@@ -0,0 +1,57 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import {
6
+ Capabilities,
7
+ contributes,
8
+ createIntent,
9
+ NavigationAction,
10
+ type PromiseIntentDispatcher,
11
+ } from '@dxos/app-framework';
12
+ import { defineTool, ToolResult } from '@dxos/artifact';
13
+ import { S } from '@dxos/echo-schema';
14
+ import { invariant } from '@dxos/invariant';
15
+
16
+ // TODO(burdon): Factor out.
17
+ declare global {
18
+ interface ToolContextExtensions {
19
+ dispatch?: PromiseIntentDispatcher;
20
+ }
21
+ }
22
+
23
+ export default () =>
24
+ contributes(Capabilities.Tools, [
25
+ defineTool({
26
+ name: 'show',
27
+ // TODO(ZaymonFC): We should update the prompt to teach the LLM the difference between object ids and fully qualified ids.
28
+ description:
29
+ 'Show an item in the app. Use this tool to open an artifact. When supplying IDs to show, they must be fully qualified like space:object.',
30
+ // TODO(wittjosiah): Refactor Layout/Navigation/Deck actions so that they can be used directly.
31
+ schema: S.Struct({
32
+ id: S.String.annotations({
33
+ description: 'The ID of the item to show.',
34
+ }),
35
+ pivotId: S.optional(
36
+ S.String.annotations({
37
+ description: 'The ID of the chat. If provided, the item will be added after the pivot item.',
38
+ }),
39
+ ),
40
+ }),
41
+ execute: async ({ id, pivotId }, { extensions }) => {
42
+ invariant(extensions?.dispatch, 'No intent dispatcher');
43
+ const { data, error } = await extensions.dispatch(
44
+ createIntent(NavigationAction.AddToActive, {
45
+ id,
46
+ part: 'main',
47
+ pivotId,
48
+ }),
49
+ );
50
+ if (error) {
51
+ return ToolResult.Error(error.message);
52
+ }
53
+
54
+ return ToolResult.Success(data);
55
+ },
56
+ }),
57
+ ]);
@@ -14,10 +14,10 @@ export const ContentEmpty = () => {
14
14
  return (
15
15
  <div
16
16
  role='none'
17
- className='min-bs-screen is-dvw sm:is-full p-8 grid grid-rows-[var(--rail-size)_1fr]'
17
+ className='min-bs-screen is-dvw sm:is-full p-8 grid grid-rows-[var(--rail-size)_1fr] lg:grid-rows-1'
18
18
  data-testid='layoutPlugin.firstRunMessage'
19
19
  >
20
- <div role='toolbar' className={mx(soloInlinePadding, 'flex items-stretch')}>
20
+ <div role='toolbar' className={mx(soloInlinePadding, 'bs-[--rail-action] flex items-stretch lg:hidden')}>
21
21
  <ToggleSidebarButton />
22
22
  <span role='none' className='grow' />
23
23
  </div>