@dxos/react-ui-canvas-compute 0.8.4-main.67995b8 → 0.8.4-main.ae835ea

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 (112) hide show
  1. package/dist/lib/browser/index.mjs +195 -169
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node-esm/index.mjs +195 -169
  5. package/dist/lib/node-esm/index.mjs.map +4 -4
  6. package/dist/lib/node-esm/meta.json +1 -1
  7. package/dist/types/src/compute.stories.d.ts +12 -5
  8. package/dist/types/src/compute.stories.d.ts.map +1 -1
  9. package/dist/types/src/graph/controller.d.ts +9 -22
  10. package/dist/types/src/graph/controller.d.ts.map +1 -1
  11. package/dist/types/src/graph/node-defs.d.ts.map +1 -1
  12. package/dist/types/src/hooks/useComputeGraphController.d.ts +2 -2
  13. package/dist/types/src/hooks/useComputeGraphController.d.ts.map +1 -1
  14. package/dist/types/src/hooks/useComputeNodeState.d.ts +1 -1
  15. package/dist/types/src/hooks/useComputeNodeState.d.ts.map +1 -1
  16. package/dist/types/src/hooks/useGraphMonitor.d.ts +1 -1
  17. package/dist/types/src/hooks/useGraphMonitor.d.ts.map +1 -1
  18. package/dist/types/src/json.test.d.ts +1 -1
  19. package/dist/types/src/json.test.d.ts.map +1 -1
  20. package/dist/types/src/shapes/Append.d.ts +1 -1
  21. package/dist/types/src/shapes/Append.d.ts.map +1 -1
  22. package/dist/types/src/shapes/Array.d.ts +1 -1
  23. package/dist/types/src/shapes/Array.d.ts.map +1 -1
  24. package/dist/types/src/shapes/Audio.d.ts +1 -1
  25. package/dist/types/src/shapes/Audio.d.ts.map +1 -1
  26. package/dist/types/src/shapes/Beacon.d.ts +1 -1
  27. package/dist/types/src/shapes/Beacon.d.ts.map +1 -1
  28. package/dist/types/src/shapes/Boolean.d.ts +1 -1
  29. package/dist/types/src/shapes/Boolean.d.ts.map +1 -1
  30. package/dist/types/src/shapes/Chat.d.ts +1 -1
  31. package/dist/types/src/shapes/Chat.d.ts.map +1 -1
  32. package/dist/types/src/shapes/Constant.d.ts +1 -1
  33. package/dist/types/src/shapes/Constant.d.ts.map +1 -1
  34. package/dist/types/src/shapes/Database.d.ts +1 -1
  35. package/dist/types/src/shapes/Database.d.ts.map +1 -1
  36. package/dist/types/src/shapes/Function.d.ts +1 -1
  37. package/dist/types/src/shapes/Function.d.ts.map +1 -1
  38. package/dist/types/src/shapes/Gpt.d.ts +1 -1
  39. package/dist/types/src/shapes/Gpt.d.ts.map +1 -1
  40. package/dist/types/src/shapes/GptRealtime.d.ts +1 -1
  41. package/dist/types/src/shapes/GptRealtime.d.ts.map +1 -1
  42. package/dist/types/src/shapes/Json.d.ts +1 -1
  43. package/dist/types/src/shapes/Json.d.ts.map +1 -1
  44. package/dist/types/src/shapes/Logic.d.ts +1 -1
  45. package/dist/types/src/shapes/Logic.d.ts.map +1 -1
  46. package/dist/types/src/shapes/Queue.d.ts +1 -1
  47. package/dist/types/src/shapes/Queue.d.ts.map +1 -1
  48. package/dist/types/src/shapes/RNG.d.ts +1 -1
  49. package/dist/types/src/shapes/RNG.d.ts.map +1 -1
  50. package/dist/types/src/shapes/Scope.d.ts +1 -1
  51. package/dist/types/src/shapes/Scope.d.ts.map +1 -1
  52. package/dist/types/src/shapes/Surface.d.ts +1 -1
  53. package/dist/types/src/shapes/Surface.d.ts.map +1 -1
  54. package/dist/types/src/shapes/Switch.d.ts +1 -1
  55. package/dist/types/src/shapes/Switch.d.ts.map +1 -1
  56. package/dist/types/src/shapes/Table.d.ts +1 -1
  57. package/dist/types/src/shapes/Table.d.ts.map +1 -1
  58. package/dist/types/src/shapes/Template.d.ts +1 -1
  59. package/dist/types/src/shapes/Template.d.ts.map +1 -1
  60. package/dist/types/src/shapes/Text.d.ts +1 -1
  61. package/dist/types/src/shapes/Text.d.ts.map +1 -1
  62. package/dist/types/src/shapes/TextToImage.d.ts +1 -1
  63. package/dist/types/src/shapes/TextToImage.d.ts.map +1 -1
  64. package/dist/types/src/shapes/Thread.d.ts +1 -1
  65. package/dist/types/src/shapes/Thread.d.ts.map +1 -1
  66. package/dist/types/src/shapes/Trigger.d.ts +4 -33
  67. package/dist/types/src/shapes/Trigger.d.ts.map +1 -1
  68. package/dist/types/src/shapes/common/Box.d.ts.map +1 -1
  69. package/dist/types/src/shapes/common/FunctionBody.d.ts +1 -1
  70. package/dist/types/src/shapes/common/FunctionBody.d.ts.map +1 -1
  71. package/dist/types/src/shapes/defs.d.ts +2 -1
  72. package/dist/types/src/shapes/defs.d.ts.map +1 -1
  73. package/dist/types/tsconfig.tsbuildinfo +1 -1
  74. package/package.json +52 -51
  75. package/src/compute-layout.ts +1 -1
  76. package/src/compute.stories.tsx +15 -14
  77. package/src/graph/controller.ts +18 -6
  78. package/src/graph/node-defs.ts +4 -4
  79. package/src/hooks/useComputeGraphController.ts +2 -2
  80. package/src/hooks/useComputeNodeState.ts +4 -3
  81. package/src/hooks/useGraphMonitor.ts +2 -2
  82. package/src/json.test.ts +1 -1
  83. package/src/registry.ts +2 -2
  84. package/src/schema.test.ts +4 -4
  85. package/src/shapes/Append.tsx +3 -3
  86. package/src/shapes/Array.tsx +3 -3
  87. package/src/shapes/Audio.tsx +4 -3
  88. package/src/shapes/Beacon.tsx +4 -3
  89. package/src/shapes/Boolean.tsx +3 -3
  90. package/src/shapes/Chat.tsx +4 -3
  91. package/src/shapes/Constant.tsx +4 -3
  92. package/src/shapes/Database.tsx +2 -2
  93. package/src/shapes/Function.tsx +10 -9
  94. package/src/shapes/Gpt.tsx +7 -5
  95. package/src/shapes/GptRealtime.tsx +2 -2
  96. package/src/shapes/Json.tsx +4 -3
  97. package/src/shapes/Logic.tsx +3 -3
  98. package/src/shapes/Queue.tsx +4 -3
  99. package/src/shapes/RNG.tsx +4 -3
  100. package/src/shapes/Scope.tsx +5 -4
  101. package/src/shapes/Surface.tsx +4 -3
  102. package/src/shapes/Switch.tsx +4 -3
  103. package/src/shapes/Table.tsx +3 -3
  104. package/src/shapes/Template.tsx +6 -5
  105. package/src/shapes/Text.tsx +5 -4
  106. package/src/shapes/TextToImage.tsx +2 -2
  107. package/src/shapes/Thread.tsx +3 -3
  108. package/src/shapes/Trigger.tsx +41 -53
  109. package/src/shapes/common/Box.tsx +1 -1
  110. package/src/shapes/common/FunctionBody.tsx +3 -2
  111. package/src/shapes/defs.ts +3 -2
  112. package/src/testing/circuits.ts +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/react-ui-canvas-compute",
