@dxos/plugin-conductor 0.8.4-main.c85a9c8dae → 0.8.4-main.dfabb4ec29

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 (77) hide show
  1. package/dist/lib/{browser/CanvasContainer-GJPWWILJ.mjs → neutral/CanvasContainer-FRHZ75VW.mjs} +8 -10
  2. package/dist/lib/neutral/CanvasContainer-FRHZ75VW.mjs.map +7 -0
  3. package/dist/lib/neutral/ConductorPlugin.mjs +26 -0
  4. package/dist/lib/neutral/ConductorPlugin.mjs.map +7 -0
  5. package/dist/lib/neutral/capabilities/index.mjs +9 -0
  6. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  7. package/dist/lib/{browser/chunk-GV4DJFU6.mjs → neutral/chunk-M7R7GNE7.mjs} +2 -2
  8. package/dist/lib/{browser/chunk-GV4DJFU6.mjs.map → neutral/chunk-M7R7GNE7.mjs.map} +3 -3
  9. package/dist/lib/neutral/components/index.mjs +1 -0
  10. package/dist/lib/neutral/components/index.mjs.map +7 -0
  11. package/dist/lib/neutral/containers/index.mjs +7 -0
  12. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  13. package/dist/lib/neutral/create-object-IXEBIQ4H.mjs +25 -0
  14. package/dist/lib/neutral/create-object-IXEBIQ4H.mjs.map +7 -0
  15. package/dist/lib/neutral/index.mjs +7 -0
  16. package/dist/lib/neutral/index.mjs.map +7 -0
  17. package/dist/lib/neutral/meta.json +1 -0
  18. package/dist/lib/neutral/meta.mjs +7 -0
  19. package/dist/lib/neutral/meta.mjs.map +7 -0
  20. package/dist/lib/neutral/plugin.mjs +11 -0
  21. package/dist/lib/neutral/plugin.mjs.map +7 -0
  22. package/dist/lib/{browser/react-surface-RLG5OIZN.mjs → neutral/react-surface-G24N7CYF.mjs} +9 -20
  23. package/dist/lib/neutral/react-surface-G24N7CYF.mjs.map +7 -0
  24. package/dist/lib/neutral/translations.mjs +28 -0
  25. package/dist/lib/neutral/translations.mjs.map +7 -0
  26. package/dist/types/src/ConductorPlugin.d.ts +1 -0
  27. package/dist/types/src/ConductorPlugin.d.ts.map +1 -1
  28. package/dist/types/src/ConductorPlugin.test.d.ts +2 -0
  29. package/dist/types/src/ConductorPlugin.test.d.ts.map +1 -0
  30. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  31. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  32. package/dist/types/src/capabilities/index.d.ts +8 -1
  33. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  34. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  35. package/dist/types/src/containers/CanvasContainer/CanvasContainer.d.ts +3 -3
  36. package/dist/types/src/containers/CanvasContainer/CanvasContainer.d.ts.map +1 -1
  37. package/dist/types/src/containers/CanvasContainer/index.d.ts +1 -2
  38. package/dist/types/src/containers/CanvasContainer/index.d.ts.map +1 -1
  39. package/dist/types/src/index.d.ts +0 -1
  40. package/dist/types/src/index.d.ts.map +1 -1
  41. package/dist/types/src/plugin.d.ts +3 -0
  42. package/dist/types/src/plugin.d.ts.map +1 -0
  43. package/dist/types/src/translations.d.ts +24 -15
  44. package/dist/types/src/translations.d.ts.map +1 -1
  45. package/dist/types/tsconfig.tsbuildinfo +1 -1
  46. package/package.json +73 -33
  47. package/src/ConductorPlugin.test.ts +27 -0
  48. package/src/ConductorPlugin.tsx +6 -17
  49. package/src/capabilities/create-object.ts +29 -0
  50. package/src/capabilities/index.ts +4 -1
  51. package/src/capabilities/react-surface.tsx +32 -0
  52. package/src/containers/CanvasContainer/CanvasContainer.tsx +8 -8
  53. package/src/containers/CanvasContainer/index.ts +1 -3
  54. package/src/index.ts +0 -1
  55. package/src/meta.ts +1 -1
  56. package/src/plugin.ts +9 -0
  57. package/src/translations.ts +12 -11
  58. package/dist/lib/browser/CanvasContainer-GJPWWILJ.mjs.map +0 -7
  59. package/dist/lib/browser/index.mjs +0 -64
  60. package/dist/lib/browser/index.mjs.map +0 -7
  61. package/dist/lib/browser/meta.json +0 -1
  62. package/dist/lib/browser/react-surface-RLG5OIZN.mjs.map +0 -7
  63. package/dist/lib/node-esm/CanvasContainer-OGY2XHPA.mjs +0 -91
  64. package/dist/lib/node-esm/CanvasContainer-OGY2XHPA.mjs.map +0 -7
  65. package/dist/lib/node-esm/chunk-DILME6SD.mjs +0 -26
  66. package/dist/lib/node-esm/chunk-DILME6SD.mjs.map +0 -7
  67. package/dist/lib/node-esm/index.mjs +0 -65
  68. package/dist/lib/node-esm/index.mjs.map +0 -7
  69. package/dist/lib/node-esm/meta.json +0 -1
  70. package/dist/lib/node-esm/react-surface-OJ6WPD4B.mjs +0 -34
  71. package/dist/lib/node-esm/react-surface-OJ6WPD4B.mjs.map +0 -7
  72. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  73. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  74. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  75. package/src/capabilities/react-surface/index.ts +0 -7
  76. package/src/capabilities/react-surface/react-surface.tsx +0 -29
  77. /package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-conductor",
3
- "version": "0.8.4-main.c85a9c8dae",
3
+ "version": "0.8.4-main.dfabb4ec29",
4
4
  "description": "Composer plugin for conductor.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -12,12 +12,53 @@
12
12
  "author": "DXOS.org",
13
13
  "sideEffects": true,
14
14
  "type": "module",
