@dxos/plugin-conductor 0.8.4-main.66e292d → 0.8.4-main.69d29f4

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 (71) hide show
  1. package/dist/lib/browser/{chunk-PYKBZYTF.mjs → chunk-GV4DJFU6.mjs} +1 -1
  2. package/dist/lib/browser/chunk-GV4DJFU6.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +27 -48
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/react-surface-R7NR323I.mjs +108 -0
  7. package/dist/lib/browser/react-surface-R7NR323I.mjs.map +7 -0
  8. package/dist/lib/node-esm/{chunk-LNIMDWHI.mjs → chunk-DILME6SD.mjs} +1 -1
  9. package/dist/lib/node-esm/chunk-DILME6SD.mjs.map +7 -0
  10. package/dist/lib/node-esm/index.mjs +27 -48
  11. package/dist/lib/node-esm/index.mjs.map +4 -4
  12. package/dist/lib/node-esm/meta.json +1 -1
  13. package/dist/lib/node-esm/react-surface-4MQHAW46.mjs +109 -0
  14. package/dist/lib/node-esm/react-surface-4MQHAW46.mjs.map +7 -0
  15. package/dist/types/src/ConductorPlugin.d.ts +2 -1
  16. package/dist/types/src/ConductorPlugin.d.ts.map +1 -1
  17. package/dist/types/src/capabilities/index.d.ts +1 -2
  18. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  19. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  20. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  21. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  22. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  23. package/dist/types/src/components/CanvasContainer.d.ts +3 -4
  24. package/dist/types/src/components/CanvasContainer.d.ts.map +1 -1
  25. package/dist/types/src/components/index.d.ts +1 -4
  26. package/dist/types/src/components/index.d.ts.map +1 -1
  27. package/dist/types/src/meta.d.ts +2 -2
  28. package/dist/types/src/meta.d.ts.map +1 -1
  29. package/dist/types/src/types/index.d.ts +0 -1
  30. package/dist/types/src/types/index.d.ts.map +1 -1
  31. package/dist/types/tsconfig.tsbuildinfo +1 -1
  32. package/package.json +41 -49
  33. package/src/ConductorPlugin.tsx +22 -40
  34. package/src/capabilities/index.ts +1 -4
  35. package/src/capabilities/react-surface/index.ts +7 -0
  36. package/src/capabilities/react-surface/react-surface.tsx +27 -0
  37. package/src/components/CanvasContainer.tsx +38 -42
  38. package/src/components/index.ts +1 -3
  39. package/src/meta.ts +2 -2
  40. package/src/types/index.ts +0 -2
  41. package/dist/lib/browser/CanvasContainer-RJPQZ63D.mjs +0 -96
  42. package/dist/lib/browser/CanvasContainer-RJPQZ63D.mjs.map +0 -7
  43. package/dist/lib/browser/chunk-POMULF74.mjs +0 -25
  44. package/dist/lib/browser/chunk-POMULF74.mjs.map +0 -7
  45. package/dist/lib/browser/chunk-PYKBZYTF.mjs.map +0 -7
  46. package/dist/lib/browser/intent-resolver-GJHGNHRE.mjs +0 -34
  47. package/dist/lib/browser/intent-resolver-GJHGNHRE.mjs.map +0 -7
  48. package/dist/lib/browser/react-surface-3XDCWHZE.mjs +0 -31
  49. package/dist/lib/browser/react-surface-3XDCWHZE.mjs.map +0 -7
  50. package/dist/lib/browser/types/index.mjs +0 -8
  51. package/dist/lib/browser/types/index.mjs.map +0 -7
  52. package/dist/lib/node-esm/CanvasContainer-T73T6ENQ.mjs +0 -98
  53. package/dist/lib/node-esm/CanvasContainer-T73T6ENQ.mjs.map +0 -7
  54. package/dist/lib/node-esm/chunk-LNIMDWHI.mjs.map +0 -7
  55. package/dist/lib/node-esm/chunk-OKCDSUHC.mjs +0 -26
  56. package/dist/lib/node-esm/chunk-OKCDSUHC.mjs.map +0 -7
  57. package/dist/lib/node-esm/intent-resolver-KRUQLZD7.mjs +0 -35
  58. package/dist/lib/node-esm/intent-resolver-KRUQLZD7.mjs.map +0 -7
  59. package/dist/lib/node-esm/react-surface-ZORMVPKH.mjs +0 -32
  60. package/dist/lib/node-esm/react-surface-ZORMVPKH.mjs.map +0 -7
  61. package/dist/lib/node-esm/types/index.mjs +0 -9
  62. package/dist/lib/node-esm/types/index.mjs.map +0 -7
  63. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  64. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  65. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  66. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  67. package/dist/types/src/types/schema.d.ts +0 -61
  68. package/dist/types/src/types/schema.d.ts.map +0 -1
  69. package/src/capabilities/intent-resolver.ts +0 -27
  70. package/src/capabilities/react-surface.tsx +0 -23
  71. package/src/types/schema.ts +0 -20
package/package.json CHANGED
@@ -1,77 +1,69 @@
1
1
  {
2
2
  "name": "@dxos/plugin-conductor",
3
- "version": "0.8.4-main.66e292d",
3
+ "version": "0.8.4-main.69d29f4",
4
4
  "description": "Composer plugin for conductor.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/dxos/dxos"
10
+ },
7
11
  "license": "MIT",
8
12
  "author": "DXOS.org",
9
13
  "sideEffects": true,
10
14
  "type": "module",
