@dxos/react-ui-canvas-compute 0.8.4-main.937b3ca → 0.8.4-main.9be5663bfe
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 +399 -389
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +399 -389
- 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.map +1 -1
- package/dist/types/src/graph/controller.d.ts +2 -2
- package/dist/types/src/graph/controller.d.ts.map +1 -1
- 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/shapes/Audio.d.ts.map +1 -1
- package/dist/types/src/shapes/Beacon.d.ts.map +1 -1
- package/dist/types/src/shapes/Chat.d.ts.map +1 -1
- package/dist/types/src/shapes/Constant.d.ts.map +1 -1
- package/dist/types/src/shapes/{Queue.d.ts → Feed.d.ts} +8 -8
- package/dist/types/src/shapes/Feed.d.ts.map +1 -0
- package/dist/types/src/shapes/Function.d.ts.map +1 -1
- package/dist/types/src/shapes/Gpt.d.ts.map +1 -1
- package/dist/types/src/shapes/Json.d.ts.map +1 -1
- package/dist/types/src/shapes/RNG.d.ts.map +1 -1
- package/dist/types/src/shapes/Scope.d.ts.map +1 -1
- package/dist/types/src/shapes/Surface.d.ts.map +1 -1
- package/dist/types/src/shapes/Switch.d.ts.map +1 -1
- package/dist/types/src/shapes/Template.d.ts.map +1 -1
- package/dist/types/src/shapes/Text.d.ts.map +1 -1
- package/dist/types/src/shapes/Thread.d.ts.map +1 -1
- package/dist/types/src/shapes/Trigger.d.ts +2 -1
- package/dist/types/src/shapes/Trigger.d.ts.map +1 -1
- package/dist/types/src/shapes/common/Box.d.ts +3 -3
- package/dist/types/src/shapes/common/Box.d.ts.map +1 -1
- package/dist/types/src/shapes/common/FunctionBody.d.ts +2 -2
- package/dist/types/src/shapes/common/FunctionBody.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/tsconfig.tsbuildinfo +1 -1
- package/package.json +50 -48
- package/src/README.md +0 -3
- package/src/compute.stories.tsx +17 -9
- package/src/graph/controller.ts +5 -2
- package/src/graph/node-defs.ts +28 -28
- package/src/hooks/useComputeNodeState.ts +0 -1
- package/src/hooks/useGraphMonitor.ts +5 -5
- package/src/registry.ts +2 -2
- package/src/schema.test.ts +3 -3
- package/src/shapes/Audio.tsx +2 -3
- package/src/shapes/Beacon.tsx +1 -2
- package/src/shapes/Boolean.tsx +2 -2
- package/src/shapes/Chat.tsx +0 -1
- package/src/shapes/Constant.tsx +0 -1
- package/src/shapes/{Queue.tsx → Feed.tsx} +21 -20
- package/src/shapes/Function.tsx +3 -3
- package/src/shapes/Gpt.tsx +6 -2
- package/src/shapes/GptRealtime.tsx +1 -1
- package/src/shapes/Json.tsx +7 -3
- package/src/shapes/RNG.tsx +0 -1
- package/src/shapes/Scope.tsx +1 -2
- package/src/shapes/Surface.tsx +4 -3
- package/src/shapes/Switch.tsx +1 -2
- package/src/shapes/Template.tsx +0 -1
- package/src/shapes/Text.tsx +0 -1
- package/src/shapes/Thread.tsx +14 -8
- package/src/shapes/Trigger.tsx +9 -9
- package/src/shapes/common/Box.tsx +7 -10
- package/src/shapes/common/FunctionBody.tsx +4 -4
- package/src/shapes/common/TypeSelect.tsx +1 -1
- package/src/shapes/index.ts +2 -2
- package/src/testing/circuits.ts +2 -2
- package/dist/types/src/shapes/Queue.d.ts.map +0 -1
package/src/shapes/Gpt.tsx
CHANGED
|
@@ -6,10 +6,10 @@ import * as Schema from 'effect/Schema';
|
|
|
6
6
|
import React, { useEffect, useState } from 'react';
|
|
7
7
|
|
|
8
8
|
import { GptInput, GptOutput } from '@dxos/conductor';
|
|
9
|
+
import { ScrollArea } from '@dxos/react-ui';
|
|
9
10
|
import { type ShapeComponentProps, type ShapeDef } from '@dxos/react-ui-canvas-editor';
|
|
10
11
|
|
|
11
12
|
import { useComputeNodeState } from '../hooks';
|
|
12
|
-
|
|
13
13
|
import { FunctionBody, createFunctionAnchors, getHeight } from './common';
|
|
14
14
|
import { ComputeShape, type CreateShapeProps, createShape } from './defs';
|
|
15
15
|
|
|
@@ -74,7 +74,11 @@ export const GptComponent = ({ shape }: ShapeComponentProps<GptShape>) => {
|
|
|
74
74
|
return (
|
|
75
75
|
<FunctionBody
|
|
76
76
|
shape={shape}
|
|
77
|
-
content={
|
|
77
|
+
content={
|
|
78
|
+
<ScrollArea.Root orientation='vertical' thin>
|
|
79
|
+
<ScrollArea.Viewport>{text}</ScrollArea.Viewport>
|
|
80
|
+
</ScrollArea.Root>
|
|
81
|
+
}
|
|
78
82
|
status={`${tokens} tokens`}
|
|
79
83
|
inputSchema={meta.input}
|
|
80
84
|
outputSchema={meta.output}
|
|
@@ -143,7 +143,7 @@ export const GptRealtimeComponent = ({ shape }: ShapeComponentProps<GptRealtimeS
|
|
|
143
143
|
};
|
|
144
144
|
|
|
145
145
|
return (
|
|
146
|
-
<div className='flex
|
|
146
|
+
<div className='flex w-full justify-center items-center'>
|
|
147
147
|
<Icon
|
|
148
148
|
icon={isReady ? 'ph--waveform--regular' : isLive ? 'ph--pulse--regular' : 'ph--play--regular'}
|
|
149
149
|
size={16}
|
package/src/shapes/Json.tsx
CHANGED
|
@@ -8,10 +8,9 @@ import React from 'react';
|
|
|
8
8
|
import { DEFAULT_INPUT, DefaultOutput, JsonTransformInput } from '@dxos/conductor';
|
|
9
9
|
import { type ShapeComponentProps, type ShapeDef } from '@dxos/react-ui-canvas-editor';
|
|
10
10
|
import { createAnchorMap } from '@dxos/react-ui-canvas-editor';
|
|
11
|
-
import {
|
|
11
|
+
import { Json } from '@dxos/react-ui-syntax-highlighter';
|
|
12
12
|
|
|
13
13
|
import { useComputeNodeState } from '../hooks';
|
|
14
|
-
|
|
15
14
|
import { Box, createFunctionAnchors, getHeight } from './common';
|
|
16
15
|
import { ComputeShape, type CreateShapeProps, createAnchorId, createShape } from './defs';
|
|
17
16
|
|
|
@@ -50,7 +49,12 @@ export const JsonComponent = ({ shape, ...props }: JsonComponentProps) => {
|
|
|
50
49
|
|
|
51
50
|
return (
|
|
52
51
|
<Box shape={shape}>
|
|
53
|
-
<
|
|
52
|
+
<Json.Root data={value}>
|
|
53
|
+
<Json.Content>
|
|
54
|
+
<Json.Filter />
|
|
55
|
+
<Json.Data classNames='text-xs' />
|
|
56
|
+
</Json.Content>
|
|
57
|
+
</Json.Root>
|
|
54
58
|
</Box>
|
|
55
59
|
);
|
|
56
60
|
};
|
package/src/shapes/RNG.tsx
CHANGED
|
@@ -10,7 +10,6 @@ import { Icon, type IconProps } from '@dxos/react-ui';
|
|
|
10
10
|
import { type ShapeComponentProps, type ShapeDef, createAnchorMap } from '@dxos/react-ui-canvas-editor';
|
|
11
11
|
|
|
12
12
|
import { useComputeNodeState } from '../hooks';
|
|
13
|
-
|
|
14
13
|
import { ComputeShape, type CreateShapeProps, createAnchorId, createShape } from './defs';
|
|
15
14
|
|
|
16
15
|
export const RandomShape = Schema.extend(
|
package/src/shapes/Scope.tsx
CHANGED
|
@@ -10,7 +10,6 @@ import { type ShapeComponentProps, type ShapeDef, createAnchorMap } from '@dxos/
|
|
|
10
10
|
import { Chaos, shaderPresets, useAudioStream } from '@dxos/react-ui-sfx';
|
|
11
11
|
|
|
12
12
|
import { useComputeNodeState } from '../hooks';
|
|
13
|
-
|
|
14
13
|
import { ComputeShape, type CreateShapeProps, createAnchorId, createShape } from './defs';
|
|
15
14
|
|
|
16
15
|
export const ScopeShape = Schema.extend(
|
|
@@ -39,7 +38,7 @@ export const ScopeComponent = ({ shape }: ShapeComponentProps<ScopeShape>) => {
|
|
|
39
38
|
const { getAverage } = useAudioStream(active);
|
|
40
39
|
|
|
41
40
|
return (
|
|
42
|
-
<div className='flex
|
|
41
|
+
<div className='flex w-full justify-center items-center bg-black'>
|
|
43
42
|
<Chaos active={active} getValue={getAverage} options={{ ...shaderPresets.heptapod, zoom: 1.2 }} />
|
|
44
43
|
</div>
|
|
45
44
|
);
|
package/src/shapes/Surface.tsx
CHANGED
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
import * as Schema from 'effect/Schema';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
|
|
8
|
-
import { Surface } from '@dxos/app-framework/
|
|
8
|
+
import { Surface } from '@dxos/app-framework/ui';
|
|
9
9
|
import { DEFAULT_INPUT } from '@dxos/conductor';
|
|
10
|
+
import { Card } from '@dxos/react-ui';
|
|
10
11
|
import { type ShapeComponentProps, type ShapeDef } from '@dxos/react-ui-canvas-editor';
|
|
11
12
|
import { createAnchorMap } from '@dxos/react-ui-canvas-editor';
|
|
12
13
|
|
|
13
14
|
import { useComputeNodeState } from '../hooks';
|
|
14
|
-
|
|
15
15
|
import { Box, type BoxActionHandler } from './common';
|
|
16
16
|
import { ComputeShape, type CreateShapeProps, createAnchorId, createShape } from './defs';
|
|
17
17
|
|
|
@@ -44,9 +44,10 @@ export const SurfaceComponent = ({ shape }: ShapeComponentProps<SurfaceShape>) =
|
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
46
|
|
|
47
|
+
// TODO(burdon): Subject property?
|
|
47
48
|
return (
|
|
48
49
|
<Box shape={shape} onAction={handleAction}>
|
|
49
|
-
{value !== null && <Surface role='card--
|
|
50
|
+
<Card.Root>{value !== null && <Surface.Surface role='card--content' data={{ value }} limit={1} />}</Card.Root>
|
|
50
51
|
</Box>
|
|
51
52
|
);
|
|
52
53
|
};
|
package/src/shapes/Switch.tsx
CHANGED
|
@@ -10,7 +10,6 @@ import { Input } from '@dxos/react-ui';
|
|
|
10
10
|
import { type ShapeComponentProps, type ShapeDef, createAnchorMap } from '@dxos/react-ui-canvas-editor';
|
|
11
11
|
|
|
12
12
|
import { useComputeNodeState } from '../hooks';
|
|
13
|
-
|
|
14
13
|
import { ComputeShape, type CreateShapeProps, createAnchorId, createShape } from './defs';
|
|
15
14
|
|
|
16
15
|
export const SwitchShape = Schema.extend(
|
|
@@ -36,7 +35,7 @@ export const SwitchComponent = ({ shape }: ShapeComponentProps<SwitchShape>) =>
|
|
|
36
35
|
}, [value]);
|
|
37
36
|
|
|
38
37
|
return (
|
|
39
|
-
<div className='flex
|
|
38
|
+
<div className='flex w-full justify-center items-center' onClick={(ev) => ev.stopPropagation()}>
|
|
40
39
|
<Input.Root>
|
|
41
40
|
<Input.Switch checked={value} onCheckedChange={(value) => setValue(value)} />
|
|
42
41
|
</Input.Root>
|
package/src/shapes/Template.tsx
CHANGED
package/src/shapes/Text.tsx
CHANGED
|
@@ -10,7 +10,6 @@ import { type ShapeComponentProps, type ShapeDef, TextBox } from '@dxos/react-ui
|
|
|
10
10
|
import { createAnchorMap } from '@dxos/react-ui-canvas-editor';
|
|
11
11
|
|
|
12
12
|
import { useComputeNodeState } from '../hooks';
|
|
13
|
-
|
|
14
13
|
import { Box, type BoxActionHandler } from './common';
|
|
15
14
|
import { ComputeShape, type CreateShapeProps, createAnchorId, createShape } from './defs';
|
|
16
15
|
|
package/src/shapes/Thread.tsx
CHANGED
|
@@ -6,7 +6,7 @@ import * as Schema from 'effect/Schema';
|
|
|
6
6
|
import React, { useEffect, useRef } from 'react';
|
|
7
7
|
|
|
8
8
|
import { createInputSchema, createOutputSchema } from '@dxos/conductor';
|
|
9
|
-
import { type ThemedClassName } from '@dxos/react-ui';
|
|
9
|
+
import { ScrollArea, type ThemedClassName } from '@dxos/react-ui';
|
|
10
10
|
import { type ShapeComponentProps, type ShapeDef } from '@dxos/react-ui-canvas-editor';
|
|
11
11
|
import { Message } from '@dxos/types';
|
|
12
12
|
import { mx } from '@dxos/ui-theme';
|
|
@@ -42,18 +42,24 @@ export const ThreadComponent = ({ shape }: ShapeComponentProps<ThreadShape>) =>
|
|
|
42
42
|
|
|
43
43
|
return (
|
|
44
44
|
<Box shape={shape}>
|
|
45
|
-
<
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
<ScrollArea.Root orientation='vertical'>
|
|
46
|
+
<ScrollArea.Viewport classNames='gap-2 p-2' ref={scrollRef}>
|
|
47
|
+
{[...items].map((item, i) => (
|
|
48
|
+
<ThreadItem key={i} item={item} />
|
|
49
|
+
))}
|
|
50
|
+
</ScrollArea.Viewport>
|
|
51
|
+
</ScrollArea.Root>
|
|
50
52
|
</Box>
|
|
51
53
|
);
|
|
52
54
|
};
|
|
53
55
|
|
|
54
56
|
export const ThreadItem = ({ classNames, item }: ThemedClassName<{ item: any }>) => {
|
|
55
57
|
if (typeof item !== 'object') {
|
|
56
|
-
return
|
|
58
|
+
return (
|
|
59
|
+
<div role='none' className={mx(classNames)}>
|
|
60
|
+
{item}
|
|
61
|
+
</div>
|
|
62
|
+
);
|
|
57
63
|
}
|
|
58
64
|
|
|
59
65
|
// TODO(burdon): Hack; introspect type.
|
|
@@ -63,7 +69,7 @@ export const ThreadItem = ({ classNames, item }: ThemedClassName<{ item: any }>)
|
|
|
63
69
|
<div className={mx('flex', classNames, role === 'user' && 'justify-end')}>
|
|
64
70
|
<div
|
|
65
71
|
className={mx(
|
|
66
|
-
'block rounded-md p-1
|
|
72
|
+
'block rounded-md p-1 px-2 text-sm',
|
|
67
73
|
role === 'user'
|
|
68
74
|
? 'bg-blue-100 dark:bg-blue-800'
|
|
69
75
|
: role === 'system'
|
package/src/shapes/Trigger.tsx
CHANGED
|
@@ -6,11 +6,11 @@ import * as Schema from 'effect/Schema';
|
|
|
6
6
|
import React, { useEffect } from 'react';
|
|
7
7
|
|
|
8
8
|
import { VoidInput } from '@dxos/conductor';
|
|
9
|
-
import { Filter, Obj, Query, Ref
|
|
9
|
+
import { Filter, Obj, Query, Ref } from '@dxos/echo';
|
|
10
10
|
import { type Mutable } from '@dxos/echo/internal';
|
|
11
11
|
import { Trigger, TriggerEvent } from '@dxos/functions';
|
|
12
12
|
import { DXN, SpaceId } from '@dxos/keys';
|
|
13
|
-
import {
|
|
13
|
+
import { useSpaces } from '@dxos/react-client/echo';
|
|
14
14
|
import { Select, type SelectRootProps } from '@dxos/react-ui';
|
|
15
15
|
import { type ShapeComponentProps, type ShapeDef } from '@dxos/react-ui-canvas-editor';
|
|
16
16
|
|
|
@@ -21,7 +21,7 @@ export const TriggerShape = Schema.extend(
|
|
|
21
21
|
ComputeShape,
|
|
22
22
|
Schema.Struct({
|
|
23
23
|
type: Schema.Literal('trigger'),
|
|
24
|
-
functionTrigger: Schema.optional(
|
|
24
|
+
functionTrigger: Schema.optional(Ref.Ref(Trigger.Trigger)),
|
|
25
25
|
}),
|
|
26
26
|
);
|
|
27
27
|
|
|
@@ -48,13 +48,13 @@ export const createTrigger = (props: CreateTriggerProps): TriggerShape => {
|
|
|
48
48
|
export type TriggerComponentProps = ShapeComponentProps<TriggerShape>;
|
|
49
49
|
|
|
50
50
|
export const TriggerComponent = ({ shape }: TriggerComponentProps) => {
|
|
51
|
-
const space =
|
|
51
|
+
const [space] = useSpaces();
|
|
52
52
|
const functionTrigger = shape.functionTrigger?.target;
|
|
53
53
|
|
|
54
54
|
useEffect(() => {
|
|
55
55
|
if (functionTrigger && !functionTrigger.spec) {
|
|
56
|
-
Obj.change(functionTrigger, (
|
|
57
|
-
|
|
56
|
+
Obj.change(functionTrigger, (functionTrigger) => {
|
|
57
|
+
functionTrigger.spec = createTriggerSpec({ triggerKind: 'email', spaceId: space?.id }) as Mutable<Trigger.Spec>;
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
60
|
}, [functionTrigger, functionTrigger?.spec]);
|
|
@@ -65,8 +65,8 @@ export const TriggerComponent = ({ shape }: TriggerComponentProps) => {
|
|
|
65
65
|
|
|
66
66
|
const setKind = (kind: Trigger.Kind) => {
|
|
67
67
|
if (functionTrigger?.spec?.kind !== kind) {
|
|
68
|
-
Obj.change(functionTrigger!, (
|
|
69
|
-
|
|
68
|
+
Obj.change(functionTrigger!, (obj) => {
|
|
69
|
+
obj.spec = createTriggerSpec({ triggerKind: kind, spaceId: space?.id }) as Mutable<Trigger.Spec>;
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
72
|
};
|
|
@@ -91,7 +91,7 @@ export const TriggerComponent = ({ shape }: TriggerComponentProps) => {
|
|
|
91
91
|
const TriggerKindSelect = ({ value, onValueChange }: Pick<SelectRootProps, 'value' | 'onValueChange'>) => {
|
|
92
92
|
return (
|
|
93
93
|
<Select.Root value={value} onValueChange={onValueChange}>
|
|
94
|
-
<Select.TriggerButton variant='ghost' classNames='
|
|
94
|
+
<Select.TriggerButton variant='ghost' classNames='w-full px-0!' />
|
|
95
95
|
<Select.Portal>
|
|
96
96
|
<Select.Content>
|
|
97
97
|
<Select.ScrollUpButton />
|
|
@@ -6,8 +6,7 @@ import React, { type PropsWithChildren, type ReactNode, forwardRef } from 'react
|
|
|
6
6
|
|
|
7
7
|
import { invariant } from '@dxos/invariant';
|
|
8
8
|
import { Icon, IconButton, type ThemedClassName } from '@dxos/react-ui';
|
|
9
|
-
import { useEditorContext, useShapeDef } from '@dxos/react-ui-canvas-editor';
|
|
10
|
-
import { type Shape } from '@dxos/react-ui-canvas-editor';
|
|
9
|
+
import { type CanvasBoard, useEditorContext, useShapeDef } from '@dxos/react-ui-canvas-editor';
|
|
11
10
|
import { mx } from '@dxos/ui-theme';
|
|
12
11
|
|
|
13
12
|
export const headerHeight = 32;
|
|
@@ -17,7 +16,7 @@ export type BoxActionHandler = (action: 'run' | 'open' | 'close') => void;
|
|
|
17
16
|
|
|
18
17
|
export type BoxProps = PropsWithChildren<
|
|
19
18
|
ThemedClassName<{
|
|
20
|
-
shape: Shape;
|
|
19
|
+
shape: CanvasBoard.Shape;
|
|
21
20
|
title?: string;
|
|
22
21
|
status?: string | ReactNode;
|
|
23
22
|
open?: boolean;
|
|
@@ -32,15 +31,14 @@ export const Box = forwardRef<HTMLDivElement, BoxProps>(
|
|
|
32
31
|
const { debug } = useEditorContext();
|
|
33
32
|
|
|
34
33
|
return (
|
|
35
|
-
<div ref={forwardedRef} className='flex flex-col
|
|
36
|
-
<div className='flex shrink-0
|
|
34
|
+
<div ref={forwardedRef} className='flex flex-col h-full w-full justify-between'>
|
|
35
|
+
<div className='flex shrink-0 w-full justify-between items-center h-[32px] bg-input-surface'>
|
|
37
36
|
<Icon icon={icon} classNames='mx-2' />
|
|
38
37
|
<div className='grow text-sm truncate'>{debug ? shape.type : (name ?? shape.text ?? title)}</div>
|
|
39
38
|
<IconButton
|
|
40
39
|
classNames='p-1 text-green-500'
|
|
41
40
|
variant='ghost'
|
|
42
41
|
icon='ph--play--regular'
|
|
43
|
-
size={4}
|
|
44
42
|
label='run'
|
|
45
43
|
iconOnly
|
|
46
44
|
onDoubleClick={(ev) => ev.stopPropagation()}
|
|
@@ -50,15 +48,14 @@ export const Box = forwardRef<HTMLDivElement, BoxProps>(
|
|
|
50
48
|
}}
|
|
51
49
|
/>
|
|
52
50
|
</div>
|
|
53
|
-
<div className={mx('flex flex-col
|
|
54
|
-
<div className='flex shrink-0
|
|
55
|
-
<div className='grow
|
|
51
|
+
<div className={mx('flex flex-col h-full grow overflow-hidden', classNames)}>{children}</div>
|
|
52
|
+
<div className='flex shrink-0 w-full justify-between items-center h-[32px] bg-input-surface'>
|
|
53
|
+
<div className='grow px-2 text-sm truncate'>{debug ? shape.id : status}</div>
|
|
56
54
|
{openable && (
|
|
57
55
|
<IconButton
|
|
58
56
|
classNames='p-1'
|
|
59
57
|
variant='ghost'
|
|
60
58
|
icon={open ? 'ph--caret-up--regular' : 'ph--caret-down--regular'}
|
|
61
|
-
size={4}
|
|
62
59
|
label={open ? 'close' : 'open'}
|
|
63
60
|
iconOnly
|
|
64
61
|
onClick={(ev) => {
|
|
@@ -8,7 +8,7 @@ import React, { type JSX, useRef, useState } from 'react';
|
|
|
8
8
|
|
|
9
9
|
import { VoidInput, VoidOutput } from '@dxos/conductor';
|
|
10
10
|
import { useCanvasContext } from '@dxos/react-ui-canvas';
|
|
11
|
-
import { type
|
|
11
|
+
import { type CanvasBoard, type Polygon } from '@dxos/react-ui-canvas-editor';
|
|
12
12
|
import { createAnchors, getParentShapeElement, rowHeight } from '@dxos/react-ui-canvas-editor';
|
|
13
13
|
|
|
14
14
|
import { Box, type BoxProps, footerHeight, headerHeight } from '../common';
|
|
@@ -18,7 +18,7 @@ const bodyPadding = 8;
|
|
|
18
18
|
const expandedHeight = 200;
|
|
19
19
|
|
|
20
20
|
export type FunctionBodyProps = {
|
|
21
|
-
shape: Shape;
|
|
21
|
+
shape: CanvasBoard.Shape;
|
|
22
22
|
name?: string;
|
|
23
23
|
content?: JSX.Element;
|
|
24
24
|
inputSchema?: Schema.Schema.Any;
|
|
@@ -82,7 +82,7 @@ export const FunctionBody = ({
|
|
|
82
82
|
{(inputs?.length ?? 0) > 0 && (
|
|
83
83
|
<div className='flex flex-col'>
|
|
84
84
|
{inputs?.map(({ name }) => (
|
|
85
|
-
<div key={name} className='
|
|
85
|
+
<div key={name} className='px-2 truncate text-sm font-mono items-center' style={{ height: rowHeight }}>
|
|
86
86
|
{name}
|
|
87
87
|
</div>
|
|
88
88
|
))}
|
|
@@ -93,7 +93,7 @@ export const FunctionBody = ({
|
|
|
93
93
|
{outputs?.map(({ name }) => (
|
|
94
94
|
<div
|
|
95
95
|
key={name}
|
|
96
|
-
className='
|
|
96
|
+
className='px-2 truncate text-sm font-mono items-center text-right'
|
|
97
97
|
style={{ height: rowHeight }}
|
|
98
98
|
>
|
|
99
99
|
{name}
|
|
@@ -11,7 +11,7 @@ import { Select, type SelectRootProps } from '@dxos/react-ui';
|
|
|
11
11
|
export const TypeSelect = ({ value, onValueChange }: Pick<SelectRootProps, 'value' | 'onValueChange'>) => {
|
|
12
12
|
return (
|
|
13
13
|
<Select.Root value={value} onValueChange={onValueChange}>
|
|
14
|
-
<Select.TriggerButton variant='ghost' classNames='
|
|
14
|
+
<Select.TriggerButton variant='ghost' classNames='w-full px-0!' />
|
|
15
15
|
<Select.Portal>
|
|
16
16
|
<Select.Content>
|
|
17
17
|
<Select.ScrollUpButton />
|
package/src/shapes/index.ts
CHANGED
|
@@ -13,11 +13,12 @@ export * from './Boolean';
|
|
|
13
13
|
export * from './Chat';
|
|
14
14
|
export * from './Constant';
|
|
15
15
|
export * from './Database';
|
|
16
|
+
export * from './Feed';
|
|
16
17
|
export * from './Function';
|
|
17
18
|
export * from './Gpt';
|
|
19
|
+
export * from './GptRealtime';
|
|
18
20
|
export * from './Json';
|
|
19
21
|
export * from './Logic';
|
|
20
|
-
export * from './Queue';
|
|
21
22
|
export * from './RNG';
|
|
22
23
|
export * from './Scope';
|
|
23
24
|
export * from './Surface';
|
|
@@ -28,4 +29,3 @@ export * from './Text';
|
|
|
28
29
|
export * from './Thread';
|
|
29
30
|
export * from './TextToImage';
|
|
30
31
|
export * from './Trigger';
|
|
31
|
-
export * from './GptRealtime';
|
package/src/testing/circuits.ts
CHANGED
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
createJsonTransform,
|
|
25
25
|
createNot,
|
|
26
26
|
createOr,
|
|
27
|
-
|
|
27
|
+
createFeed,
|
|
28
28
|
createRandom,
|
|
29
29
|
createScope,
|
|
30
30
|
createSurface,
|
|
@@ -241,7 +241,7 @@ export const createGptCircuit = (options: {
|
|
|
241
241
|
}),
|
|
242
242
|
);
|
|
243
243
|
|
|
244
|
-
const thread = model.createNode(
|
|
244
|
+
const thread = model.createNode(createFeed(position({ x: -3, y: 3, width: 14, height: 10 })));
|
|
245
245
|
const append = model.createNode(createAppend(position({ x: 10, y: 6 })));
|
|
246
246
|
|
|
247
247
|
builder
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Queue.d.ts","sourceRoot":"","sources":["../../../../src/shapes/Queue.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAOvF,OAAO,EAAgB,KAAK,gBAAgB,EAAe,MAAM,QAAQ,CAAC;AAE1E,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;GAKtB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;AAE/D,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;AAE5D,eAAO,MAAM,WAAW,GAAI,OAAO,gBAAgB;;;;;;;;;;;;;;;;;;;CAK/C,CAAC;AAEL,eAAO,MAAM,cAAc,GAAI,WAAW,mBAAmB,CAAC,UAAU,CAAC,sBAmBxE,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,sBAAsB,eAAe,CAAC;IAAE,IAAI,EAAE,GAAG,CAAA;CAAE,CAAC,sBAe7E,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,UAAU,CAQ3C,CAAC"}
|