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