11
15
  "exports": {
12
16
  ".": {
13
- "source": "./src/index.ts",
14
- "types": "./dist/types/src/index.d.ts",
15
17
  "browser": "./dist/lib/browser/index.mjs",
16
- "node": "./dist/lib/node-esm/index.mjs"
17
- },
18
- "./types": {
19
- "source": "./src/types/index.ts",
20
- "types": "./dist/types/src/types/index.d.ts",
21
- "browser": "./dist/lib/browser/types/index.mjs",
22
- "node": "./dist/lib/node-esm/types/index.mjs"
18
+ "node": "./dist/lib/node-esm/index.mjs",
19
+ "source": "./src/index.ts",
20
+ "types": "./dist/types/src/index.d.ts"
23
21
  }
24
22
  },
25
23
  "types": "dist/types/src/index.d.ts",
26
- "typesVersions": {
27
- "*": {
28
- "types": [
29
- "dist/types/src/types/index.d.ts"
30
- ]
31
- }
32
- },
33
24
  "files": [
34
25
  "dist",
35
26
  "src"
36
27
  ],
37
28
  "dependencies": {
38
- "@preact-signals/safe-react": "^0.9.0",
39
- "effect": "3.18.3",
40
- "@dxos/ai": "0.8.4-main.66e292d",
41
- "@dxos/app-framework": "0.8.4-main.66e292d",
42
- "@dxos/assistant": "0.8.4-main.66e292d",
43
- "@dxos/echo": "0.8.4-main.66e292d",
44
- "@dxos/debug": "0.8.4-main.66e292d",
45
- "@dxos/edge-client": "0.8.4-main.66e292d",
46
- "@dxos/functions": "0.8.4-main.66e292d",
47
- "@dxos/functions-runtime": "0.8.4-main.66e292d",
48
- "@dxos/live-object": "0.8.4-main.66e292d",
49
- "@dxos/log": "0.8.4-main.66e292d",
50
- "@dxos/plugin-client": "0.8.4-main.66e292d",
51
- "@dxos/plugin-space": "0.8.4-main.66e292d",
52
- "@dxos/conductor": "0.8.4-main.66e292d",
53
- "@dxos/react-client": "0.8.4-main.66e292d",
54
- "@dxos/react-ui-canvas-editor": "0.8.4-main.66e292d",
55
- "@dxos/react-ui-stack": "0.8.4-main.66e292d",
56
- "@dxos/util": "0.8.4-main.66e292d",
57
- "@dxos/react-ui-canvas-compute": "0.8.4-main.66e292d"
29
+ "effect": "3.19.11",
30
+ "@dxos/ai": "0.8.4-main.69d29f4",
31
+ "@dxos/app-framework": "0.8.4-main.69d29f4",
32
+ "@dxos/conductor": "0.8.4-main.69d29f4",
33
+ "@dxos/debug": "0.8.4-main.69d29f4",
34
+ "@dxos/echo": "0.8.4-main.69d29f4",
35
+ "@dxos/edge-client": "0.8.4-main.69d29f4",
36
+ "@dxos/functions": "0.8.4-main.69d29f4",
37
+ "@dxos/assistant": "0.8.4-main.69d29f4",
38
+ "@dxos/functions-runtime": "0.8.4-main.69d29f4",
39
+ "@dxos/log": "0.8.4-main.69d29f4",
40
+ "@dxos/operation": "0.8.4-main.69d29f4",
41
+ "@dxos/plugin-client": "0.8.4-main.69d29f4",
42
+ "@dxos/plugin-automation": "0.8.4-main.69d29f4",
43
+ "@dxos/plugin-space": "0.8.4-main.69d29f4",
44
+ "@dxos/react-ui-canvas-compute": "0.8.4-main.69d29f4",
45
+ "@dxos/react-ui-canvas-editor": "0.8.4-main.69d29f4",
46
+ "@dxos/react-client": "0.8.4-main.69d29f4",
47
+ "@dxos/react-ui-stack": "0.8.4-main.69d29f4",
48
+ "@dxos/react-ui-mosaic": "0.8.4-main.69d29f4",
49
+ "@dxos/util": "0.8.4-main.69d29f4"
58
50
  },
59
51
  "devDependencies": {
60
- "@types/react": "~19.2.2",
61
- "@types/react-dom": "~19.2.2",
62
- "react": "~19.2.0",
63
- "react-dom": "~19.2.0",
52
+ "@types/react": "~19.2.7",
53
+ "@types/react-dom": "~19.2.3",
54
+ "react": "~19.2.3",
55
+ "react-dom": "~19.2.3",
64
56
  "vite": "7.1.9",
65
- "@dxos/react-ui": "0.8.4-main.66e292d",
66
- "@dxos/react-ui-theme": "0.8.4-main.66e292d",
67
- "@dxos/storybook-utils": "0.8.4-main.66e292d"
57
+ "@dxos/react-ui": "0.8.4-main.69d29f4",
58
+ "@dxos/ui-theme": "0.8.4-main.69d29f4",
59
+ "@dxos/storybook-utils": "0.8.4-main.69d29f4"
68
60
  },
69
61
  "peerDependencies": {
70
- "effect": "^3.13.3",
71
- "react": "^19.0.0",
72
- "react-dom": "^19.0.0",
73
- "@dxos/react-ui": "0.8.4-main.66e292d",
74
- "@dxos/react-ui-theme": "0.8.4-main.66e292d"
62
+ "effect": "3.19.11",
63
+ "react": "~19.2.3",
64
+ "react-dom": "~19.2.3",
65
+ "@dxos/react-ui": "0.8.4-main.69d29f4",
66
+ "@dxos/ui-theme": "0.8.4-main.69d29f4"
75
67
  },
