@dxos/react-ui-canvas-compute 0.8.4-main.c4373fc → 0.8.4-main.c85a9c8dae

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 (51) hide show
  1. package/dist/lib/browser/index.mjs +778 -962
  2. package/dist/lib/browser/index.mjs.map +3 -3
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node-esm/index.mjs +778 -962
  5. package/dist/lib/node-esm/index.mjs.map +3 -3
  6. package/dist/lib/node-esm/meta.json +1 -1
  7. package/dist/types/src/compute.stories.d.ts +22 -1
  8. package/dist/types/src/compute.stories.d.ts.map +1 -1
  9. package/dist/types/src/graph/controller.d.ts +18 -31
  10. package/dist/types/src/graph/controller.d.ts.map +1 -1
  11. package/dist/types/src/hooks/useComputeNodeState.d.ts +2 -2
  12. package/dist/types/src/hooks/useComputeNodeState.d.ts.map +1 -1
  13. package/dist/types/src/hooks/useGraphMonitor.d.ts +2 -2
  14. package/dist/types/src/hooks/useGraphMonitor.d.ts.map +1 -1
  15. package/dist/types/src/shapes/Function.d.ts.map +1 -1
  16. package/dist/types/src/shapes/Gpt.d.ts.map +1 -1
  17. package/dist/types/src/shapes/Queue.d.ts.map +1 -1
  18. package/dist/types/src/shapes/RNG.d.ts.map +1 -1
  19. package/dist/types/src/shapes/Surface.d.ts.map +1 -1
  20. package/dist/types/src/shapes/Thread.d.ts.map +1 -1
  21. package/dist/types/src/shapes/Trigger.d.ts +6 -4
  22. package/dist/types/src/shapes/Trigger.d.ts.map +1 -1
  23. package/dist/types/src/shapes/common/Box.d.ts +4 -4
  24. package/dist/types/src/shapes/common/Box.d.ts.map +1 -1
  25. package/dist/types/src/shapes/common/FunctionBody.d.ts +2 -2
  26. package/dist/types/src/shapes/common/FunctionBody.d.ts.map +1 -1
  27. package/dist/types/src/testing/circuits.d.ts +18 -24
  28. package/dist/types/src/testing/circuits.d.ts.map +1 -1
  29. package/dist/types/tsconfig.tsbuildinfo +1 -1
  30. package/package.json +59 -54
  31. package/src/README.md +0 -3
  32. package/src/compute.stories.tsx +72 -113
  33. package/src/graph/controller.ts +109 -71
  34. package/src/graph/node-defs.ts +31 -31
  35. package/src/hooks/useComputeNodeState.ts +4 -3
  36. package/src/hooks/useGraphMonitor.ts +11 -10
  37. package/src/json.test.ts +3 -3
  38. package/src/schema.test.ts +11 -11
  39. package/src/shapes/Function.tsx +10 -8
  40. package/src/shapes/Gpt.tsx +6 -1
  41. package/src/shapes/Queue.tsx +15 -9
  42. package/src/shapes/RNG.tsx +5 -1
  43. package/src/shapes/Surface.tsx +9 -3
  44. package/src/shapes/Table.tsx +3 -3
  45. package/src/shapes/Thread.tsx +17 -11
  46. package/src/shapes/Trigger.tsx +33 -44
  47. package/src/shapes/common/Box.tsx +5 -6
  48. package/src/shapes/common/FunctionBody.tsx +2 -2
  49. package/src/shapes/common/TypeSelect.tsx +1 -1
  50. package/src/shapes/defs.ts +3 -3
  51. package/src/testing/circuits.ts +5 -14
package/package.json CHANGED
@@ -1,18 +1,22 @@
1
1
  {
2
2
  "name": "@dxos/react-ui-canvas-compute",
3
- "version": "0.8.4-main.c4373fc",
3
+ "version": "0.8.4-main.c85a9c8dae",
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",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/dxos/dxos"
10
+ },
7
11
  "license": "MIT",
8
12
  "author": "DXOS.org",
9
13
  "type": "module",
