@dxos/react-ui-canvas-compute 0.8.4-main.f9ba587 → 0.8.4-main.fffef41
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 +236 -209
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +236 -209
- 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 +12 -5
- package/dist/types/src/compute.stories.d.ts.map +1 -1
- package/dist/types/src/graph/controller.d.ts +33 -24
- 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 +1 -1
- 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/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/Queue.d.ts +1 -1
- package/dist/types/src/shapes/Queue.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 +4 -33
- package/dist/types/src/shapes/Trigger.d.ts.map +1 -1
- package/dist/types/src/shapes/common/Box.d.ts.map +1 -1
- package/dist/types/src/shapes/common/FunctionBody.d.ts +1 -1
- 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/testing/circuits.d.ts +1 -1
- package/dist/types/src/testing/circuits.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +53 -49
- package/src/compute-layout.ts +1 -1
- package/src/compute.stories.tsx +29 -40
- package/src/graph/controller.ts +25 -14
- package/src/graph/node-defs.ts +4 -4
- package/src/hooks/useComputeGraphController.ts +2 -2
- package/src/hooks/useComputeNodeState.ts +10 -7
- package/src/hooks/useGraphMonitor.ts +2 -2
- package/src/json.test.ts +1 -1
- package/src/registry.ts +2 -2
- package/src/schema.test.ts +4 -4
- package/src/shapes/Append.tsx +3 -3
- package/src/shapes/Array.tsx +3 -3
- package/src/shapes/Audio.tsx +5 -4
- package/src/shapes/Beacon.tsx +6 -6
- package/src/shapes/Boolean.tsx +5 -5
- package/src/shapes/Chat.tsx +4 -3
- package/src/shapes/Constant.tsx +4 -3
- package/src/shapes/Database.tsx +2 -2
- package/src/shapes/Function.tsx +10 -9
- package/src/shapes/Gpt.tsx +8 -6
- package/src/shapes/GptRealtime.tsx +3 -3
- package/src/shapes/Json.tsx +4 -3
- package/src/shapes/Logic.tsx +3 -3
- package/src/shapes/Queue.tsx +6 -5
- package/src/shapes/RNG.tsx +10 -6
- package/src/shapes/Scope.tsx +6 -5
- package/src/shapes/Surface.tsx +11 -6
- package/src/shapes/Switch.tsx +5 -4
- package/src/shapes/Table.tsx +6 -6
- package/src/shapes/Template.tsx +6 -5
- package/src/shapes/Text.tsx +5 -4
- package/src/shapes/TextToImage.tsx +2 -2
- package/src/shapes/Thread.tsx +8 -8
- package/src/shapes/Trigger.tsx +42 -54
- package/src/shapes/common/Box.tsx +7 -7
- package/src/shapes/common/FunctionBody.tsx +5 -4
- package/src/shapes/common/TypeSelect.tsx +1 -1
- package/src/shapes/defs.ts +3 -2
- package/src/testing/circuits.ts +5 -5
package/src/shapes/Thread.tsx
CHANGED
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
// Copyright 2024 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import * as Schema from 'effect/Schema';
|
|
6
6
|
import React, { useEffect, useRef } from 'react';
|
|
7
7
|
|
|
8
|
-
import { Message } from '@dxos/ai';
|
|
9
8
|
import { createInputSchema, createOutputSchema } from '@dxos/conductor';
|
|
10
9
|
import { type ThemedClassName } from '@dxos/react-ui';
|
|
11
10
|
import { type ShapeComponentProps, type ShapeDef } from '@dxos/react-ui-canvas-editor';
|
|
12
11
|
import { mx } from '@dxos/react-ui-theme';
|
|
12
|
+
import { Message } from '@dxos/types';
|
|
13
13
|
|
|
14
|
-
import {
|
|
15
|
-
import { ComputeShape,
|
|
14
|
+
import { Box, createFunctionAnchors } from './common';
|
|
15
|
+
import { ComputeShape, type CreateShapeProps, createShape } from './defs';
|
|
16
16
|
|
|
17
|
-
const InputSchema = createInputSchema(Message);
|
|
18
|
-
const OutputSchema = createOutputSchema(Schema.mutable(Schema.Array(Message)));
|
|
17
|
+
const InputSchema = createInputSchema(Message.Message);
|
|
18
|
+
const OutputSchema = createOutputSchema(Schema.mutable(Schema.Array(Message.Message)));
|
|
19
19
|
|
|
20
20
|
export const ThreadShape = Schema.extend(
|
|
21
21
|
ComputeShape,
|
|
@@ -42,7 +42,7 @@ export const ThreadComponent = ({ shape }: ShapeComponentProps<ThreadShape>) =>
|
|
|
42
42
|
|
|
43
43
|
return (
|
|
44
44
|
<Box shape={shape}>
|
|
45
|
-
<div ref={scrollRef} className='flex flex-col
|
|
45
|
+
<div ref={scrollRef} className='flex flex-col is-full overflow-y-auto gap-2 p-2'>
|
|
46
46
|
{[...items].map((item, i) => (
|
|
47
47
|
<ThreadItem key={i} item={item} />
|
|
48
48
|
))}
|
|
@@ -63,7 +63,7 @@ export const ThreadItem = ({ classNames, item }: ThemedClassName<{ item: any }>)
|
|
|
63
63
|
<div className={mx('flex', classNames, role === 'user' && 'justify-end')}>
|
|
64
64
|
<div
|
|
65
65
|
className={mx(
|
|
66
|
-
'block rounded-md p-1
|
|
66
|
+
'block rounded-md p-1 pli-2 text-sm',
|
|
67
67
|
role === 'user'
|
|
68
68
|
? 'bg-blue-100 dark:bg-blue-800'
|
|
69
69
|
: role === 'system'
|
package/src/shapes/Trigger.tsx
CHANGED
|
@@ -2,57 +2,44 @@
|
|
|
2
2
|
// Copyright 2024 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import * as Schema from 'effect/Schema';
|
|
6
6
|
import React, { useEffect } from 'react';
|
|
7
7
|
|
|
8
8
|
import { VoidInput } from '@dxos/conductor';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
EmailTriggerOutput,
|
|
13
|
-
FunctionTrigger,
|
|
14
|
-
type QueueTrigger,
|
|
15
|
-
QueueTriggerOutput,
|
|
16
|
-
type SubscriptionTrigger,
|
|
17
|
-
type TimerTrigger,
|
|
18
|
-
TriggerKind,
|
|
19
|
-
type TriggerType,
|
|
20
|
-
SubscriptionTriggerOutput,
|
|
21
|
-
TimerTriggerOutput,
|
|
22
|
-
type WebhookTrigger,
|
|
23
|
-
WebhookTriggerOutput,
|
|
24
|
-
} from '@dxos/functions';
|
|
9
|
+
import { Filter, Query } from '@dxos/echo';
|
|
10
|
+
import { ObjectId, Ref } from '@dxos/echo/internal';
|
|
11
|
+
import { Trigger, TriggerEvent } from '@dxos/functions';
|
|
25
12
|
import { DXN, SpaceId } from '@dxos/keys';
|
|
26
|
-
import {
|
|
13
|
+
import { useSpace } from '@dxos/react-client/echo';
|
|
27
14
|
import { Select, type SelectRootProps } from '@dxos/react-ui';
|
|
28
15
|
import { type ShapeComponentProps, type ShapeDef } from '@dxos/react-ui-canvas-editor';
|
|
29
16
|
|
|
30
|
-
import {
|
|
31
|
-
import { ComputeShape,
|
|
17
|
+
import { FunctionBody, createFunctionAnchors, getHeight } from './common';
|
|
18
|
+
import { ComputeShape, type CreateShapeProps, createShape } from './defs';
|
|
32
19
|
|
|
33
20
|
export const TriggerShape = Schema.extend(
|
|
34
21
|
ComputeShape,
|
|
35
22
|
Schema.Struct({
|
|
36
23
|
type: Schema.Literal('trigger'),
|
|
37
|
-
functionTrigger: Schema.optional(Ref(
|
|
24
|
+
functionTrigger: Schema.optional(Ref(Trigger.Trigger)),
|
|
38
25
|
}),
|
|
39
26
|
);
|
|
40
27
|
export type TriggerShape = Schema.Schema.Type<typeof TriggerShape>;
|
|
41
28
|
|
|
42
29
|
export type CreateTriggerProps = CreateShapeProps<Omit<TriggerShape, 'functionTrigger'>> & {
|
|
43
30
|
spaceId?: SpaceId;
|
|
44
|
-
triggerKind?:
|
|
31
|
+
triggerKind?: Trigger.Kind;
|
|
45
32
|
};
|
|
46
33
|
|
|
47
34
|
export const createTrigger = (props: CreateTriggerProps): TriggerShape => {
|
|
48
|
-
const functionTrigger =
|
|
35
|
+
const functionTrigger = Trigger.make({
|
|
49
36
|
enabled: true,
|
|
50
37
|
spec: createTriggerSpec(props),
|
|
51
38
|
});
|
|
52
39
|
return createShape<TriggerShape>({
|
|
53
40
|
type: 'trigger',
|
|
54
41
|
functionTrigger: Ref.make(functionTrigger),
|
|
55
|
-
size: { width: 192, height: getHeight(
|
|
42
|
+
size: { width: 192, height: getHeight(TriggerEvent.EmailEvent) },
|
|
56
43
|
...props,
|
|
57
44
|
});
|
|
58
45
|
};
|
|
@@ -65,15 +52,15 @@ export const TriggerComponent = ({ shape }: TriggerComponentProps) => {
|
|
|
65
52
|
|
|
66
53
|
useEffect(() => {
|
|
67
54
|
if (functionTrigger && !functionTrigger.spec) {
|
|
68
|
-
functionTrigger.spec = createTriggerSpec({ triggerKind:
|
|
55
|
+
functionTrigger.spec = createTriggerSpec({ triggerKind: 'email', spaceId: space?.id });
|
|
69
56
|
}
|
|
70
57
|
}, [functionTrigger, functionTrigger?.spec]);
|
|
71
58
|
|
|
72
59
|
useEffect(() => {
|
|
73
|
-
shape.size.height = getHeight(getOutputSchema(functionTrigger?.spec?.kind ??
|
|
60
|
+
shape.size.height = getHeight(getOutputSchema(functionTrigger?.spec?.kind ?? 'email'));
|
|
74
61
|
}, [functionTrigger?.spec?.kind]);
|
|
75
62
|
|
|
76
|
-
const setKind = (kind:
|
|
63
|
+
const setKind = (kind: Trigger.Kind) => {
|
|
77
64
|
if (functionTrigger?.spec?.kind !== kind) {
|
|
78
65
|
functionTrigger!.spec = createTriggerSpec({ triggerKind: kind, spaceId: space?.id });
|
|
79
66
|
}
|
|
@@ -87,7 +74,7 @@ export const TriggerComponent = ({ shape }: TriggerComponentProps) => {
|
|
|
87
74
|
<FunctionBody
|
|
88
75
|
shape={shape}
|
|
89
76
|
status={
|
|
90
|
-
<TriggerKindSelect value={functionTrigger.spec?.kind} onValueChange={(kind) => setKind(kind as
|
|
77
|
+
<TriggerKindSelect value={functionTrigger.spec?.kind} onValueChange={(kind) => setKind(kind as Trigger.Kind)} />
|
|
91
78
|
}
|
|
92
79
|
inputSchema={VoidInput}
|
|
93
80
|
outputSchema={getOutputSchema(functionTrigger.spec!.kind!)}
|
|
@@ -99,12 +86,12 @@ export const TriggerComponent = ({ shape }: TriggerComponentProps) => {
|
|
|
99
86
|
const TriggerKindSelect = ({ value, onValueChange }: Pick<SelectRootProps, 'value' | 'onValueChange'>) => {
|
|
100
87
|
return (
|
|
101
88
|
<Select.Root value={value} onValueChange={onValueChange}>
|
|
102
|
-
<Select.TriggerButton variant='ghost' classNames='
|
|
89
|
+
<Select.TriggerButton variant='ghost' classNames='is-full !pli-0' />
|
|
103
90
|
<Select.Portal>
|
|
104
91
|
<Select.Content>
|
|
105
92
|
<Select.ScrollUpButton />
|
|
106
93
|
<Select.Viewport>
|
|
107
|
-
{
|
|
94
|
+
{Trigger.Kinds.map((kind) => (
|
|
108
95
|
<Select.Option key={kind} value={kind}>
|
|
109
96
|
{kind}
|
|
110
97
|
</Select.Option>
|
|
@@ -118,31 +105,36 @@ const TriggerKindSelect = ({ value, onValueChange }: Pick<SelectRootProps, 'valu
|
|
|
118
105
|
);
|
|
119
106
|
};
|
|
120
107
|
|
|
121
|
-
const createTriggerSpec = (props: { triggerKind?:
|
|
122
|
-
const kind = props.triggerKind ??
|
|
108
|
+
const createTriggerSpec = (props: { triggerKind?: Trigger.Kind; spaceId?: SpaceId }): Trigger.Spec => {
|
|
109
|
+
const kind = props.triggerKind ?? 'email';
|
|
123
110
|
switch (kind) {
|
|
124
|
-
case
|
|
125
|
-
return { kind:
|
|
126
|
-
case
|
|
127
|
-
return { kind:
|
|
128
|
-
case
|
|
129
|
-
return {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
111
|
+
case 'timer':
|
|
112
|
+
return { kind: 'timer', cron: '*/10 * * * * *' } satisfies Trigger.TimerSpec;
|
|
113
|
+
case 'webhook':
|
|
114
|
+
return { kind: 'webhook', method: 'POST' } satisfies Trigger.WebhookSpec;
|
|
115
|
+
case 'subscription':
|
|
116
|
+
return {
|
|
117
|
+
kind: 'subscription',
|
|
118
|
+
query: {
|
|
119
|
+
ast: Query.select(Filter.nothing()).ast,
|
|
120
|
+
},
|
|
121
|
+
} satisfies Trigger.SubscriptionSpec;
|
|
122
|
+
case 'email':
|
|
123
|
+
return { kind: 'email' } satisfies Trigger.EmailSpec;
|
|
124
|
+
case 'queue': {
|
|
133
125
|
const dxn = new DXN(DXN.kind.QUEUE, ['data', props.spaceId ?? SpaceId.random(), ObjectId.random()]).toString();
|
|
134
|
-
return { kind:
|
|
126
|
+
return { kind: 'queue', queue: dxn } satisfies Trigger.QueueSpec;
|
|
135
127
|
}
|
|
136
128
|
}
|
|
137
129
|
};
|
|
138
130
|
|
|
139
|
-
const getOutputSchema = (kind:
|
|
140
|
-
const kindToSchema: Record<
|
|
141
|
-
[
|
|
142
|
-
[
|
|
143
|
-
[
|
|
144
|
-
[
|
|
145
|
-
[
|
|
131
|
+
const getOutputSchema = (kind: Trigger.Kind) => {
|
|
132
|
+
const kindToSchema: Record<Trigger.Kind, Schema.Schema<any>> = {
|
|
133
|
+
['email']: TriggerEvent.EmailEvent,
|
|
134
|
+
['subscription']: TriggerEvent.SubscriptionEvent,
|
|
135
|
+
['timer']: TriggerEvent.TimerEvent,
|
|
136
|
+
['webhook']: TriggerEvent.WebhookEvent,
|
|
137
|
+
['queue']: TriggerEvent.QueueEvent,
|
|
146
138
|
};
|
|
147
139
|
return kindToSchema[kind];
|
|
148
140
|
};
|
|
@@ -154,9 +146,5 @@ export const triggerShape: ShapeDef<TriggerShape> = {
|
|
|
154
146
|
component: TriggerComponent,
|
|
155
147
|
createShape: createTrigger,
|
|
156
148
|
getAnchors: (shape) =>
|
|
157
|
-
createFunctionAnchors(
|
|
158
|
-
shape,
|
|
159
|
-
VoidInput,
|
|
160
|
-
getOutputSchema(shape.functionTrigger?.target?.spec?.kind ?? TriggerKind.Email),
|
|
161
|
-
),
|
|
149
|
+
createFunctionAnchors(shape, VoidInput, getOutputSchema(shape.functionTrigger?.target?.spec?.kind ?? 'email')),
|
|
162
150
|
};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import React, {
|
|
5
|
+
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';
|
|
@@ -32,10 +32,10 @@ export const Box = forwardRef<HTMLDivElement, BoxProps>(
|
|
|
32
32
|
const { debug } = useEditorContext();
|
|
33
33
|
|
|
34
34
|
return (
|
|
35
|
-
<div ref={forwardedRef} className='flex flex-col
|
|
36
|
-
<div className='flex shrink-0
|
|
35
|
+
<div ref={forwardedRef} className='flex flex-col bs-full is-full justify-between'>
|
|
36
|
+
<div className='flex shrink-0 is-full justify-between items-center bs-[32px] bg-hoverSurface'>
|
|
37
37
|
<Icon icon={icon} classNames='mx-2' />
|
|
38
|
-
<div className='grow text-sm truncate'>{debug ? shape.type : name ?? shape.text ?? title}</div>
|
|
38
|
+
<div className='grow text-sm truncate'>{debug ? shape.type : (name ?? shape.text ?? title)}</div>
|
|
39
39
|
<IconButton
|
|
40
40
|
classNames='p-1 text-green-500'
|
|
41
41
|
variant='ghost'
|
|
@@ -50,9 +50,9 @@ export const Box = forwardRef<HTMLDivElement, BoxProps>(
|
|
|
50
50
|
}}
|
|
51
51
|
/>
|
|
52
52
|
</div>
|
|
53
|
-
<div className={mx('flex flex-col
|
|
54
|
-
<div className='flex shrink-0
|
|
55
|
-
<div className='grow
|
|
53
|
+
<div className={mx('flex flex-col bs-full grow overflow-hidden', classNames)}>{children}</div>
|
|
54
|
+
<div className='flex shrink-0 is-full justify-between items-center bs-[32px] bg-hoverSurface'>
|
|
55
|
+
<div className='grow pli-2 text-sm truncate'>{debug ? shape.id : status}</div>
|
|
56
56
|
{openable && (
|
|
57
57
|
<IconButton
|
|
58
58
|
classNames='p-1'
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
// Copyright 2024 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import type * as Schema from 'effect/Schema';
|
|
6
|
+
import * as SchemaAST from 'effect/SchemaAST';
|
|
6
7
|
import React, { type JSX, useRef, useState } from 'react';
|
|
7
8
|
|
|
8
9
|
import { VoidInput, VoidOutput } from '@dxos/conductor';
|
|
9
10
|
import { useCanvasContext } from '@dxos/react-ui-canvas';
|
|
10
11
|
import { type Polygon, type Shape } from '@dxos/react-ui-canvas-editor';
|
|
11
|
-
import {
|
|
12
|
+
import { createAnchors, getParentShapeElement, rowHeight } from '@dxos/react-ui-canvas-editor';
|
|
12
13
|
|
|
13
14
|
import { Box, type BoxProps, footerHeight, headerHeight } from '../common';
|
|
14
15
|
import { createAnchorId, getProperties } from '../defs';
|
|
@@ -81,7 +82,7 @@ export const FunctionBody = ({
|
|
|
81
82
|
{(inputs?.length ?? 0) > 0 && (
|
|
82
83
|
<div className='flex flex-col'>
|
|
83
84
|
{inputs?.map(({ name }) => (
|
|
84
|
-
<div key={name} className='
|
|
85
|
+
<div key={name} className='pli-2 truncate text-sm font-mono items-center' style={{ height: rowHeight }}>
|
|
85
86
|
{name}
|
|
86
87
|
</div>
|
|
87
88
|
))}
|
|
@@ -92,7 +93,7 @@ export const FunctionBody = ({
|
|
|
92
93
|
{outputs?.map(({ name }) => (
|
|
93
94
|
<div
|
|
94
95
|
key={name}
|
|
95
|
-
className='
|
|
96
|
+
className='pli-2 truncate text-sm font-mono items-center text-right'
|
|
96
97
|
style={{ height: rowHeight }}
|
|
97
98
|
>
|
|
98
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='is-full !pli-0' />
|
|
15
15
|
<Select.Portal>
|
|
16
16
|
<Select.Content>
|
|
17
17
|
<Select.ScrollUpButton />
|
package/src/shapes/defs.ts
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import * as Schema from 'effect/Schema';
|
|
6
|
+
import * as SchemaAST from 'effect/SchemaAST';
|
|
6
7
|
|
|
7
8
|
import { DEFAULT_INPUT, DEFAULT_OUTPUT } from '@dxos/conductor';
|
|
8
|
-
import { ObjectId } from '@dxos/echo
|
|
9
|
+
import { ObjectId } from '@dxos/echo/internal';
|
|
9
10
|
import { Polygon } from '@dxos/react-ui-canvas-editor';
|
|
10
11
|
import { type MakeOptional } from '@dxos/util';
|
|
11
12
|
|
package/src/testing/circuits.ts
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
// Copyright 2024 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { createSystemPrompt } from '@dxos/
|
|
6
|
-
import { ObjectId } from '@dxos/echo
|
|
7
|
-
import type
|
|
5
|
+
import { createSystemPrompt } from '@dxos/assistant';
|
|
6
|
+
import { ObjectId } from '@dxos/echo/internal';
|
|
7
|
+
import { type ServiceContainer } from '@dxos/functions-runtime';
|
|
8
8
|
import { DXN, SpaceId } from '@dxos/keys';
|
|
9
9
|
import { type Dimension, type Point } from '@dxos/react-ui-canvas';
|
|
10
10
|
import { CanvasGraphModel, createNote, pointMultiply, pointsToRect, rectToPoints } from '@dxos/react-ui-canvas-editor';
|
|
@@ -207,7 +207,7 @@ export const createArtifactCircuit = () => {
|
|
|
207
207
|
model.builder.call((builder) => {
|
|
208
208
|
const prompt = model.createNode(
|
|
209
209
|
createTemplate({
|
|
210
|
-
text: createSystemPrompt(),
|
|
210
|
+
text: createSystemPrompt({}),
|
|
211
211
|
...position({ x: -10, y: -5, width: 8, height: 18 }),
|
|
212
212
|
}),
|
|
213
213
|
);
|
|
@@ -262,7 +262,7 @@ export const createGptCircuit = (options: {
|
|
|
262
262
|
if (options.instructions) {
|
|
263
263
|
const prompt = model.createNode(
|
|
264
264
|
createTemplate({
|
|
265
|
-
text: createSystemPrompt(),
|
|
265
|
+
text: createSystemPrompt({}),
|
|
266
266
|
...position({ x: -18, y: -12, width: 8, height: 10 }),
|
|
267
267
|
}),
|
|
268
268
|
);
|