76
68
  "publishConfig": {
77
69
  "access": "public"
@@ -2,50 +2,32 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from '@dxos/app-framework';
5
+ import * as Effect from 'effect/Effect';
6
+
7
+ import { Common, Plugin } from '@dxos/app-framework';
6
8
  import { ComputeGraph } from '@dxos/conductor';
7
- import { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';
8
- import { type CreateObjectIntent } from '@dxos/plugin-space/types';
9
+ import { Obj } from '@dxos/echo';
10
+ import { type CreateObject } from '@dxos/plugin-space/types';
9
11
  import { CanvasBoardType } from '@dxos/react-ui-canvas-editor';
10
12
 
11
- import { IntentResolver, ReactSurface } from './capabilities';
13
+ import { ReactSurface } from './capabilities';
12
14
  import { meta } from './meta';
13
15
  import { translations } from './translations';
14
- import { ConductorAction } from './types';
15
16
 
16
- export const ConductorPlugin = definePlugin(meta, () => [
17
- defineModule({
18
- id: `${meta.id}/module/translations`,
19
- activatesOn: Events.SetupTranslations,
20
- activate: () => contributes(Capabilities.Translations, translations),
21
- }),
22
- defineModule({
23
- id: `${meta.id}/module/metadata`,
24
- activatesOn: Events.SetupMetadata,
25
- activate: () =>
26
- contributes(Capabilities.Metadata, {
27
- id: CanvasBoardType.typename,
28
- metadata: {
29
- icon: 'ph--infinity--regular',
30
- iconHue: 'sky',
31
- createObjectIntent: (() => createIntent(ConductorAction.Create)) satisfies CreateObjectIntent,
32
- addToCollectionOnCreate: true,
33
- },
34
- }),
35
- }),
36
- defineModule({
37
- id: `${meta.id}/module/schema`,
38
- activatesOn: ClientEvents.SetupSchema,
39
- activate: () => contributes(ClientCapabilities.Schema, [CanvasBoardType, ComputeGraph]),
40
- }),
41
- defineModule({
42
- id: `${meta.id}/module/react-surface`,
43
- activatesOn: Events.SetupReactSurface,
44
- activate: ReactSurface,
45
- }),
46
- defineModule({
47
- id: `${meta.id}/module/intent-resolver`,
48
- activatesOn: Events.SetupIntentResolver,
49
- activate: IntentResolver,
17
+ export const ConductorPlugin = Plugin.define(meta).pipe(
18
+ Common.Plugin.addTranslationsModule({ translations }),
19
+ Common.Plugin.addMetadataModule({
20
+ metadata: {
21
+ id: CanvasBoardType.typename,
22
+ metadata: {
23
+ icon: 'ph--infinity--regular',
24
+ iconHue: 'sky',
25
+ createObject: ((props) => Effect.sync(() => Obj.make(CanvasBoardType, props))) satisfies CreateObject,
26
+ addToCollectionOnCreate: true,
27
+ },
28
+ },
50
29
  }),
51
- ]);
30
+ Common.Plugin.addSchemaModule({ schema: [CanvasBoardType, ComputeGraph] }),
31
+ Common.Plugin.addSurfaceModule({ activate: ReactSurface }),
32
+ Plugin.make,
33
+ );
@@ -2,7 +2,4 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { lazy } from '@dxos/app-framework';
6
-
7
- export const IntentResolver = lazy(() => import('./intent-resolver'));
8
- export const ReactSurface = lazy(() => import('./react-surface'));
5
+ export * from './react-surface';
@@ -0,0 +1,7 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Capability } from '@dxos/app-framework';
6
+
7
+ export const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));
@@ -0,0 +1,27 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+ import React from 'react';
7
+
8
+ import { Capability, Common } from '@dxos/app-framework';
9
+ import { Obj } from '@dxos/echo';
10
+ import { CanvasBoardType } from '@dxos/react-ui-canvas-editor';
11
+
12
+ import { CanvasContainer } from '../../components';
13
+ import { meta } from '../../meta';
14
+
15
+ export default Capability.makeModule(() =>
16
+ Effect.succeed(
17
+ Capability.contributes(
18
+ Common.Capability.ReactSurface,
19
+ Common.createSurface({
20
+ id: meta.id,
21
+ role: ['article', 'section'],
22
+ filter: (data): data is { subject: CanvasBoardType } => Obj.instanceOf(CanvasBoardType, data.subject),
23
+ component: ({ data, role }) => <CanvasContainer role={role} subject={data.subject} />,
24
+ }),
25
+ ),
26
+ ),
27
+ );
@@ -2,15 +2,12 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import React, { useEffect, useMemo, useRef } from 'react';
5
+ import React, { Fragment, useEffect, useMemo, useRef } from 'react';
6
6
 
7
- import { type Config } from '@dxos/client';
7
+ import { type SurfaceComponentProps, useCapability } from '@dxos/app-framework/react';
8
8
  import { ComputeGraphModel } from '@dxos/conductor';
9
9
  import { Obj } from '@dxos/echo';
10
- import { DatabaseService, QueueService } from '@dxos/functions';
11
- import { ServiceContainer } from '@dxos/functions-runtime';
12
- import { useConfig } from '@dxos/react-client';
13
- import { type Space, getSpace } from '@dxos/react-client/echo';
10
+ import { AutomationCapabilities } from '@dxos/plugin-automation';
14
11
  import {
15
12
  ComputeContext,
16
13
  ComputeGraphController,
@@ -28,42 +25,11 @@ import {
28
25
  KeyboardContainer,
29
26
  ShapeRegistry,
30
27
  } from '@dxos/react-ui-canvas-editor';
31
- import { StackItem } from '@dxos/react-ui-stack';
28
+ import { Layout, type LayoutFlexProps } from '@dxos/react-ui-mosaic';
32
29
 
33
- const createServices = (config: Config, space?: Space): ServiceContainer => {
34
- return new ServiceContainer().setServices({
35
- database: space == null ? undefined : DatabaseService.make(space.db),
36
- queues: space == null ? undefined : QueueService.make(space.queues, undefined),
37
- });
38
- };
39
-
40
- const useGraphController = (canvas: CanvasBoardType) => {
41
- const config = useConfig();
42
- const space = getSpace(canvas);
43
- const controller = useMemo(() => {
44
- if (!canvas.computeGraph?.target) {
45
- return null;
46
- }
47
- const model = new ComputeGraphModel(canvas.computeGraph?.target);
48
- const controller = new ComputeGraphController(createServices(config, space), model);
49
- return controller;
50
- }, [canvas.computeGraph?.target, space]);
30
+ export type CanvasContainerProps = SurfaceComponentProps<CanvasBoardType>;
51
31
 
52
- useEffect(() => {
53
- if (!controller) {
54
- return;
55
- }
56
-
57
- void controller.open();
58
- return () => {
59
- void controller.close();
60
- };
61
- }, [controller]);
62
-
63
- return controller;
64
- };
65
-
66
- export const CanvasContainer = ({ canvas, role }: { canvas: CanvasBoardType; role: string }) => {
32
+ export const CanvasContainer = ({ role, subject: canvas }: CanvasContainerProps) => {
67
33
  const id = Obj.getDXN(canvas as any).toString();
68
34
  const graph = useMemo(() => CanvasGraphModel.create<ComputeShape>(canvas.layout), [canvas.layout]);
69
35
  const controller = useGraphController(canvas);
@@ -82,9 +48,11 @@ export const CanvasContainer = ({ canvas, role }: { canvas: CanvasBoardType; rol
82
48
  return;
83
49
  }
84
50
 
51
+ const Root = role === 'section' ? Container : Fragment;
52
+
85
53
  return (
86
54
  <ComputeContext.Provider value={{ controller }}>
87
- <StackItem.Content size={role === 'section' ? 'square' : 'intrinsic'}>
55
+ <Root>
88
56
  <KeyboardContainer id={id}>
89
57
  <Editor.Root
90
58
  id={id}
@@ -98,9 +66,37 @@ export const CanvasContainer = ({ canvas, role }: { canvas: CanvasBoardType; rol
98
66
  <Editor.UI showTools />
99
67
  </Editor.Root>
100
68
  </KeyboardContainer>
101
- </StackItem.Content>
69
+ </Root>
102
70
  </ComputeContext.Provider>
103
71
  );
104
72
  };
105
73
 
74
+ const Container = (props: LayoutFlexProps) => <Layout.Flex {...props} classNames='aspect-square' />;
75
+
76
+ const useGraphController = (canvas: CanvasBoardType) => {
77
+ const db = Obj.getDatabase(canvas);
78
+ const runtime = useCapability(AutomationCapabilities.ComputeRuntime);
79
+ const controller = useMemo(() => {
80
+ if (!canvas.computeGraph?.target || !db) {
81
+ return null;
82
+ }
83
+ const model = new ComputeGraphModel(canvas.computeGraph?.target);
84
+ const controller = new ComputeGraphController(runtime.getRuntime(db.spaceId), model);
85
+ return controller;
86
+ }, [canvas.computeGraph?.target, db]);
87
+
88
+ useEffect(() => {
89
+ if (!controller) {
90
+ return;
91
+ }
92
+
93
+ void controller.open();
94
+ return () => {
95
+ void controller.close();
96
+ };
97
+ }, [controller]);
98
+
99
+ return controller;
100
+ };
101
+
106
102
  export default CanvasContainer;
@@ -2,6 +2,4 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { lazy } from 'react';
6
-
7
- export const CanvasContainer = lazy(() => import('./CanvasContainer'));
5
+ export { CanvasContainer } from './CanvasContainer';
package/src/meta.ts CHANGED
@@ -2,10 +2,10 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { type PluginMeta } from '@dxos/app-framework';
5
+ import { type Plugin } from '@dxos/app-framework';
6
6
  import { trim } from '@dxos/util';
7
7
 
8
- export const meta: PluginMeta = {
8
+ export const meta: Plugin.Meta = {
9
9
  id: 'dxos.org/plugin/conductor',
10
10
  name: 'Conductor',
11
11
  description: trim`
@@ -1,5 +1,3 @@
1
1
  //
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
-
5
- export * from './schema';
@@ -1,96 +0,0 @@
1
- // src/components/CanvasContainer.tsx
2
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
3
- import React, { useEffect, useMemo, useRef } from "react";
4
- import { ComputeGraphModel } from "@dxos/conductor";
5
- import { Obj } from "@dxos/echo";
6
- import { DatabaseService, QueueService } from "@dxos/functions";
7
- import { ServiceContainer } from "@dxos/functions-runtime";
8
- import { useConfig } from "@dxos/react-client";
9
- import { getSpace } from "@dxos/react-client/echo";
10
- import { ComputeContext, ComputeGraphController, ComputeShapeLayout, computeShapes, useComputeGraphController, useGraphMonitor } from "@dxos/react-ui-canvas-compute";
11
- import { CanvasGraphModel, Editor, KeyboardContainer, ShapeRegistry } from "@dxos/react-ui-canvas-editor";
12
- import { StackItem } from "@dxos/react-ui-stack";
13
- var createServices = (config, space) => {
14
- return new ServiceContainer().setServices({
15
- database: space == null ? void 0 : DatabaseService.make(space.db),
16
- queues: space == null ? void 0 : QueueService.make(space.queues, void 0)
17
- });
18
- };
19
- var useGraphController = (canvas) => {
20
- const config = useConfig();
21
- const space = getSpace(canvas);
22
- const controller = useMemo(() => {
23
- if (!canvas.computeGraph?.target) {
24
- return null;
25
- }
26
- const model = new ComputeGraphModel(canvas.computeGraph?.target);
27
- const controller2 = new ComputeGraphController(createServices(config, space), model);
28
- return controller2;
29
- }, [
30
- canvas.computeGraph?.target,
31
- space
32
- ]);
33
- useEffect(() => {
34
- if (!controller) {
35
- return;
36
- }
37
- void controller.open();
38
- return () => {
39
- void controller.close();
40
- };
41
- }, [
42
- controller
43
- ]);
44
- return controller;
45
- };
46
- var CanvasContainer = ({ canvas, role }) => {
47
- var _effect = _useSignals();
48
- try {
49
- const id = Obj.getDXN(canvas).toString();
50
- const graph = useMemo(() => CanvasGraphModel.create(canvas.layout), [
51
- canvas.layout
52
- ]);
53
- const controller = useGraphController(canvas);
54
- const graphMonitor = useGraphMonitor(controller?.graph);
55
- const registry = useMemo(() => new ShapeRegistry(computeShapes), []);
56
- const editorRef = useRef(null);
57
- useComputeGraphController({
58
- controller,
59
- graph,
60
- editorRef
61
- });
62
- const layout = useMemo(() => controller && registry ? new ComputeShapeLayout(controller, registry) : void 0, [
63
- controller,
64
- registry
65
- ]);
66
- if (!controller) {
67
- return;
68
- }
69
- return /* @__PURE__ */ React.createElement(ComputeContext.Provider, {
70
- value: {
71
- controller
72
- }
73
- }, /* @__PURE__ */ React.createElement(StackItem.Content, {
74
- size: role === "section" ? "square" : "intrinsic"
75
- }, /* @__PURE__ */ React.createElement(KeyboardContainer, {
76
- id
77
- }, /* @__PURE__ */ React.createElement(Editor.Root, {
78
- id,
79
- ref: editorRef,
80
- graph,
81
- graphMonitor,
82
- registry,
83
- layout
84
- }, /* @__PURE__ */ React.createElement(Editor.Canvas, null), /* @__PURE__ */ React.createElement(Editor.UI, {
85
- showTools: true
86
- })))));
87
- } finally {
88
- _effect.f();
89
- }
90
- };
91
- var CanvasContainer_default = CanvasContainer;
92
- export {
93
- CanvasContainer,
94
- CanvasContainer_default as default
95
- };
96
- //# sourceMappingURL=CanvasContainer-RJPQZ63D.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/CanvasContainer.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useEffect, useMemo, useRef } from 'react';\n\nimport { type Config } from '@dxos/client';\nimport { ComputeGraphModel } from '@dxos/conductor';\nimport { Obj } from '@dxos/echo';\nimport { DatabaseService, QueueService } from '@dxos/functions';\nimport { ServiceContainer } from '@dxos/functions-runtime';\nimport { useConfig } from '@dxos/react-client';\nimport { type Space, getSpace } from '@dxos/react-client/echo';\nimport {\n ComputeContext,\n ComputeGraphController,\n type ComputeShape,\n ComputeShapeLayout,\n computeShapes,\n useComputeGraphController,\n useGraphMonitor,\n} from '@dxos/react-ui-canvas-compute';\nimport {\n type CanvasBoardType,\n CanvasGraphModel,\n Editor,\n type EditorController,\n KeyboardContainer,\n ShapeRegistry,\n} from '@dxos/react-ui-canvas-editor';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nconst createServices = (config: Config, space?: Space): ServiceContainer => {\n return new ServiceContainer().setServices({\n database: space == null ? undefined : DatabaseService.make(space.db),\n queues: space == null ? undefined : QueueService.make(space.queues, undefined),\n });\n};\n\nconst useGraphController = (canvas: CanvasBoardType) => {\n const config = useConfig();\n const space = getSpace(canvas);\n const controller = useMemo(() => {\n if (!canvas.computeGraph?.target) {\n return null;\n }\n const model = new ComputeGraphModel(canvas.computeGraph?.target);\n const controller = new ComputeGraphController(createServices(config, space), model);\n return controller;\n }, [canvas.computeGraph?.target, space]);\n\n useEffect(() => {\n if (!controller) {\n return;\n }\n\n void controller.open();\n return () => {\n void controller.close();\n };\n }, [controller]);\n\n return controller;\n};\n\nexport const CanvasContainer = ({ canvas, role }: { canvas: CanvasBoardType; role: string }) => {\n const id = Obj.getDXN(canvas as any).toString();\n const graph = useMemo(() => CanvasGraphModel.create<ComputeShape>(canvas.layout), [canvas.layout]);\n const controller = useGraphController(canvas);\n const graphMonitor = useGraphMonitor(controller?.graph);\n const registry = useMemo(() => new ShapeRegistry(computeShapes), []);\n const editorRef = useRef<EditorController>(null);\n useComputeGraphController({ controller, graph, editorRef });\n\n // Layout.\n const layout = useMemo(\n () => (controller && registry ? new ComputeShapeLayout(controller, registry) : undefined),\n [controller, registry],\n );\n\n if (!controller) {\n return;\n }\n\n return (\n <ComputeContext.Provider value={{ controller }}>\n <StackItem.Content size={role === 'section' ? 'square' : 'intrinsic'}>\n <KeyboardContainer id={id}>\n <Editor.Root\n id={id}\n ref={editorRef}\n graph={graph}\n graphMonitor={graphMonitor as any}\n registry={registry}\n layout={layout}\n >\n <Editor.Canvas />\n <Editor.UI showTools />\n </Editor.Root>\n </KeyboardContainer>\n </StackItem.Content>\n </ComputeContext.Provider>\n );\n};\n\nexport default CanvasContainer;\n"],
5
- "mappings": ";;AAIA,OAAOA,SAASC,WAAWC,SAASC,cAAc;AAGlD,SAASC,yBAAyB;AAClC,SAASC,WAAW;AACpB,SAASC,iBAAiBC,oBAAoB;AAC9C,SAASC,wBAAwB;AACjC,SAASC,iBAAiB;AAC1B,SAAqBC,gBAAgB;AACrC,SACEC,gBACAC,wBAEAC,oBACAC,eACAC,2BACAC,uBACK;AACP,SAEEC,kBACAC,QAEAC,mBACAC,qBACK;AACP,SAASC,iBAAiB;AAE1B,IAAMC,iBAAiB,CAACC,QAAgBC,UAAAA;AACtC,SAAO,IAAIC,iBAAAA,EAAmBC,YAAY;IACxCC,UAAUH,SAAS,OAAOI,SAAYC,gBAAgBC,KAAKN,MAAMO,EAAE;IACnEC,QAAQR,SAAS,OAAOI,SAAYK,aAAaH,KAAKN,MAAMQ,QAAQJ,MAAAA;EACtE,CAAA;AACF;AAEA,IAAMM,qBAAqB,CAACC,WAAAA;AAC1B,QAAMZ,SAASa,UAAAA;AACf,QAAMZ,QAAQa,SAASF,MAAAA;AACvB,QAAMG,aAAaC,QAAQ,MAAA;AACzB,QAAI,CAACJ,OAAOK,cAAcC,QAAQ;AAChC,aAAO;IACT;AACA,UAAMC,QAAQ,IAAIC,kBAAkBR,OAAOK,cAAcC,MAAAA;AACzD,UAAMH,cAAa,IAAIM,uBAAuBtB,eAAeC,QAAQC,KAAAA,GAAQkB,KAAAA;AAC7E,WAAOJ;EACT,GAAG;IAACH,OAAOK,cAAcC;IAAQjB;GAAM;AAEvCqB,YAAU,MAAA;AACR,QAAI,CAACP,YAAY;AACf;IACF;AAEA,SAAKA,WAAWQ,KAAI;AACpB,WAAO,MAAA;AACL,WAAKR,WAAWS,MAAK;IACvB;EACF,GAAG;IAACT;GAAW;AAEf,SAAOA;AACT;AAEO,IAAMU,kBAAkB,CAAC,EAAEb,QAAQc,KAAI,MAA6C;;;AACzF,UAAMC,KAAKC,IAAIC,OAAOjB,MAAAA,EAAekB,SAAQ;AAC7C,UAAMC,QAAQf,QAAQ,MAAMgB,iBAAiBC,OAAqBrB,OAAOsB,MAAM,GAAG;MAACtB,OAAOsB;KAAO;AACjG,UAAMnB,aAAaJ,mBAAmBC,MAAAA;AACtC,UAAMuB,eAAeC,gBAAgBrB,YAAYgB,KAAAA;AACjD,UAAMM,WAAWrB,QAAQ,MAAM,IAAIsB,cAAcC,aAAAA,GAAgB,CAAA,CAAE;AACnE,UAAMC,YAAYC,OAAyB,IAAA;AAC3CC,8BAA0B;MAAE3B;MAAYgB;MAAOS;IAAU,CAAA;AAGzD,UAAMN,SAASlB,QACb,MAAOD,cAAcsB,WAAW,IAAIM,mBAAmB5B,YAAYsB,QAAAA,IAAYhC,QAC/E;MAACU;MAAYsB;KAAS;AAGxB,QAAI,CAACtB,YAAY;AACf;IACF;AAEA,WACE,sBAAA,cAAC6B,eAAeC,UAAQ;MAACC,OAAO;QAAE/B;MAAW;OAC3C,sBAAA,cAACgC,UAAUC,SAAO;MAACC,MAAMvB,SAAS,YAAY,WAAW;OACvD,sBAAA,cAACwB,mBAAAA;MAAkBvB;OACjB,sBAAA,cAACwB,OAAOC,MAAI;MACVzB;MACA0B,KAAKb;MACLT;MACAI;MACAE;MACAH;OAEA,sBAAA,cAACiB,OAAOG,QAAM,IAAA,GACd,sBAAA,cAACH,OAAOI,IAAE;MAACC,WAAAA;;;;;AAMvB;AAEA,IAAA,0BAAe/B;",
6
- "names": ["React", "useEffect", "useMemo", "useRef", "ComputeGraphModel", "Obj", "DatabaseService", "QueueService", "ServiceContainer", "useConfig", "getSpace", "ComputeContext", "ComputeGraphController", "ComputeShapeLayout", "computeShapes", "useComputeGraphController", "useGraphMonitor", "CanvasGraphModel", "Editor", "KeyboardContainer", "ShapeRegistry", "StackItem", "createServices", "config", "space", "ServiceContainer", "setServices", "database", "undefined", "DatabaseService", "make", "db", "queues", "QueueService", "useGraphController", "canvas", "useConfig", "getSpace", "controller", "useMemo", "computeGraph", "target", "model", "ComputeGraphModel", "ComputeGraphController", "useEffect", "open", "close", "CanvasContainer", "role", "id", "Obj", "getDXN", "toString", "graph", "CanvasGraphModel", "create", "layout", "graphMonitor", "useGraphMonitor", "registry", "ShapeRegistry", "computeShapes", "editorRef", "useRef", "useComputeGraphController", "ComputeShapeLayout", "ComputeContext", "Provider", "value", "StackItem", "Content", "size", "KeyboardContainer", "Editor", "Root", "ref", "Canvas", "UI", "showTools"]
7
- }
@@ -1,25 +0,0 @@
1
- import {
2
- meta
3
- } from "./chunk-PYKBZYTF.mjs";
4
-
5
- // src/types/schema.ts
6
- import * as Schema from "effect/Schema";
7
- import { CanvasBoardType } from "@dxos/react-ui-canvas-editor";
8
- (function(ConductorAction2) {
9
- class Create extends Schema.TaggedClass()(`${meta.id}/action/create`, {
10
- input: Schema.Struct({
11
- name: Schema.optional(Schema.String)
12
- }),
13
- output: Schema.Struct({
14
- object: CanvasBoardType
15
- })
16
- }) {
17
- }
18
- ConductorAction2.Create = Create;
19
- })(ConductorAction || (ConductorAction = {}));
20
- var ConductorAction;
21
-
22
- export {
23
- ConductorAction
24
- };
25
- //# sourceMappingURL=chunk-POMULF74.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/schema.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { CanvasBoardType } from '@dxos/react-ui-canvas-editor';\n\nimport { meta } from '../meta';\n\nexport namespace ConductorAction {\n export class Create extends Schema.TaggedClass<Create>()(`${meta.id}/action/create`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: CanvasBoardType,\n }),\n }) {}\n}\n"],
5
- "mappings": ";;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,uBAAuB;UAIfC,kBAAAA;EACR,MAAMC,eAAsBC,mBAAW,EAAW,GAAGC,KAAKC,EAAE,kBAAkB;IACnFC,OAAcC,cAAO;MACnBC,MAAaC,gBAAgBC,aAAM;IACrC,CAAA;IACAC,QAAeJ,cAAO;MACpBK,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;mBAPSX,SAAAA;AAQf,GATiBD,oBAAAA,kBAAAA,CAAAA,EAAAA;;",
6
- "names": ["Schema", "CanvasBoardType", "ConductorAction", "Create", "TaggedClass", "meta", "id", "input", "Struct", "name", "optional", "String", "output", "object", "CanvasBoardType"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: PluginMeta = {\n id: 'dxos.org/plugin/conductor',\n name: 'Conductor',\n description: trim`\n Visual workflow builder using node-based compute graphs to orchestrate complex AI agent pipelines.\n Connect data sources, transformations, and AI models in a drag-and-drop interface for advanced automation.\n `,\n icon: 'ph--infinity--regular',\n iconHue: 'sky',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-conductor',\n tags: ['labs'],\n screenshots: ['https://dxos.network/plugin-details-canvas-dark.png'],\n};\n"],
5
- "mappings": ";AAKA,SAASA,YAAY;AAEd,IAAMC,OAAmB;EAC9BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,MAAM;IAAC;;EACPC,aAAa;IAAC;;AAChB;",
6
- "names": ["trim", "meta", "id", "name", "description", "trim", "icon", "iconHue", "source", "tags", "screenshots"]
7
- }
@@ -1,34 +0,0 @@
1
- import {
2
- ConductorAction
3
- } from "./chunk-POMULF74.mjs";
4
- import "./chunk-PYKBZYTF.mjs";
5
-
6
- // src/capabilities/intent-resolver.ts
7
- import { Capabilities, contributes, createResolver } from "@dxos/app-framework";
8
- import { ComputeGraph } from "@dxos/conductor";
9
- import { Obj, Ref } from "@dxos/echo";
10
- import { CanvasBoardType } from "@dxos/react-ui-canvas-editor";
11
- var intent_resolver_default = (() => contributes(Capabilities.IntentResolver, createResolver({
12
- intent: ConductorAction.Create,
13
- resolve: ({ name }) => ({
14
- data: {
15
- object: Obj.make(CanvasBoardType, {
16
- name,
17
- computeGraph: Ref.make(Obj.make(ComputeGraph, {
18
- graph: {
19
- nodes: [],
20
- edges: []
21
- }
22
- })),
23
- layout: {
24
- nodes: [],
25
- edges: []
26
- }
27
- })
28
- }
29
- })
30
- })));
31
- export {
32
- intent_resolver_default as default
33
- };
34
- //# sourceMappingURL=intent-resolver-GJHGNHRE.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createResolver } from '@dxos/app-framework';\nimport { ComputeGraph } from '@dxos/conductor';\nimport { Obj, Ref } from '@dxos/echo';\nimport { CanvasBoardType } from '@dxos/react-ui-canvas-editor';\n\nimport { ConductorAction } from '../types';\n\nexport default () =>\n contributes(\n Capabilities.IntentResolver,\n createResolver({\n intent: ConductorAction.Create,\n resolve: ({ name }) => ({\n data: {\n object: Obj.make(CanvasBoardType, {\n name,\n computeGraph: Ref.make(Obj.make(ComputeGraph, { graph: { nodes: [], edges: [] } })),\n layout: { nodes: [], edges: [] },\n }),\n },\n }),\n }),\n );\n"],
5
- "mappings": ";;;;;;AAIA,SAASA,cAAcC,aAAaC,sBAAsB;AAC1D,SAASC,oBAAoB;AAC7B,SAASC,KAAKC,WAAW;AACzB,SAASC,uBAAuB;AAIhC,IAAA,2BAAe,MACbC,YACEC,aAAaC,gBACbC,eAAe;EACbC,QAAQC,gBAAgBC;EACxBC,SAAS,CAAC,EAAEC,KAAI,OAAQ;IACtBC,MAAM;MACJC,QAAQC,IAAIC,KAAKC,iBAAiB;QAChCL;QACAM,cAAcC,IAAIH,KAAKD,IAAIC,KAAKI,cAAc;UAAEC,OAAO;YAAEC,OAAO,CAAA;YAAIC,OAAO,CAAA;UAAG;QAAE,CAAA,CAAA;QAChFC,QAAQ;UAAEF,OAAO,CAAA;UAAIC,OAAO,CAAA;QAAG;MACjC,CAAA;IACF;EACF;AACF,CAAA,CAAA;",
6
- "names": ["Capabilities", "contributes", "createResolver", "ComputeGraph", "Obj", "Ref", "CanvasBoardType", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "ConductorAction", "Create", "resolve", "name", "data", "object", "Obj", "make", "CanvasBoardType", "computeGraph", "Ref", "ComputeGraph", "graph", "nodes", "edges", "layout"]
7
- }
@@ -1,31 +0,0 @@
1
- import {
2
- meta
3
- } from "./chunk-PYKBZYTF.mjs";
4
-
5
- // src/capabilities/react-surface.tsx
6
- import React from "react";
7
- import { Capabilities, contributes, createSurface } from "@dxos/app-framework";
8
- import { Obj } from "@dxos/echo";
9
- import { CanvasBoardType } from "@dxos/react-ui-canvas-editor";
10
-
11
- // src/components/index.ts
12
- import { lazy } from "react";
13
- var CanvasContainer = lazy(() => import("./CanvasContainer-RJPQZ63D.mjs"));
14
-
15
- // src/capabilities/react-surface.tsx
16
- var react_surface_default = (() => contributes(Capabilities.ReactSurface, createSurface({
17
- id: meta.id,
18
- role: [
19
- "article",
20
- "section"
21
- ],
22
- filter: (data) => Obj.instanceOf(CanvasBoardType, data.subject),
23
- component: ({ data, role }) => /* @__PURE__ */ React.createElement(CanvasContainer, {
24
- canvas: data.subject,
25
- role
26
- })
27
- })));
28
- export {
29
- react_surface_default as default
30
- };
31
- //# sourceMappingURL=react-surface-3XDCWHZE.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { CanvasBoardType } from '@dxos/react-ui-canvas-editor';\n\nimport { CanvasContainer } from '../components';\nimport { meta } from '../meta';\n\nexport default () =>\n contributes(\n Capabilities.ReactSurface,\n createSurface({\n id: meta.id,\n role: ['article', 'section'],\n filter: (data): data is { subject: CanvasBoardType } => Obj.instanceOf(CanvasBoardType, data.subject),\n component: ({ data, role }) => <CanvasContainer canvas={data.subject} role={role} />,\n }),\n );\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport const CanvasContainer = lazy(() => import('./CanvasContainer'));\n"],
5
- "mappings": ";;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;AACzD,SAASC,WAAW;AACpB,SAASC,uBAAuB;;;ACJhC,SAASC,YAAY;AAEd,IAAMC,kBAAkBC,KAAK,MAAM,OAAO,gCAAA,CAAA;;;ADOjD,IAAA,yBAAe,MACbC,YACEC,aAAaC,cACbC,cAAc;EACZC,IAAIC,KAAKD;EACTE,MAAM;IAAC;IAAW;;EAClBC,QAAQ,CAACC,SAA+CC,IAAIC,WAAWC,iBAAiBH,KAAKI,OAAO;EACpGC,WAAW,CAAC,EAAEL,MAAMF,KAAI,MAAO,sBAAA,cAACQ,iBAAAA;IAAgBC,QAAQP,KAAKI;IAASN;;AACxE,CAAA,CAAA;",
6
- "names": ["React", "Capabilities", "contributes", "createSurface", "Obj", "CanvasBoardType", "lazy", "CanvasContainer", "lazy", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "Obj", "instanceOf", "CanvasBoardType", "subject", "component", "CanvasContainer", "canvas"]
7
- }
@@ -1,8 +0,0 @@
1
- import {
2
- ConductorAction
3
- } from "../chunk-POMULF74.mjs";
4
- import "../chunk-PYKBZYTF.mjs";
5
- export {
6
- ConductorAction
7
- };
8
- //# sourceMappingURL=index.mjs.map