10
14
  "exports": {
11
15
  ".": {
12
16
  "source": "./src/index.ts",
13
- "types": "./dist/types/src/index.d.ts",
14
17
  "browser": "./dist/lib/browser/index.mjs",
15
- "node": "./dist/lib/node-esm/index.mjs"
18
+ "node": "./dist/lib/node-esm/index.mjs",
19
+ "types": "./dist/types/src/index.d.ts"
16
20
  }
17
21
  },
18
22
  "types": "dist/types/src/index.d.ts",
@@ -26,64 +30,65 @@
26
30
  "dependencies": {
27
31
  "@antv/graphlib": "^2.0.4",
28
32
  "@antv/layout": "^1.2.13",
29
- "@effect/platform": "0.92.1",
30
- "@preact-signals/safe-react": "^0.9.0",
33
+ "@effect/platform": "0.94.4",
31
34
  "chess.js": "^1.0.0",
32
- "@dxos/ai": "0.8.4-main.c4373fc",
33
- "@dxos/assistant": "0.8.4-main.c4373fc",
34
- "@dxos/app-framework": "0.8.4-main.c4373fc",
35
- "@dxos/async": "0.8.4-main.c4373fc",
36
- "@dxos/blueprints": "0.8.4-main.c4373fc",
37
- "@dxos/context": "0.8.4-main.c4373fc",
38
- "@dxos/conductor": "0.8.4-main.c4373fc",
39
- "@dxos/echo": "0.8.4-main.c4373fc",
40
- "@dxos/debug": "0.8.4-main.c4373fc",
41
- "@dxos/edge-client": "0.8.4-main.c4373fc",
42
- "@dxos/functions": "0.8.4-main.c4373fc",
43
- "@dxos/keys": "0.8.4-main.c4373fc",
44
- "@dxos/graph": "0.8.4-main.c4373fc",
45
- "@dxos/live-object": "0.8.4-main.c4373fc",
46
- "@dxos/log": "0.8.4-main.c4373fc",
47
- "@dxos/react-client": "0.8.4-main.c4373fc",
48
- "@dxos/react-edge-client": "0.8.4-main.c4373fc",
49
- "@dxos/react-ui-attention": "0.8.4-main.c4373fc",
50
- "@dxos/react-ui-canvas": "0.8.4-main.c4373fc",
51
- "@dxos/react-ui-canvas-editor": "0.8.4-main.c4373fc",
52
- "@dxos/invariant": "0.8.4-main.c4373fc",
53
- "@dxos/react-ui-editor": "0.8.4-main.c4373fc",
54
- "@dxos/react-ui-form": "0.8.4-main.c4373fc",
55
- "@dxos/react-ui-sfx": "0.8.4-main.c4373fc",
56
- "@dxos/react-ui-stack": "0.8.4-main.c4373fc",
57
- "@dxos/schema": "0.8.4-main.c4373fc",
58
- "@dxos/util": "0.8.4-main.c4373fc",
59
- "@dxos/react-ui-syntax-highlighter": "0.8.4-main.c4373fc"
35
+ "@dxos/app-framework": "0.8.4-main.c85a9c8dae",
36
+ "@dxos/assistant": "0.8.4-main.c85a9c8dae",
37
+ "@dxos/async": "0.8.4-main.c85a9c8dae",
38
+ "@dxos/blueprints": "0.8.4-main.c85a9c8dae",
39
+ "@dxos/conductor": "0.8.4-main.c85a9c8dae",
40
+ "@dxos/context": "0.8.4-main.c85a9c8dae",
41
+ "@dxos/debug": "0.8.4-main.c85a9c8dae",
42
+ "@dxos/echo": "0.8.4-main.c85a9c8dae",
43
+ "@dxos/edge-client": "0.8.4-main.c85a9c8dae",
44
+ "@dxos/effect": "0.8.4-main.c85a9c8dae",
45
+ "@dxos/functions": "0.8.4-main.c85a9c8dae",
46
+ "@dxos/functions-runtime": "0.8.4-main.c85a9c8dae",
47
+ "@dxos/invariant": "0.8.4-main.c85a9c8dae",
48
+ "@dxos/keys": "0.8.4-main.c85a9c8dae",
49
+ "@dxos/graph": "0.8.4-main.c85a9c8dae",
50
+ "@dxos/log": "0.8.4-main.c85a9c8dae",
51
+ "@dxos/react-ui-attention": "0.8.4-main.c85a9c8dae",
52
+ "@dxos/react-client": "0.8.4-main.c85a9c8dae",
53
+ "@dxos/react-edge-client": "0.8.4-main.c85a9c8dae",
54
+ "@dxos/react-ui-canvas": "0.8.4-main.c85a9c8dae",
55
+ "@dxos/react-ui-canvas-editor": "0.8.4-main.c85a9c8dae",
56
+ "@dxos/react-ui-editor": "0.8.4-main.c85a9c8dae",
57
+ "@dxos/react-ui-mosaic": "0.8.4-main.c85a9c8dae",
58
+ "@dxos/react-ui-form": "0.8.4-main.c85a9c8dae",
59
+ "@dxos/react-ui-sfx": "0.8.4-main.c85a9c8dae",
60
+ "@dxos/react-ui-syntax-highlighter": "0.8.4-main.c85a9c8dae",
61
+ "@dxos/schema": "0.8.4-main.c85a9c8dae",
62
+ "@dxos/types": "0.8.4-main.c85a9c8dae",
63
+ "@dxos/react-ui-stack": "0.8.4-main.c85a9c8dae",
64
+ "@dxos/util": "0.8.4-main.c85a9c8dae",
65
+ "@dxos/ai": "0.8.4-main.c85a9c8dae"
60
66
  },
