@dxos/react-ui-canvas-compute 0.7.5-labs.ff2ff30 → 0.7.5-main.b19bfc8

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 (68) hide show
  1. package/dist/lib/browser/index.mjs +102 -39
  2. package/dist/lib/browser/index.mjs.map +3 -3
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node/index.cjs +131 -69
  5. package/dist/lib/node/index.cjs.map +3 -3
  6. package/dist/lib/node/meta.json +1 -1
  7. package/dist/lib/node-esm/index.mjs +102 -39
  8. package/dist/lib/node-esm/index.mjs.map +3 -3
  9. package/dist/lib/node-esm/meta.json +1 -1
  10. package/dist/types/src/components/DiagnosticOverlay.d.ts +1 -2
  11. package/dist/types/src/components/DiagnosticOverlay.d.ts.map +1 -1
  12. package/dist/types/src/graph/controller.d.ts +19 -3
  13. package/dist/types/src/graph/controller.d.ts.map +1 -1
  14. package/dist/types/src/shapes/Append.d.ts +1 -2
  15. package/dist/types/src/shapes/Append.d.ts.map +1 -1
  16. package/dist/types/src/shapes/Array.d.ts +1 -2
  17. package/dist/types/src/shapes/Array.d.ts.map +1 -1
  18. package/dist/types/src/shapes/Audio.d.ts +1 -2
  19. package/dist/types/src/shapes/Audio.d.ts.map +1 -1
  20. package/dist/types/src/shapes/Beacon.d.ts +1 -2
  21. package/dist/types/src/shapes/Beacon.d.ts.map +1 -1
  22. package/dist/types/src/shapes/Chat.d.ts +1 -2
  23. package/dist/types/src/shapes/Chat.d.ts.map +1 -1
  24. package/dist/types/src/shapes/Constant.d.ts +1 -2
  25. package/dist/types/src/shapes/Constant.d.ts.map +1 -1
  26. package/dist/types/src/shapes/Database.d.ts +1 -2
  27. package/dist/types/src/shapes/Database.d.ts.map +1 -1
  28. package/dist/types/src/shapes/Function.d.ts +1 -3
  29. package/dist/types/src/shapes/Function.d.ts.map +1 -1
  30. package/dist/types/src/shapes/Gpt.d.ts +1 -2
  31. package/dist/types/src/shapes/Gpt.d.ts.map +1 -1
  32. package/dist/types/src/shapes/GptRealtime.d.ts +1 -2
  33. package/dist/types/src/shapes/GptRealtime.d.ts.map +1 -1
  34. package/dist/types/src/shapes/Json.d.ts +2 -3
  35. package/dist/types/src/shapes/Json.d.ts.map +1 -1
  36. package/dist/types/src/shapes/Logic.d.ts +2 -3
  37. package/dist/types/src/shapes/Logic.d.ts.map +1 -1
  38. package/dist/types/src/shapes/Queue.d.ts +2 -3
  39. package/dist/types/src/shapes/Queue.d.ts.map +1 -1
  40. package/dist/types/src/shapes/RNG.d.ts +1 -2
  41. package/dist/types/src/shapes/RNG.d.ts.map +1 -1
  42. package/dist/types/src/shapes/Scope.d.ts +1 -2
  43. package/dist/types/src/shapes/Scope.d.ts.map +1 -1
  44. package/dist/types/src/shapes/Surface.d.ts +1 -2
  45. package/dist/types/src/shapes/Surface.d.ts.map +1 -1
  46. package/dist/types/src/shapes/Switch.d.ts +1 -2
  47. package/dist/types/src/shapes/Switch.d.ts.map +1 -1
  48. package/dist/types/src/shapes/Table.d.ts +1 -2
  49. package/dist/types/src/shapes/Table.d.ts.map +1 -1
  50. package/dist/types/src/shapes/Text.d.ts +1 -2
  51. package/dist/types/src/shapes/Text.d.ts.map +1 -1
  52. package/dist/types/src/shapes/TextToImage.d.ts +1 -2
  53. package/dist/types/src/shapes/TextToImage.d.ts.map +1 -1
  54. package/dist/types/src/shapes/Thread.d.ts +2 -3
  55. package/dist/types/src/shapes/Thread.d.ts.map +1 -1
  56. package/dist/types/src/shapes/Trigger.d.ts +5 -4
  57. package/dist/types/src/shapes/Trigger.d.ts.map +1 -1
  58. package/dist/types/src/shapes/common/Box.d.ts +1 -1
  59. package/dist/types/src/shapes/common/FunctionBody.d.ts +1 -1
  60. package/dist/types/src/shapes/common/FunctionBody.d.ts.map +1 -1
  61. package/dist/types/src/shapes/common/TypeSelect.d.ts +1 -2
  62. package/dist/types/src/shapes/common/TypeSelect.d.ts.map +1 -1
  63. package/package.json +41 -40
  64. package/src/graph/controller.ts +14 -3
  65. package/src/hooks/useGraphMonitor.ts +2 -2
  66. package/src/shapes/Function.tsx +83 -9
  67. package/src/shapes/Trigger.tsx +11 -8
  68. package/src/shapes/common/FunctionBody.tsx +1 -0
