@dxos/react-ui-canvas-compute 0.8.4-main.3a94e84 → 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 -16
- 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/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/
|
|
40
|
-
"@dxos/
|
|
41
|
-
"@dxos/
|
|
42
|
-
"@dxos/
|
|
43
|
-
"@dxos/
|
|
44
|
-
"@dxos/
|
|
45
|
-
"@dxos/
|
|
46
|
-
"@dxos/
|
|
47
|
-
"@dxos/react-
|
|
48
|
-
"@dxos/react-
|
|
49
|
-
"@dxos/react-ui-
|
|
50
|
-
"@dxos/react-ui-canvas
|
|
51
|
-
"@dxos/
|
|
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/react-ui": "0.8.4-main.
|
|
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);
|
|
@@ -258,7 +256,7 @@ export const Template: Story = {
|
|
|
258
256
|
...createComputeGraphController(
|
|
259
257
|
createTemplateCircuit(),
|
|
260
258
|
new ServiceContainer().setServices({
|
|
261
|
-
ai: AiService.make(new
|
|
259
|
+
// ai: AiService.make(new Edge AiServiceClient({ endpoint: localServiceEndpoints.ai })),
|
|
262
260
|
}),
|
|
263
261
|
),
|
|
264
262
|
},
|
|
@@ -275,7 +273,7 @@ export const GPT: Story = {
|
|
|
275
273
|
...createComputeGraphController(
|
|
276
274
|
createGptCircuit({ history: true }),
|
|
277
275
|
new ServiceContainer().setServices({
|
|
278
|
-
ai: AiService.make(new
|
|
276
|
+
// ai: AiService.make(new Edge AiServiceClient({ endpoint: localServiceEndpoints.ai })),
|
|
279
277
|
}),
|
|
280
278
|
),
|
|
281
279
|
},
|
|
@@ -291,7 +289,7 @@ export const Plugins: Story = {
|
|
|
291
289
|
...createComputeGraphController(
|
|
292
290
|
createGptCircuit({ history: true, image: true, artifact: true }),
|
|
293
291
|
new ServiceContainer().setServices({
|
|
294
|
-
ai: AiService.make(new
|
|
292
|
+
// ai: AiService.make(new Edge AiServiceClient({ endpoint: localServiceEndpoints.ai })),
|
|
295
293
|
}),
|
|
296
294
|
),
|
|
297
295
|
},
|
|
@@ -307,7 +305,7 @@ export const Artifact: Story = {
|
|
|
307
305
|
...createComputeGraphController(
|
|
308
306
|
createArtifactCircuit(),
|
|
309
307
|
new ServiceContainer().setServices({
|
|
310
|
-
ai: AiService.make(new
|
|
308
|
+
// ai: AiService.make(new Edge AiServiceClient({ endpoint: localServiceEndpoints.ai })),
|
|
311
309
|
}),
|
|
312
310
|
),
|
|
313
311
|
},
|
|
@@ -324,7 +322,7 @@ export const ImageGen: Story = {
|
|
|
324
322
|
...createComputeGraphController(
|
|
325
323
|
createGptCircuit({ image: true, artifact: true }),
|
|
326
324
|
new ServiceContainer().setServices({
|
|
327
|
-
ai: AiService.make(createTestAiServiceClient()),
|
|
325
|
+
// ai: AiService.make(createTestAiServiceClient()),
|
|
328
326
|
}),
|
|
329
327
|
),
|
|
330
328
|
},
|
|
@@ -340,7 +338,7 @@ export const Audio: Story = {
|
|
|
340
338
|
...createComputeGraphController(
|
|
341
339
|
createAudioCircuit(),
|
|
342
340
|
new ServiceContainer().setServices({
|
|
343
|
-
ai: AiService.make(createTestAiServiceClient()),
|
|
341
|
+
// ai: AiService.make(createTestAiServiceClient()),
|
|
344
342
|
}),
|
|
345
343
|
),
|
|
346
344
|
},
|
|
@@ -355,7 +353,7 @@ export const Voice: Story = {
|
|
|
355
353
|
...createComputeGraphController(
|
|
356
354
|
createGPTRealtimeCircuit(),
|
|
357
355
|
new ServiceContainer().setServices({
|
|
358
|
-
ai: AiService.make(createTestAiServiceClient()),
|
|
356
|
+
// ai: AiService.make(createTestAiServiceClient()),
|
|
359
357
|
}),
|
|
360
358
|
),
|
|
361
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);
|