@dxos/react-ui-canvas-compute 0.8.4-main.fd6878d → 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.
Files changed (110) hide show
  1. package/dist/lib/browser/index.mjs +112 -105
  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 +112 -105
  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 +12 -5
  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 -33
  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 -49
  73. package/src/compute-layout.ts +1 -1
  74. package/src/compute.stories.tsx +18 -17
  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 +40 -52
  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
@@ -1,7 +1,10 @@
1
1
  import "@dxos/node-std/globals";
2
2
 
3
3
  // src/graph/controller.ts
4
- import { Effect, Either, Exit, Scope } from "effect";
4
+ import * as Effect from "effect/Effect";
5
+ import * as Either from "effect/Either";
6
+ import * as Exit from "effect/Exit";
7
+ import * as Scope from "effect/Scope";
5
8
  import { Event, synchronized } from "@dxos/async";
6
9
  import { GraphExecutor, ValueBag, isNotExecuted } from "@dxos/conductor";
7
10
  import { Resource } from "@dxos/context";
@@ -66,7 +69,7 @@ var useComputeGraphController = ({ controller, graph, editorRef }) => {
66
69
  };
67
70
 
68
71
  // src/hooks/useComputeNodeState.ts
69
- import { Schema } from "effect";
72
+ import * as Schema from "effect/Schema";
70
73
  import { useCallback, useEffect as useEffect2, useState as useState2 } from "react";
71
74
  import { invariant } from "@dxos/invariant";
72
75
  var __dxlog_file = "/__w/dxos/dxos/packages/ui/react-ui-canvas-compute/src/hooks/useComputeNodeState.ts";