3
- "version": "0.8.4-main.67995b8",
3
+ "version": "0.8.4-main.ae835ea",
4
4
  "description": "A compute graph extension for the canvas editor component.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -9,10 +9,10 @@
9
9
  "type": "module",
10
10
  "exports": {
11
11
  ".": {
12
+ "source": "./src/index.ts",
12
13
  "types": "./dist/types/src/index.d.ts",
13
14
  "browser": "./dist/lib/browser/index.mjs",
14
- "node": "./dist/lib/node-esm/index.mjs",
15
- "source": "./src/index.ts"
15
+ "node": "./dist/lib/node-esm/index.mjs"
16
16
  }
17
17
  },
18
18
  "types": "dist/types/src/index.d.ts",
@@ -26,63 +26,64 @@
26
26
  "dependencies": {
27
27
  "@antv/graphlib": "^2.0.4",
28
28
  "@antv/layout": "^1.2.13",
29
- "@effect/platform": "0.89.0",
29
+ "@effect/platform": "0.92.1",
30
30
  "@preact-signals/safe-react": "^0.9.0",
31
31
  "chess.js": "^1.0.0",
32
- "@dxos/ai": "0.8.4-main.67995b8",
33
- "@dxos/app-framework": "0.8.4-main.67995b8",
34
- "@dxos/assistant": "0.8.4-main.67995b8",
35
- "@dxos/async": "0.8.4-main.67995b8",
36
- "@dxos/blueprints": "0.8.4-main.67995b8",
37
- "@dxos/conductor": "0.8.4-main.67995b8",
38
- "@dxos/context": "0.8.4-main.67995b8",
39
- "@dxos/debug": "0.8.4-main.67995b8",
40
- "@dxos/echo-schema": "0.8.4-main.67995b8",
41
- "@dxos/edge-client": "0.8.4-main.67995b8",
42
- "@dxos/functions": "0.8.4-main.67995b8",
43
- "@dxos/graph": "0.8.4-main.67995b8",
44
- "@dxos/invariant": "0.8.4-main.67995b8",
45
- "@dxos/keys": "0.8.4-main.67995b8",
46
- "@dxos/live-object": "0.8.4-main.67995b8",
47
- "@dxos/log": "0.8.4-main.67995b8",
48
- "@dxos/react-client": "0.8.4-main.67995b8",
49
- "@dxos/react-edge-client": "0.8.4-main.67995b8",
50
- "@dxos/react-ui-attention": "0.8.4-main.67995b8",
51
- "@dxos/react-ui-canvas": "0.8.4-main.67995b8",
52
- "@dxos/react-ui-editor": "0.8.4-main.67995b8",
53
- "@dxos/react-ui-form": "0.8.4-main.67995b8",
54
- "@dxos/react-ui-canvas-editor": "0.8.4-main.67995b8",
55
- "@dxos/react-ui-sfx": "0.8.4-main.67995b8",
56
- "@dxos/react-ui-stack": "0.8.4-main.67995b8",
57
- "@dxos/schema": "0.8.4-main.67995b8",
58
- "@dxos/react-ui-syntax-highlighter": "0.8.4-main.67995b8",
59
- "@dxos/util": "0.8.4-main.67995b8"
32
+ "@dxos/ai": "0.8.4-main.ae835ea",
33
+ "@dxos/app-framework": "0.8.4-main.ae835ea",
34
+ "@dxos/async": "0.8.4-main.ae835ea",
35
+ "@dxos/assistant": "0.8.4-main.ae835ea",
36
+ "@dxos/conductor": "0.8.4-main.ae835ea",
37
+ "@dxos/debug": "0.8.4-main.ae835ea",
38
+ "@dxos/context": "0.8.4-main.ae835ea",
39
+ "@dxos/echo": "0.8.4-main.ae835ea",
40
+ "@dxos/edge-client": "0.8.4-main.ae835ea",
41
+ "@dxos/functions": "0.8.4-main.ae835ea",
42
+ "@dxos/invariant": "0.8.4-main.ae835ea",
43
+ "@dxos/graph": "0.8.4-main.ae835ea",
44
+ "@dxos/keys": "0.8.4-main.ae835ea",
45
+ "@dxos/live-object": "0.8.4-main.ae835ea",
46
+ "@dxos/log": "0.8.4-main.ae835ea",
47
+ "@dxos/blueprints": "0.8.4-main.ae835ea",
48
+ "@dxos/react-client": "0.8.4-main.ae835ea",
49
+ "@dxos/react-edge-client": "0.8.4-main.ae835ea",
50
+ "@dxos/react-ui-attention": "0.8.4-main.ae835ea",
51
+ "@dxos/react-ui-canvas": "0.8.4-main.ae835ea",
52
+ "@dxos/react-ui-editor": "0.8.4-main.ae835ea",
53
+ "@dxos/react-ui-form": "0.8.4-main.ae835ea",
54
+ "@dxos/react-ui-sfx": "0.8.4-main.ae835ea",
55
+ "@dxos/react-ui-syntax-highlighter": "0.8.4-main.ae835ea",
56
+ "@dxos/schema": "0.8.4-main.ae835ea",
57
+ "@dxos/react-ui-stack": "0.8.4-main.ae835ea",
58
+ "@dxos/util": "0.8.4-main.ae835ea",
59
+ "@dxos/react-ui-canvas-editor": "0.8.4-main.ae835ea"
60
60
  },