61
67
  "devDependencies": {
62
- "@effect/ai": "0.29.1",
63
- "@effect/experimental": "0.56.0",
68
+ "@effect/ai": "0.33.2",
69
+ "@effect/experimental": "0.58.0",
64
70
  "@types/lodash.defaultsdeep": "^4.6.6",
65
- "@types/react": "~19.2.2",
66
- "@types/react-dom": "~19.2.1",
67
- "effect": "3.18.3",
71
+ "@types/react": "~19.2.7",
72
+ "@types/react-dom": "~19.2.3",
73
+ "effect": "3.19.16",
68
74
  "lodash.defaultsdeep": "^4.6.1",
69
- "react": "~19.2.0",
70
- "react-dom": "~19.2.0",
71
- "vite": "7.1.9",
72
- "@dxos/assistant-testing": "0.8.4-main.c4373fc",
73
- "@dxos/app-framework": "0.8.4-main.c4373fc",
74
- "@dxos/compute": "0.8.4-main.c4373fc",
75
- "@dxos/echo-signals": "0.8.4-main.c4373fc",
76
- "@dxos/random": "0.8.4-main.c4373fc",
77
- "@dxos/react-ui": "0.8.4-main.c4373fc",
78
- "@dxos/react-ui-theme": "0.8.4-main.c4373fc",
79
- "@dxos/storybook-utils": "0.8.4-main.c4373fc"
75
+ "react": "~19.2.3",
76
+ "react-dom": "~19.2.3",
77
+ "vite": "^7.1.11",
78
+ "@dxos/assistant-toolkit": "0.8.4-main.c85a9c8dae",
79
+ "@dxos/app-framework": "0.8.4-main.c85a9c8dae",
80
+ "@dxos/compute": "0.8.4-main.c85a9c8dae",
81
+ "@dxos/random": "0.8.4-main.c85a9c8dae",
82
+ "@dxos/storybook-utils": "0.8.4-main.c85a9c8dae",
83
+ "@dxos/react-ui": "0.8.4-main.c85a9c8dae",
84
+ "@dxos/ui-theme": "0.8.4-main.c85a9c8dae"
80
85
  },
81
86
  "peerDependencies": {
82
- "effect": "^3.13.3",
83
- "react": "^19.0.0",
84
- "react-dom": "^19.0.0",
85
- "@dxos/react-ui": "0.8.4-main.c4373fc",
86
- "@dxos/react-ui-theme": "0.8.4-main.c4373fc"
87
+ "effect": "3.19.16",
88
+ "react": "~19.2.3",
89
+ "react-dom": "~19.2.3",
90
+ "@dxos/react-ui": "0.8.4-main.c85a9c8dae",
91
+ "@dxos/ui-theme": "0.8.4-main.c85a9c8dae"
87
92
  },