@@ -142,7 +145,7 @@ var useComputeNodeState = (shape) => {
142
145
  // src/hooks/useGraphMonitor.ts
143
146
  import { useMemo } from "react";
144
147
  import { ComputeGraphModel, DEFAULT_INPUT, DEFAULT_OUTPUT } from "@dxos/conductor";
145
- import { ObjectId, Ref } from "@dxos/echo-schema";
148
+ import { ObjectId, Ref } from "@dxos/echo/internal";
146
149
  import { invariant as invariant2 } from "@dxos/invariant";
147
150
  import { getSpace } from "@dxos/react-client/echo";
148
151
  import { isNonNullable } from "@dxos/util";
@@ -269,7 +272,7 @@ var deleteTriggerObjects = (computeGraph, deleted) => {
269
272
  // src/graph/node-defs.ts
270
273
  import { NODE_INPUT, NODE_OUTPUT, getTemplateInputSchema, registry } from "@dxos/conductor";
271
274
  import { raise as raise2 } from "@dxos/debug";
272
- import { ObjectId as ObjectId2, toJsonSchema } from "@dxos/echo-schema";
275
+ import { ObjectId as ObjectId2, toJsonSchema } from "@dxos/echo/internal";
273
276
  import { invariant as invariant3 } from "@dxos/invariant";
274
277
  var __dxlog_file3 = "/__w/dxos/dxos/packages/ui/react-ui-canvas-compute/src/graph/node-defs.ts";
275
278
  var resolveComputeNode = async (node) => {
@@ -367,26 +370,26 @@ var createComputeGraphController = (graph, serviceContainer) => {
367
370
  var ComputeGraphController = class extends Resource {
368
371
  _serviceContainer;
369
372
  _graph;
370
- _executor;
371
- _diagnostics;
373
+ _executor = new GraphExecutor({
374
+ computeNodeResolver: (node) => resolveComputeNode(node)
375
+ });
376
+ _diagnostics = [];
372
377
  /**
373
378
  * Canvas force-sets outputs of those nodes.
374
379
  */
375
- _forcedOutputs;
380
+ _forcedOutputs = {};
376
381
  /**
377
382
  * Runtime state of the execution graph.
378
383
  */
379
- _runtimeStateInputs;
380
- _runtimeStateOutputs;
384
+ _runtimeStateInputs = {};
385
+ _runtimeStateOutputs = {};
381
386
  // TODO(burdon): Remove? Make state reactive?
382
- update;
387
+ update = new Event();
383
388
  /** Computed result. */
384
- output;
385
- events;
389
+ output = new Event();
390
+ events = new Event();
386
391
  constructor(_serviceContainer, _graph) {
387
- super(), this._serviceContainer = _serviceContainer, this._graph = _graph, this._executor = new GraphExecutor({
388
- computeNodeResolver: (node) => resolveComputeNode(node)
389
- }), this._diagnostics = [], this._forcedOutputs = {}, this._runtimeStateInputs = {}, this._runtimeStateOutputs = {}, this.update = new Event(), this.output = new Event(), this.events = new Event();
392
+ super(), this._serviceContainer = _serviceContainer, this._graph = _graph;
390
393
  }
391
394
  toJSON() {
392
395
  return {
@@ -456,7 +459,7 @@ var ComputeGraphController = class extends Resource {
456
459
  } catch (err) {
457
460
  log.catch(err, void 0, {
458
461
  F: __dxlog_file4,
459
- L: 199,
462
+ L: 210,
460
463
  S: this,
461
464
  C: (f, a) => f(...a)
462
465
  });
@@ -550,7 +553,7 @@ var ComputeGraphController = class extends Resource {
550
553
  event
551
554
  }, {
552
555
  F: __dxlog_file4,
553
- L: 335,
556
+ L: 346,
554
557
  S: this,
555
558
  C: (f, a) => f(...a)
556
559
  });
@@ -654,9 +657,9 @@ var Box = /* @__PURE__ */ forwardRef(({ children, classNames, shape, title, stat
654
657
  const { debug } = useEditorContext();
655
658
  return /* @__PURE__ */ React.createElement("div", {
656
659
  ref: forwardedRef,
657
- className: "flex flex-col h-full w-full justify-between"
660
+ className: "flex flex-col bs-full is-full justify-between"
658
661
  }, /* @__PURE__ */ React.createElement("div", {
659
- className: "flex shrink-0 w-full justify-between items-center h-[32px] bg-hoverSurface"
662
+ className: "flex shrink-0 is-full justify-between items-center bs-[32px] bg-hoverSurface"
660
663
  }, /* @__PURE__ */ React.createElement(Icon, {
661
664
  icon,
662
665
  classNames: "mx-2"
@@ -675,11 +678,11 @@ var Box = /* @__PURE__ */ forwardRef(({ children, classNames, shape, title, stat
675
678
  onAction?.("run");
676
679
  }
677
680
  })), /* @__PURE__ */ React.createElement("div", {
678
- className: mx("flex flex-col h-full grow overflow-hidden", classNames)
681
+ className: mx("flex flex-col bs-full grow overflow-hidden", classNames)
679
682
  }, children), /* @__PURE__ */ React.createElement("div", {
680
- className: "flex shrink-0 w-full justify-between items-center h-[32px] bg-hoverSurface"
683
+ className: "flex shrink-0 is-full justify-between items-center bs-[32px] bg-hoverSurface"
681
684
  }, /* @__PURE__ */ React.createElement("div", {
682
- className: "grow px-2 text-sm truncate"
685
+ className: "grow pli-2 text-sm truncate"
683
686
  }, debug ? shape.id : status), openable && /* @__PURE__ */ React.createElement(IconButton, {
684
687
  classNames: "p-1",
685
688
  variant: "ghost",
@@ -699,16 +702,17 @@ var Box = /* @__PURE__ */ forwardRef(({ children, classNames, shape, title, stat
699
702
 
700
703
  // src/shapes/common/FunctionBody.tsx
701
704
  import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
702
- import { SchemaAST as SchemaAST2 } from "effect";
705
+ import * as SchemaAST2 from "effect/SchemaAST";
703
706
  import React2, { useRef, useState as useState3 } from "react";
704
707
  import { VoidInput, VoidOutput } from "@dxos/conductor";
705
708
  import { useCanvasContext } from "@dxos/react-ui-canvas";
706
709
  import { createAnchors, getParentShapeElement, rowHeight } from "@dxos/react-ui-canvas-editor";
707
710
 
708
711
  // src/shapes/defs.ts
709
- import { Schema as Schema2, SchemaAST } from "effect";
712
+ import * as Schema2 from "effect/Schema";
713
+ import * as SchemaAST from "effect/SchemaAST";
710
714
  import { DEFAULT_INPUT as DEFAULT_INPUT2, DEFAULT_OUTPUT as DEFAULT_OUTPUT2 } from "@dxos/conductor";
711
- import { ObjectId as ObjectId3 } from "@dxos/echo-schema";
715
+ import { ObjectId as ObjectId3 } from "@dxos/echo/internal";
712
716
  import { Polygon } from "@dxos/react-ui-canvas-editor";
713
717
  var getProperties = (ast) => SchemaAST.getPropertySignatures(ast).map(({ name }) => ({
714
718
  name: name.toString()
@@ -787,7 +791,7 @@ var FunctionBody = ({ shape, name, content, inputSchema = VoidInput, outputSchem
787
791
  className: "flex flex-col"
788
792
  }, inputs?.map(({ name: name2 }) => /* @__PURE__ */ React2.createElement("div", {
789
793
  key: name2,
790
- className: "px-2 truncate text-sm font-mono items-center",
794
+ className: "pli-2 truncate text-sm font-mono items-center",
791
795
  style: {
792
796
  height: rowHeight
793
797
  }
@@ -795,7 +799,7 @@ var FunctionBody = ({ shape, name, content, inputSchema = VoidInput, outputSchem
795
799
  className: "flex flex-col"
796
800
  }, outputs?.map(({ name: name2 }) => /* @__PURE__ */ React2.createElement("div", {
797
801
  key: name2,
798
- className: "px-2 truncate text-sm font-mono items-center text-right",
802
+ className: "pli-2 truncate text-sm font-mono items-center text-right",
799
803
  style: {
800
804
  height: rowHeight
801
805
  }
@@ -837,7 +841,7 @@ var TypeSelect = ({ value, onValueChange }) => {
837
841
  onValueChange
838
842
  }, /* @__PURE__ */ React3.createElement(Select.TriggerButton, {
839
843
  variant: "ghost",
840
- classNames: "w-full !px-0"
844
+ classNames: "is-full !pli-0"
841
845
  }), /* @__PURE__ */ React3.createElement(Select.Portal, null, /* @__PURE__ */ React3.createElement(Select.Content, null, /* @__PURE__ */ React3.createElement(Select.ScrollUpButton, null), /* @__PURE__ */ React3.createElement(Select.Viewport, null, ComputeValueType.literals.map((type) => /* @__PURE__ */ React3.createElement(Select.Option, {
842
846
  key: type,
843
847
  value: type
@@ -849,7 +853,7 @@ var TypeSelect = ({ value, onValueChange }) => {
849
853
 
850
854
  // src/shapes/Array.tsx
851
855
  import { useSignals as _useSignals4 } from "@preact-signals/safe-react/tracking";
852
- import { Schema as Schema3 } from "effect";
856
+ import * as Schema3 from "effect/Schema";
853
857
  import React4 from "react";
854
858
  import { ReducerInput, ReducerOutput } from "@dxos/conductor";
855
859
  var ReducerShape = Schema3.extend(ComputeShape, Schema3.Struct({
@@ -886,7 +890,7 @@ var reducerShape = {
886
890
 
887
891
  // src/shapes/Append.tsx
888
892
  import { useSignals as _useSignals5 } from "@preact-signals/safe-react/tracking";
889
- import { Schema as Schema4 } from "effect";
893
+ import * as Schema4 from "effect/Schema";
890
894
  import React5 from "react";
891
895
  import { AppendInput } from "@dxos/conductor";
892
896
  var AppendShape = Schema4.extend(ComputeShape, Schema4.Struct({
@@ -922,7 +926,7 @@ var appendShape = {
922
926
 
923
927
  // src/shapes/Audio.tsx
924
928
  import { useSignals as _useSignals6 } from "@preact-signals/safe-react/tracking";
925
- import { Schema as Schema5 } from "effect";
929
+ import * as Schema5 from "effect/Schema";
926
930
  import React6, { useEffect as useEffect3, useState as useState4 } from "react";
927
931
  import { Icon as Icon2 } from "@dxos/react-ui";
928
932
  import { createAnchorMap } from "@dxos/react-ui-canvas-editor";
@@ -948,7 +952,7 @@ var AudioComponent = ({ shape }) => {
948
952
  active
949
953
  ]);
950
954
  return /* @__PURE__ */ React6.createElement("div", {
951
- className: "flex w-full justify-center items-center"
955
+ className: "flex is-full justify-center items-center"
952
956
  }, /* @__PURE__ */ React6.createElement(Icon2, {
953
957
  icon: active ? "ph--microphone--regular" : "ph--microphone-slash--regular",
954
958
  classNames: [
@@ -978,7 +982,7 @@ var audioShape = {
978
982
 
979
983
  // src/shapes/Beacon.tsx
980
984
  import { useSignals as _useSignals7 } from "@preact-signals/safe-react/tracking";
981
- import { Schema as Schema6 } from "effect";
985
+ import * as Schema6 from "effect/Schema";
982
986
  import React7 from "react";
983
987
  import { DEFAULT_INPUT as DEFAULT_INPUT3, isTruthy } from "@dxos/conductor";
984
988
  import { Icon as Icon3 } from "@dxos/react-ui";
@@ -1001,7 +1005,7 @@ var BeaconComponent = ({ shape }) => {
1001
1005
  const input = runtime.inputs[DEFAULT_INPUT3];
1002
1006
  const value = input?.type === "executed" ? input.value : false;
1003
1007
  return /* @__PURE__ */ React7.createElement("div", {
1004
- className: "flex w-full justify-center items-center"
1008
+ className: "flex is-full justify-center items-center"
1005
1009
  }, /* @__PURE__ */ React7.createElement(Icon3, {
1006
1010
  icon: "ph--sun--regular",
1007
1011
  classNames: [
@@ -1029,7 +1033,7 @@ var beaconShape = {
1029
1033
  };
1030
1034
 
1031
1035
  // src/shapes/Boolean.tsx
1032
- import { Schema as Schema7 } from "effect";
1036
+ import * as Schema7 from "effect/Schema";
1033
1037
  import React8 from "react";
1034
1038
  import { getAnchorPoints } from "@dxos/react-ui-canvas-editor";
1035
1039
  import { createAnchors as createAnchors2 } from "@dxos/react-ui-canvas-editor";
@@ -1053,7 +1057,7 @@ var defineShape = ({ type, name, icon, symbol: Symbol, createShape: createShape2
1053
1057
  // Be careful not to name component factories with a capital letter.
1054
1058
  component: () => {
1055
1059
  return /* @__PURE__ */ React8.createElement("div", {
1056
- className: "flex w-full justify-center items-center"
1060
+ className: "flex is-full justify-center items-center"
1057
1061
  }, /* @__PURE__ */ React8.createElement(Symbol, null));
1058
1062
  },
1059
1063
  createShape: createShape2,
@@ -1080,7 +1084,7 @@ var createSymbol = (pathConstructor, inputs) => ({
1080
1084
  });
1081
1085
  return /* @__PURE__ */ React8.createElement("svg", {
1082
1086
  viewBox: `0 0 ${width} ${height}`,
1083
- className: "w-full h-full"
1087
+ className: "is-full bs-full"
1084
1088
  }, getAnchorPoints({
1085
1089
  x: 0,
1086
1090
  y: centerY
@@ -1203,7 +1207,7 @@ var notShape = defineShape({
1203
1207
 
1204
1208
  // src/shapes/Chat.tsx
1205
1209
  import { useSignals as _useSignals8 } from "@preact-signals/safe-react/tracking";
1206
- import { Schema as Schema8 } from "effect";
1210
+ import * as Schema8 from "effect/Schema";
1207
1211
  import React9, { useRef as useRef2 } from "react";
1208
1212
  import { DEFAULT_OUTPUT as DEFAULT_OUTPUT3 } from "@dxos/conductor";
1209
1213
  import { TextBox } from "@dxos/react-ui-canvas-editor";
@@ -1264,7 +1268,7 @@ var chatShape = {
1264
1268
 
1265
1269
  // src/shapes/Constant.tsx
1266
1270
  import { useSignals as _useSignals9 } from "@preact-signals/safe-react/tracking";
1267
- import { Schema as Schema9 } from "effect";
1271
+ import * as Schema9 from "effect/Schema";
1268
1272
  import React10, { useCallback as useCallback2, useRef as useRef3, useState as useState5 } from "react";
1269
1273
  import { ComputeValueType as ComputeValueType2 } from "@dxos/conductor";
1270
1274
  import { Input } from "@dxos/react-ui";
@@ -1367,7 +1371,7 @@ var constantShape = {
1367
1371
 
1368
1372
  // src/shapes/Database.tsx
1369
1373
  import { useSignals as _useSignals10 } from "@preact-signals/safe-react/tracking";
1370
- import { Schema as Schema10 } from "effect";
1374
+ import * as Schema10 from "effect/Schema";
1371
1375
  import React11 from "react";
1372
1376
  import { createAnchorMap as createAnchorMap5 } from "@dxos/react-ui-canvas-editor";
1373
1377
  var DatabaseShape = Schema10.extend(ComputeShape, Schema10.Struct({
@@ -1407,11 +1411,11 @@ var databaseShape = {
1407
1411
 
1408
1412
  // src/shapes/Function.tsx
1409
1413
  import { useSignals as _useSignals11 } from "@preact-signals/safe-react/tracking";
1410
- import { Schema as Schema11 } from "effect";
1414
+ import * as Schema11 from "effect/Schema";
1411
1415
  import React12, { useCallback as useCallback3, useRef as useRef4 } from "react";
1412
1416
  import { AnyOutput, FunctionInput } from "@dxos/conductor";
1413
- import { Ref as Ref2, getSnapshot, isInstanceOf } from "@dxos/echo-schema";
1414
- import { FunctionType, ScriptType } from "@dxos/functions";
1417
+ import { Ref as Ref2, getSnapshot, isInstanceOf } from "@dxos/echo/internal";
1418
+ import { Function, Script } from "@dxos/functions";
1415
1419
  import { useClient } from "@dxos/react-client";
1416
1420
  import { Filter, parseId } from "@dxos/react-client/echo";
1417
1421
  import { TextBox as TextBox3 } from "@dxos/react-ui-canvas-editor";
@@ -1440,10 +1444,10 @@ var TextInputComponent2 = ({ shape, title, ...props }) => {
1440
1444
  }
1441
1445
  const space = client.spaces.get(spaceId);
1442
1446
  const object = space?.db.getObjectById(objectId);
1443
- if (!space || !isInstanceOf(ScriptType, object)) {
1447
+ if (!space || !isInstanceOf(Script.Script, object)) {
1444
1448
  return;
1445
1449
  }
1446
- const { objects: [fn] } = await space.db.query(Filter.type(FunctionType, {
1450
+ const { objects: [fn] } = await space.db.query(Filter.type(Function.Function, {
1447
1451
  source: Ref2.make(object)
1448
1452
  })).run();
1449
1453
  if (!fn) {
@@ -1492,7 +1496,7 @@ var functionShape = {
1492
1496
 
1493
1497
  // src/shapes/Gpt.tsx
1494
1498
  import { useSignals as _useSignals12 } from "@preact-signals/safe-react/tracking";
1495
- import { Schema as Schema12 } from "effect";
1499
+ import * as Schema12 from "effect/Schema";
1496
1500
  import React13, { useEffect as useEffect4, useState as useState6 } from "react";
1497
1501
  import { GptInput, GptOutput } from "@dxos/conductor";
1498
1502
  var GptShape = Schema12.extend(ComputeShape, Schema12.Struct({
@@ -1546,7 +1550,7 @@ var GptComponent = ({ shape }) => {
1546
1550
  return /* @__PURE__ */ React13.createElement(FunctionBody, {
1547
1551
  shape,
1548
1552
  content: /* @__PURE__ */ React13.createElement("div", {
1549
- className: "px-2 py-1 overflow-y-scroll"
1553
+ className: "pli-2 plb-1 overflow-y-auto"
1550
1554
  }, text),
1551
1555
  status: `${tokens} tokens`,
1552
1556
  inputSchema: meta.input,
@@ -1568,7 +1572,7 @@ var gptShape = {
1568
1572
 
1569
1573
  // src/shapes/Json.tsx
1570
1574
  import { useSignals as _useSignals13 } from "@preact-signals/safe-react/tracking";
1571
- import { Schema as Schema13 } from "effect";
1575
+ import * as Schema13 from "effect/Schema";
1572
1576
  import React14 from "react";
1573
1577
  import { DEFAULT_INPUT as DEFAULT_INPUT4, DefaultOutput, JsonTransformInput } from "@dxos/conductor";
1574
1578
  import { createAnchorMap as createAnchorMap6 } from "@dxos/react-ui-canvas-editor";
@@ -1651,7 +1655,7 @@ var jsonTransformShape = {
1651
1655
 
1652
1656
  // src/shapes/Logic.tsx
1653
1657
  import { useSignals as _useSignals14 } from "@preact-signals/safe-react/tracking";
1654
- import { Schema as Schema14 } from "effect";
1658
+ import * as Schema14 from "effect/Schema";
1655
1659
  import React15 from "react";
1656
1660
  import { IfElseInput, IfElseOutput, IfInput, IfOutput } from "@dxos/conductor";
1657
1661
  var IfShape = Schema14.extend(ComputeShape, Schema14.Struct({
@@ -1719,7 +1723,7 @@ var ifElseShape = {
1719
1723
 
1720
1724
  // src/shapes/Queue.tsx
1721
1725
  import { useSignals as _useSignals15 } from "@preact-signals/safe-react/tracking";
1722
- import { Schema as Schema15 } from "effect";
1726
+ import * as Schema15 from "effect/Schema";
1723
1727
  import React16, { Fragment } from "react";
1724
1728
  import { DEFAULT_OUTPUT as DEFAULT_OUTPUT4, QueueInput, QueueOutput } from "@dxos/conductor";
1725
1729
  import { mx as mx2 } from "@dxos/react-ui-theme";
@@ -1749,12 +1753,12 @@ var QueueComponent = ({ shape }) => {
1749
1753
  status: `${items.length} items`,
1750
1754
  onAction: handleAction
1751
1755
  }, /* @__PURE__ */ React16.createElement("div", {
1752
- className: "flex flex-col w-full overflow-y-scroll divide-y divide-separator"
1756
+ className: "flex flex-col is-full overflow-y-auto divide-y divide-separator"
1753
1757
  }, [
1754
1758
  ...items
1755
1759
  ].map((item, i) => /* @__PURE__ */ React16.createElement(QueueItem, {
1756
1760
  key: i,
1757
- classNames: "p-1 px-2",
1761
+ classNames: "p-1 pli-2",
1758
1762
  item
1759
1763
  }))));
1760
1764
  } finally {
@@ -1792,7 +1796,7 @@ var queueShape = {
1792
1796
 
1793
1797
  // src/shapes/RNG.tsx
1794
1798
  import { useSignals as _useSignals16 } from "@preact-signals/safe-react/tracking";
1795
- import { Schema as Schema16 } from "effect";
1799
+ import * as Schema16 from "effect/Schema";
1796
1800
  import React17, { useEffect as useEffect5, useState as useState7 } from "react";
1797
1801
  import { DEFAULT_OUTPUT as DEFAULT_OUTPUT5 } from "@dxos/conductor";
1798
1802
  import { Icon as Icon4 } from "@dxos/react-ui";
@@ -1873,7 +1877,7 @@ var randomShape = {
1873
1877
 
1874
1878
  // src/shapes/Scope.tsx
1875
1879
  import { useSignals as _useSignals17 } from "@preact-signals/safe-react/tracking";
1876
- import { Schema as Schema17 } from "effect";
1880
+ import * as Schema17 from "effect/Schema";
1877
1881
  import React18 from "react";
1878
1882
  import { DEFAULT_INPUT as DEFAULT_INPUT5 } from "@dxos/conductor";
1879
1883
  import { createAnchorMap as createAnchorMap8 } from "@dxos/react-ui-canvas-editor";
@@ -1898,7 +1902,7 @@ var ScopeComponent = ({ shape }) => {
1898
1902
  const active = input?.type === "executed" ? input.value : false;
1899
1903
  const { getAverage } = useAudioStream(active);
1900
1904
  return /* @__PURE__ */ React18.createElement("div", {
1901
- className: "flex w-full justify-center items-center bg-black"
1905
+ className: "flex is-full justify-center items-center bg-black"
1902
1906
  }, /* @__PURE__ */ React18.createElement(Chaos, {
1903
1907
  active,
1904
1908
  getValue: getAverage,
@@ -1927,9 +1931,9 @@ var scopeShape = {
1927
1931
 
1928
1932
  // src/shapes/Surface.tsx
1929
1933
  import { useSignals as _useSignals18 } from "@preact-signals/safe-react/tracking";
1930
- import { Schema as Schema18 } from "effect";
1934
+ import * as Schema18 from "effect/Schema";
1931
1935
  import React19 from "react";
1932
- import { Surface } from "@dxos/app-framework";
1936
+ import { Surface } from "@dxos/app-framework/react";
1933
1937
  import { DEFAULT_INPUT as DEFAULT_INPUT6 } from "@dxos/conductor";
1934
1938
  import { createAnchorMap as createAnchorMap9 } from "@dxos/react-ui-canvas-editor";
1935
1939
  var SurfaceShape = Schema18.extend(ComputeShape, Schema18.Struct({
@@ -1985,7 +1989,7 @@ var surfaceShape = {
1985
1989
 
1986
1990
  // src/shapes/Switch.tsx
1987
1991
  import { useSignals as _useSignals19 } from "@preact-signals/safe-react/tracking";
1988
- import { Schema as Schema19 } from "effect";
1992
+ import * as Schema19 from "effect/Schema";
1989
1993
  import React20, { useEffect as useEffect6, useState as useState8 } from "react";
1990
1994
  import { DEFAULT_OUTPUT as DEFAULT_OUTPUT6 } from "@dxos/conductor";
1991
1995
  import { Input as Input2 } from "@dxos/react-ui";
@@ -2012,7 +2016,7 @@ var SwitchComponent = ({ shape }) => {
2012
2016
  value
2013
2017
  ]);
2014
2018
  return /* @__PURE__ */ React20.createElement("div", {
2015
- className: "flex w-full justify-center items-center",
2019
+ className: "flex is-full justify-center items-center",
2016
2020
  onClick: (ev) => ev.stopPropagation()
2017
2021
  }, /* @__PURE__ */ React20.createElement(Input2.Root, null, /* @__PURE__ */ React20.createElement(Input2.Switch, {
2018
2022
  checked: value,
@@ -2038,12 +2042,12 @@ var switchShape = {
2038
2042
 
2039
2043
  // src/shapes/Table.tsx
2040
2044
  import { useSignals as _useSignals20 } from "@preact-signals/safe-react/tracking";
2041
- import { Schema as Schema20 } from "effect";
2045
+ import * as Schema20 from "effect/Schema";
2042
2046
  import React21 from "react";
2043
2047
  import { createInputSchema, createOutputSchema } from "@dxos/conductor";
2044
- import { DataType } from "@dxos/schema";
2045
- var InputSchema = createInputSchema(DataType.Message);
2046
- var OutputSchema = createOutputSchema(Schema20.mutable(Schema20.Array(DataType.Message)));
2048
+ import { Message } from "@dxos/types";
2049
+ var InputSchema = createInputSchema(Message.Message);
2050
+ var OutputSchema = createOutputSchema(Schema20.mutable(Schema20.Array(Message.Message)));
2047
2051
  var TableShape = Schema20.extend(ComputeShape, Schema20.Struct({
2048
2052
  type: Schema20.Literal("table")
2049
2053
  }));
@@ -2077,10 +2081,10 @@ var tableShape = {
2077
2081
 
2078
2082
  // src/shapes/Template.tsx
2079
2083
  import { useSignals as _useSignals21 } from "@preact-signals/safe-react/tracking";
2080
- import { Schema as Schema21 } from "effect";
2084
+ import * as Schema21 from "effect/Schema";
2081
2085
  import React22, { useRef as useRef5 } from "react";
2082
2086
  import { ComputeValueType as ComputeValueType3, TemplateOutput, VoidInput as VoidInput2, getTemplateInputSchema as getTemplateInputSchema2 } from "@dxos/conductor";
2083
- import { toJsonSchema as toJsonSchema2 } from "@dxos/echo-schema";
2087
+ import { toJsonSchema as toJsonSchema2 } from "@dxos/echo/internal";
2084
2088
  import { invariant as invariant5 } from "@dxos/invariant";
2085
2089
  import { TextBox as TextBox4 } from "@dxos/react-ui-canvas-editor";
2086
2090
  var __dxlog_file6 = "/__w/dxos/dxos/packages/ui/react-ui-canvas-compute/src/shapes/Template.tsx";
@@ -2156,7 +2160,7 @@ var templateShape = {
2156
2160
 
2157
2161
  // src/shapes/Text.tsx
2158
2162
  import { useSignals as _useSignals22 } from "@preact-signals/safe-react/tracking";
2159
- import { Schema as Schema22 } from "effect";
2163
+ import * as Schema22 from "effect/Schema";
2160
2164
  import React23 from "react";
2161
2165
  import { DEFAULT_INPUT as DEFAULT_INPUT7 } from "@dxos/conductor";
2162
2166
  import { TextBox as TextBox5 } from "@dxos/react-ui-canvas-editor";
@@ -2210,13 +2214,13 @@ var textShape = {
2210
2214
 
2211
2215
  // src/shapes/Thread.tsx
2212
2216
  import { useSignals as _useSignals23 } from "@preact-signals/safe-react/tracking";
2213
- import { Schema as Schema23 } from "effect";
2217
+ import * as Schema23 from "effect/Schema";
2214
2218
  import React24, { useEffect as useEffect7, useRef as useRef6 } from "react";
2215
2219
  import { createInputSchema as createInputSchema2, createOutputSchema as createOutputSchema2 } from "@dxos/conductor";
2216
2220
  import { mx as mx3 } from "@dxos/react-ui-theme";
2217
- import { DataType as DataType2 } from "@dxos/schema";
2218
- var InputSchema2 = createInputSchema2(DataType2.Message);
2219
- var OutputSchema2 = createOutputSchema2(Schema23.mutable(Schema23.Array(DataType2.Message)));
2221
+ import { Message as Message2 } from "@dxos/types";
2222
+ var InputSchema2 = createInputSchema2(Message2.Message);
2223
+ var OutputSchema2 = createOutputSchema2(Schema23.mutable(Schema23.Array(Message2.Message)));
2220
2224
  var ThreadShape = Schema23.extend(ComputeShape, Schema23.Struct({
2221
2225
  type: Schema23.Literal("thread")
2222
2226
  }));
@@ -2244,7 +2248,7 @@ var ThreadComponent = ({ shape }) => {
2244
2248
  shape
2245
2249
  }, /* @__PURE__ */ React24.createElement("div", {
2246
2250
  ref: scrollRef,
2247
- className: "flex flex-col w-full overflow-y-scroll gap-2 p-2"
2251
+ className: "flex flex-col is-full overflow-y-auto gap-2 p-2"
2248
2252
  }, [
2249
2253
  ...items
2250
2254
  ].map((item, i) => /* @__PURE__ */ React24.createElement(ThreadItem, {
@@ -2267,7 +2271,7 @@ var ThreadItem = ({ classNames, item }) => {
2267
2271
  return /* @__PURE__ */ React24.createElement("div", {
2268
2272
  className: mx3("flex", classNames, role === "user" && "justify-end")
2269
2273
  }, /* @__PURE__ */ React24.createElement("div", {
2270
- className: mx3("block rounded-md p-1 px-2 text-sm", role === "user" ? "bg-blue-100 dark:bg-blue-800" : role === "system" ? "bg-red-100, dark:bg-red-800" : "whitespace-pre-wrap bg-neutral-50 dark:bg-neutral-800")
2274
+ className: mx3("block rounded-md p-1 pli-2 text-sm", role === "user" ? "bg-blue-100 dark:bg-blue-800" : role === "system" ? "bg-red-100, dark:bg-red-800" : "whitespace-pre-wrap bg-neutral-50 dark:bg-neutral-800")
2271
2275
  }, message));
2272
2276
  } finally {
2273
2277
  _effect.f();
@@ -2285,7 +2289,7 @@ var threadShape = {
2285
2289
 
2286
2290
  // src/shapes/TextToImage.tsx
2287
2291
  import { useSignals as _useSignals24 } from "@preact-signals/safe-react/tracking";
2288
- import { Schema as Schema24 } from "effect";
2292
+ import * as Schema24 from "effect/Schema";
2289
2293
  import React25 from "react";
2290
2294
  import { createAnchorMap as createAnchorMap12 } from "@dxos/react-ui-canvas-editor";
2291
2295
  var TextToImageShape = Schema24.extend(ComputeShape, Schema24.Struct({
@@ -2325,20 +2329,21 @@ var textToImageShape = {
2325
2329
 
2326
2330
  // src/shapes/Trigger.tsx
2327
2331
  import { useSignals as _useSignals25 } from "@preact-signals/safe-react/tracking";
2328
- import { Schema as Schema25 } from "effect";
2332
+ import * as Schema25 from "effect/Schema";
2329
2333
  import React26, { useEffect as useEffect8 } from "react";
2330
2334
  import { VoidInput as VoidInput3 } from "@dxos/conductor";
2331
- import { ObjectId as ObjectId4, Ref as Ref3 } from "@dxos/echo-schema";
2332
- import { EmailTriggerOutput, FunctionTrigger, QueueTriggerOutput, SubscriptionTriggerOutput, TimerTriggerOutput, TriggerKind, WebhookTriggerOutput } from "@dxos/functions";
2335
+ import { Filter as Filter2, Query } from "@dxos/echo";
2336
+ import { ObjectId as ObjectId4, Ref as Ref3 } from "@dxos/echo/internal";
2337
+ import { Trigger, TriggerEvent } from "@dxos/functions";
2333
2338
  import { DXN, SpaceId } from "@dxos/keys";
2334
- import { live, useSpace } from "@dxos/react-client/echo";
2339
+ import { useSpace } from "@dxos/react-client/echo";
2335
2340
  import { Select as Select2 } from "@dxos/react-ui";
2336
2341
  var TriggerShape = Schema25.extend(ComputeShape, Schema25.Struct({
2337
2342
  type: Schema25.Literal("trigger"),
2338
- functionTrigger: Schema25.optional(Ref3(FunctionTrigger))
2343
+ functionTrigger: Schema25.optional(Ref3(Trigger.Trigger))
2339
2344
  }));
2340
2345
  var createTrigger = (props) => {
2341
- const functionTrigger = live(FunctionTrigger, {
2346
+ const functionTrigger = Trigger.make({
2342
2347
  enabled: true,
2343
2348
  spec: createTriggerSpec(props)
2344
2349
  });
@@ -2347,7 +2352,7 @@ var createTrigger = (props) => {
2347
2352
  functionTrigger: Ref3.make(functionTrigger),
2348
2353
  size: {
2349
2354
  width: 192,
2350
- height: getHeight(EmailTriggerOutput)
2355
+ height: getHeight(TriggerEvent.EmailEvent)
2351
2356
  },
2352
2357
  ...props
2353
2358
  });
@@ -2360,7 +2365,7 @@ var TriggerComponent = ({ shape }) => {
2360
2365
  useEffect8(() => {
2361
2366
  if (functionTrigger && !functionTrigger.spec) {
2362
2367
  functionTrigger.spec = createTriggerSpec({
2363
- triggerKind: TriggerKind.Email,
2368
+ triggerKind: "email",
2364
2369
  spaceId: space?.id
2365
2370
  });
2366
2371
  }
@@ -2369,7 +2374,7 @@ var TriggerComponent = ({ shape }) => {
2369
2374
  functionTrigger?.spec
2370
2375
  ]);
2371
2376
  useEffect8(() => {
2372
- shape.size.height = getHeight(getOutputSchema(functionTrigger?.spec?.kind ?? TriggerKind.Email));
2377
+ shape.size.height = getHeight(getOutputSchema(functionTrigger?.spec?.kind ?? "email"));
2373
2378
  }, [
2374
2379
  functionTrigger?.spec?.kind
2375
2380
  ]);
@@ -2405,8 +2410,8 @@ var TriggerKindSelect = ({ value, onValueChange }) => {
2405
2410
  onValueChange
2406
2411
  }, /* @__PURE__ */ React26.createElement(Select2.TriggerButton, {
2407
2412
  variant: "ghost",
2408
- classNames: "w-full !px-0"
2409
- }), /* @__PURE__ */ React26.createElement(Select2.Portal, null, /* @__PURE__ */ React26.createElement(Select2.Content, null, /* @__PURE__ */ React26.createElement(Select2.ScrollUpButton, null), /* @__PURE__ */ React26.createElement(Select2.Viewport, null, Object.values(TriggerKind).map((kind) => /* @__PURE__ */ React26.createElement(Select2.Option, {
2413
+ classNames: "is-full !pli-0"
2414
+ }), /* @__PURE__ */ React26.createElement(Select2.Portal, null, /* @__PURE__ */ React26.createElement(Select2.Content, null, /* @__PURE__ */ React26.createElement(Select2.ScrollUpButton, null), /* @__PURE__ */ React26.createElement(Select2.Viewport, null, Trigger.Kinds.map((kind) => /* @__PURE__ */ React26.createElement(Select2.Option, {
2410
2415
  key: kind,
2411
2416
  value: kind
2412
2417
  }, kind))), /* @__PURE__ */ React26.createElement(Select2.ScrollDownButton, null), /* @__PURE__ */ React26.createElement(Select2.Arrow, null))));
@@ -2415,35 +2420,37 @@ var TriggerKindSelect = ({ value, onValueChange }) => {
2415
2420
  }
2416
2421
  };
2417
2422
  var createTriggerSpec = (props) => {
2418
- const kind = props.triggerKind ?? TriggerKind.Email;
2423
+ const kind = props.triggerKind ?? "email";
2419
2424
  switch (kind) {
2420
- case TriggerKind.Timer:
2425
+ case "timer":
2421
2426
  return {
2422
- kind: TriggerKind.Timer,
2427
+ kind: "timer",
2423
2428
  cron: "*/10 * * * * *"
2424
2429
  };
2425
- case TriggerKind.Webhook:
2430
+ case "webhook":
2426
2431
  return {
2427
- kind: TriggerKind.Webhook,
2432
+ kind: "webhook",
2428
2433
  method: "POST"
2429
2434
  };
2430
- case TriggerKind.Subscription:
2435
+ case "subscription":
2431
2436
  return {
2432
- kind: TriggerKind.Subscription,
2433
- filter: {}
2437
+ kind: "subscription",
2438
+ query: {
2439
+ ast: Query.select(Filter2.nothing()).ast
2440
+ }
2434
2441
  };
2435
- case TriggerKind.Email:
2442
+ case "email":
2436
2443
  return {
2437
- kind: TriggerKind.Email
2444
+ kind: "email"
2438
2445
  };
2439
- case TriggerKind.Queue: {
2446
+ case "queue": {
2440
2447
  const dxn = new DXN(DXN.kind.QUEUE, [
2441
2448
  "data",
2442
2449
  props.spaceId ?? SpaceId.random(),
2443
2450
  ObjectId4.random()
2444
2451
  ]).toString();
2445
2452
  return {
2446
- kind: TriggerKind.Queue,
2453
+ kind: "queue",
2447
2454
  queue: dxn
2448
2455
  };
2449
2456
  }
@@ -2451,11 +2458,11 @@ var createTriggerSpec = (props) => {
2451
2458
  };
2452
2459
  var getOutputSchema = (kind) => {
2453
2460
  const kindToSchema = {
2454
- [TriggerKind.Email]: EmailTriggerOutput,
2455
- [TriggerKind.Subscription]: SubscriptionTriggerOutput,
2456
- [TriggerKind.Timer]: TimerTriggerOutput,
2457
- [TriggerKind.Webhook]: WebhookTriggerOutput,
2458
- [TriggerKind.Queue]: QueueTriggerOutput
2461
+ ["email"]: TriggerEvent.EmailEvent,
2462
+ ["subscription"]: TriggerEvent.SubscriptionEvent,
2463
+ ["timer"]: TriggerEvent.TimerEvent,
2464
+ ["webhook"]: TriggerEvent.WebhookEvent,
2465
+ ["queue"]: TriggerEvent.QueueEvent
2459
2466
  };
2460
2467
  return kindToSchema[kind];
2461
2468
  };
@@ -2465,12 +2472,12 @@ var triggerShape = {
2465
2472
  icon: "ph--lightning--regular",
2466
2473
  component: TriggerComponent,
2467
2474
  createShape: createTrigger,
2468
- getAnchors: (shape) => createFunctionAnchors(shape, VoidInput3, getOutputSchema(shape.functionTrigger?.target?.spec?.kind ?? TriggerKind.Email))
2475
+ getAnchors: (shape) => createFunctionAnchors(shape, VoidInput3, getOutputSchema(shape.functionTrigger?.target?.spec?.kind ?? "email"))
2469
2476
  };
2470
2477
 
2471
2478
  // src/shapes/GptRealtime.tsx
2472
2479
  import { useSignals as _useSignals26 } from "@preact-signals/safe-react/tracking";
2473
- import { Schema as Schema26 } from "effect";
2480
+ import * as Schema26 from "effect/Schema";
2474
2481
  import React27, { useState as useState9 } from "react";
2475
2482
  import { log as log2 } from "@dxos/log";
2476
2483
  import { useConfig } from "@dxos/react-client";
@@ -2577,7 +2584,7 @@ var GptRealtimeComponent = ({ shape }) => {
2577
2584
  }
2578
2585
  };
2579
2586
  return /* @__PURE__ */ React27.createElement("div", {
2580
- className: "flex w-full justify-center items-center"
2587
+ className: "flex is-full justify-center items-center"
2581
2588
  }, /* @__PURE__ */ React27.createElement(Icon5, {
2582
2589
  icon: isReady ? "ph--waveform--regular" : isLive ? "ph--pulse--regular" : "ph--play--regular",
2583
2590
  size: 16,
@@ -2666,7 +2673,7 @@ var computeShapes = [
2666
2673
 
2667
2674
  // src/compute-layout.ts
2668
2675
  import { DefaultInput, DefaultOutput as DefaultOutput2 } from "@dxos/conductor";
2669
- import { toEffectSchema } from "@dxos/echo-schema";
2676
+ import { toEffectSchema } from "@dxos/echo/internal";
2670
2677
  import { ShapeLayout } from "@dxos/react-ui-canvas-editor";
2671
2678
  var ComputeShapeLayout = class extends ShapeLayout {
2672
2679
  _controller;