61
61
  "devDependencies": {
62
- "@effect/ai": "0.23.0",
62
+ "@effect/ai": "0.29.1",
63
+ "@effect/experimental": "0.56.0",
63
64
  "@types/lodash.defaultsdeep": "^4.6.6",
64
- "@types/react": "~18.2.0",
65
- "@types/react-dom": "~18.2.0",
66
- "effect": "3.17.0",
65
+ "@types/react": "~19.2.2",
66
+ "@types/react-dom": "~19.2.2",
67
+ "effect": "3.18.3",
67
68
  "lodash.defaultsdeep": "^4.6.1",
68
- "react": "~18.2.0",
69
- "react-dom": "~18.2.0",
70
- "vite": "5.4.7",
71
- "@dxos/app-framework": "0.8.4-main.67995b8",
72
- "@dxos/assistant-testing": "0.8.4-main.67995b8",
73
- "@dxos/compute": "0.8.4-main.67995b8",
74
- "@dxos/echo-signals": "0.8.4-main.67995b8",
75
- "@dxos/random": "0.8.4-main.67995b8",
76
- "@dxos/react-ui": "0.8.4-main.67995b8",
77
- "@dxos/storybook-utils": "0.8.4-main.67995b8",
78
- "@dxos/react-ui-theme": "0.8.4-main.67995b8"
69
+ "react": "~19.2.0",
70
+ "react-dom": "~19.2.0",
71
+ "vite": "7.1.9",
72
+ "@dxos/app-framework": "0.8.4-main.ae835ea",
73
+ "@dxos/assistant-toolkit": "0.8.4-main.ae835ea",
74
+ "@dxos/random": "0.8.4-main.ae835ea",
75
+ "@dxos/react-ui": "0.8.4-main.ae835ea",
76
+ "@dxos/compute": "0.8.4-main.ae835ea",
77
+ "@dxos/storybook-utils": "0.8.4-main.ae835ea",
78
+ "@dxos/echo-signals": "0.8.4-main.ae835ea",
79
+ "@dxos/react-ui-theme": "0.8.4-main.ae835ea"
79
80
  },