88
93
  "publishConfig": {
89
94
  "access": "public"
package/src/README.md CHANGED
@@ -42,6 +42,3 @@
42
42
  - logs associated with a node or a graph
43
43
  - node state updates (can a node have internal state separate from inputs/outputs)
44
44
  - timestep? - to correlate events that happen during a single execution time
45
-
46
-
47
-
@@ -3,29 +3,30 @@
3
3
  //
4
4
 
5
5
  import { type Meta, type StoryObj } from '@storybook/react-vite';
6
+ import * as Layer from 'effect/Layer';
7
+ import * as ManagedRuntime from 'effect/ManagedRuntime';
6
8
  import React, { type PropsWithChildren, useEffect, useMemo, useRef, useState } from 'react';
7
9
 
10
+ import { AiServiceTestingPreset } from '@dxos/ai/testing';
8
11
  import { withPluginManager } from '@dxos/app-framework/testing';
9
- import { capabilities } from '@dxos/assistant-testing';
12
+ import { capabilities } from '@dxos/assistant-toolkit/testing';
10
13
  import { type ComputeGraphModel, type ComputeNode, type GraphDiagnostic } from '@dxos/conductor';
11
- import { ServiceContainer } from '@dxos/functions';
14
+ import { Feed } from '@dxos/echo';
15
+ import { CredentialsService, TracingService } from '@dxos/functions';
16
+ import { FunctionInvocationServiceLayerTest } from '@dxos/functions-runtime';
17
+ import { TestDatabaseLayer } from '@dxos/functions-runtime/testing';
12
18
  import { withClientProvider } from '@dxos/react-client/testing';
13
19
  import { Select, Toolbar } from '@dxos/react-ui';
14
- import { withTheme } from '@dxos/react-ui/testing';
20
+ import { withLayout, withTheme } from '@dxos/react-ui/testing';
15
21
  import { withAttention } from '@dxos/react-ui-attention/testing';
16
- import {
17
- CanvasGraphModel,
18
- Editor,
19
- type EditorController,
20
- type EditorRootProps,
21
- ShapeRegistry,
22
- } from '@dxos/react-ui-canvas-editor';
22
+ import { Editor, type EditorController, type EditorRootProps, ShapeRegistry } from '@dxos/react-ui-canvas-editor';
23
23
  import { Container, useSelection } from '@dxos/react-ui-canvas-editor/testing';
24
+ import { Form } from '@dxos/react-ui-form';
24
25
  import { JsonFilter } from '@dxos/react-ui-syntax-highlighter';
25
26
 
26
27
  import { DiagnosticOverlay } from './components';
27
28
  import { ComputeShapeLayout } from './compute-layout';
28
- import { type ComputeGraphController } from './graph';
29
+ import { type ComputeGraphController, createComputeGraphController } from './graph';
29
30
  import { ComputeContext, useComputeGraphController, useGraphMonitor } from './hooks';
30
31
  import { computeShapes } from './registry';
31
32
  import { type ComputeShape } from './shapes';
@@ -33,8 +34,8 @@ import {
33
34
  createArtifactCircuit,
34
35
  createAudioCircuit,
35
36
  createBasicCircuit,
36
- createComputeGraphController,
37
37
  createControlCircuit,
38
+ createEmptyCircuit,
38
39
  createGPTRealtimeCircuit,
39
40
  createGptCircuit,
40
41
  createLogicCircuit,
@@ -42,10 +43,12 @@ import {
42
43
  createTransformCircuit,
43
44
  } from './testing';
44
45
 
45
- // const FormSchema = Schema.omit<any, any, ['subgraph']>('subgraph')(ComputeNode);
46
+ // TODO(burdon): Replace ServiceContainer.
46
47
 
47
48
  const sidebarTypes: NonNullable<RenderProps['sidebar']>[] = ['canvas', 'compute', 'controller', 'selected'] as const;
48
49
 
50
+ const hiddenArg = { table: { disable: true } };
51
+
49
52
  type RenderProps = EditorRootProps<ComputeShape> &
50
53
  PropsWithChildren<{
51
54
  init?: boolean;
@@ -59,9 +62,10 @@ const DefaultStory = ({
59
62
  children,
60
63
  graph,
61
64
  controller = null,
62
- init,
63
- sidebar: _sidebar,
65
+ sidebar: sidebarProp,
64
66
  registry,
67
+ showGrid = true,
68
+ snapToGrid = true,
65
69
  ...props
66
70
  }: RenderProps) => {
67
71
  const editorRef = useRef<EditorController>(null);
@@ -79,7 +83,7 @@ const DefaultStory = ({
79
83
  };
80
84
 
81
85
  // Sidebar.
82
- const [sidebar, setSidebar] = useState(_sidebar);
86
+ const [sidebar, setSidebar] = useState<RenderProps['sidebar']>(sidebarProp);
83
87
  const json = useMemo(() => {
84
88
  switch (sidebar) {
85
89
  case 'canvas':
@@ -119,7 +123,7 @@ const DefaultStory = ({
119
123
  }
120
124
 
121
125
  return (
122
- <div className='grid grid-cols-[1fr,360px] w-full h-full'>
126
+ <div className='grid grid-cols-[1fr_360px] w-full h-full'>
123
127
  <ComputeContext.Provider value={{ controller }}>
124
128
  <Container id={id} classNames={['flex grow overflow-hidden', !sidebar && 'col-span-2']}>
125
129
  <Editor.Root<ComputeShape>
@@ -131,6 +135,8 @@ const DefaultStory = ({
131
135
  registry={registry}
132
136
  selection={selection}
133
137
  autoZoom
138
+ showGrid={showGrid}
139
+ snapToGrid={snapToGrid}
134
140
  {...props}
135
141
  >
136
142
  <Editor.Canvas>{children}</Editor.Canvas>
@@ -142,9 +148,9 @@ const DefaultStory = ({
142
148
 
143
149
  {sidebar && (
144
150
  <Container id='sidebar' classNames='flex flex-col h-full overflow-hidden'>
145
- <Toolbar.Root classNames='p-1'>
151
+ <Toolbar.Root>
146
152
  <Select.Root value={sidebar} onValueChange={(value) => setSidebar(value as RenderProps['sidebar'])}>
147
- <Select.TriggerButton classNames='is-full'>{sidebar}</Select.TriggerButton>
153
+ <Select.TriggerButton classNames='w-full'>{sidebar}</Select.TriggerButton>
148
154
  <Select.Portal>
149
155
  <Select.Content>
150
156
  <Select.Viewport>
@@ -161,11 +167,17 @@ const DefaultStory = ({
161
167
  </Toolbar.Root>
162
168
 
163
169
  <div className='flex flex-col h-full overflow-hidden divide-y divider-separator'>
170
+ {/* TODO(burdon): Provide schema. */}
164
171
  {sidebar === 'selected' && selected && (
165
- <div>Form</div>
166
- // <Form<ComputeNode> schema={FormSchema} values={getComputeNode(selected.id) ?? {}} Custom={{}} />
172
+ <Form.Root<ComputeNode> values={getComputeNode(selected.id) ?? {}}>
173
+ <Form.Viewport>
174
+ <Form.Content>
175
+ <Form.FieldSet />
176
+ <Form.Actions />
177
+ </Form.Content>
178
+ </Form.Viewport>
179
+ </Form.Root>
167
180
  )}
168
-
169
181
  <JsonFilter data={json} />
170
182
  </div>
171
183
  </Container>
@@ -179,183 +191,130 @@ const meta = {
179
191
  component: Editor.Root as any,
180
192
  render: DefaultStory,
181
193
  decorators: [
182
- withTheme,
183
- withAttention,
194
+ withTheme(),
195
+ withLayout({ layout: 'fullscreen' }),
196
+ withAttention(),
184
197
  withClientProvider({ createIdentity: true, createSpace: true }),
185
198
  withPluginManager({ capabilities }),
186
199
  ],
187
200
  parameters: {
188
201
  layout: 'fullscreen',
189
202
  },
203
+ argTypes: {
204
+ controller: hiddenArg,
205
+ graph: hiddenArg,
206
+ registry: hiddenArg,
207
+ sidebar: {
208
+ control: 'select',
209
+ options: [...sidebarTypes, null],
210
+ },
211
+ },
190
212
  } satisfies Meta<typeof DefaultStory>;
191
213
 
192
214
  export default meta;
193
215
 
194
216
  type Story = StoryObj<typeof meta>;
195
217
 
218
+ const ServiceLayer = Layer.empty.pipe(
219
+ Layer.provideMerge(FunctionInvocationServiceLayerTest()),
220
+ Layer.provideMerge(
221
+ Layer.mergeAll(
222
+ AiServiceTestingPreset('direct'),
223
+ TestDatabaseLayer(),
224
+ CredentialsService.configuredLayer([]),
225
+ TracingService.layerNoop,
226
+ Feed.notAvailable,
227
+ ),
228
+ ),
229
+ Layer.orDie,
230
+ );
231
+
196
232
  export const Default: Story = {
197
233
  args: {
198
- // debug: true,
199
- showGrid: false,
200
- snapToGrid: false,
201
- sidebar: 'selected',
202
234
  registry: new ShapeRegistry(computeShapes),
203
- ...createComputeGraphController(CanvasGraphModel.create<ComputeShape>(), new ServiceContainer()),
235
+ ...createComputeGraphController(createEmptyCircuit(), ManagedRuntime.make(ServiceLayer)),
204
236
  },
205
237
  };
206
238
 
207
239
  export const Beacon: Story = {
208
240
  args: {
209
- // debug: true,
210
- showGrid: false,
211
- snapToGrid: false,
212
- sidebar: 'selected',
213
241
  registry: new ShapeRegistry(computeShapes),
214
- ...createComputeGraphController(createBasicCircuit(), new ServiceContainer()),
242
+ ...createComputeGraphController(createBasicCircuit(), ManagedRuntime.make(ServiceLayer)),
215
243
  },
216
244
  };
217
245
 
218
246
  export const Transform: Story = {
219
247
  args: {
220
- // debug: true,
221
- showGrid: false,
222
- snapToGrid: false,
223
- sidebar: 'selected',
224
248
  registry: new ShapeRegistry(computeShapes),
225
- ...createComputeGraphController(createTransformCircuit(), new ServiceContainer()),
249
+ ...createComputeGraphController(createTransformCircuit(), ManagedRuntime.make(ServiceLayer)),
226
250
  },
227
251
  };
228
252
 
229
253
  export const Logic: Story = {
230
254
  args: {
231
- // debug: true,
232
- showGrid: false,
233
- snapToGrid: false,
234
- sidebar: 'compute',
235
255
  registry: new ShapeRegistry(computeShapes),
236
- ...createComputeGraphController(createLogicCircuit(), new ServiceContainer()),
256
+ ...createComputeGraphController(createLogicCircuit(), ManagedRuntime.make(ServiceLayer)),
237
257
  },
238
258
  };
239
259
 
240
260
  export const Control: Story = {
241
261
  args: {
242
- // debug: true,
243
- showGrid: false,
244
- snapToGrid: false,
245
- sidebar: 'compute',
246
262
  registry: new ShapeRegistry(computeShapes),
247
- ...createComputeGraphController(createControlCircuit(), new ServiceContainer()),
263
+ ...createComputeGraphController(createControlCircuit(), ManagedRuntime.make(ServiceLayer)),
248
264
  },
249
265
  };
250
266
 
251
267
  export const Template: Story = {
252
268
  args: {
253
- showGrid: false,
254
- snapToGrid: false,
255
- // sidebar: 'controller',
256
269
  registry: new ShapeRegistry(computeShapes),
257
- ...createComputeGraphController(
258
- createTemplateCircuit(),
259
- new ServiceContainer().setServices({
260
- // ai: AiService.make(new Edge AiServiceClient({ endpoint: localServiceEndpoints.ai })),
261
- }),
262
- ),
270
+ ...createComputeGraphController(createTemplateCircuit(), ManagedRuntime.make(ServiceLayer)),
263
271
  },
264
272
  };
265
273
 
266
274
  export const GPT: Story = {
267
275
  args: {
268
- // debug: true,
269
- showGrid: false,
270
- snapToGrid: false,
271
- // sidebar: 'json',
272
- sidebar: 'controller',
273
276
  registry: new ShapeRegistry(computeShapes),
274
- ...createComputeGraphController(
275
- createGptCircuit({ history: true }),
276
- new ServiceContainer().setServices({
277
- // ai: AiService.make(new Edge AiServiceClient({ endpoint: localServiceEndpoints.ai })),
278
- }),
279
- ),
277
+ ...createComputeGraphController(createGptCircuit({ history: true }), ManagedRuntime.make(ServiceLayer)),
280
278
  },
281
279
  };
282
280
 
283
281
  export const Plugins: Story = {
284
282
  args: {
285
- // debug: true,
286
- showGrid: false,
287
- snapToGrid: false,
288
- // sidebar: 'json',
289
283
  registry: new ShapeRegistry(computeShapes),
290
284
  ...createComputeGraphController(
291
285
  createGptCircuit({ history: true, image: true, artifact: true }),
292
- new ServiceContainer().setServices({
293
- // ai: AiService.make(new Edge AiServiceClient({ endpoint: SERVICES_CONFIG.local.ai.server })),
294
- }),
286
+ ManagedRuntime.make(ServiceLayer),
295
287
  ),
296
288
  },
297
289
  };
298
290
 
299
291
  export const Artifact: Story = {
300
292
  args: {
301
- // debug: true,
302
- showGrid: false,
303
- snapToGrid: false,
304
- // sidebar: 'json',
305
293
  registry: new ShapeRegistry(computeShapes),
306
- ...createComputeGraphController(
307
- createArtifactCircuit(),
308
- new ServiceContainer().setServices({
309
- // ai: AiService.make(new Edge AiServiceClient({ endpoint: SERVICES_CONFIG.local.ai.server })),
310
- }),
311
- ),
294
+ ...createComputeGraphController(createArtifactCircuit(), ManagedRuntime.make(ServiceLayer)),
312
295
  },
313
296
  };
314
297
 
315
298
  export const ImageGen: Story = {
316
299
  args: {
317
- // debug: true,
318
- showGrid: false,
319
- snapToGrid: false,
320
- // sidebar: 'json',
321
- sidebar: 'controller',
322
300
  registry: new ShapeRegistry(computeShapes),
323
301
  ...createComputeGraphController(
324
302
  createGptCircuit({ image: true, artifact: true }),
325
- new ServiceContainer().setServices({
326
- // ai: AiService.make(createTestAiServiceClient()),
327
- }),
303
+ ManagedRuntime.make(ServiceLayer),
328
304
  ),
329
305
  },
330
306
  };
331
307
 
332
308
  export const Audio: Story = {
333
309
  args: {
334
- // debug: true,
335
- showGrid: false,
336
- snapToGrid: false,
337
- sidebar: 'controller',
338
310
  registry: new ShapeRegistry(computeShapes),
339
- ...createComputeGraphController(
340
- createAudioCircuit(),
341
- new ServiceContainer().setServices({
342
- // ai: AiService.make(createTestAiServiceClient()),
343
- }),
344
- ),
311
+ ...createComputeGraphController(createAudioCircuit(), ManagedRuntime.make(ServiceLayer)),
345
312
  },
346
313
  };
347
314
 
348
315
  export const Voice: Story = {
349
316
  args: {
350
- showGrid: false,
351
- snapToGrid: false,
352
- sidebar: 'controller',
353
317
  registry: new ShapeRegistry(computeShapes),
354
- ...createComputeGraphController(
355
- createGPTRealtimeCircuit(),
356
- new ServiceContainer().setServices({
357
- // ai: AiService.make(createTestAiServiceClient()),
358
- }),
359
- ),
318
+ ...createComputeGraphController(createGPTRealtimeCircuit(), ManagedRuntime.make(ServiceLayer)),
360
319
  },
361
320
  };