15
+ "imports": {
16
+ "#capabilities": {
17
+ "source": "./src/capabilities/index.ts",
18
+ "types": "./dist/types/src/capabilities/index.d.ts",
19
+ "default": "./dist/lib/neutral/capabilities/index.mjs"
20
+ },
21
+ "#components": {
22
+ "source": "./src/components/index.ts",
23
+ "types": "./dist/types/src/components/index.d.ts",
24
+ "default": "./dist/lib/neutral/components/index.mjs"
25
+ },
26
+ "#containers": {
27
+ "source": "./src/containers/index.ts",
28
+ "types": "./dist/types/src/containers/index.d.ts",
29
+ "default": "./dist/lib/neutral/containers/index.mjs"
30
+ },
31
+ "#meta": {
32
+ "source": "./src/meta.ts",
33
+ "types": "./dist/types/src/meta.d.ts",
34
+ "default": "./dist/lib/neutral/meta.mjs"
35
+ },
36
+ "#plugin": {
37
+ "source": "./src/ConductorPlugin.tsx",
38
+ "types": "./dist/types/src/ConductorPlugin.d.ts",
39
+ "default": "./dist/lib/neutral/ConductorPlugin.mjs"
40
+ },
41
+ "#translations": {
42
+ "source": "./src/translations.ts",
43
+ "types": "./dist/types/src/translations.d.ts",
44
+ "default": "./dist/lib/neutral/translations.mjs"
45
+ }
46
+ },
15
47
  "exports": {
16
48
  ".": {
17
49
  "source": "./src/index.ts",
18
- "browser": "./dist/lib/browser/index.mjs",
19
- "node": "./dist/lib/node-esm/index.mjs",
20
- "types": "./dist/types/src/index.d.ts"
50
+ "types": "./dist/types/src/index.d.ts",
51
+ "default": "./dist/lib/neutral/index.mjs"
52
+ },
53
+ "./plugin": {
54
+ "source": "./src/plugin.ts",
55
+ "types": "./dist/types/src/plugin.d.ts",
56
+ "default": "./dist/lib/neutral/plugin.mjs"
57
+ },
58
+ "./translations": {
59
+ "source": "./src/translations.ts",
60
+ "types": "./dist/types/src/translations.d.ts",
61
+ "default": "./dist/lib/neutral/translations.mjs"
21
62
  }
22
63
  },
23
64
  "types": "dist/types/src/index.d.ts",
@@ -26,45 +67,44 @@
26
67
  "src"
27
68
  ],
28
69
  "dependencies": {
29
- "effect": "3.19.16",
30
- "@dxos/ai": "0.8.4-main.c85a9c8dae",
31
- "@dxos/app-framework": "0.8.4-main.c85a9c8dae",
32
- "@dxos/app-toolkit": "0.8.4-main.c85a9c8dae",
33
- "@dxos/assistant": "0.8.4-main.c85a9c8dae",
34
- "@dxos/conductor": "0.8.4-main.c85a9c8dae",
35
- "@dxos/debug": "0.8.4-main.c85a9c8dae",
36
- "@dxos/echo": "0.8.4-main.c85a9c8dae",
37
- "@dxos/functions": "0.8.4-main.c85a9c8dae",
38
- "@dxos/edge-client": "0.8.4-main.c85a9c8dae",
39
- "@dxos/functions-runtime": "0.8.4-main.c85a9c8dae",
40
- "@dxos/log": "0.8.4-main.c85a9c8dae",
41
- "@dxos/plugin-automation": "0.8.4-main.c85a9c8dae",
42
- "@dxos/operation": "0.8.4-main.c85a9c8dae",
43
- "@dxos/plugin-client": "0.8.4-main.c85a9c8dae",
44
- "@dxos/plugin-space": "0.8.4-main.c85a9c8dae",
45
- "@dxos/react-client": "0.8.4-main.c85a9c8dae",
46
- "@dxos/react-ui-canvas-editor": "0.8.4-main.c85a9c8dae",
47
- "@dxos/react-ui-mosaic": "0.8.4-main.c85a9c8dae",
48
- "@dxos/util": "0.8.4-main.c85a9c8dae",
49
- "@dxos/react-ui-stack": "0.8.4-main.c85a9c8dae",
50
- "@dxos/react-ui-canvas-compute": "0.8.4-main.c85a9c8dae"
70
+ "effect": "3.20.0",
71
+ "@dxos/app-toolkit": "0.8.4-main.dfabb4ec29",
72
+ "@dxos/ai": "0.8.4-main.dfabb4ec29",
73
+ "@dxos/compute": "0.8.4-main.dfabb4ec29",
74
+ "@dxos/conductor": "0.8.4-main.dfabb4ec29",
75
+ "@dxos/assistant": "0.8.4-main.dfabb4ec29",
76
+ "@dxos/debug": "0.8.4-main.dfabb4ec29",
77
+ "@dxos/log": "0.8.4-main.dfabb4ec29",
78
+ "@dxos/edge-client": "0.8.4-main.dfabb4ec29",
79
+ "@dxos/app-framework": "0.8.4-main.dfabb4ec29",
80
+ "@dxos/plugin-automation": "0.8.4-main.dfabb4ec29",
81
+ "@dxos/react-client": "0.8.4-main.dfabb4ec29",
82
+ "@dxos/plugin-client": "0.8.4-main.dfabb4ec29",
83
+ "@dxos/plugin-space": "0.8.4-main.dfabb4ec29",
84
+ "@dxos/react-ui-canvas-compute": "0.8.4-main.dfabb4ec29",
85
+ "@dxos/util": "0.8.4-main.dfabb4ec29",
86
+ "@dxos/react-ui-stack": "0.8.4-main.dfabb4ec29",
87
+ "@dxos/echo": "0.8.4-main.dfabb4ec29",
88
+ "@dxos/react-ui-mosaic": "0.8.4-main.dfabb4ec29",
89
+ "@dxos/react-ui-canvas-editor": "0.8.4-main.dfabb4ec29"
51
90
  },