80
81
  "peerDependencies": {
81
82
  "effect": "^3.13.3",
82
- "react": "~18.2.0",
83
- "react-dom": "~18.2.0",
84
- "@dxos/react-ui": "0.8.4-main.67995b8",
85
- "@dxos/react-ui-theme": "0.8.4-main.67995b8"
83
+ "react": "^19.0.0",
84
+ "react-dom": "^19.0.0",
85
+ "@dxos/react-ui-theme": "0.8.4-main.ae835ea",
86
+ "@dxos/react-ui": "0.8.4-main.ae835ea"
86
87
  },
87
88
  "publishConfig": {
88
89
  "access": "public"
@@ -3,7 +3,7 @@
3
3
  //
4
4
 
5
5
  import { DefaultInput, DefaultOutput } from '@dxos/conductor';
6
- import { toEffectSchema } from '@dxos/echo-schema';
6
+ import { toEffectSchema } from '@dxos/echo/internal';
7
7
  import { type Anchor, ShapeLayout, type ShapeRegistry } from '@dxos/react-ui-canvas-editor';
8
8
 
9
9
  import { type ComputeGraphController } from './graph';
@@ -2,17 +2,16 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import '@dxos-theme';
6
-
7
- import type { Meta, StoryObj } from '@storybook/react-vite';
5
+ import { type Meta, type StoryObj } from '@storybook/react-vite';
8
6
  import React, { type PropsWithChildren, useEffect, useMemo, useRef, useState } from 'react';
9
7
 
10
8
  import { withPluginManager } from '@dxos/app-framework/testing';
11
- import { capabilities } from '@dxos/assistant-testing';
9
+ import { capabilities } from '@dxos/assistant-toolkit';
12
10
  import { type ComputeGraphModel, type ComputeNode, type GraphDiagnostic } from '@dxos/conductor';
13
11
  import { ServiceContainer } from '@dxos/functions';
14
12
  import { withClientProvider } from '@dxos/react-client/testing';
15
13
  import { Select, Toolbar } from '@dxos/react-ui';
14
+ import { withTheme } from '@dxos/react-ui/testing';
16
15
  import { withAttention } from '@dxos/react-ui-attention/testing';
17
16
  import {
18
17
  CanvasGraphModel,
@@ -23,7 +22,6 @@ import {
23
22
  } from '@dxos/react-ui-canvas-editor';
24
23
  import { Container, useSelection } from '@dxos/react-ui-canvas-editor/testing';
25
24
  import { JsonFilter } from '@dxos/react-ui-syntax-highlighter';
26
- import { withLayout, withTheme } from '@dxos/storybook-utils';
27
25
 
28
26
  import { DiagnosticOverlay } from './components';
29
27
  import { ComputeShapeLayout } from './compute-layout';
@@ -37,8 +35,8 @@ import {
37
35
  createBasicCircuit,
38
36
  createComputeGraphController,
39
37
  createControlCircuit,
40
- createGptCircuit,
41
38
  createGPTRealtimeCircuit,
39
+ createGptCircuit,
42
40
  createLogicCircuit,
43
41
  createTemplateCircuit,
44
42
  createTransformCircuit,
@@ -144,7 +142,7 @@ const DefaultStory = ({
144
142
 
145
143
  {sidebar && (
146
144
  <Container id='sidebar' classNames='flex flex-col h-full overflow-hidden'>
147
- <Toolbar.Root classNames='p-1'>
145
+ <Toolbar.Root>
148
146
  <Select.Root value={sidebar} onValueChange={(value) => setSidebar(value as RenderProps['sidebar'])}>
149
147
  <Select.TriggerButton classNames='is-full'>{sidebar}</Select.TriggerButton>
150
148
  <Select.Portal>
@@ -156,6 +154,7 @@ const DefaultStory = ({
156
154
  </Select.Item>
157
155
  ))}
158
156
  </Select.Viewport>
157
+ <Select.Arrow />
159
158
  </Select.Content>
160
159
  </Select.Portal>
161
160
  </Select.Root>
@@ -175,22 +174,24 @@ const DefaultStory = ({
175
174
  );
176
175
  };
177
176
 
178
- const meta: Meta<RenderProps> = {
177
+ const meta = {
179
178
  title: 'ui/react-ui-canvas-compute/compute',
180
- component: Editor.Root,
179
+ component: Editor.Root as any,
181
180
  render: DefaultStory,
182
181
  decorators: [
183
182
  withTheme,
184
183
  withAttention,
185
184
  withClientProvider({ createIdentity: true, createSpace: true }),
186
- withLayout({ fullscreen: true }),
187
185
  withPluginManager({ capabilities }),
188
186
  ],
189
- };
187
+ parameters: {
188
+ layout: 'fullscreen',
189
+ },
190
+ } satisfies Meta<typeof DefaultStory>;
190
191
 
191
192
  export default meta;
192
193
 
193
- type Story = StoryObj<RenderProps>;
194
+ type Story = StoryObj<typeof meta>;
194
195
 
195
196
  export const Default: Story = {
196
197
  args: {
@@ -289,7 +290,7 @@ export const Plugins: Story = {
289
290
  ...createComputeGraphController(
290
291
  createGptCircuit({ history: true, image: true, artifact: true }),
291
292
  new ServiceContainer().setServices({
292
- // ai: AiService.make(new Edge AiServiceClient({ endpoint: localServiceEndpoints.ai })),
293
+ // ai: AiService.make(new Edge AiServiceClient({ endpoint: SERVICES_CONFIG.local.ai.server })),
293
294
  }),
294
295
  ),
295
296
  },
@@ -305,7 +306,7 @@ export const Artifact: Story = {
305
306
  ...createComputeGraphController(
306
307
  createArtifactCircuit(),
307
308
  new ServiceContainer().setServices({
308
- // ai: AiService.make(new Edge AiServiceClient({ endpoint: localServiceEndpoints.ai })),
309
+ // ai: AiService.make(new Edge AiServiceClient({ endpoint: SERVICES_CONFIG.local.ai.server })),
309
310
  }),
310
311
  ),
311
312
  },
@@ -2,9 +2,12 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { type Context, Effect, Either, Exit, Scope } from 'effect';
5
+ import type * as Context from 'effect/Context';
6
+ import * as Effect from 'effect/Effect';
7
+ import * as Either from 'effect/Either';
8
+ import * as Exit from 'effect/Exit';
9
+ import * as Scope from 'effect/Scope';
6
10
 
7
- import { type ImageContentBlock } from '@dxos/ai';
8
11
  import { Event, synchronized } from '@dxos/async';
9
12
  import {
10
13
  type ComputeEdge,
@@ -19,15 +22,17 @@ import {
19
22
  isNotExecuted,
20
23
  } from '@dxos/conductor';
21
24
  import { Resource } from '@dxos/context';
22
- import { type ComputeEventPayload, type ComputeEventLogger } from '@dxos/functions';
25
+ import { type ComputeEventLogger, type ComputeEventPayload } from '@dxos/functions';
23
26
  import { type ServiceContainer } from '@dxos/functions';
24
27
  import { log } from '@dxos/log';
25
28
  import { type CanvasGraphModel } from '@dxos/react-ui-canvas-editor';
29
+ import { type ContentBlock } from '@dxos/schema';
26
30
 
27
- import { resolveComputeNode } from './node-defs';
28
31
  import { createComputeGraph } from '../hooks';
29
32
  import { type ComputeShape } from '../shapes';
30
33
 
34
+ import { resolveComputeNode } from './node-defs';
35
+
31
36
  // TODO(burdon): API package for conductor.
32
37
  export const InvalidStateError = Error;
33
38
 
@@ -42,7 +47,7 @@ export interface GptExecutor {
42
47
  invoke: FunctionCallback<GptInput, GptOutput>;
43
48
 
44
49
  // TODO(dmaretskyi): A hack to get image artifacts working. Rework into querying images from the ai-service store.
45
- imageCache: Map<string, ImageContentBlock>;
50
+ imageCache: Map<string, ContentBlock.Image>;
46
51
  }
47
52
 
48
53
  export type RuntimeValue =
@@ -153,7 +158,14 @@ export class ComputeGraphController extends Resource {
153
158
  /**
154
159
  * Inputs and outputs for all nodes.
155
160
  */
156
- get state() {
161
+ get state(): Record<
162
+ string,
163
+ {
164
+ node: ComputeNode;
165
+ input: Record<string, RuntimeValue>;
166
+ output: Record<string, RuntimeValue>;
167
+ }
168
+ > {
157
169
  const ids = [...new Set([...Object.keys(this._runtimeStateInputs), ...Object.keys(this._runtimeStateOutputs)])];
158
170
  return Object.fromEntries(
159
171
  ids.map((id) => [
@@ -3,16 +3,16 @@
3
3
  //
4
4
 
5
5
  import {
6
- NODE_INPUT,
7
- NODE_OUTPUT,
8
6
  type ComputeNode,
9
7
  type Executable,
8
+ NODE_INPUT,
9
+ NODE_OUTPUT,
10
10
  type NodeType,
11
- registry,
12
11
  getTemplateInputSchema,
12
+ registry,
13
13
  } from '@dxos/conductor';
14
14
  import { raise } from '@dxos/debug';
15
- import { ObjectId, toJsonSchema } from '@dxos/echo-schema';
15
+ import { ObjectId, toJsonSchema } from '@dxos/echo/internal';
16
16
  import { invariant } from '@dxos/invariant';
17
17
 
18
18
  import { type ComputeShape, type ConstantShape, type TemplateShape } from '../shapes';
@@ -5,7 +5,7 @@
5
5
  import { type RefObject, useEffect, useState } from 'react';
6
6
 
7
7
  import { type CleanupFn } from '@dxos/async';
8
- import { type EditorRootProps, type EditorController } from '@dxos/react-ui-canvas-editor';
8
+ import { type EditorController, type EditorRootProps } from '@dxos/react-ui-canvas-editor';
9
9
 
10
10
  import { type ComputeGraphController } from '../graph';
11
11
  import { type ComputeShape } from '../shapes';
@@ -21,7 +21,7 @@ const combine = (...cbs: CleanupFn[]) => {
21
21
 
22
22
  export type UseComputeGraphControllerOptions = Pick<EditorRootProps<ComputeShape>, 'graph'> & {
23
23
  controller: ComputeGraphController | null;
24
- editorRef: RefObject<EditorController>;
24
+ editorRef: RefObject<EditorController | null>;
25
25
  };
26
26
 
27
27
  export const useComputeGraphController = ({ controller, graph, editorRef }: UseComputeGraphControllerOptions) => {
@@ -2,17 +2,18 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
  import { useCallback, useEffect, useState } from 'react';
7
7
 
8
- import type { ComputeNode, ComputeMeta } from '@dxos/conductor';
8
+ import type { ComputeMeta, ComputeNode } from '@dxos/conductor';
9
9
  import type { ComputeEventPayload } from '@dxos/functions';
10
10
  import { invariant } from '@dxos/invariant';
11
11
 
12
- import { useComputeContext } from './compute-context';
13
12
  import { type RuntimeValue } from '../graph';
14
13
  import { type ComputeShape } from '../shapes';
15
14
 
15
+ import { useComputeContext } from './compute-context';
16
+
16
17
  export type ComputeNodeState = {
17
18
  node: ComputeNode;
18
19
  meta: ComputeMeta;
@@ -5,10 +5,10 @@
5
5
  import { useMemo } from 'react';
6
6
 
7
7
  import { type ComputeEdge, ComputeGraphModel, type ComputeNode, DEFAULT_INPUT, DEFAULT_OUTPUT } from '@dxos/conductor';
8
- import { ObjectId, Ref } from '@dxos/echo-schema';
8
+ import { ObjectId, Ref } from '@dxos/echo/internal';
9
9
  import { invariant } from '@dxos/invariant';
10
10
  import { getSpace } from '@dxos/react-client/echo';
11
- import { type GraphMonitor, type CanvasGraphModel, type Connection } from '@dxos/react-ui-canvas-editor';
11
+ import { type CanvasGraphModel, type Connection, type GraphMonitor } from '@dxos/react-ui-canvas-editor';
12
12
  import { isNonNullable } from '@dxos/util';
13
13
 
14
14
  import { createComputeNode, isValidComputeNode } from '../graph';
package/src/json.test.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
  import { describe, test } from 'vitest';
7
7
 
8
8
  import { BaseGraphEdge, BaseGraphNode } from '@dxos/graph';
package/src/registry.ts CHANGED
@@ -29,10 +29,10 @@ import {
29
29
  surfaceShape,
30
30
  switchShape,
31
31
  templateShape,
32
- threadShape,
32
+ textShape,
33
33
  textToImageShape,
34
+ threadShape,
34
35
  triggerShape,
35
- textShape,
36
36
  } from './shapes';
37
37
 
38
38
  /**
@@ -2,22 +2,22 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
  import { describe, test } from 'vitest';
7
7
 
8
- import { live } from '@dxos/client/echo';
8
+ import { live } from '@dxos/echo/internal';
9
9
  import { BaseGraphNode, Graph } from '@dxos/graph';
10
10
  import {
11
11
  Polygon,
12
+ Shape,
12
13
  createEllipse,
13
14
  createPath,
14
15
  createRectangle,
15
16
  isPath,
16
17
  isPolygon,
17
- Shape,
18
18
  } from '@dxos/react-ui-canvas-editor';
19
19
 
20
- import { createSwitch, ComputeShape, createFunction } from './shapes';
20
+ import { ComputeShape, createFunction, createSwitch } from './shapes';
21
21
 
22
22
  describe('compute', () => {
23
23
  test('model', ({ expect }) => {
@@ -2,14 +2,14 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
  import React from 'react';
7
7
 
8
8
  import { AppendInput } from '@dxos/conductor';
9
9
  import { type ShapeComponentProps, type ShapeDef } from '@dxos/react-ui-canvas-editor';
10
10
 
11
- import { createFunctionAnchors, FunctionBody, getHeight } from './common';
12
- import { ComputeShape, createShape, type CreateShapeProps } from './defs';
11
+ import { FunctionBody, createFunctionAnchors, getHeight } from './common';
12
+ import { ComputeShape, type CreateShapeProps, createShape } from './defs';
13
13
 
14
14
  export const AppendShape = Schema.extend(
15
15
  ComputeShape,
@@ -2,14 +2,14 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
  import React from 'react';
7
7
 
8
8
  import { ReducerInput, ReducerOutput } from '@dxos/conductor';
9
9
  import { type ShapeComponentProps, type ShapeDef } from '@dxos/react-ui-canvas-editor';
10
10
 
11
- import { createFunctionAnchors, FunctionBody, getHeight } from './common';
12
- import { ComputeShape, createShape, type CreateShapeProps } from './defs';
11
+ import { FunctionBody, createFunctionAnchors, getHeight } from './common';
12
+ import { ComputeShape, type CreateShapeProps, createShape } from './defs';
13
13
 
14
14
  //
15
15
  // Data
@@ -2,15 +2,16 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
  import React, { useEffect, useState } from 'react';
7
7
 
8
8
  import { Icon } from '@dxos/react-ui';
9
- import { createAnchorMap, type ShapeComponentProps, type ShapeDef } from '@dxos/react-ui-canvas-editor';
9
+ import { type ShapeComponentProps, type ShapeDef, createAnchorMap } from '@dxos/react-ui-canvas-editor';
10
10
 
11
- import { ComputeShape, createAnchorId, createShape, type CreateShapeProps } from './defs';
12
11
  import { useComputeNodeState } from '../hooks';
13
12
 
13
+ import { ComputeShape, type CreateShapeProps, createAnchorId, createShape } from './defs';
14
+
14
15
  export const AudioShape = Schema.extend(
15
16
  ComputeShape,
16
17
  Schema.Struct({
@@ -2,16 +2,17 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
  import React from 'react';
7
7
 
8
8
  import { DEFAULT_INPUT, isTruthy } from '@dxos/conductor';
9
9
  import { Icon } from '@dxos/react-ui';
10
- import { createAnchorMap, type ShapeComponentProps, type ShapeDef } from '@dxos/react-ui-canvas-editor';
10
+ import { type ShapeComponentProps, type ShapeDef, createAnchorMap } from '@dxos/react-ui-canvas-editor';
11
11
 
12
- import { ComputeShape, createAnchorId, createShape, type CreateShapeProps } from './defs';
13
12
  import { useComputeNodeState } from '../hooks';
14
13
 
14
+ import { ComputeShape, type CreateShapeProps, createAnchorId, createShape } from './defs';
15
+
15
16
  export const BeaconShape = Schema.extend(
16
17
  ComputeShape,
17
18
  Schema.Struct({
@@ -2,13 +2,13 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
  import React, { type FC } from 'react';
7
7
 
8
- import { getAnchorPoints, type ShapeDef } from '@dxos/react-ui-canvas-editor';
8
+ import { type ShapeDef, getAnchorPoints } from '@dxos/react-ui-canvas-editor';
9
9
  import { createAnchors } from '@dxos/react-ui-canvas-editor';
10
10
 
11
- import { ComputeShape, createAnchorId, createShape, type CreateShapeProps } from './defs';
11
+ import { ComputeShape, type CreateShapeProps, createAnchorId, createShape } from './defs';
12
12
 
13
13
  //
14
14
  // Gate utils.
@@ -2,7 +2,7 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
  import React, { useRef } from 'react';
7
7
 
8
8
  import { DEFAULT_OUTPUT } from '@dxos/conductor';
@@ -15,10 +15,11 @@ import {
15
15
  } from '@dxos/react-ui-canvas-editor';
16
16
  import { createAnchorMap } from '@dxos/react-ui-canvas-editor';
17
17
 
18
- import { Box } from './common';
19
- import { ComputeShape, createAnchorId, createShape, type CreateShapeProps } from './defs';
20
18
  import { useComputeNodeState } from '../hooks';
21
19
 
20
+ import { Box } from './common';
21
+ import { ComputeShape, type CreateShapeProps, createAnchorId, createShape } from './defs';
22
+
22
23
  //
23
24
  // Data
24
25
  //
@@ -2,7 +2,7 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
  import React, { useCallback, useRef, useState } from 'react';
7
7
 
8
8
  import { ComputeValueType } from '@dxos/conductor';
@@ -17,10 +17,11 @@ import {
17
17
  import { createAnchorMap } from '@dxos/react-ui-canvas-editor';
18
18
  import { safeParseJson } from '@dxos/util';
19
19
 
20
- import { Box, TypeSelect } from './common';
21
- import { ComputeShape, createAnchorId, createShape, type CreateShapeProps } from './defs';
22
20
  import { useComputeNodeState } from '../hooks';
23
21
 
22
+ import { Box, TypeSelect } from './common';
23
+ import { ComputeShape, type CreateShapeProps, createAnchorId, createShape } from './defs';
24
+
24
25
  //
25
26
  // Data
26
27
  //
@@ -2,14 +2,14 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
  import React from 'react';
7
7
 
8
8
  import { type ShapeComponentProps, type ShapeDef } from '@dxos/react-ui-canvas-editor';
9
9
  import { createAnchorMap } from '@dxos/react-ui-canvas-editor';
10
10
 
11
11
  import { Box } from './common';
12
- import { ComputeShape, createAnchorId, createShape, type CreateShapeProps } from './defs';
12
+ import { ComputeShape, type CreateShapeProps, createAnchorId, createShape } from './defs';
13
13
 
14
14
  export const DatabaseShape = Schema.extend(
15
15
  ComputeShape,
@@ -2,26 +2,27 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
  import React, { useCallback, useRef } from 'react';
7
7
 
8
8
  import { AnyOutput, FunctionInput } from '@dxos/conductor';
9
- import { getSnapshot, isInstanceOf, Ref } from '@dxos/echo-schema';
10
- import { FunctionType, ScriptType } from '@dxos/functions';
9
+ import { Ref, getSnapshot, isInstanceOf } from '@dxos/echo/internal';
10
+ import { Function, Script } from '@dxos/functions';
11
11
  import { useClient } from '@dxos/react-client';
12
12
  import { Filter, parseId } from '@dxos/react-client/echo';
13
13
  import {
14
+ type ShapeComponentProps,
15
+ type ShapeDef,
14
16
  TextBox,
15
17
  type TextBoxControl,
16
18
  type TextBoxProps,
17
- type ShapeComponentProps,
18
- type ShapeDef,
19
19
  } from '@dxos/react-ui-canvas-editor';
20
20
 
21
- import { Box, createFunctionAnchors } from './common';
22
- import { ComputeShape, createShape, type CreateShapeProps } from './defs';
23
21
  import { useComputeNodeState } from '../hooks';
24
22
 
23
+ import { Box, createFunctionAnchors } from './common';
24
+ import { ComputeShape, type CreateShapeProps, createShape } from './defs';
25
+
25
26
  export const FunctionShape = Schema.extend(
26
27
  ComputeShape,
27
28
  Schema.Struct({
@@ -57,13 +58,13 @@ const TextInputComponent = ({ shape, title, ...props }: TextInputComponentProps)
57
58
 
58
59
  const space = client.spaces.get(spaceId);
59
60
  const object = space?.db.getObjectById(objectId);
60
- if (!space || !isInstanceOf(ScriptType, object)) {
61
+ if (!space || !isInstanceOf(Script.Script, object)) {
61
62
  return;
62
63
  }
63
64
 
64
65
  const {
65
66
  objects: [fn],
66
- } = await space.db.query(Filter.type(FunctionType, { source: Ref.make(object) })).run();
67
+ } = await space.db.query(Filter.type(Function.Function, { source: Ref.make(object) })).run();
67
68
  if (!fn) {
68
69
  return;
69
70
  }