@dxos/react-ui-canvas-compute 0.8.4-main.dedc0f3 → 0.8.4-main.e8ec1fe

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.
Files changed (110) hide show
  1. package/dist/lib/browser/index.mjs +116 -128
  2. package/dist/lib/browser/index.mjs.map +3 -3
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node-esm/index.mjs +116 -128
  5. package/dist/lib/node-esm/index.mjs.map +3 -3
  6. package/dist/lib/node-esm/meta.json +1 -1
  7. package/dist/types/src/compute.stories.d.ts +3 -1
  8. package/dist/types/src/compute.stories.d.ts.map +1 -1
  9. package/dist/types/src/graph/controller.d.ts +13 -30
  10. package/dist/types/src/graph/controller.d.ts.map +1 -1
  11. package/dist/types/src/hooks/useComputeGraphController.d.ts +1 -1
  12. package/dist/types/src/hooks/useComputeGraphController.d.ts.map +1 -1
  13. package/dist/types/src/hooks/useComputeNodeState.d.ts +2 -2
  14. package/dist/types/src/hooks/useComputeNodeState.d.ts.map +1 -1
  15. package/dist/types/src/json.test.d.ts +1 -1
  16. package/dist/types/src/json.test.d.ts.map +1 -1
  17. package/dist/types/src/shapes/Append.d.ts +1 -1
  18. package/dist/types/src/shapes/Append.d.ts.map +1 -1
  19. package/dist/types/src/shapes/Array.d.ts +1 -1
  20. package/dist/types/src/shapes/Array.d.ts.map +1 -1
  21. package/dist/types/src/shapes/Audio.d.ts +1 -1
  22. package/dist/types/src/shapes/Audio.d.ts.map +1 -1
  23. package/dist/types/src/shapes/Beacon.d.ts +1 -1
  24. package/dist/types/src/shapes/Beacon.d.ts.map +1 -1
  25. package/dist/types/src/shapes/Boolean.d.ts +1 -1
  26. package/dist/types/src/shapes/Boolean.d.ts.map +1 -1
  27. package/dist/types/src/shapes/Chat.d.ts +1 -1
  28. package/dist/types/src/shapes/Chat.d.ts.map +1 -1
  29. package/dist/types/src/shapes/Constant.d.ts +2 -2
  30. package/dist/types/src/shapes/Constant.d.ts.map +1 -1
  31. package/dist/types/src/shapes/Database.d.ts +1 -1
  32. package/dist/types/src/shapes/Database.d.ts.map +1 -1
  33. package/dist/types/src/shapes/Function.d.ts +1 -1
  34. package/dist/types/src/shapes/Function.d.ts.map +1 -1
  35. package/dist/types/src/shapes/Gpt.d.ts +1 -1
  36. package/dist/types/src/shapes/Gpt.d.ts.map +1 -1
  37. package/dist/types/src/shapes/GptRealtime.d.ts +1 -1
  38. package/dist/types/src/shapes/GptRealtime.d.ts.map +1 -1
  39. package/dist/types/src/shapes/Json.d.ts +1 -1
  40. package/dist/types/src/shapes/Json.d.ts.map +1 -1
  41. package/dist/types/src/shapes/Logic.d.ts +1 -1
  42. package/dist/types/src/shapes/Logic.d.ts.map +1 -1
  43. package/dist/types/src/shapes/Queue.d.ts +1 -1
  44. package/dist/types/src/shapes/Queue.d.ts.map +1 -1
  45. package/dist/types/src/shapes/RNG.d.ts +1 -1
  46. package/dist/types/src/shapes/RNG.d.ts.map +1 -1
  47. package/dist/types/src/shapes/Scope.d.ts +1 -1
  48. package/dist/types/src/shapes/Scope.d.ts.map +1 -1
  49. package/dist/types/src/shapes/Surface.d.ts +1 -1
  50. package/dist/types/src/shapes/Surface.d.ts.map +1 -1
  51. package/dist/types/src/shapes/Switch.d.ts +1 -1
  52. package/dist/types/src/shapes/Switch.d.ts.map +1 -1
  53. package/dist/types/src/shapes/Table.d.ts +1 -1
  54. package/dist/types/src/shapes/Table.d.ts.map +1 -1
  55. package/dist/types/src/shapes/Template.d.ts +1 -1
  56. package/dist/types/src/shapes/Template.d.ts.map +1 -1
  57. package/dist/types/src/shapes/Text.d.ts +1 -1
  58. package/dist/types/src/shapes/Text.d.ts.map +1 -1
  59. package/dist/types/src/shapes/TextToImage.d.ts +1 -1
  60. package/dist/types/src/shapes/TextToImage.d.ts.map +1 -1
  61. package/dist/types/src/shapes/Thread.d.ts +1 -1
  62. package/dist/types/src/shapes/Thread.d.ts.map +1 -1
  63. package/dist/types/src/shapes/Trigger.d.ts +4 -4
  64. package/dist/types/src/shapes/Trigger.d.ts.map +1 -1
  65. package/dist/types/src/shapes/common/FunctionBody.d.ts +1 -1
  66. package/dist/types/src/shapes/common/FunctionBody.d.ts.map +1 -1
  67. package/dist/types/src/shapes/defs.d.ts +2 -1
  68. package/dist/types/src/shapes/defs.d.ts.map +1 -1
  69. package/dist/types/src/testing/circuits.d.ts +1 -1
  70. package/dist/types/src/testing/circuits.d.ts.map +1 -1
  71. package/dist/types/tsconfig.tsbuildinfo +1 -1
  72. package/package.json +52 -50
  73. package/src/compute-layout.ts +1 -1
  74. package/src/compute.stories.tsx +10 -10
  75. package/src/graph/controller.ts +17 -6
  76. package/src/graph/node-defs.ts +1 -1
  77. package/src/hooks/useComputeGraphController.ts +1 -1
  78. package/src/hooks/useComputeNodeState.ts +5 -4
  79. package/src/hooks/useGraphMonitor.ts +1 -1
  80. package/src/json.test.ts +1 -1
  81. package/src/schema.test.ts +2 -2
  82. package/src/shapes/Append.tsx +1 -1
  83. package/src/shapes/Array.tsx +1 -1
  84. package/src/shapes/Audio.tsx +2 -2
  85. package/src/shapes/Beacon.tsx +2 -2
  86. package/src/shapes/Boolean.tsx +3 -3
  87. package/src/shapes/Chat.tsx +1 -1
  88. package/src/shapes/Constant.tsx +1 -1
  89. package/src/shapes/Database.tsx +1 -1
  90. package/src/shapes/Function.tsx +5 -5
  91. package/src/shapes/Gpt.tsx +2 -2
  92. package/src/shapes/GptRealtime.tsx +2 -2
  93. package/src/shapes/Json.tsx +1 -1
  94. package/src/shapes/Logic.tsx +1 -1
  95. package/src/shapes/Queue.tsx +3 -3
  96. package/src/shapes/RNG.tsx +6 -2
  97. package/src/shapes/Scope.tsx +2 -2
  98. package/src/shapes/Surface.tsx +7 -3
  99. package/src/shapes/Switch.tsx +2 -2
  100. package/src/shapes/Table.tsx +4 -4
  101. package/src/shapes/Template.tsx +2 -2
  102. package/src/shapes/Text.tsx +1 -1
  103. package/src/shapes/TextToImage.tsx +1 -1
  104. package/src/shapes/Thread.tsx +6 -6
  105. package/src/shapes/Trigger.tsx +30 -40
  106. package/src/shapes/common/Box.tsx +5 -5
  107. package/src/shapes/common/FunctionBody.tsx +4 -3
  108. package/src/shapes/common/TypeSelect.tsx +1 -1
  109. package/src/shapes/defs.ts +3 -2
  110. package/src/testing/circuits.ts +2 -2