52
91
  "devDependencies": {
53
92
  "@types/react": "~19.2.7",
54
93
  "@types/react-dom": "~19.2.3",
55
94
  "react": "~19.2.3",
56
95
  "react-dom": "~19.2.3",
57
- "vite": "^7.1.11",
58
- "@dxos/react-ui": "0.8.4-main.c85a9c8dae",
59
- "@dxos/storybook-utils": "0.8.4-main.c85a9c8dae",
60
- "@dxos/ui-theme": "0.8.4-main.c85a9c8dae"
96
+ "vite": "^8.0.10",
97
+ "@dxos/plugin-testing": "0.8.4-main.dfabb4ec29",
98
+ "@dxos/storybook-utils": "0.8.4-main.dfabb4ec29",
99
+ "@dxos/react-ui": "0.8.4-main.dfabb4ec29",
100
+ "@dxos/ui-theme": "0.8.4-main.dfabb4ec29"
61
101
  },
62
102
  "peerDependencies": {
63
- "effect": "3.19.16",
103
+ "effect": "3.20.0",
64
104
  "react": "~19.2.3",
65
105
  "react-dom": "~19.2.3",
66
- "@dxos/react-ui": "0.8.4-main.c85a9c8dae",
67
- "@dxos/ui-theme": "0.8.4-main.c85a9c8dae"
106
+ "@dxos/react-ui": "0.8.4-main.dfabb4ec29",
107
+ "@dxos/ui-theme": "0.8.4-main.dfabb4ec29"
68
108
  },
69
109
  "publishConfig": {
70
110
  "access": "public"
@@ -0,0 +1,27 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import { describe, test } from 'vitest';
6
+
7
+ import { ClientPlugin } from '@dxos/plugin-client/plugin';
8
+ import { createComposerTestApp } from '@dxos/plugin-testing/harness';
9
+
10
+ import { ConductorPlugin } from '#plugin';
11
+
12
+ import { meta } from './meta';
13
+
14
+ const moduleId = (name: string) => `${meta.id}.module.${name}`;
15
+
16
+ describe('ConductorPlugin', () => {
17
+ test('modules activate on the expected events', async ({ expect }) => {
18
+ await using harness = await createComposerTestApp({
19
+ plugins: [ClientPlugin({}), ConductorPlugin()],
20
+ });
21
+
22
+ // Modules expected to be active after a normal startup.
23
+ expect(harness.manager.getActive()).toEqual(
24
+ expect.arrayContaining([moduleId('CreateObject'), moduleId('schema'), moduleId('ReactSurface')]),
25
+ );
26
+ });
27
+ });
@@ -2,32 +2,21 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import * as Effect from 'effect/Effect';
6
-
7
5
  import { Plugin } from '@dxos/app-framework';
8
6
  import { AppPlugin } from '@dxos/app-toolkit';
9
7
  import { ComputeGraph } from '@dxos/conductor';
10
- import { type CreateObject } from '@dxos/plugin-space/types';
11
8
  import { CanvasBoard } from '@dxos/react-ui-canvas-editor';
12
9
 
13
- import { ReactSurface } from './capabilities';
14
- import { meta } from './meta';
15
- import { translations } from './translations';
10
+ import { CreateObject, ReactSurface } from '#capabilities';
11
+ import { meta } from '#meta';
12
+ import { translations } from '#translations';
16
13
 
17
14
  export const ConductorPlugin = Plugin.define(meta).pipe(
18
- AppPlugin.addMetadataModule({
19
- metadata: {
20
- id: CanvasBoard.CanvasBoard.typename,
21
- metadata: {
22
- icon: 'ph--infinity--regular',
23
- iconHue: 'sky',
24
- createObject: ((props) => Effect.sync(() => CanvasBoard.make(props))) satisfies CreateObject,
25
- addToCollectionOnCreate: true,
26
- },
27
- },
28
- }),
15
+ AppPlugin.addCreateObjectModule({ activate: CreateObject }),
29
16
  AppPlugin.addSchemaModule({ schema: [CanvasBoard.CanvasBoard, ComputeGraph] }),
30
17
  AppPlugin.addSurfaceModule({ activate: ReactSurface }),
31
18
  AppPlugin.addTranslationsModule({ translations }),
32
19
  Plugin.make,
33
20
  );
21
+
22
+ export default ConductorPlugin;
@@ -0,0 +1,29 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+
7
+ import { Capability } from '@dxos/app-framework';
8
+ import { Operation } from '@dxos/compute';
9
+ import { SpaceOperation } from '@dxos/plugin-space';
10
+ import { SpaceCapabilities } from '@dxos/plugin-space';
11
+ import { CanvasBoard } from '@dxos/react-ui-canvas-editor';
12
+
13
+ export default Capability.makeModule(
14
+ Effect.fnUntraced(function* () {
15
+ return Capability.contributes(SpaceCapabilities.CreateObjectEntry, {
16
+ id: CanvasBoard.CanvasBoard.typename,
17
+ createObject: (props, options) =>
18
+ Effect.gen(function* () {
19
+ const object = CanvasBoard.make(props);
20
+ return yield* Operation.invoke(SpaceOperation.AddObject, {
21
+ object,
22
+ target: options.target,
23
+ hidden: true,
24
+ targetNodeId: options.targetNodeId,
25
+ });
26
+ }),
27
+ });
28
+ }),
29
+ );
@@ -2,4 +2,7 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- export * from './react-surface';
5
+ import { Capability } from '@dxos/app-framework';
6
+
7
+ export const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));
8
+ export const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));
@@ -0,0 +1,32 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+ import React from 'react';
7
+
8
+ import { Capabilities, Capability } from '@dxos/app-framework';
9
+ import { Surface } from '@dxos/app-framework/ui';
10
+ import { AppSurface } from '@dxos/app-toolkit/ui';
11
+ import { CanvasBoard } from '@dxos/react-ui-canvas-editor';
12
+
13
+ import { CanvasContainer } from '#containers';
14
+
15
+ export default Capability.makeModule(() =>
16
+ Effect.succeed(
17
+ Capability.contributes(
18
+ Capabilities.ReactSurface,
19
+ Surface.create({
20
+ id: 'root',
21
+ // TODO(wittjosiah): Split into multiple surfaces if this filter proves too strict for non-article roles.
22
+ filter: AppSurface.oneOf(
23
+ AppSurface.object(AppSurface.Article, CanvasBoard.CanvasBoard),
24
+ AppSurface.object(AppSurface.Section, CanvasBoard.CanvasBoard),
25
+ ),
26
+ component: ({ data, role }) => (
27
+ <CanvasContainer role={role} subject={data.subject} attendableId={data.attendableId} />
28
+ ),
29
+ }),
30
+ ),
31
+ ),
32
+ );
@@ -5,7 +5,7 @@
5
5
  import React, { Fragment, useEffect, useMemo, useRef } from 'react';
