@dxos/react-ui-canvas-compute 0.8.4-main.3f58842 → 0.8.4-main.5acf9ea
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 +4 -4
- package/dist/lib/browser/index.mjs.map +2 -2
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +4 -4
- package/dist/lib/node-esm/index.mjs.map +2 -2
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/compute.stories.d.ts.map +1 -1
- package/dist/types/src/graph/controller.d.ts +28 -2
- package/dist/types/src/graph/controller.d.ts.map +1 -1
- package/dist/types/src/hooks/useComputeNodeState.d.ts +3 -2
- package/dist/types/src/hooks/useComputeNodeState.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +41 -40
- package/src/compute.stories.tsx +14 -26
- package/src/graph/controller.ts +4 -5
- package/src/hooks/useComputeNodeState.ts +4 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/react-ui-canvas-compute",
|
|
3
|
-
"version": "0.8.4-main.
|
|
3
|
+
"version": "0.8.4-main.5acf9ea",
|
|
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",
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
".": {
|
|
12
12
|
"types": "./dist/types/src/index.d.ts",
|
|
13
13
|
"browser": "./dist/lib/browser/index.mjs",
|
|
14
|
-
"node": "./dist/lib/node-esm/index.mjs"
|
|
14
|
+
"node": "./dist/lib/node-esm/index.mjs",
|
|
15
|
+
"source": "./src/index.ts"
|
|
15
16
|
}
|
|
16
17
|
},
|
|
17
18
|
"types": "dist/types/src/index.d.ts",
|
|
@@ -28,34 +29,34 @@
|
|
|
28
29
|
"@effect/platform": "0.89.0",
|
|
29
30
|
"@preact-signals/safe-react": "^0.9.0",
|
|
30
31
|
"chess.js": "^1.0.0",
|
|
31
|
-
"@dxos/ai": "0.8.4-main.
|
|
32
|
-
"@dxos/
|
|
33
|
-
"@dxos/
|
|
34
|
-
"@dxos/
|
|
35
|
-
"@dxos/
|
|
36
|
-
"@dxos/
|
|
37
|
-
"@dxos/
|
|
38
|
-
"@dxos/
|
|
39
|
-
"@dxos/
|
|
40
|
-
"@dxos/
|
|
41
|
-
"@dxos/edge-client": "0.8.4-main.
|
|
42
|
-
"@dxos/
|
|
43
|
-
"@dxos/
|
|
44
|
-
"@dxos/
|
|
45
|
-
"@dxos/live-object": "0.8.4-main.
|
|
46
|
-
"@dxos/log": "0.8.4-main.
|
|
47
|
-
"@dxos/react-client": "0.8.4-main.
|
|
48
|
-
"@dxos/react-
|
|
49
|
-
"@dxos/react-
|
|
50
|
-
"@dxos/react-ui-canvas": "0.8.4-main.
|
|
51
|
-
"@dxos/react-ui-canvas-editor": "0.8.4-main.
|
|
52
|
-
"@dxos/react-ui-
|
|
53
|
-
"@dxos/react-ui-
|
|
54
|
-
"@dxos/react-ui-
|
|
55
|
-
"@dxos/react-ui-
|
|
56
|
-
"@dxos/react-ui-syntax-highlighter": "0.8.4-main.
|
|
57
|
-
"@dxos/
|
|
58
|
-
"@dxos/
|
|
32
|
+
"@dxos/ai": "0.8.4-main.5acf9ea",
|
|
33
|
+
"@dxos/app-framework": "0.8.4-main.5acf9ea",
|
|
34
|
+
"@dxos/assistant": "0.8.4-main.5acf9ea",
|
|
35
|
+
"@dxos/async": "0.8.4-main.5acf9ea",
|
|
36
|
+
"@dxos/blueprints": "0.8.4-main.5acf9ea",
|
|
37
|
+
"@dxos/conductor": "0.8.4-main.5acf9ea",
|
|
38
|
+
"@dxos/context": "0.8.4-main.5acf9ea",
|
|
39
|
+
"@dxos/debug": "0.8.4-main.5acf9ea",
|
|
40
|
+
"@dxos/functions": "0.8.4-main.5acf9ea",
|
|
41
|
+
"@dxos/echo-schema": "0.8.4-main.5acf9ea",
|
|
42
|
+
"@dxos/edge-client": "0.8.4-main.5acf9ea",
|
|
43
|
+
"@dxos/invariant": "0.8.4-main.5acf9ea",
|
|
44
|
+
"@dxos/graph": "0.8.4-main.5acf9ea",
|
|
45
|
+
"@dxos/keys": "0.8.4-main.5acf9ea",
|
|
46
|
+
"@dxos/live-object": "0.8.4-main.5acf9ea",
|
|
47
|
+
"@dxos/log": "0.8.4-main.5acf9ea",
|
|
48
|
+
"@dxos/react-client": "0.8.4-main.5acf9ea",
|
|
49
|
+
"@dxos/react-edge-client": "0.8.4-main.5acf9ea",
|
|
50
|
+
"@dxos/react-ui-attention": "0.8.4-main.5acf9ea",
|
|
51
|
+
"@dxos/react-ui-canvas": "0.8.4-main.5acf9ea",
|
|
52
|
+
"@dxos/react-ui-canvas-editor": "0.8.4-main.5acf9ea",
|
|
53
|
+
"@dxos/react-ui-form": "0.8.4-main.5acf9ea",
|
|
54
|
+
"@dxos/react-ui-sfx": "0.8.4-main.5acf9ea",
|
|
55
|
+
"@dxos/react-ui-stack": "0.8.4-main.5acf9ea",
|
|
56
|
+
"@dxos/react-ui-editor": "0.8.4-main.5acf9ea",
|
|
57
|
+
"@dxos/react-ui-syntax-highlighter": "0.8.4-main.5acf9ea",
|
|
58
|
+
"@dxos/schema": "0.8.4-main.5acf9ea",
|
|
59
|
+
"@dxos/util": "0.8.4-main.5acf9ea"
|
|
59
60
|
},
|
|
60
61
|
"devDependencies": {
|
|
61
62
|
"@effect/ai": "0.23.0",
|
|
@@ -67,21 +68,21 @@
|
|
|
67
68
|
"react": "~18.2.0",
|
|
68
69
|
"react-dom": "~18.2.0",
|
|
69
70
|
"vite": "5.4.7",
|
|
70
|
-
"@dxos/app-framework": "0.8.4-main.
|
|
71
|
-
"@dxos/
|
|
72
|
-
"@dxos/
|
|
73
|
-
"@dxos/
|
|
74
|
-
"@dxos/
|
|
75
|
-
"@dxos/
|
|
76
|
-
"@dxos/react-ui-theme": "0.8.4-main.
|
|
77
|
-
"@dxos/storybook-utils": "0.8.4-main.
|
|
71
|
+
"@dxos/app-framework": "0.8.4-main.5acf9ea",
|
|
72
|
+
"@dxos/compute": "0.8.4-main.5acf9ea",
|
|
73
|
+
"@dxos/assistant-testing": "0.8.4-main.5acf9ea",
|
|
74
|
+
"@dxos/random": "0.8.4-main.5acf9ea",
|
|
75
|
+
"@dxos/echo-signals": "0.8.4-main.5acf9ea",
|
|
76
|
+
"@dxos/react-ui": "0.8.4-main.5acf9ea",
|
|
77
|
+
"@dxos/react-ui-theme": "0.8.4-main.5acf9ea",
|
|
78
|
+
"@dxos/storybook-utils": "0.8.4-main.5acf9ea"
|
|
78
79
|
},
|
|
79
80
|
"peerDependencies": {
|
|
80
81
|
"effect": "^3.13.3",
|
|
81
82
|
"react": "~18.2.0",
|
|
82
83
|
"react-dom": "~18.2.0",
|
|
83
|
-
"@dxos/react-ui": "0.8.4-main.
|
|
84
|
-
"@dxos/react-ui
|
|
84
|
+
"@dxos/react-ui-theme": "0.8.4-main.5acf9ea",
|
|
85
|
+
"@dxos/react-ui": "0.8.4-main.5acf9ea"
|
|
85
86
|
},
|
|
86
87
|
"publishConfig": {
|
|
87
88
|
"access": "public"
|
package/src/compute.stories.tsx
CHANGED
|
@@ -7,10 +7,8 @@ import '@dxos-theme';
|
|
|
7
7
|
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
8
8
|
import React, { type PropsWithChildren, useEffect, useMemo, useRef, useState } from 'react';
|
|
9
9
|
|
|
10
|
-
import { EdgeAiServiceClient, AiService } from '@dxos/ai';
|
|
11
|
-
import { createTestAiServiceClient } from '@dxos/ai/testing';
|
|
12
10
|
import { withPluginManager } from '@dxos/app-framework/testing';
|
|
13
|
-
import { capabilities
|
|
11
|
+
import { capabilities } from '@dxos/assistant-testing';
|
|
14
12
|
import { type ComputeGraphModel, type ComputeNode, type GraphDiagnostic } from '@dxos/conductor';
|
|
15
13
|
import { ServiceContainer } from '@dxos/functions';
|
|
16
14
|
import { withClientProvider } from '@dxos/react-client/testing';
|
|
@@ -34,16 +32,16 @@ import { ComputeContext, useComputeGraphController, useGraphMonitor } from './ho
|
|
|
34
32
|
import { computeShapes } from './registry';
|
|
35
33
|
import { type ComputeShape } from './shapes';
|
|
36
34
|
import {
|
|
35
|
+
createArtifactCircuit,
|
|
36
|
+
createAudioCircuit,
|
|
37
|
+
createBasicCircuit,
|
|
38
|
+
createComputeGraphController,
|
|
37
39
|
createControlCircuit,
|
|
40
|
+
createGptCircuit,
|
|
38
41
|
createGPTRealtimeCircuit,
|
|
39
42
|
createLogicCircuit,
|
|
40
|
-
createComputeGraphController,
|
|
41
|
-
createBasicCircuit,
|
|
42
|
-
createGptCircuit,
|
|
43
|
-
createAudioCircuit,
|
|
44
|
-
createTransformCircuit,
|
|
45
43
|
createTemplateCircuit,
|
|
46
|
-
|
|
44
|
+
createTransformCircuit,
|
|
47
45
|
} from './testing';
|
|
48
46
|
|
|
49
47
|
// const FormSchema = Schema.omit<any, any, ['subgraph']>('subgraph')(ComputeNode);
|
|
@@ -249,16 +247,6 @@ export const Control: Story = {
|
|
|
249
247
|
},
|
|
250
248
|
};
|
|
251
249
|
|
|
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
250
|
export const Template: Story = {
|
|
263
251
|
args: {
|
|
264
252
|
showGrid: false,
|
|
@@ -268,7 +256,7 @@ export const Template: Story = {
|
|
|
268
256
|
...createComputeGraphController(
|
|
269
257
|
createTemplateCircuit(),
|
|
270
258
|
new ServiceContainer().setServices({
|
|
271
|
-
ai: AiService.make(new
|
|
259
|
+
// ai: AiService.make(new Edge AiServiceClient({ endpoint: localServiceEndpoints.ai })),
|
|
272
260
|
}),
|
|
273
261
|
),
|
|
274
262
|
},
|
|
@@ -285,7 +273,7 @@ export const GPT: Story = {
|
|
|
285
273
|
...createComputeGraphController(
|
|
286
274
|
createGptCircuit({ history: true }),
|
|
287
275
|
new ServiceContainer().setServices({
|
|
288
|
-
ai: AiService.make(new
|
|
276
|
+
// ai: AiService.make(new Edge AiServiceClient({ endpoint: localServiceEndpoints.ai })),
|
|
289
277
|
}),
|
|
290
278
|
),
|
|
291
279
|
},
|
|
@@ -301,7 +289,7 @@ export const Plugins: Story = {
|
|
|
301
289
|
...createComputeGraphController(
|
|
302
290
|
createGptCircuit({ history: true, image: true, artifact: true }),
|
|
303
291
|
new ServiceContainer().setServices({
|
|
304
|
-
ai: AiService.make(new
|
|
292
|
+
// ai: AiService.make(new Edge AiServiceClient({ endpoint: localServiceEndpoints.ai })),
|
|
305
293
|
}),
|
|
306
294
|
),
|
|
307
295
|
},
|
|
@@ -317,7 +305,7 @@ export const Artifact: Story = {
|
|
|
317
305
|
...createComputeGraphController(
|
|
318
306
|
createArtifactCircuit(),
|
|
319
307
|
new ServiceContainer().setServices({
|
|
320
|
-
ai: AiService.make(new
|
|
308
|
+
// ai: AiService.make(new Edge AiServiceClient({ endpoint: localServiceEndpoints.ai })),
|
|
321
309
|
}),
|
|
322
310
|
),
|
|
323
311
|
},
|
|
@@ -334,7 +322,7 @@ export const ImageGen: Story = {
|
|
|
334
322
|
...createComputeGraphController(
|
|
335
323
|
createGptCircuit({ image: true, artifact: true }),
|
|
336
324
|
new ServiceContainer().setServices({
|
|
337
|
-
ai: AiService.make(createTestAiServiceClient()),
|
|
325
|
+
// ai: AiService.make(createTestAiServiceClient()),
|
|
338
326
|
}),
|
|
339
327
|
),
|
|
340
328
|
},
|
|
@@ -350,7 +338,7 @@ export const Audio: Story = {
|
|
|
350
338
|
...createComputeGraphController(
|
|
351
339
|
createAudioCircuit(),
|
|
352
340
|
new ServiceContainer().setServices({
|
|
353
|
-
ai: AiService.make(createTestAiServiceClient()),
|
|
341
|
+
// ai: AiService.make(createTestAiServiceClient()),
|
|
354
342
|
}),
|
|
355
343
|
),
|
|
356
344
|
},
|
|
@@ -365,7 +353,7 @@ export const Voice: Story = {
|
|
|
365
353
|
...createComputeGraphController(
|
|
366
354
|
createGPTRealtimeCircuit(),
|
|
367
355
|
new ServiceContainer().setServices({
|
|
368
|
-
ai: AiService.make(createTestAiServiceClient()),
|
|
356
|
+
// ai: AiService.make(createTestAiServiceClient()),
|
|
369
357
|
}),
|
|
370
358
|
),
|
|
371
359
|
},
|
package/src/graph/controller.ts
CHANGED
|
@@ -8,11 +8,9 @@ import { type ImageContentBlock } from '@dxos/ai';
|
|
|
8
8
|
import { Event, synchronized } from '@dxos/async';
|
|
9
9
|
import {
|
|
10
10
|
type ComputeEdge,
|
|
11
|
-
type ComputeEvent,
|
|
12
11
|
type ComputeGraphModel,
|
|
13
12
|
type ComputeMeta,
|
|
14
13
|
type ComputeNode,
|
|
15
|
-
type EventLogger,
|
|
16
14
|
type GptInput,
|
|
17
15
|
type GptOutput,
|
|
18
16
|
type GraphDiagnostic,
|
|
@@ -21,6 +19,7 @@ import {
|
|
|
21
19
|
isNotExecuted,
|
|
22
20
|
} from '@dxos/conductor';
|
|
23
21
|
import { Resource } from '@dxos/context';
|
|
22
|
+
import { type ComputeEventPayload, type ComputeEventLogger } from '@dxos/functions';
|
|
24
23
|
import { type ServiceContainer } from '@dxos/functions';
|
|
25
24
|
import { log } from '@dxos/log';
|
|
26
25
|
import { type CanvasGraphModel } from '@dxos/react-ui-canvas-editor';
|
|
@@ -110,7 +109,7 @@ export class ComputeGraphController extends Resource {
|
|
|
110
109
|
/** Computed result. */
|
|
111
110
|
public readonly output = new Event<ComputeOutputEvent>();
|
|
112
111
|
|
|
113
|
-
public readonly events = new Event<
|
|
112
|
+
public readonly events = new Event<ComputeEventPayload>();
|
|
114
113
|
|
|
115
114
|
constructor(
|
|
116
115
|
private readonly _serviceContainer: ServiceContainer,
|
|
@@ -322,7 +321,7 @@ export class ComputeGraphController extends Resource {
|
|
|
322
321
|
this.update.emit();
|
|
323
322
|
}
|
|
324
323
|
|
|
325
|
-
private _createLogger(): Context.Tag.Service<
|
|
324
|
+
private _createLogger(): Context.Tag.Service<ComputeEventLogger> {
|
|
326
325
|
return {
|
|
327
326
|
log: (event) => {
|
|
328
327
|
this._handleEvent(event);
|
|
@@ -331,7 +330,7 @@ export class ComputeGraphController extends Resource {
|
|
|
331
330
|
};
|
|
332
331
|
}
|
|
333
332
|
|
|
334
|
-
private _handleEvent(event:
|
|
333
|
+
private _handleEvent(event: ComputeEventPayload): void {
|
|
335
334
|
log('handleEvent', { event });
|
|
336
335
|
switch (event.type) {
|
|
337
336
|
case 'compute-input': {
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
import { Schema } from 'effect';
|
|
6
6
|
import { useCallback, useEffect, useState } from 'react';
|
|
7
7
|
|
|
8
|
-
import type { ComputeNode, ComputeMeta
|
|
8
|
+
import type { ComputeNode, ComputeMeta } from '@dxos/conductor';
|
|
9
|
+
import type { ComputeEventPayload } from '@dxos/functions';
|
|
9
10
|
import { invariant } from '@dxos/invariant';
|
|
10
11
|
|
|
11
12
|
import { useComputeContext } from './compute-context';
|
|
@@ -20,7 +21,7 @@ export type ComputeNodeState = {
|
|
|
20
21
|
outputs: Record<string, RuntimeValue>;
|
|
21
22
|
setOutput: (property: string, value: any) => void;
|
|
22
23
|
evalNode: () => void;
|
|
23
|
-
subscribeToEventLog: (cb: (event:
|
|
24
|
+
subscribeToEventLog: (cb: (event: ComputeEventPayload) => void) => void;
|
|
24
25
|
};
|
|
25
26
|
};
|
|
26
27
|
|
|
@@ -54,7 +55,7 @@ export const useComputeNodeState = (shape: ComputeShape): ComputeNodeState => {
|
|
|
54
55
|
}, [shape.node]);
|
|
55
56
|
|
|
56
57
|
const subscribeToEventLog = useCallback(
|
|
57
|
-
(cb: (event:
|
|
58
|
+
(cb: (event: ComputeEventPayload) => void) => {
|
|
58
59
|
return controller.events.on((ev) => {
|
|
59
60
|
if (ev.nodeId === shape.node) {
|
|
60
61
|
cb(ev);
|