@dxos/react-ui-canvas-compute 0.7.5-labs.f5080a1 → 0.7.5-staging.2ff1350

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 (67) hide show
  1. package/dist/lib/browser/index.mjs +116 -40
  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 +140 -65
  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 +116 -40
  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 +16 -0
  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 +6 -2
  57. package/dist/types/src/shapes/Trigger.d.ts.map +1 -1
  58. package/dist/types/src/shapes/common/FunctionBody.d.ts +1 -1
  59. package/dist/types/src/shapes/common/FunctionBody.d.ts.map +1 -1
  60. package/dist/types/src/shapes/common/TypeSelect.d.ts +1 -2
  61. package/dist/types/src/shapes/common/TypeSelect.d.ts.map +1 -1
  62. package/package.json +41 -40
  63. package/src/graph/controller.ts +14 -3
  64. package/src/hooks/useGraphMonitor.ts +2 -2
  65. package/src/shapes/Function.tsx +83 -9
  66. package/src/shapes/Trigger.tsx +18 -7
  67. 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,33 +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");
305
- var import_echo2 = require("@dxos/react-client/echo");
308
+ var import_functions2 = require("@dxos/functions");
309
+ var import_keys2 = require("@dxos/keys");
310
+ var import_echo3 = require("@dxos/react-client/echo");
306
311
  var import_react_ui8 = require("@dxos/react-ui");
307
312
  var import_react30 = __toESM(require("react"));
308
313
  var import_echo_schema29 = require("@dxos/echo-schema");
309
314
  var import_log2 = require("@dxos/log");
310
- var import_react_client = require("@dxos/react-client");
315
+ var import_react_client2 = require("@dxos/react-client");
311
316
  var import_react_ui9 = require("@dxos/react-ui");
312
317
  var import_conductor26 = require("@dxos/conductor");
313
318
  var import_echo_schema30 = require("@dxos/echo-schema");
314
- 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");
315
320
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/ui/react-ui-canvas-compute/src/graph/node-defs.ts";
316
321
  var resolveComputeNode = async (node) => {
317
322
  const impl = import_conductor2.registry[node.type];
@@ -520,7 +525,7 @@ var useGraphMonitor = (model) => {
520
525
  const nodeIds = subgraph.nodes.map((shape) => shape.node);
521
526
  const edgeIds = subgraph.edges.map(({ source, target, output = import_conductor3.DEFAULT_OUTPUT, input = import_conductor3.DEFAULT_INPUT }) => {
522
527
  return model.edges.find((computeEdge) => computeEdge.input === input && computeEdge.output === output)?.id;
523
- }).filter(import_util.nonNullable);
528
+ }).filter(import_util.isNonNullable);
524
529
  model.removeNodes(nodeIds);
525
530
  model.removeEdges(edgeIds);
526
531
  deleteTriggerObjects(model, subgraph);
@@ -623,6 +628,14 @@ var ComputeGraphController = class extends import_context.Resource {
623
628
  };
624
629
  }
625
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
+ });
626
639
  Object.assign(this._services, services);
627
640
  }