@@ -2,10 +2,10 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
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/react';
9
9
  import { DEFAULT_INPUT } from '@dxos/conductor';
10
10
  import { type ShapeComponentProps, type ShapeDef } from '@dxos/react-ui-canvas-editor';
11
11
  import { createAnchorMap } from '@dxos/react-ui-canvas-editor';
@@ -27,7 +27,11 @@ export type SurfaceShape = Schema.Schema.Type<typeof SurfaceShape>;
27
27
  export type CreateSurfaceProps = CreateShapeProps<SurfaceShape>;
28
28
 
29
29
  export const createSurface = (props: CreateSurfaceProps) =>
30
- createShape<SurfaceShape>({ type: 'surface', size: { width: 384, height: 384 }, ...props });
30
+ createShape<SurfaceShape>({
31
+ type: 'surface',
32
+ size: { width: 384, height: 384 },
33
+ ...props,
34
+ });
31
35
 
32
36
  export const SurfaceComponent = ({ shape }: ShapeComponentProps<SurfaceShape>) => {
33
37
  const { runtime } = useComputeNodeState(shape);
@@ -2,7 +2,7 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
  import React, { useEffect, useState } from 'react';
7
7
 
8
8
  import { DEFAULT_OUTPUT } from '@dxos/conductor';
@@ -36,7 +36,7 @@ export const SwitchComponent = ({ shape }: ShapeComponentProps<SwitchShape>) =>
36
36
  }, [value]);