@@ -46,7 +46,6 @@ __export(node_exports, {
46
46
  DatabaseComponent: () => DatabaseComponent,
47
47
  DatabaseShape: () => DatabaseShape,
48
48
  FunctionBody: () => FunctionBody,
49
- FunctionComponent: () => FunctionComponent,
50
49
  FunctionShape: () => FunctionShape,
51
50
  GptComponent: () => GptComponent,
52
51
  GptRealtimeComponent: () => GptRealtimeComponent,
@@ -166,6 +165,7 @@ __export(node_exports, {
166
165
  useGraphMonitor: () => useGraphMonitor
167
166
  });
168
167
  module.exports = __toCommonJS(node_exports);
168
+ var import_platform = require("@effect/platform");
169
169
  var import_effect = require("effect");
170
170
  var import_async = require("@dxos/async");
171
171
  var import_conductor = require("@dxos/conductor");
@@ -242,13 +242,17 @@ var import_react_ui_canvas_editor12 = require("@dxos/react-ui-canvas-editor");
242
242
  var import_react15 = __toESM(require("react"));
243
243
  var import_conductor12 = require("@dxos/conductor");
244
244
  var import_echo_schema14 = require("@dxos/echo-schema");
245
+ var import_functions = require("@dxos/functions");
246
+ var import_react_client = require("@dxos/react-client");
247
+ var import_echo2 = require("@dxos/react-client/echo");
248
+ var import_react_ui_canvas_editor13 = require("@dxos/react-ui-canvas-editor");
245
249
  var import_react16 = __toESM(require("react"));
246
250
  var import_conductor13 = require("@dxos/conductor");
247
251
  var import_echo_schema15 = require("@dxos/echo-schema");
248
252
  var import_react17 = __toESM(require("react"));
249
253
  var import_conductor14 = require("@dxos/conductor");
250
254
  var import_echo_schema16 = require("@dxos/echo-schema");
251
- var import_react_ui_canvas_editor13 = require("@dxos/react-ui-canvas-editor");
255
+ var import_react_ui_canvas_editor14 = require("@dxos/react-ui-canvas-editor");
252
256
  var import_react_ui_syntax_highlighter = require("@dxos/react-ui-syntax-highlighter");
253
257
  var import_react18 = __toESM(require("react"));
254
258
  var import_conductor15 = require("@dxos/conductor");
@@ -261,23 +265,23 @@ var import_react20 = __toESM(require("react"));
261
265
  var import_conductor17 = require("@dxos/conductor");
262
266
  var import_echo_schema19 = require("@dxos/echo-schema");
263
267
  var import_react_ui6 = require("@dxos/react-ui");
264
- var import_react_ui_canvas_editor14 = require("@dxos/react-ui-canvas-editor");
268
+ var import_react_ui_canvas_editor15 = require("@dxos/react-ui-canvas-editor");
265
269
  var import_react_ui_theme4 = require("@dxos/react-ui-theme");
266
270
  var import_react21 = __toESM(require("react"));
267
271
  var import_conductor18 = require("@dxos/conductor");
268
272
  var import_echo_schema20 = require("@dxos/echo-schema");
269
- var import_react_ui_canvas_editor15 = require("@dxos/react-ui-canvas-editor");
273
+ var import_react_ui_canvas_editor16 = require("@dxos/react-ui-canvas-editor");
270
274
  var import_react_ui_sfx = require("@dxos/react-ui-sfx");
271
275
  var import_react22 = __toESM(require("react"));
272
276
  var import_app_framework = require("@dxos/app-framework");
273
277
  var import_conductor19 = require("@dxos/conductor");
274
278
  var import_echo_schema21 = require("@dxos/echo-schema");
275
- var import_react_ui_canvas_editor16 = require("@dxos/react-ui-canvas-editor");
279
+ var import_react_ui_canvas_editor17 = require("@dxos/react-ui-canvas-editor");
276
280
  var import_react23 = __toESM(require("react"));
277
281
  var import_conductor20 = require("@dxos/conductor");
278
282
  var import_echo_schema22 = require("@dxos/echo-schema");
279
283
  var import_react_ui7 = require("@dxos/react-ui");
280
- var import_react_ui_canvas_editor17 = require("@dxos/react-ui-canvas-editor");
284
+ var import_react_ui_canvas_editor18 = require("@dxos/react-ui-canvas-editor");
281
285
  var import_react24 = __toESM(require("react"));
282
286
  var import_conductor21 = require("@dxos/conductor");
283
287
  var import_echo_schema23 = require("@dxos/echo-schema");
@@ -285,34 +289,34 @@ var import_react25 = __toESM(require("react"));
285
289
  var import_conductor22 = require("@dxos/conductor");
286
290
  var import_echo_schema24 = require("@dxos/echo-schema");
287
291
  var import_invariant5 = require("@dxos/invariant");
288
- var import_react_ui_canvas_editor18 = require("@dxos/react-ui-canvas-editor");
292
+ var import_react_ui_canvas_editor19 = require("@dxos/react-ui-canvas-editor");
289
293
  var import_react26 = __toESM(require("react"));
290
294
  var import_conductor23 = require("@dxos/conductor");
291
295
  var import_echo_schema25 = require("@dxos/echo-schema");
292
- var import_react_ui_canvas_editor19 = require("@dxos/react-ui-canvas-editor");
293
296
  var import_react_ui_canvas_editor20 = require("@dxos/react-ui-canvas-editor");
297
+ var import_react_ui_canvas_editor21 = require("@dxos/react-ui-canvas-editor");
294
298
  var import_react27 = __toESM(require("react"));
295
299
  var import_conductor24 = require("@dxos/conductor");
296
300
  var import_echo_schema26 = require("@dxos/echo-schema");
297
301
  var import_react_ui_theme5 = require("@dxos/react-ui-theme");
298
302
  var import_react28 = __toESM(require("react"));
299
303
  var import_echo_schema27 = require("@dxos/echo-schema");
300
- var import_react_ui_canvas_editor21 = require("@dxos/react-ui-canvas-editor");
304
+ var import_react_ui_canvas_editor22 = require("@dxos/react-ui-canvas-editor");
301
305
  var import_react29 = __toESM(require("react"));
302
306
  var import_conductor25 = require("@dxos/conductor");
303
307
  var import_echo_schema28 = require("@dxos/echo-schema");
304
- var import_functions = require("@dxos/functions");
308
+ var import_functions2 = require("@dxos/functions");
305
309
  var import_keys2 = require("@dxos/keys");
306
- var import_echo2 = require("@dxos/react-client/echo");
310
+ var import_echo3 = require("@dxos/react-client/echo");
307
311
  var import_react_ui8 = require("@dxos/react-ui");
308
312
  var import_react30 = __toESM(require("react"));
309
313
  var import_echo_schema29 = require("@dxos/echo-schema");
310
314
  var import_log2 = require("@dxos/log");
311
- var import_react_client = require("@dxos/react-client");
315
+ var import_react_client2 = require("@dxos/react-client");
312
316
  var import_react_ui9 = require("@dxos/react-ui");
313
317
  var import_conductor26 = require("@dxos/conductor");
314
318
  var import_echo_schema30 = require("@dxos/echo-schema");
315
- var import_react_ui_canvas_editor22 = require("@dxos/react-ui-canvas-editor");
319
+ var import_react_ui_canvas_editor23 = require("@dxos/react-ui-canvas-editor");
316
320
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/ui/react-ui-canvas-compute/src/graph/node-defs.ts";
317
321
  var resolveComputeNode = async (node) => {
318
322
  const impl = import_conductor2.registry[node.type];
@@ -521,7 +525,7 @@ var useGraphMonitor = (model) => {
521
525
  const nodeIds = subgraph.nodes.map((shape) => shape.node);
522
526
  const edgeIds = subgraph.edges.map(({ source, target, output = import_conductor3.DEFAULT_OUTPUT, input = import_conductor3.DEFAULT_INPUT }) => {
523
527
  return model.edges.find((computeEdge) => computeEdge.input === input && computeEdge.output === output)?.id;
524
- }).filter(import_util.nonNullable);
528
+ }).filter(import_util.isNonNullable);
525
529
  model.removeNodes(nodeIds);
526
530
  model.removeEdges(edgeIds);
527
531
  deleteTriggerObjects(model, subgraph);
@@ -624,6 +628,14 @@ var ComputeGraphController = class extends import_context.Resource {
624
628
  };
625
629
  }
626
630
  setServices(services) {
631
+ import_log.log.info("setServices", {
632
+ services
633
+ }, {
634
+ F: __dxlog_file4,
635
+ L: 149,
636
+ S: this,
637
+ C: (f, a) => f(...a)
638
+ });
627
639
  Object.assign(this._services, services);
628
640
  }
629
641
  get graph() {
@@ -684,7 +696,7 @@ var ComputeGraphController = class extends import_context.Resource {
684
696
  } catch (err) {
685
697
  import_log.log.catch(err, void 0, {
686
698
  F: __dxlog_file4,
687
- L: 215,
699
+ L: 218,
688
700
  S: this,
689
701
  C: (f, a) => f(...a)
690
702
  });
@@ -711,7 +723,7 @@ var ComputeGraphController = class extends import_context.Resource {
711
723
  const scope = yield* import_effect.Scope.make();
712
724
  const executable = yield* import_effect.Effect.promise(() => resolveComputeNode(this._graph.getNode(nodeId)));
713
725
  const computingOutputs = executable.exec != null;
714
- const effect = (computingOutputs ? executor.computeOutputs(nodeId) : executor.computeInputs(nodeId)).pipe(import_effect.Effect.withSpan("runGraph"), import_effect.Effect.provide(services), import_effect.Scope.extend(scope), import_effect.Effect.flatMap(computeValueBag), import_effect.Effect.withSpan("test"), import_effect.Effect.tap((values) => {
726
+ const effect = (computingOutputs ? executor.computeOutputs(nodeId) : executor.computeInputs(nodeId)).pipe(import_effect.Effect.withSpan("runGraph"), import_effect.Scope.extend(scope), import_effect.Effect.flatMap(computeValueBag), import_effect.Effect.provide(services), import_effect.Effect.withSpan("test"), import_effect.Effect.tap((values) => {
715
727
  for (const [key, value] of Object.entries(values)) {
716
728
  if (computingOutputs) {
717
729
  this._onOutputComputed(nodeId, key, value);
@@ -750,7 +762,7 @@ var ComputeGraphController = class extends import_context.Resource {
750
762
  for (const node of allAffectedNodes) {
751
763
  const executable = yield* import_effect.Effect.promise(() => resolveComputeNode(this._graph.getNode(node)));
752
764
  const computingOutputs = executable.exec != null;
753
- const effect = (computingOutputs ? executor.computeOutputs(node) : executor.computeInputs(node)).pipe(import_effect.Effect.withSpan("runGraph"), import_effect.Effect.provide(services), import_effect.Scope.extend(scope), import_effect.Effect.flatMap(computeValueBag), import_effect.Effect.withSpan("test"), import_effect.Effect.tap((values) => {
765
+ const effect = (computingOutputs ? executor.computeOutputs(node) : executor.computeInputs(node)).pipe(import_effect.Effect.withSpan("runGraph"), import_effect.Scope.extend(scope), import_effect.Effect.flatMap(computeValueBag), import_effect.Effect.provide(services), import_effect.Effect.withSpan("test"), import_effect.Effect.tap((values) => {
754
766
  for (const [key, value] of Object.entries(values)) {
755
767
  if (computingOutputs) {
756
768
  this._onOutputComputed(node, key, value);
@@ -775,7 +787,8 @@ var ComputeGraphController = class extends import_context.Resource {
775
787
  const gptLayer = import_effect.Layer.succeed(import_conductor.GptService, services.gpt);
776
788
  const queueLayer = services.edgeHttpClient != null ? import_conductor.QueueService.fromClient(services.edgeHttpClient) : import_conductor.QueueService.notAvailable;
777
789
  const spaceLayer = services.spaceService != null ? import_effect.Layer.succeed(import_conductor.SpaceService, services.spaceService) : import_conductor.SpaceService.empty;
778
- return import_effect.Layer.mergeAll(logLayer, gptLayer, queueLayer, spaceLayer);
790
+ const functionCallServiceLayer = services.edgeHttpClient != null && services.spaceService != null ? import_effect.Layer.succeed(import_conductor.FunctionCallService, import_conductor.FunctionCallService.fromClient(services.edgeHttpClient.baseUrl, services.spaceService.spaceId)) : import_effect.Layer.succeed(import_conductor.FunctionCallService, import_conductor.FunctionCallService.mock());
791
+ return import_effect.Layer.mergeAll(logLayer, gptLayer, queueLayer, spaceLayer, functionCallServiceLayer, import_platform.FetchHttpClient.layer);
779
792
  }
780
793
  _createLogger() {
781
794
  return {
@@ -790,7 +803,7 @@ var ComputeGraphController = class extends import_context.Resource {
790
803
  event
791
804
  }, {
792
805
  F: __dxlog_file4,
793
- L: 365,
806
+ L: 376,
794
807
  S: this,
795
808
  C: (f, a) => f(...a)
796
809
  });
@@ -1509,25 +1522,67 @@ var FunctionShape = import_echo_schema14.S.extend(ComputeShape, import_echo_sche
1509
1522
  var createFunction = (props) => createShape({
1510
1523
  type: "function",
1511
1524
  size: {
1512
- width: 192,
1513
- height: getHeight(import_conductor12.FunctionInput)
1525
+ width: 256,
1526
+ height: 192
1514
1527
  },
1515
1528
  ...props
1516
1529
  });
1517
- var FunctionComponent = ({ shape }) => {
1518
- return /* @__PURE__ */ import_react15.default.createElement(FunctionBody, {
1530
+ var TextInputComponent2 = ({ shape, title, ...props }) => {
1531
+ const client = (0, import_react_client.useClient)();
1532
+ const { node, runtime } = useComputeNodeState(shape);
1533
+ const inputRef = (0, import_react15.useRef)(null);
1534
+ const handleEnter = (0, import_react15.useCallback)(async (text) => {
1535
+ const value = text.trim();
1536
+ const { spaceId, objectId } = (0, import_echo2.parseId)(value);
1537
+ if (!spaceId || !objectId) {
1538
+ return;
1539
+ }
1540
+ const space = client.spaces.get(spaceId);
1541
+ const object = space?.db.getObjectById(objectId);
1542
+ if (!space || !(object instanceof import_functions.ScriptType)) {
1543
+ return;
1544
+ }
1545
+ const { objects: [fn] } = await space.db.query(import_echo2.Filter.schema(import_functions.FunctionType, {
1546
+ source: object
1547
+ })).run();
1548
+ if (!fn) {
1549
+ return;
1550
+ }
1551
+ node.value = value;
1552
+ node.function = (0, import_echo2.makeRef)(fn);
1553
+ node.inputSchema = (0, import_echo_schema14.getSnapshot)(fn.inputSchema);
1554
+ node.outputSchema = (0, import_echo_schema14.getSnapshot)(fn.outputSchema);
1555
+ }, [
1556
+ client,
1557
+ node
1558
+ ]);
1559
+ const handleAction = (0, import_react15.useCallback)((action) => {
1560
+ if (action !== "run") {
1561
+ return;
1562
+ }
1563
+ runtime.evalNode();
1564
+ }, [
1565
+ runtime
1566
+ ]);
1567
+ return /* @__PURE__ */ import_react15.default.createElement(Box, {
1519
1568
  shape,
1520
- inputSchema: import_conductor12.FunctionInput,
1521
- outputSchema: import_conductor12.AnyOutput
1522
- });
1569
+ title: "Function",
1570
+ onAction: handleAction
1571
+ }, /* @__PURE__ */ import_react15.default.createElement(import_react_ui_canvas_editor13.TextBox, {
1572
+ ...props,
1573
+ ref: inputRef,
1574
+ value: node.value,
1575
+ language: node.valueType === "object" ? "json" : void 0,
1576
+ onBlur: handleEnter,
1577
+ onEnter: handleEnter
1578
+ }));
1523
1579
  };
1524
1580
  var functionShape = {
1525
1581
  type: "function",
1526
1582
  name: "Function",
1527
1583
  icon: "ph--function--regular",
1528
- component: FunctionComponent,
1584
+ component: TextInputComponent2,
1529
1585
  createShape: createFunction,
1530
- // TODO(burdon): Get dynamic schema.
1531
1586
  getAnchors: (shape) => createFunctionAnchors(shape, import_conductor12.FunctionInput, import_conductor12.AnyOutput)
1532
1587
  };
1533
1588
  var GptShape = import_echo_schema15.S.extend(ComputeShape, import_echo_schema15.S.Struct({
@@ -1631,7 +1686,7 @@ var jsonShape = {
1631
1686
  icon: "ph--code--regular",
1632
1687
  component: (props) => /* @__PURE__ */ import_react17.default.createElement(JsonComponent, props),
1633
1688
  createShape: createJson,
1634
- getAnchors: (shape) => (0, import_react_ui_canvas_editor13.createAnchorMap)(shape, {
1689
+ getAnchors: (shape) => (0, import_react_ui_canvas_editor14.createAnchorMap)(shape, {
1635
1690
  [createAnchorId("input")]: {
1636
1691
  x: -1,
1637
1692
  y: 0
@@ -1829,7 +1884,7 @@ var randomShape = {
1829
1884
  icon: "ph--dice-six--regular",
1830
1885
  component: RandomComponent,
1831
1886
  createShape: createRandom,
1832
- getAnchors: (shape) => (0, import_react_ui_canvas_editor14.createAnchorMap)(shape, {
1887
+ getAnchors: (shape) => (0, import_react_ui_canvas_editor15.createAnchorMap)(shape, {
1833
1888
  [createAnchorId("output")]: {
1834
1889
  x: 1,
1835
1890
  y: 0
@@ -1870,7 +1925,7 @@ var scopeShape = {
1870
1925
  icon: "ph--waveform--regular",
1871
1926
  component: ScopeComponent,
1872
1927
  createShape: createScope,
1873
- getAnchors: (shape) => (0, import_react_ui_canvas_editor15.createAnchorMap)(shape, {
1928
+ getAnchors: (shape) => (0, import_react_ui_canvas_editor16.createAnchorMap)(shape, {
1874
1929
  [createAnchorId("input")]: {
1875
1930
  x: -1,
1876
1931
  y: 0
@@ -1914,7 +1969,7 @@ var surfaceShape = {
1914
1969
  icon: "ph--frame-corners--regular",
1915
1970
  component: SurfaceComponent,
1916
1971
  createShape: createSurface,
1917
- getAnchors: (shape) => (0, import_react_ui_canvas_editor16.createAnchorMap)(shape, {
1972
+ getAnchors: (shape) => (0, import_react_ui_canvas_editor17.createAnchorMap)(shape, {
1918
1973
  [createAnchorId("input")]: {
1919
1974
  x: -1,
1920
1975
  y: 0
@@ -1955,7 +2010,7 @@ var switchShape = {
1955
2010
  icon: "ph--toggle-left--regular",
1956
2011
  component: SwitchComponent,
1957
2012
  createShape: createSwitch,
1958
- getAnchors: (shape) => (0, import_react_ui_canvas_editor17.createAnchorMap)(shape, {
2013
+ getAnchors: (shape) => (0, import_react_ui_canvas_editor18.createAnchorMap)(shape, {
1959
2014
  [createAnchorId("output")]: {
1960
2015
  x: 1,
1961
2016
  y: 0
@@ -1994,7 +2049,7 @@ var TemplateShape = import_echo_schema24.S.extend(ComputeShape, import_echo_sche
1994
2049
  type: import_echo_schema24.S.Literal("template"),
1995
2050
  valueType: import_echo_schema24.S.optional(import_conductor22.ComputeValueType)
1996
2051
  }));
1997
- var TextInputComponent2 = ({ shape, title, ...props }) => {
2052
+ var TextInputComponent3 = ({ shape, title, ...props }) => {
1998
2053
  const { node } = useComputeNodeState(shape);
1999
2054
  const inputRef = (0, import_react25.useRef)(null);
2000
2055
  const handleEnter = (text) => {
@@ -2025,7 +2080,7 @@ var TextInputComponent2 = ({ shape, title, ...props }) => {
2025
2080
  value: node.valueType ?? "string",
2026
2081
  onValueChange: handleTypeChange
2027
2082
  })
2028
- }, /* @__PURE__ */ import_react25.default.createElement(import_react_ui_canvas_editor18.TextBox, {
2083
+ }, /* @__PURE__ */ import_react25.default.createElement(import_react_ui_canvas_editor19.TextBox, {
2029
2084
  ...props,
2030
2085
  ref: inputRef,
2031
2086
  value: node.value,
@@ -2046,7 +2101,7 @@ var templateShape = {
2046
2101
  type: "template",
2047
2102
  name: "Template",
2048
2103
  icon: "ph--article--regular",
2049
- component: (props) => /* @__PURE__ */ import_react25.default.createElement(TextInputComponent2, {
2104
+ component: (props) => /* @__PURE__ */ import_react25.default.createElement(TextInputComponent3, {
2050
2105
  ...props,
2051
2106
  placeholder: "Prompt"
2052
2107
  }),
@@ -2077,7 +2132,7 @@ var TextComponent = ({ shape }) => {
2077
2132
  return /* @__PURE__ */ import_react26.default.createElement(Box, {
2078
2133
  shape,
2079
2134
  onAction: handleAction
2080
- }, /* @__PURE__ */ import_react26.default.createElement(import_react_ui_canvas_editor19.TextBox, {
2135
+ }, /* @__PURE__ */ import_react26.default.createElement(import_react_ui_canvas_editor20.TextBox, {
2081
2136
  value
2082
2137
  }));
2083
2138
  };
@@ -2087,7 +2142,7 @@ var textShape = {
2087
2142
  icon: "ph--article--regular",
2088
2143
  component: TextComponent,
2089
2144
  createShape: createText,
2090
- getAnchors: (shape) => (0, import_react_ui_canvas_editor20.createAnchorMap)(shape, {
2145
+ getAnchors: (shape) => (0, import_react_ui_canvas_editor21.createAnchorMap)(shape, {
2091
2146
  [createAnchorId("input")]: {
2092
2147
  x: -1,
2093
2148
  y: 0
@@ -2174,7 +2229,7 @@ var textToImageShape = {
2174
2229
  icon: "ph--image--regular",
2175
2230
  component: TextToImageComponent,
2176
2231
  createShape: createTextToImage,
2177
- getAnchors: (shape) => (0, import_react_ui_canvas_editor21.createAnchorMap)(shape, {
2232
+ getAnchors: (shape) => (0, import_react_ui_canvas_editor22.createAnchorMap)(shape, {
2178
2233
  [createAnchorId("output")]: {
2179
2234
  x: 1,
2180
2235
  y: 0
@@ -2183,16 +2238,16 @@ var textToImageShape = {
2183
2238
  };
2184
2239
  var TriggerShape = import_echo_schema28.S.extend(ComputeShape, import_echo_schema28.S.Struct({
2185
2240
  type: import_echo_schema28.S.Literal("trigger"),
2186
- functionTrigger: import_echo_schema28.S.optional((0, import_echo_schema28.Ref)(import_functions.FunctionTrigger))
2241
+ functionTrigger: import_echo_schema28.S.optional((0, import_echo_schema28.Ref)(import_functions2.FunctionTrigger))
2187
2242
  }));
2188
2243
  var createTrigger = (props) => {
2189
- const functionTrigger = (0, import_echo2.create)(import_functions.FunctionTrigger, {
2244
+ const functionTrigger = (0, import_echo3.create)(import_functions2.FunctionTrigger, {
2190
2245
  enabled: true,
2191
- spec: createTriggerSpec(props.triggerKind ?? import_functions.TriggerKind.Email)
2246
+ spec: createTriggerSpec(props)
2192
2247
  });
2193
2248
  return createShape({
2194
2249
  type: "trigger",
2195
- functionTrigger: (0, import_echo2.makeRef)(functionTrigger),
2250
+ functionTrigger: (0, import_echo3.makeRef)(functionTrigger),
2196
2251
  size: {
2197
2252
  width: 192,
2198
2253
  height: getHeight(import_conductor25.EmailTriggerOutput)
@@ -2201,23 +2256,30 @@ var createTrigger = (props) => {
2201
2256
  });
2202
2257
  };
2203
2258
  var TriggerComponent = ({ shape }) => {
2259
+ const space = (0, import_echo3.useSpace)();
2204
2260
  const functionTrigger = shape.functionTrigger?.target;
2205
2261
  (0, import_react29.useEffect)(() => {
2206
2262
  if (functionTrigger && !functionTrigger.spec) {
2207
- functionTrigger.spec = createTriggerSpec(import_functions.TriggerKind.Email);
2263
+ functionTrigger.spec = createTriggerSpec({
2264
+ triggerKind: import_functions2.TriggerKind.Email,
2265
+ spaceId: space?.id
2266
+ });
2208
2267
  }
2209
2268
  }, [
2210
2269
  functionTrigger,
2211
2270
  functionTrigger?.spec
2212
2271
  ]);
2213
2272
  (0, import_react29.useEffect)(() => {
2214
- shape.size.height = getHeight(getOutputSchema(functionTrigger?.spec?.type ?? import_functions.TriggerKind.Email));
2273
+ shape.size.height = getHeight(getOutputSchema(functionTrigger?.spec?.type ?? import_functions2.TriggerKind.Email));
2215
2274
  }, [
2216
2275
  functionTrigger?.spec?.type
2217
2276
  ]);
2218
2277
  const setKind = (kind) => {
2219
2278
  if (functionTrigger?.spec?.type !== kind) {
2220
- functionTrigger.spec = createTriggerSpec(kind);
2279
+ functionTrigger.spec = createTriggerSpec({
2280
+ triggerKind: import_functions2.TriggerKind.Email,
2281
+ spaceId: space?.id
2282
+ });
2221
2283
  }
2222
2284
  };
2223
2285
  if (!functionTrigger?.spec) {
@@ -2240,40 +2302,41 @@ var TriggerKindSelect = ({ value, onValueChange }) => {
2240
2302
  }, /* @__PURE__ */ import_react29.default.createElement(import_react_ui8.Select.TriggerButton, {
2241
2303
  variant: "ghost",
2242
2304
  classNames: "w-full !px-0"
2243
- }), /* @__PURE__ */ import_react29.default.createElement(import_react_ui8.Select.Portal, null, /* @__PURE__ */ import_react29.default.createElement(import_react_ui8.Select.Content, null, /* @__PURE__ */ import_react29.default.createElement(import_react_ui8.Select.ScrollUpButton, null), /* @__PURE__ */ import_react29.default.createElement(import_react_ui8.Select.Viewport, null, Object.values(import_functions.TriggerKind).map((type) => /* @__PURE__ */ import_react29.default.createElement(import_react_ui8.Select.Option, {
2305
+ }), /* @__PURE__ */ import_react29.default.createElement(import_react_ui8.Select.Portal, null, /* @__PURE__ */ import_react29.default.createElement(import_react_ui8.Select.Content, null, /* @__PURE__ */ import_react29.default.createElement(import_react_ui8.Select.ScrollUpButton, null), /* @__PURE__ */ import_react29.default.createElement(import_react_ui8.Select.Viewport, null, Object.values(import_functions2.TriggerKind).map((type) => /* @__PURE__ */ import_react29.default.createElement(import_react_ui8.Select.Option, {
2244
2306
  key: type,
2245
2307
  value: type
2246
2308
  }, type))), /* @__PURE__ */ import_react29.default.createElement(import_react_ui8.Select.ScrollDownButton, null), /* @__PURE__ */ import_react29.default.createElement(import_react_ui8.Select.Arrow, null))));
2247
2309
  };
2248
- var createTriggerSpec = (kind) => {
2310
+ var createTriggerSpec = (props) => {
2311
+ const kind = props.triggerKind ?? import_functions2.TriggerKind.Email;
2249
2312
  switch (kind) {
2250
- case import_functions.TriggerKind.Timer:
2313
+ case import_functions2.TriggerKind.Timer:
2251
2314
  return {
2252
- type: import_functions.TriggerKind.Timer,
2253
- cron: "0 0 * * *"
2315
+ type: import_functions2.TriggerKind.Timer,
2316
+ cron: "*/10 * * * * *"
2254
2317
  };
2255
- case import_functions.TriggerKind.Webhook:
2318
+ case import_functions2.TriggerKind.Webhook:
2256
2319
  return {
2257
- type: import_functions.TriggerKind.Webhook,
2320
+ type: import_functions2.TriggerKind.Webhook,
2258
2321
  method: "POST"
2259
2322
  };
2260
- case import_functions.TriggerKind.Subscription:
2323
+ case import_functions2.TriggerKind.Subscription:
2261
2324
  return {
2262
- type: import_functions.TriggerKind.Subscription,
2325
+ type: import_functions2.TriggerKind.Subscription,
2263
2326
  filter: {}
2264
2327
  };
2265
- case import_functions.TriggerKind.Email:
2328
+ case import_functions2.TriggerKind.Email:
2266
2329
  return {
2267
- type: import_functions.TriggerKind.Email
2330
+ type: import_functions2.TriggerKind.Email
2268
2331
  };
2269
- case import_functions.TriggerKind.Queue: {
2332
+ case import_functions2.TriggerKind.Queue: {
2270
2333
  const dxn = new import_keys2.DXN(import_keys2.DXN.kind.QUEUE, [
2271
2334
  "data",
2272
- import_keys2.SpaceId.random(),
2335
+ props.spaceId ?? import_keys2.SpaceId.random(),
2273
2336
  import_echo_schema28.ObjectId.random()
2274
2337
  ]).toString();
2275
2338
  return {
2276
- type: import_functions.TriggerKind.Queue,
2339
+ type: import_functions2.TriggerKind.Queue,
2277
2340
  queue: dxn
2278
2341
  };
2279
2342
  }
@@ -2281,11 +2344,11 @@ var createTriggerSpec = (kind) => {
2281
2344
  };
2282
2345
  var getOutputSchema = (kind) => {
2283
2346
  const kindToSchema = {
2284
- [import_functions.TriggerKind.Email]: import_conductor25.EmailTriggerOutput,
2285
- [import_functions.TriggerKind.Subscription]: import_conductor25.SubscriptionTriggerOutput,
2286
- [import_functions.TriggerKind.Timer]: import_conductor25.TimerTriggerOutput,
2287
- [import_functions.TriggerKind.Webhook]: import_conductor25.WebhookTriggerOutput,
2288
- [import_functions.TriggerKind.Queue]: import_conductor25.QueueTriggerOutput
2347
+ [import_functions2.TriggerKind.Email]: import_conductor25.EmailTriggerOutput,
2348
+ [import_functions2.TriggerKind.Subscription]: import_conductor25.SubscriptionTriggerOutput,
2349
+ [import_functions2.TriggerKind.Timer]: import_conductor25.TimerTriggerOutput,
2350
+ [import_functions2.TriggerKind.Webhook]: import_conductor25.WebhookTriggerOutput,
2351
+ [import_functions2.TriggerKind.Queue]: import_conductor25.QueueTriggerOutput
2289
2352
  };
2290
2353
  return kindToSchema[kind];
2291
2354
  };
@@ -2295,7 +2358,7 @@ var triggerShape = {
2295
2358
  icon: "ph--lightning--regular",
2296
2359
  component: TriggerComponent,
2297
2360
  createShape: createTrigger,
2298
- getAnchors: (shape) => createFunctionAnchors(shape, import_conductor25.VoidInput, getOutputSchema(shape.functionTrigger?.target?.spec?.type ?? import_functions.TriggerKind.Email))
2361
+ getAnchors: (shape) => createFunctionAnchors(shape, import_conductor25.VoidInput, getOutputSchema(shape.functionTrigger?.target?.spec?.type ?? import_functions2.TriggerKind.Email))
2299
2362
  };
2300
2363
  var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/ui/react-ui-canvas-compute/src/shapes/GptRealtime.tsx";
2301
2364
  var GptRealtimeShape = import_echo_schema29.S.extend(ComputeShape, import_echo_schema29.S.Struct({
@@ -2312,7 +2375,7 @@ var createGptRealtime = (props) => createShape({
2312
2375
  var GptRealtimeComponent = ({ shape }) => {
2313
2376
  const [isLive, setIsLive] = (0, import_react30.useState)(false);
2314
2377
  const [isReady, setIsReady] = (0, import_react30.useState)(false);
2315
- const config = (0, import_react_client.useConfig)();
2378
+ const config = (0, import_react_client2.useConfig)();
2316
2379
  const start = async () => {
2317
2380
  setIsLive(true);
2318
2381
  try {
@@ -2478,7 +2541,7 @@ var computeShapes = [
2478
2541
  ]
2479
2542
  }
2480
2543
  ];
2481
- var ComputeShapeLayout = class extends import_react_ui_canvas_editor22.ShapeLayout {
2544
+ var ComputeShapeLayout = class extends import_react_ui_canvas_editor23.ShapeLayout {
2482
2545
  constructor(_controller, registry2) {
2483
2546
  super(registry2);
2484
2547
  this._controller = _controller;
@@ -2518,7 +2581,6 @@ var ComputeShapeLayout = class extends import_react_ui_canvas_editor22.ShapeLayo
2518
2581
  DatabaseComponent,
2519
2582
  DatabaseShape,
2520
2583
  FunctionBody,
2521
- FunctionComponent,
2522
2584
  FunctionShape,
2523
2585
  GptComponent,
2524
2586
  GptRealtimeComponent,