628
641
  get graph() {
@@ -683,7 +696,7 @@ var ComputeGraphController = class extends import_context.Resource {
683
696
  } catch (err) {
684
697
  import_log.log.catch(err, void 0, {
685
698
  F: __dxlog_file4,
686
- L: 215,
699
+ L: 218,
687
700
  S: this,
688
701
  C: (f, a) => f(...a)
689
702
  });
@@ -710,7 +723,7 @@ var ComputeGraphController = class extends import_context.Resource {
710
723
  const scope = yield* import_effect.Scope.make();
711
724
  const executable = yield* import_effect.Effect.promise(() => resolveComputeNode(this._graph.getNode(nodeId)));
712
725
  const computingOutputs = executable.exec != null;
713
- 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) => {
714
727
  for (const [key, value] of Object.entries(values)) {
715
728
  if (computingOutputs) {
716
729
  this._onOutputComputed(nodeId, key, value);
@@ -749,7 +762,7 @@ var ComputeGraphController = class extends import_context.Resource {
749
762
  for (const node of allAffectedNodes) {
750
763
  const executable = yield* import_effect.Effect.promise(() => resolveComputeNode(this._graph.getNode(node)));
751
764
  const computingOutputs = executable.exec != null;
752
- 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) => {
753
766
  for (const [key, value] of Object.entries(values)) {
754
767
  if (computingOutputs) {
755
768
  this._onOutputComputed(node, key, value);
@@ -774,7 +787,8 @@ var ComputeGraphController = class extends import_context.Resource {
774
787
  const gptLayer = import_effect.Layer.succeed(import_conductor.GptService, services.gpt);
775
788
  const queueLayer = services.edgeHttpClient != null ? import_conductor.QueueService.fromClient(services.edgeHttpClient) : import_conductor.QueueService.notAvailable;
776
789
  const spaceLayer = services.spaceService != null ? import_effect.Layer.succeed(import_conductor.SpaceService, services.spaceService) : import_conductor.SpaceService.empty;
777
- 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);
778
792
  }
779
793
  _createLogger() {
780
794
  return {
@@ -789,7 +803,7 @@ var ComputeGraphController = class extends import_context.Resource {
789
803
  event
790
804
  }, {
791
805
  F: __dxlog_file4,
792
- L: 365,
806
+ L: 376,
793
807
  S: this,
794
808
  C: (f, a) => f(...a)
795
809
  });
@@ -1508,25 +1522,67 @@ var FunctionShape = import_echo_schema14.S.extend(ComputeShape, import_echo_sche
1508
1522
  var createFunction = (props) => createShape({
1509
1523
  type: "function",
1510
1524
  size: {
1511
- width: 192,
1512
- height: getHeight(import_conductor12.FunctionInput)
1525
+ width: 256,
1526
+ height: 192
1513
1527
  },
1514
1528
  ...props
1515
1529
  });
1516
- var FunctionComponent = ({ shape }) => {
1517
- 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, {
1518
1568
  shape,
1519
- inputSchema: import_conductor12.FunctionInput,
1520
- outputSchema: import_conductor12.AnyOutput
1521
- });
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
+ }));
1522
1579
  };
1523
1580
  var functionShape = {
1524
1581
  type: "function",
1525
1582
  name: "Function",
1526
1583
  icon: "ph--function--regular",
1527
- component: FunctionComponent,
1584
+ component: TextInputComponent2,
1528
1585
  createShape: createFunction,
1529
- // TODO(burdon): Get dynamic schema.
1530
1586
  getAnchors: (shape) => createFunctionAnchors(shape, import_conductor12.FunctionInput, import_conductor12.AnyOutput)
1531
1587
  };
1532
1588
  var GptShape = import_echo_schema15.S.extend(ComputeShape, import_echo_schema15.S.Struct({
@@ -1630,7 +1686,7 @@ var jsonShape = {
1630
1686
  icon: "ph--code--regular",
1631
1687
  component: (props) => /* @__PURE__ */ import_react17.default.createElement(JsonComponent, props),
1632
1688
  createShape: createJson,
1633
- getAnchors: (shape) => (0, import_react_ui_canvas_editor13.createAnchorMap)(shape, {
1689
+ getAnchors: (shape) => (0, import_react_ui_canvas_editor14.createAnchorMap)(shape, {
1634
1690
  [createAnchorId("input")]: {
1635
1691
  x: -1,
1636
1692
  y: 0
@@ -1828,7 +1884,7 @@ var randomShape = {
1828
1884
  icon: "ph--dice-six--regular",
1829
1885
  component: RandomComponent,
1830
1886
  createShape: createRandom,
1831
- getAnchors: (shape) => (0, import_react_ui_canvas_editor14.createAnchorMap)(shape, {
1887
+ getAnchors: (shape) => (0, import_react_ui_canvas_editor15.createAnchorMap)(shape, {
1832
1888
  [createAnchorId("output")]: {
1833
1889
  x: 1,
1834
1890
  y: 0
@@ -1869,7 +1925,7 @@ var scopeShape = {
1869
1925
  icon: "ph--waveform--regular",
1870
1926
  component: ScopeComponent,
1871
1927
  createShape: createScope,
1872
- getAnchors: (shape) => (0, import_react_ui_canvas_editor15.createAnchorMap)(shape, {
1928
+ getAnchors: (shape) => (0, import_react_ui_canvas_editor16.createAnchorMap)(shape, {
1873
1929
  [createAnchorId("input")]: {
1874
1930
  x: -1,
1875
1931
  y: 0
@@ -1913,7 +1969,7 @@ var surfaceShape = {
1913
1969
  icon: "ph--frame-corners--regular",
1914
1970
  component: SurfaceComponent,
1915
1971
  createShape: createSurface,
1916
- getAnchors: (shape) => (0, import_react_ui_canvas_editor16.createAnchorMap)(shape, {
1972
+ getAnchors: (shape) => (0, import_react_ui_canvas_editor17.createAnchorMap)(shape, {
1917
1973
  [createAnchorId("input")]: {
1918
1974
  x: -1,
1919
1975
  y: 0
@@ -1954,7 +2010,7 @@ var switchShape = {
1954
2010
  icon: "ph--toggle-left--regular",
1955
2011
  component: SwitchComponent,
1956
2012
  createShape: createSwitch,
1957
- getAnchors: (shape) => (0, import_react_ui_canvas_editor17.createAnchorMap)(shape, {
2013
+ getAnchors: (shape) => (0, import_react_ui_canvas_editor18.createAnchorMap)(shape, {
1958
2014
  [createAnchorId("output")]: {
1959
2015
  x: 1,
1960
2016
  y: 0
@@ -1993,7 +2049,7 @@ var TemplateShape = import_echo_schema24.S.extend(ComputeShape, import_echo_sche
1993
2049
  type: import_echo_schema24.S.Literal("template"),
1994
2050
  valueType: import_echo_schema24.S.optional(import_conductor22.ComputeValueType)
1995
2051
  }));
1996
- var TextInputComponent2 = ({ shape, title, ...props }) => {
2052
+ var TextInputComponent3 = ({ shape, title, ...props }) => {
1997
2053
  const { node } = useComputeNodeState(shape);
1998
2054
  const inputRef = (0, import_react25.useRef)(null);
1999
2055
  const handleEnter = (text) => {
@@ -2024,7 +2080,7 @@ var TextInputComponent2 = ({ shape, title, ...props }) => {
2024
2080
  value: node.valueType ?? "string",
2025
2081
  onValueChange: handleTypeChange
2026
2082
  })
2027
- }, /* @__PURE__ */ import_react25.default.createElement(import_react_ui_canvas_editor18.TextBox, {
2083
+ }, /* @__PURE__ */ import_react25.default.createElement(import_react_ui_canvas_editor19.TextBox, {
2028
2084
  ...props,
2029
2085
  ref: inputRef,
2030
2086
  value: node.value,
@@ -2045,7 +2101,7 @@ var templateShape = {
2045
2101
  type: "template",
2046
2102
  name: "Template",
2047
2103
  icon: "ph--article--regular",
2048
- component: (props) => /* @__PURE__ */ import_react25.default.createElement(TextInputComponent2, {
2104
+ component: (props) => /* @__PURE__ */ import_react25.default.createElement(TextInputComponent3, {
2049
2105
  ...props,
2050
2106
  placeholder: "Prompt"
2051
2107
  }),
@@ -2076,7 +2132,7 @@ var TextComponent = ({ shape }) => {
2076
2132
  return /* @__PURE__ */ import_react26.default.createElement(Box, {
2077
2133
  shape,
2078
2134
  onAction: handleAction
2079
- }, /* @__PURE__ */ import_react26.default.createElement(import_react_ui_canvas_editor19.TextBox, {
2135
+ }, /* @__PURE__ */ import_react26.default.createElement(import_react_ui_canvas_editor20.TextBox, {
2080
2136
  value
2081
2137
  }));
2082
2138
  };
@@ -2086,7 +2142,7 @@ var textShape = {
2086
2142
  icon: "ph--article--regular",
2087
2143
  component: TextComponent,
2088
2144
  createShape: createText,
2089
- getAnchors: (shape) => (0, import_react_ui_canvas_editor20.createAnchorMap)(shape, {
2145
+ getAnchors: (shape) => (0, import_react_ui_canvas_editor21.createAnchorMap)(shape, {
2090
2146
  [createAnchorId("input")]: {
2091
2147
  x: -1,
2092
2148
  y: 0
@@ -2173,7 +2229,7 @@ var textToImageShape = {
2173
2229
  icon: "ph--image--regular",
2174
2230
  component: TextToImageComponent,
2175
2231
  createShape: createTextToImage,
2176
- getAnchors: (shape) => (0, import_react_ui_canvas_editor21.createAnchorMap)(shape, {
2232
+ getAnchors: (shape) => (0, import_react_ui_canvas_editor22.createAnchorMap)(shape, {
2177
2233
  [createAnchorId("output")]: {
2178
2234
  x: 1,
2179
2235
  y: 0
@@ -2182,16 +2238,16 @@ var textToImageShape = {
2182
2238
  };
2183
2239
  var TriggerShape = import_echo_schema28.S.extend(ComputeShape, import_echo_schema28.S.Struct({
2184
2240
  type: import_echo_schema28.S.Literal("trigger"),
2185
- 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))
2186
2242
  }));
2187
2243
  var createTrigger = (props) => {
2188
- const functionTrigger = (0, import_echo2.create)(import_functions.FunctionTrigger, {
2244
+ const functionTrigger = (0, import_echo3.create)(import_functions2.FunctionTrigger, {
2189
2245
  enabled: true,
2190
- spec: createTriggerSpec(props.triggerKind ?? import_functions.TriggerKind.Email)
2246
+ spec: createTriggerSpec(props)
2191
2247
  });
2192
2248
  return createShape({
2193
2249
  type: "trigger",
2194
- functionTrigger: (0, import_echo2.makeRef)(functionTrigger),
2250
+ functionTrigger: (0, import_echo3.makeRef)(functionTrigger),
2195
2251
  size: {
2196
2252
  width: 192,
2197
2253
  height: getHeight(import_conductor25.EmailTriggerOutput)
@@ -2200,23 +2256,30 @@ var createTrigger = (props) => {
2200
2256
  });
2201
2257
  };
2202
2258
  var TriggerComponent = ({ shape }) => {
2259
+ const space = (0, import_echo3.useSpace)();
2203
2260
  const functionTrigger = shape.functionTrigger?.target;
2204
2261
  (0, import_react29.useEffect)(() => {
2205
2262
  if (functionTrigger && !functionTrigger.spec) {
2206
- functionTrigger.spec = createTriggerSpec(import_functions.TriggerKind.Email);
2263
+ functionTrigger.spec = createTriggerSpec({
2264
+ triggerKind: import_functions2.TriggerKind.Email,
2265
+ spaceId: space?.id
2266
+ });
2207
2267
  }
2208
2268
  }, [
2209
2269
  functionTrigger,
2210
2270
  functionTrigger?.spec
2211
2271
  ]);
2212
2272
  (0, import_react29.useEffect)(() => {
2213
- 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));
2214
2274
  }, [
2215
2275
  functionTrigger?.spec?.type
2216
2276
  ]);
2217
2277
  const setKind = (kind) => {
2218
2278
  if (functionTrigger?.spec?.type !== kind) {
2219
- functionTrigger.spec = createTriggerSpec(kind);
2279
+ functionTrigger.spec = createTriggerSpec({
2280
+ triggerKind: import_functions2.TriggerKind.Email,
2281
+ spaceId: space?.id
2282
+ });
2220
2283
  }
2221
2284
  };
2222
2285
  if (!functionTrigger?.spec) {
@@ -2239,40 +2302,53 @@ var TriggerKindSelect = ({ value, onValueChange }) => {
2239
2302
  }, /* @__PURE__ */ import_react29.default.createElement(import_react_ui8.Select.TriggerButton, {
2240
2303
  variant: "ghost",
2241
2304
  classNames: "w-full !px-0"
2242
- }), /* @__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, {
2243
2306
  key: type,
2244
2307
  value: type
2245
2308
  }, type))), /* @__PURE__ */ import_react29.default.createElement(import_react_ui8.Select.ScrollDownButton, null), /* @__PURE__ */ import_react29.default.createElement(import_react_ui8.Select.Arrow, null))));
2246
2309
  };
2247
- var createTriggerSpec = (kind) => {
2310
+ var createTriggerSpec = (props) => {
2311
+ const kind = props.triggerKind ?? import_functions2.TriggerKind.Email;
2248
2312
  switch (kind) {
2249
- case import_functions.TriggerKind.Timer:
2313
+ case import_functions2.TriggerKind.Timer:
2250
2314
  return {
2251
- type: import_functions.TriggerKind.Timer,
2252
- cron: "0 0 * * *"
2315
+ type: import_functions2.TriggerKind.Timer,
2316
+ cron: "*/10 * * * * *"
2253
2317
  };
2254
- case import_functions.TriggerKind.Webhook:
2318
+ case import_functions2.TriggerKind.Webhook:
2255
2319
  return {
2256
- type: import_functions.TriggerKind.Webhook,
2320
+ type: import_functions2.TriggerKind.Webhook,
2257
2321
  method: "POST"
2258
2322
  };
2259
- case import_functions.TriggerKind.Subscription:
2323
+ case import_functions2.TriggerKind.Subscription:
2260
2324
  return {
2261
- type: import_functions.TriggerKind.Subscription,
2325
+ type: import_functions2.TriggerKind.Subscription,
2262
2326
  filter: {}
2263
2327
  };
2264
- case import_functions.TriggerKind.Email:
2328
+ case import_functions2.TriggerKind.Email:
2329
+ return {
2330
+ type: import_functions2.TriggerKind.Email
2331
+ };
2332
+ case import_functions2.TriggerKind.Queue: {
2333
+ const dxn = new import_keys2.DXN(import_keys2.DXN.kind.QUEUE, [
2334
+ "data",
2335
+ props.spaceId ?? import_keys2.SpaceId.random(),
2336
+ import_echo_schema28.ObjectId.random()
2337
+ ]).toString();
2265
2338
  return {
2266
- type: import_functions.TriggerKind.Email
2339
+ type: import_functions2.TriggerKind.Queue,
2340
+ queue: dxn
2267
2341
  };
2342
+ }
2268
2343
  }
2269
2344
  };
2270
2345
  var getOutputSchema = (kind) => {
2271
2346
  const kindToSchema = {
2272
- [import_functions.TriggerKind.Email]: import_conductor25.EmailTriggerOutput,
2273
- [import_functions.TriggerKind.Subscription]: import_conductor25.SubscriptionTriggerOutput,
2274
- [import_functions.TriggerKind.Timer]: import_conductor25.TimerTriggerOutput,
2275
- [import_functions.TriggerKind.Webhook]: import_conductor25.WebhookTriggerOutput
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
2276
2352
  };
2277
2353
  return kindToSchema[kind];
2278
2354
  };
@@ -2282,7 +2358,7 @@ var triggerShape = {
2282
2358
  icon: "ph--lightning--regular",
2283
2359
  component: TriggerComponent,
2284
2360
  createShape: createTrigger,
2285
- 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))
2286
2362
  };
2287
2363
  var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/ui/react-ui-canvas-compute/src/shapes/GptRealtime.tsx";
2288
2364
  var GptRealtimeShape = import_echo_schema29.S.extend(ComputeShape, import_echo_schema29.S.Struct({
@@ -2299,7 +2375,7 @@ var createGptRealtime = (props) => createShape({
2299
2375
  var GptRealtimeComponent = ({ shape }) => {
2300
2376
  const [isLive, setIsLive] = (0, import_react30.useState)(false);
2301
2377
  const [isReady, setIsReady] = (0, import_react30.useState)(false);
2302
- const config = (0, import_react_client.useConfig)();
2378
+ const config = (0, import_react_client2.useConfig)();
2303
2379
  const start = async () => {
2304
2380
  setIsLive(true);
2305
2381
  try {
@@ -2465,7 +2541,7 @@ var computeShapes = [
2465
2541
  ]
2466
2542
  }
2467
2543
  ];
2468
- var ComputeShapeLayout = class extends import_react_ui_canvas_editor22.ShapeLayout {
2544
+ var ComputeShapeLayout = class extends import_react_ui_canvas_editor23.ShapeLayout {
2469
2545
  constructor(_controller, registry2) {
2470
2546
  super(registry2);
2471
2547
  this._controller = _controller;
@@ -2505,7 +2581,6 @@ var ComputeShapeLayout = class extends import_react_ui_canvas_editor22.ShapeLayo
2505
2581
  DatabaseComponent,
2506
2582
  DatabaseShape,
2507
2583
  FunctionBody,
2508
- FunctionComponent,
2509
2584
  FunctionShape,
2510
2585
  GptComponent,
2511
2586
  GptRealtimeComponent,