37
37
 
38
38
  return (
39
- <div className='flex w-full justify-center items-center' onClick={(ev) => ev.stopPropagation()}>
39
+ <div className='flex is-full justify-center items-center' onClick={(ev) => ev.stopPropagation()}>
40
40
  <Input.Root>
41
41
  <Input.Switch checked={value} onCheckedChange={(value) => setValue(value)} />
42
42
  </Input.Root>
@@ -2,18 +2,18 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
  import React from 'react';
7
7
 
8
8
  import { createInputSchema, createOutputSchema } from '@dxos/conductor';
9
9
  import { type ShapeComponentProps, type ShapeDef } from '@dxos/react-ui-canvas-editor';
10
- import { DataType } from '@dxos/schema';
10
+ import { Message } from '@dxos/types';
11
11
 
12
12
  import { Box, createFunctionAnchors } from './common';
13
13
  import { ComputeShape, type CreateShapeProps, createShape } from './defs';
14
14
 
15
- const InputSchema = createInputSchema(DataType.Message);
16
- const OutputSchema = createOutputSchema(Schema.mutable(Schema.Array(DataType.Message)));
15
+ const InputSchema = createInputSchema(Message.Message);
16
+ const OutputSchema = createOutputSchema(Schema.mutable(Schema.Array(Message.Message)));
17
17
 
18
18
  export const TableShape = Schema.extend(
19
19
  ComputeShape,
@@ -2,11 +2,11 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
  import React, { useRef } from 'react';
7
7
 
8
8
  import { ComputeValueType, TemplateOutput, VoidInput, getTemplateInputSchema } from '@dxos/conductor';
9
- import { toJsonSchema } from '@dxos/echo-schema';
9
+ import { toJsonSchema } from '@dxos/echo/internal';
10
10
  import { invariant } from '@dxos/invariant';
11
11
  import {
12
12
  type ShapeComponentProps,
@@ -2,7 +2,7 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
  import React from 'react';
7
7
 
8
8
  import { DEFAULT_INPUT } from '@dxos/conductor';
@@ -2,7 +2,7 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
  import React from 'react';
7
7
 
8
8
  import { type ShapeComponentProps, type ShapeDef } from '@dxos/react-ui-canvas-editor';
@@ -2,20 +2,20 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ 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
9
  import { type ThemedClassName } from '@dxos/react-ui';
10
10
  import { type ShapeComponentProps, type ShapeDef } from '@dxos/react-ui-canvas-editor';
11
11
  import { mx } from '@dxos/react-ui-theme';
12
- import { DataType } from '@dxos/schema';
12
+ import { Message } from '@dxos/types';
13
13
 
14
14
  import { Box, createFunctionAnchors } from './common';
15
15
  import { ComputeShape, type CreateShapeProps, createShape } from './defs';
16
16
 
17
- const InputSchema = createInputSchema(DataType.Message);
18
- const OutputSchema = createOutputSchema(Schema.mutable(Schema.Array(DataType.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 w-full overflow-y-scroll gap-2 p-2'>
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 px-2 text-sm',
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'
@@ -2,28 +2,13 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
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 { Filter, Obj, Query } from '@dxos/echo';
10
- import { ObjectId, Ref } from '@dxos/echo-schema';
11
- import {
12
- type EmailTrigger,
13
- EmailTriggerOutput,
14
- FunctionTrigger,
15
- type QueueTrigger,
16
- QueueTriggerOutput,
17
- type SubscriptionTrigger,
18
- SubscriptionTriggerOutput,
19
- type TimerTrigger,
20
- TimerTriggerOutput,
21
- type TriggerKind,
22
- TriggerKinds,
23
- type TriggerType,
24
- type WebhookTrigger,
25
- WebhookTriggerOutput,
26
- } 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';
27
12
  import { DXN, SpaceId } from '@dxos/keys';
28
13
  import { useSpace } from '@dxos/react-client/echo';
29
14
  import { Select, type SelectRootProps } from '@dxos/react-ui';
@@ -36,25 +21,25 @@ export const TriggerShape = Schema.extend(
36
21
  ComputeShape,
37
22
  Schema.Struct({
38
23
  type: Schema.Literal('trigger'),
39
- functionTrigger: Schema.optional(Ref(FunctionTrigger)),
24
+ functionTrigger: Schema.optional(Ref(Trigger.Trigger)),
40
25
  }),
41
26
  );
42
27
  export type TriggerShape = Schema.Schema.Type<typeof TriggerShape>;
43
28
 
44
29
  export type CreateTriggerProps = CreateShapeProps<Omit<TriggerShape, 'functionTrigger'>> & {
45
30
  spaceId?: SpaceId;
46
- triggerKind?: TriggerKind;
31
+ triggerKind?: Trigger.Kind;
47
32
  };
48
33
 
49
34
  export const createTrigger = (props: CreateTriggerProps): TriggerShape => {
50
- const functionTrigger = Obj.make(FunctionTrigger, {
35
+ const functionTrigger = Trigger.make({
51
36
  enabled: true,
52
37
  spec: createTriggerSpec(props),
53
38
  });
54
39
  return createShape<TriggerShape>({
55
40
  type: 'trigger',
56
41
  functionTrigger: Ref.make(functionTrigger),
57
- size: { width: 192, height: getHeight(EmailTriggerOutput) },
42
+ size: { width: 192, height: getHeight(TriggerEvent.EmailEvent) },
58
43
  ...props,
59
44
  });
60
45
  };
@@ -75,7 +60,7 @@ export const TriggerComponent = ({ shape }: TriggerComponentProps) => {
75
60
  shape.size.height = getHeight(getOutputSchema(functionTrigger?.spec?.kind ?? 'email'));
76
61
  }, [functionTrigger?.spec?.kind]);
77
62
 
78
- const setKind = (kind: TriggerKind) => {
63
+ const setKind = (kind: Trigger.Kind) => {
79
64
  if (functionTrigger?.spec?.kind !== kind) {
80
65
  functionTrigger!.spec = createTriggerSpec({ triggerKind: kind, spaceId: space?.id });
81
66
  }
@@ -89,7 +74,7 @@ export const TriggerComponent = ({ shape }: TriggerComponentProps) => {
89
74
  <FunctionBody
90
75
  shape={shape}
91
76
  status={
92
- <TriggerKindSelect value={functionTrigger.spec?.kind} onValueChange={(kind) => setKind(kind as TriggerKind)} />
77
+ <TriggerKindSelect value={functionTrigger.spec?.kind} onValueChange={(kind) => setKind(kind as Trigger.Kind)} />
93
78
  }
94
79
  inputSchema={VoidInput}
95
80
  outputSchema={getOutputSchema(functionTrigger.spec!.kind!)}
@@ -101,12 +86,12 @@ export const TriggerComponent = ({ shape }: TriggerComponentProps) => {
101
86
  const TriggerKindSelect = ({ value, onValueChange }: Pick<SelectRootProps, 'value' | 'onValueChange'>) => {
102
87
  return (
103
88
  <Select.Root value={value} onValueChange={onValueChange}>
104
- <Select.TriggerButton variant='ghost' classNames='w-full !px-0' />
89
+ <Select.TriggerButton variant='ghost' classNames='is-full !pli-0' />
105
90
  <Select.Portal>
106
91
  <Select.Content>
107
92
  <Select.ScrollUpButton />
108
93
  <Select.Viewport>
109
- {TriggerKinds.map((kind) => (
94
+ {Trigger.Kinds.map((kind) => (
110
95
  <Select.Option key={kind} value={kind}>
111
96
  {kind}
112
97
  </Select.Option>
@@ -120,31 +105,36 @@ const TriggerKindSelect = ({ value, onValueChange }: Pick<SelectRootProps, 'valu
120
105
  );
121
106
  };
122
107
 
123
- const createTriggerSpec = (props: { triggerKind?: TriggerKind; spaceId?: SpaceId }): TriggerType => {
108
+ const createTriggerSpec = (props: { triggerKind?: Trigger.Kind; spaceId?: SpaceId }): Trigger.Spec => {
124
109
  const kind = props.triggerKind ?? 'email';
125
110
  switch (kind) {
126
111
  case 'timer':
127
- return { kind: 'timer', cron: '*/10 * * * * *' } satisfies TimerTrigger;
112
+ return { kind: 'timer', cron: '*/10 * * * * *' } satisfies Trigger.TimerSpec;
128
113
  case 'webhook':
129
- return { kind: 'webhook', method: 'POST' } satisfies WebhookTrigger;
114
+ return { kind: 'webhook', method: 'POST' } satisfies Trigger.WebhookSpec;
130
115
  case 'subscription':
131
- return { kind: 'subscription', query: Query.select(Filter.nothing()).ast } satisfies SubscriptionTrigger;
116
+ return {
117
+ kind: 'subscription',
118
+ query: {
119
+ ast: Query.select(Filter.nothing()).ast,
120
+ },
121
+ } satisfies Trigger.SubscriptionSpec;
132
122
  case 'email':
133
- return { kind: 'email' } satisfies EmailTrigger;
123
+ return { kind: 'email' } satisfies Trigger.EmailSpec;
134
124
  case 'queue': {
135
125
  const dxn = new DXN(DXN.kind.QUEUE, ['data', props.spaceId ?? SpaceId.random(), ObjectId.random()]).toString();
136
- return { kind: 'queue', queue: dxn } satisfies QueueTrigger;
126
+ return { kind: 'queue', queue: dxn } satisfies Trigger.QueueSpec;
137
127
  }
138
128
  }
139
129
  };
140
130
 
141
- const getOutputSchema = (kind: TriggerKind) => {
142
- const kindToSchema: Record<TriggerKind, Schema.Schema<any>> = {
143
- ['email']: EmailTriggerOutput,
144
- ['subscription']: SubscriptionTriggerOutput,
145
- ['timer']: TimerTriggerOutput,
146
- ['webhook']: WebhookTriggerOutput,
147
- ['queue']: QueueTriggerOutput,
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,
148
138
  };
149
139
  return kindToSchema[kind];
150
140
  };
@@ -32,8 +32,8 @@ export const Box = forwardRef<HTMLDivElement, BoxProps>(
32
32
  const { debug } = useEditorContext();
33
33
 
34
34
  return (
35
- <div ref={forwardedRef} className='flex flex-col h-full w-full justify-between'>
36
- <div className='flex shrink-0 w-full justify-between items-center h-[32px] bg-hoverSurface'>
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
38
  <div className='grow text-sm truncate'>{debug ? shape.type : (name ?? shape.text ?? title)}</div>
39
39
  <IconButton
@@ -50,9 +50,9 @@ export const Box = forwardRef<HTMLDivElement, BoxProps>(
50
50
  }}
51
51
  />
52
52
  </div>
53
- <div className={mx('flex flex-col h-full grow overflow-hidden', classNames)}>{children}</div>
54
- <div className='flex shrink-0 w-full justify-between items-center h-[32px] bg-hoverSurface'>
55
- <div className='grow px-2 text-sm truncate'>{debug ? shape.id : status}</div>
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,7 +2,8 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { type Schema, SchemaAST } from 'effect';
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';
@@ -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='px-2 truncate text-sm font-mono items-center' style={{ height: rowHeight }}>
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='px-2 truncate text-sm font-mono items-center text-right'
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='w-full !px-0' />
14
+ <Select.TriggerButton variant='ghost' classNames='is-full !pli-0' />
15
15
  <Select.Portal>
16
16
  <Select.Content>
17
17
  <Select.ScrollUpButton />
@@ -2,10 +2,11 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Schema, SchemaAST } from 'effect';
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-schema';
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
 
@@ -3,8 +3,8 @@
3
3
  //
4
4
 
5
5
  import { createSystemPrompt } from '@dxos/assistant';
6
- import { ObjectId } from '@dxos/echo-schema';
7
- import { type ServiceContainer } from '@dxos/functions';
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';