6
6
 
7
7
  import { useCapability } from '@dxos/app-framework/ui';
8
- import { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';
8
+ import { type AppSurface } from '@dxos/app-toolkit/ui';
9
9
  import { ComputeGraphModel } from '@dxos/conductor';
10
10
  import { Obj } from '@dxos/echo';
11
11
  import { AutomationCapabilities } from '@dxos/plugin-automation';
@@ -29,16 +29,16 @@ import {
29
29
  ShapeRegistry,
30
30
  } from '@dxos/react-ui-canvas-editor';
31
31
 
32
- export type CanvasContainerProps = SurfaceComponentProps<CanvasBoard.CanvasBoard>;
32
+ export type CanvasContainerProps = AppSurface.ObjectArticleProps<CanvasBoard.CanvasBoard>;
33
33
 
34
- export const CanvasContainer = ({ role, subject: canvas }: CanvasContainerProps) => {
35
- const id = Obj.getDXN(canvas as any).toString();
36
- useObject(canvas);
34
+ export const CanvasContainer = ({ role, subject, attendableId: _attendableId }: CanvasContainerProps) => {
35
+ const [canvas] = useObject(subject);
36
+ const id = Obj.getDXN(canvas).toString();
37
37
  const graph = useMemo(
38
- () => CanvasGraphModel.create<ComputeShape>(canvas.layout, (fn) => Obj.change(canvas, fn)),
39
- [canvas],
38
+ () => CanvasGraphModel.create<ComputeShape>(canvas.layout, (fn) => Obj.update(subject, fn)),
39
+ [subject, canvas.layout],
40
40
  );
41
- const controller = useGraphController(canvas);
41
+ const controller = useGraphController(subject);
42
42
  const graphMonitor = useGraphMonitor(controller?.graph);
43
43
  const registry = useMemo(() => new ShapeRegistry(computeShapes), []);
44
44
  const editorRef = useRef<EditorController>(null);
@@ -2,6 +2,4 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { CanvasContainer } from './CanvasContainer';
6
-
7
- export default CanvasContainer;
5
+ export { CanvasContainer as default } from './CanvasContainer';
package/src/index.ts CHANGED
@@ -2,5 +2,4 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- export * from './ConductorPlugin';
6
5
  export * from './meta';
package/src/meta.ts CHANGED
@@ -6,7 +6,7 @@ import { type Plugin } from '@dxos/app-framework';
6
6
  import { trim } from '@dxos/util';
7
7
 
8
8
  export const meta: Plugin.Meta = {
9
- id: 'dxos.org/plugin/conductor',
9
+ id: 'org.dxos.plugin.conductor',
10
10
  name: 'Conductor',
11
11
  description: trim`
12
12
  Visual workflow builder using node-based compute graphs to orchestrate complex AI agent pipelines.
package/src/plugin.ts ADDED
@@ -0,0 +1,9 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import { Plugin } from '@dxos/app-framework';
6
+
7
+ import { meta } from './meta';
8
+
9
+ export const ConductorPlugin = Plugin.lazy(meta, () => import('#plugin'));
@@ -5,24 +5,25 @@
5
5
  import { type Resource } from '@dxos/react-ui';
6
6
  import { CanvasBoard } from '@dxos/react-ui-canvas-editor';
7
7
 
8
- import { meta } from './meta';
8
+ import { meta } from '#meta';
9
9
 
10
10
  export const translations = [
11
11
  {
12
12
  'en-US': {
13
13
  [CanvasBoard.CanvasBoard.typename]: {
14
- 'typename label': 'Circuit',
15
- 'typename label_zero': 'Circuits',
16
- 'typename label_one': 'Circuit',
17
- 'typename label_other': 'Circuits',
18
- 'object name placeholder': 'New circuit',
19
- 'rename object label': 'Rename circuit',
20
- 'delete object label': 'Delete circuit',
21
- 'object deleted label': 'Circuit deleted',
14
+ 'typename.label': 'Circuit',
15
+ 'typename.label_zero': 'Circuits',
16
+ 'typename.label_one': 'Circuit',
17
+ 'typename.label_other': 'Circuits',
18
+ 'object-name.placeholder': 'New circuit',
19
+ 'add-object.label': 'Add circuit',
20
+ 'rename-object.label': 'Rename circuit',
21
+ 'delete-object.label': 'Delete circuit',
22
+ 'object-deleted.label': 'Circuit deleted',
22
23
  },
23
24
  [meta.id]: {
24
- 'plugin name': 'Conductor',
25
- 'content placeholder': 'Enter text...',
25
+ 'plugin.name': 'Conductor',
26
+ 'content.placeholder': 'Enter text...',
26
27
  },
27
28
  },
28
29
  },
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/containers/CanvasContainer/CanvasContainer.tsx", "../../../src/containers/CanvasContainer/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { Fragment, useEffect, useMemo, useRef } from 'react';\n\nimport { useCapability } from '@dxos/app-framework/ui';\nimport { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';\nimport { ComputeGraphModel } from '@dxos/conductor';\nimport { Obj } from '@dxos/echo';\nimport { AutomationCapabilities } from '@dxos/plugin-automation';\nimport { useObject } from '@dxos/react-client/echo';\nimport { Flex, type FlexProps } from '@dxos/react-ui';\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 CanvasBoard,\n CanvasGraphModel,\n Editor,\n type EditorController,\n KeyboardContainer,\n ShapeRegistry,\n} from '@dxos/react-ui-canvas-editor';\n\nexport type CanvasContainerProps = SurfaceComponentProps<CanvasBoard.CanvasBoard>;\n\nexport const CanvasContainer = ({ role, subject: canvas }: CanvasContainerProps) => {\n const id = Obj.getDXN(canvas as any).toString();\n useObject(canvas);\n const graph = useMemo(\n () => CanvasGraphModel.create<ComputeShape>(canvas.layout, (fn) => Obj.change(canvas, fn)),\n [canvas],\n );\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 const Root = role === 'section' ? Container : Fragment;\n\n return (\n <ComputeContext.Provider value={{ controller }}>\n <Root>\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 </Root>\n </ComputeContext.Provider>\n );\n};\n\nconst Container = (props: FlexProps) => <Flex {...props} classNames='aspect-square' />;\n\nconst useGraphController = (canvas: CanvasBoard.CanvasBoard) => {\n const db = Obj.getDatabase(canvas);\n const runtime = useCapability(AutomationCapabilities.ComputeRuntime);\n const [computeGraph] = useObject(canvas.computeGraph);\n const controller = useMemo(() => {\n if (!canvas.computeGraph?.target || !db) {\n return null;\n }\n const model = new ComputeGraphModel(canvas.computeGraph?.target);\n const controller = new ComputeGraphController(runtime.getRuntime(db.spaceId), model);\n return controller;\n }, [computeGraph, db]);\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", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { CanvasContainer } from './CanvasContainer';\n\nexport default CanvasContainer;\n"],
5
- "mappings": ";AAIA,OAAOA,SAASC,UAAUC,WAAWC,SAASC,cAAc;AAE5D,SAASC,qBAAqB;AAE9B,SAASC,yBAAyB;AAClC,SAASC,WAAW;AACpB,SAASC,8BAA8B;AACvC,SAASC,iBAAiB;AAC1B,SAASC,YAA4B;AACrC,SACEC,gBACAC,wBAEAC,oBACAC,eACAC,2BACAC,uBACK;AACP,SAEEC,kBACAC,QAEAC,mBACAC,qBACK;AAIA,IAAMC,kBAAkB,CAAC,EAAEC,MAAMC,SAASC,OAAM,MAAwB;AAC7E,QAAMC,KAAKC,IAAIC,OAAOH,MAAAA,EAAeI,SAAQ;AAC7CC,YAAUL,MAAAA;AACV,QAAMM,QAAQC,QACZ,MAAMC,iBAAiBC,OAAqBT,OAAOU,QAAQ,CAACC,OAAOT,IAAIU,OAAOZ,QAAQW,EAAAA,CAAAA,GACtF;IAACX;GAAO;AAEV,QAAMa,aAAaC,mBAAmBd,MAAAA;AACtC,QAAMe,eAAeC,gBAAgBH,YAAYP,KAAAA;AACjD,QAAMW,WAAWV,QAAQ,MAAM,IAAIW,cAAcC,aAAAA,GAAgB,CAAA,CAAE;AACnE,QAAMC,YAAYC,OAAyB,IAAA;AAC3CC,4BAA0B;IAAET;IAAYP;IAAOc;EAAU,CAAA;AAGzD,QAAMV,SAASH,QACb,MAAOM,cAAcI,WAAW,IAAIM,mBAAmBV,YAAYI,QAAAA,IAAYO,QAC/E;IAACX;IAAYI;GAAS;AAGxB,MAAI,CAACJ,YAAY;AACf;EACF;AAEA,QAAMY,OAAO3B,SAAS,YAAY4B,YAAYC;AAE9C,SACE,sBAAA,cAACC,eAAeC,UAAQ;IAACC,OAAO;MAAEjB;IAAW;KAC3C,sBAAA,cAACY,MAAAA,MACC,sBAAA,cAACM,mBAAAA;IAAkB9B;KACjB,sBAAA,cAAC+B,OAAOP,MAAI;IACVxB;IACAgC,KAAKb;IACLd;IACAS;IACAE;IACAP;KAEA,sBAAA,cAACsB,OAAOE,QAAM,IAAA,GACd,sBAAA,cAACF,OAAOG,IAAE;IAACC,WAAAA;;AAMvB;AAEA,IAAMV,YAAY,CAACW,UAAqB,sBAAA,cAACC,MAAAA;EAAM,GAAGD;EAAOE,YAAW;;AAEpE,IAAMzB,qBAAqB,CAACd,WAAAA;AAC1B,QAAMwC,KAAKtC,IAAIuC,YAAYzC,MAAAA;AAC3B,QAAM0C,UAAUC,cAAcC,uBAAuBC,cAAc;AACnE,QAAM,CAACC,YAAAA,IAAgBzC,UAAUL,OAAO8C,YAAY;AACpD,QAAMjC,aAAaN,QAAQ,MAAA;AACzB,QAAI,CAACP,OAAO8C,cAAcC,UAAU,CAACP,IAAI;AACvC,aAAO;IACT;AACA,UAAMQ,QAAQ,IAAIC,kBAAkBjD,OAAO8C,cAAcC,MAAAA;AACzD,UAAMlC,cAAa,IAAIqC,uBAAuBR,QAAQS,WAAWX,GAAGY,OAAO,GAAGJ,KAAAA;AAC9E,WAAOnC;EACT,GAAG;IAACiC;IAAcN;GAAG;AAErBa,YAAU,MAAA;AACR,QAAI,CAACxC,YAAY;AACf;IACF;AAEA,SAAKA,WAAWyC,KAAI;AACpB,WAAO,MAAA;AACL,WAAKzC,WAAW0C,MAAK;IACvB;EACF,GAAG;IAAC1C;GAAW;AAEf,SAAOA;AACT;;;ACpGA,IAAA,0BAAe2C;",
6
- "names": ["React", "Fragment", "useEffect", "useMemo", "useRef", "useCapability", "ComputeGraphModel", "Obj", "AutomationCapabilities", "useObject", "Flex", "ComputeContext", "ComputeGraphController", "ComputeShapeLayout", "computeShapes", "useComputeGraphController", "useGraphMonitor", "CanvasGraphModel", "Editor", "KeyboardContainer", "ShapeRegistry", "CanvasContainer", "role", "subject", "canvas", "id", "Obj", "getDXN", "toString", "useObject", "graph", "useMemo", "CanvasGraphModel", "create", "layout", "fn", "change", "controller", "useGraphController", "graphMonitor", "useGraphMonitor", "registry", "ShapeRegistry", "computeShapes", "editorRef", "useRef", "useComputeGraphController", "ComputeShapeLayout", "undefined", "Root", "Container", "Fragment", "ComputeContext", "Provider", "value", "KeyboardContainer", "Editor", "ref", "Canvas", "UI", "showTools", "props", "Flex", "classNames", "db", "getDatabase", "runtime", "useCapability", "AutomationCapabilities", "ComputeRuntime", "computeGraph", "target", "model", "ComputeGraphModel", "ComputeGraphController", "getRuntime", "spaceId", "useEffect", "open", "close", "CanvasContainer"]
7
- }
@@ -1,64 +0,0 @@
1
- import {
2
- meta
3
- } from "./chunk-GV4DJFU6.mjs";
4
-
5
- // src/ConductorPlugin.tsx
6
- import * as Effect from "effect/Effect";
7
- import { Plugin } from "@dxos/app-framework";
8
- import { AppPlugin } from "@dxos/app-toolkit";
9
- import { ComputeGraph } from "@dxos/conductor";
10
- import { CanvasBoard as CanvasBoard2 } from "@dxos/react-ui-canvas-editor";
11
-
12
- // src/capabilities/react-surface/index.ts
13
- import { Capability } from "@dxos/app-framework";
14
- var ReactSurface = Capability.lazy("ReactSurface", () => import("./react-surface-RLG5OIZN.mjs"));
15
-
16
- // src/translations.ts
17
- import { CanvasBoard } from "@dxos/react-ui-canvas-editor";
18
- var translations = [
19
- {
20
- "en-US": {
21
- [CanvasBoard.CanvasBoard.typename]: {
22
- "typename label": "Circuit",
23
- "typename label_zero": "Circuits",
24
- "typename label_one": "Circuit",
25
- "typename label_other": "Circuits",
26
- "object name placeholder": "New circuit",
27
- "rename object label": "Rename circuit",
28
- "delete object label": "Delete circuit",
29
- "object deleted label": "Circuit deleted"
30
- },
31
- [meta.id]: {
32
- "plugin name": "Conductor",
33
- "content placeholder": "Enter text..."
34
- }
35
- }
36
- }
37
- ];
38
-
39
- // src/ConductorPlugin.tsx
40
- var ConductorPlugin = Plugin.define(meta).pipe(AppPlugin.addMetadataModule({
41
- metadata: {
42
- id: CanvasBoard2.CanvasBoard.typename,
43
- metadata: {
44
- icon: "ph--infinity--regular",
45
- iconHue: "sky",
46
- createObject: (props) => Effect.sync(() => CanvasBoard2.make(props)),
47
- addToCollectionOnCreate: true
48
- }
49
- }
50
- }), AppPlugin.addSchemaModule({
51
- schema: [
52
- CanvasBoard2.CanvasBoard,
53
- ComputeGraph
54
- ]
55
- }), AppPlugin.addSurfaceModule({
56
- activate: ReactSurface
57
- }), AppPlugin.addTranslationsModule({
58
- translations
59
- }), Plugin.make);
60
- export {
61
- ConductorPlugin,
62
- meta
63
- };
64
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/ConductorPlugin.tsx", "../../../src/capabilities/react-surface/index.ts", "../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { ComputeGraph } from '@dxos/conductor';\nimport { type CreateObject } from '@dxos/plugin-space/types';\nimport { CanvasBoard } from '@dxos/react-ui-canvas-editor';\n\nimport { ReactSurface } from './capabilities';\nimport { meta } from './meta';\nimport { translations } from './translations';\n\nexport const ConductorPlugin = Plugin.define(meta).pipe(\n AppPlugin.addMetadataModule({\n metadata: {\n id: CanvasBoard.CanvasBoard.typename,\n metadata: {\n icon: 'ph--infinity--regular',\n iconHue: 'sky',\n createObject: ((props) => Effect.sync(() => CanvasBoard.make(props))) satisfies CreateObject,\n addToCollectionOnCreate: true,\n },\n },\n }),\n AppPlugin.addSchemaModule({ schema: [CanvasBoard.CanvasBoard, ComputeGraph] }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.make,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\nimport { CanvasBoard } from '@dxos/react-ui-canvas-editor';\n\nimport { meta } from './meta';\n\nexport const translations = [\n {\n 'en-US': {\n [CanvasBoard.CanvasBoard.typename]: {\n 'typename label': 'Circuit',\n 'typename label_zero': 'Circuits',\n 'typename label_one': 'Circuit',\n 'typename label_other': 'Circuits',\n 'object name placeholder': 'New circuit',\n 'rename object label': 'Rename circuit',\n 'delete object label': 'Delete circuit',\n 'object deleted label': 'Circuit deleted',\n },\n [meta.id]: {\n 'plugin name': 'Conductor',\n 'content placeholder': 'Enter text...',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
- "mappings": ";;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,oBAAoB;AAE7B,SAASC,eAAAA,oBAAmB;;;ACN5B,SAASC,kBAAkB;AAEpB,IAAMC,eAAeC,WAAWC,KAAK,gBAAgB,MAAM,OAAO,8BAAA,CAAA;;;ACDzE,SAASC,mBAAmB;AAIrB,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,YAAYA,YAAYC,QAAQ,GAAG;QAClC,kBAAkB;QAClB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;QAC3B,uBAAuB;QACvB,uBAAuB;QACvB,wBAAwB;MAC1B;MACA,CAACC,KAAKC,EAAE,GAAG;QACT,eAAe;QACf,uBAAuB;MACzB;IACF;EACF;;;;AFXK,IAAMC,kBAAkBC,OAAOC,OAAOC,IAAAA,EAAMC,KACjDC,UAAUC,kBAAkB;EAC1BC,UAAU;IACRC,IAAIC,aAAYA,YAAYC;IAC5BH,UAAU;MACRI,MAAM;MACNC,SAAS;MACTC,cAAe,CAACC,UAAiBC,YAAK,MAAMN,aAAYO,KAAKF,KAAAA,CAAAA;MAC7DG,yBAAyB;IAC3B;EACF;AACF,CAAA,GACAZ,UAAUa,gBAAgB;EAAEC,QAAQ;IAACV,aAAYA;IAAaW;;AAAc,CAAA,GAC5Ef,UAAUgB,iBAAiB;EAAEC,UAAUC;AAAa,CAAA,GACpDlB,UAAUmB,sBAAsB;EAAEC;AAAa,CAAA,GAC/CxB,OAAOe,IAAI;",
6
- "names": ["Effect", "Plugin", "AppPlugin", "ComputeGraph", "CanvasBoard", "Capability", "ReactSurface", "Capability", "lazy", "CanvasBoard", "translations", "CanvasBoard", "typename", "meta", "id", "ConductorPlugin", "Plugin", "define", "meta", "pipe", "AppPlugin", "addMetadataModule", "metadata", "id", "CanvasBoard", "typename", "icon", "iconHue", "createObject", "props", "sync", "make", "addToCollectionOnCreate", "addSchemaModule", "schema", "ComputeGraph", "addSurfaceModule", "activate", "ReactSurface", "addTranslationsModule", "translations"]
7
- }
@@ -1 +0,0 @@
1
- {"inputs":{"src/containers/CanvasContainer/CanvasContainer.tsx":{"bytes":11210,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/conductor","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-automation","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-canvas-compute","kind":"import-statement","external":true},{"path":"@dxos/react-ui-canvas-editor","kind":"import-statement","external":true}],"format":"esm"},"src/containers/CanvasContainer/index.ts":{"bytes":692,"imports":[{"path":"src/containers/CanvasContainer/CanvasContainer.tsx","kind":"import-statement","original":"./CanvasContainer"}],"format":"esm"},"src/containers/index.ts":{"bytes":819,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/containers/CanvasContainer/index.ts","kind":"dynamic-import","original":"./CanvasContainer"}],"format":"esm"},"src/meta.ts":{"bytes":2257,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/react-surface/react-surface.tsx":{"bytes":3436,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-canvas-editor","kind":"import-statement","external":true},{"path":"src/containers/index.ts","kind":"import-statement","original":"../../containers"},{"path":"src/meta.ts","kind":"import-statement","original":"../../meta"}],"format":"esm"},"src/capabilities/react-surface/index.ts":{"bytes":913,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/react-surface/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":490,"imports":[{"path":"src/capabilities/react-surface/index.ts","kind":"import-statement","original":"./react-surface"}],"format":"esm"},"src/translations.ts":{"bytes":2754,"imports":[{"path":"@dxos/react-ui-canvas-editor","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/ConductorPlugin.tsx":{"bytes":4119,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/conductor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-canvas-editor","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"src/index.ts":{"bytes":559,"imports":[{"path":"src/ConductorPlugin.tsx","kind":"import-statement","original":"./ConductorPlugin"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3708},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-GV4DJFU6.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/conductor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-canvas-editor","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/browser/react-surface-RLG5OIZN.mjs","kind":"dynamic-import"},{"path":"@dxos/react-ui-canvas-editor","kind":"import-statement","external":true}],"exports":["ConductorPlugin","meta"],"entryPoint":"src/index.ts","inputs":{"src/ConductorPlugin.tsx":{"bytesInOutput":813},"src/capabilities/react-surface/index.ts":{"bytesInOutput":148},"src/capabilities/index.ts":{"bytesInOutput":0},"src/translations.ts":{"bytesInOutput":639},"src/index.ts":{"bytesInOutput":0}},"bytes":1844},"dist/lib/browser/CanvasContainer-GJPWWILJ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6477},"dist/lib/browser/CanvasContainer-GJPWWILJ.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/conductor","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-automation","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-canvas-compute","kind":"import-statement","external":true},{"path":"@dxos/react-ui-canvas-editor","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/containers/CanvasContainer/index.ts","inputs":{"src/containers/CanvasContainer/CanvasContainer.tsx":{"bytesInOutput":2782},"src/containers/CanvasContainer/index.ts":{"bytesInOutput":47}},"bytes":3030},"dist/lib/browser/react-surface-RLG5OIZN.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2079},"dist/lib/browser/react-surface-RLG5OIZN.mjs":{"imports":[{"path":"dist/lib/browser/chunk-GV4DJFU6.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-canvas-editor","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"dist/lib/browser/CanvasContainer-GJPWWILJ.mjs","kind":"dynamic-import"}],"exports":["default"],"entryPoint":"src/capabilities/react-surface/react-surface.tsx","inputs":{"src/capabilities/react-surface/react-surface.tsx":{"bytesInOutput":684},"src/containers/index.ts":{"bytesInOutput":106}},"bytes":1070},"dist/lib/browser/chunk-GV4DJFU6.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1067},"dist/lib/browser/chunk-GV4DJFU6.mjs":{"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["meta"],"inputs":{"src/meta.ts":{"bytesInOutput":589}},"bytes":668}}}
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface/react-surface.tsx", "../../../src/containers/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface } from '@dxos/app-framework/ui';\nimport { Obj } from '@dxos/echo';\nimport { CanvasBoard } from '@dxos/react-ui-canvas-editor';\n\nimport { CanvasContainer } from '../../containers';\nimport { meta } from '../../meta';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(\n Capabilities.ReactSurface,\n Surface.create({\n id: meta.id,\n role: ['article', 'section'],\n filter: (data): data is { subject: CanvasBoard.CanvasBoard } =>\n Obj.instanceOf(CanvasBoard.CanvasBoard, data.subject),\n component: ({ data, role }) => <CanvasContainer role={role} subject={data.subject} />,\n }),\n ),\n ),\n);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type ComponentType, lazy } from 'react';\n\nexport const CanvasContainer: ComponentType<any> = lazy(() => import('./CanvasContainer'));\n"],
5
- "mappings": ";;;;;AAIA,YAAYA,YAAY;AACxB,OAAOC,WAAW;AAElB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,eAAe;AACxB,SAASC,WAAW;AACpB,SAASC,mBAAmB;;;ACN5B,SAA6BC,YAAY;AAElC,IAAMC,kBAAsCC,KAAK,MAAM,OAAO,gCAAA,CAAA;;;ADSrE,IAAA,wBAAeC,WAAWC,WAAW,MAC5BC,eACLF,WAAWG,YACTC,aAAaC,cACbC,QAAQC,OAAO;EACbC,IAAIC,KAAKD;EACTE,MAAM;IAAC;IAAW;;EAClBC,QAAQ,CAACC,SACPC,IAAIC,WAAWC,YAAYA,aAAaH,KAAKI,OAAO;EACtDC,WAAW,CAAC,EAAEL,MAAMF,KAAI,MAAO,sBAAA,cAACQ,iBAAAA;IAAgBR;IAAYM,SAASJ,KAAKI;;AAC5E,CAAA,CAAA,CAAA,CAAA;",
6
- "names": ["Effect", "React", "Capabilities", "Capability", "Surface", "Obj", "CanvasBoard", "lazy", "CanvasContainer", "lazy", "Capability", "makeModule", "succeed", "contributes", "Capabilities", "ReactSurface", "Surface", "create", "id", "meta", "role", "filter", "data", "Obj", "instanceOf", "CanvasBoard", "subject", "component", "CanvasContainer"]
7
- }
@@ -1,91 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
-
3
- // src/containers/CanvasContainer/CanvasContainer.tsx
4
- import React, { Fragment, useEffect, useMemo, useRef } from "react";
5
- import { useCapability } from "@dxos/app-framework/ui";
6
- import { ComputeGraphModel } from "@dxos/conductor";
7
- import { Obj } from "@dxos/echo";
8
- import { AutomationCapabilities } from "@dxos/plugin-automation";
9
- import { useObject } from "@dxos/react-client/echo";
10
- import { Flex } from "@dxos/react-ui";
11
- import { ComputeContext, ComputeGraphController, ComputeShapeLayout, computeShapes, useComputeGraphController, useGraphMonitor } from "@dxos/react-ui-canvas-compute";
12
- import { CanvasGraphModel, Editor, KeyboardContainer, ShapeRegistry } from "@dxos/react-ui-canvas-editor";
13
- var CanvasContainer = ({ role, subject: canvas }) => {
14
- const id = Obj.getDXN(canvas).toString();
15
- useObject(canvas);
16
- const graph = useMemo(() => CanvasGraphModel.create(canvas.layout, (fn) => Obj.change(canvas, fn)), [
17
- canvas
18
- ]);
19
- const controller = useGraphController(canvas);
20
- const graphMonitor = useGraphMonitor(controller?.graph);
21
- const registry = useMemo(() => new ShapeRegistry(computeShapes), []);
22
- const editorRef = useRef(null);
23
- useComputeGraphController({
24
- controller,
25
- graph,
26
- editorRef
27
- });
28
- const layout = useMemo(() => controller && registry ? new ComputeShapeLayout(controller, registry) : void 0, [
29
- controller,
30
- registry
31
- ]);
32
- if (!controller) {
33
- return;
34
- }
35
- const Root = role === "section" ? Container : Fragment;
36
- return /* @__PURE__ */ React.createElement(ComputeContext.Provider, {
37
- value: {
38
- controller
39
- }
40
- }, /* @__PURE__ */ React.createElement(Root, null, /* @__PURE__ */ React.createElement(KeyboardContainer, {
41
- id
42
- }, /* @__PURE__ */ React.createElement(Editor.Root, {
43
- id,
44
- ref: editorRef,
45
- graph,
46
- graphMonitor,
47
- registry,
48
- layout
49
- }, /* @__PURE__ */ React.createElement(Editor.Canvas, null), /* @__PURE__ */ React.createElement(Editor.UI, {
50
- showTools: true
51
- })))));
52
- };
53
- var Container = (props) => /* @__PURE__ */ React.createElement(Flex, {
54
- ...props,
55
- classNames: "aspect-square"
56
- });
57
- var useGraphController = (canvas) => {
58
- const db = Obj.getDatabase(canvas);
59
- const runtime = useCapability(AutomationCapabilities.ComputeRuntime);
60
- const [computeGraph] = useObject(canvas.computeGraph);
61
- const controller = useMemo(() => {
62
- if (!canvas.computeGraph?.target || !db) {
63
- return null;
64
- }
65
- const model = new ComputeGraphModel(canvas.computeGraph?.target);
66
- const controller2 = new ComputeGraphController(runtime.getRuntime(db.spaceId), model);
67
- return controller2;
68
- }, [
69
- computeGraph,
70
- db
71
- ]);
72
- useEffect(() => {
73
- if (!controller) {
74
- return;
75
- }
76
- void controller.open();
77
- return () => {
78
- void controller.close();
79
- };
80
- }, [
81
- controller
82
- ]);
83
- return controller;
84
- };
85
-
86
- // src/containers/CanvasContainer/index.ts
87
- var CanvasContainer_default = CanvasContainer;
88
- export {
89
- CanvasContainer_default as default
90
- };
91
- //# sourceMappingURL=CanvasContainer-OGY2XHPA.mjs.map