@dxos/react-ui-canvas-compute 0.7.5-labs.a279d8c → 0.7.5-labs.ea4b4c2

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 (34) hide show
  1. package/dist/lib/browser/index.mjs +60 -11
  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 +58 -9
  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 +60 -11
  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 +7 -0
  11. package/dist/types/src/components/DiagnosticOverlay.d.ts.map +1 -0
  12. package/dist/types/src/components/index.d.ts +2 -0
  13. package/dist/types/src/components/index.d.ts.map +1 -0
  14. package/dist/types/src/compute-layout.d.ts +1 -1
  15. package/dist/types/src/compute-layout.d.ts.map +1 -1
  16. package/dist/types/src/compute.stories.d.ts.map +1 -1
  17. package/dist/types/src/graph/controller.d.ts +4 -1
  18. package/dist/types/src/graph/controller.d.ts.map +1 -1
  19. package/dist/types/src/shapes/Gpt.d.ts.map +1 -1
  20. package/dist/types/src/shapes/GptRealtime.d.ts.map +1 -1
  21. package/dist/types/src/shapes/Trigger.d.ts +3 -0
  22. package/dist/types/src/shapes/Trigger.d.ts.map +1 -1
  23. package/dist/types/src/shapes/common/TypeSelect.d.ts.map +1 -1
  24. package/dist/types/tsconfig.tsbuildinfo +1 -1
  25. package/package.json +39 -39
  26. package/src/components/DiagnosticOverlay.tsx +23 -0
  27. package/src/components/index.ts +5 -0
  28. package/src/compute-layout.ts +1 -1
  29. package/src/compute.stories.tsx +17 -14
  30. package/src/graph/controller.ts +14 -0
  31. package/src/shapes/Gpt.tsx +2 -2
  32. package/src/shapes/GptRealtime.tsx +12 -5
  33. package/src/shapes/Trigger.tsx +9 -1
  34. package/src/shapes/common/TypeSelect.tsx +5 -1
@@ -323,6 +323,7 @@ var ComputeGraphController = class extends Resource {
323
323
  this._executor = new GraphExecutor({
324
324
  computeNodeResolver: (node) => resolveComputeNode(node)
325
325
  });
326
+ this._diagnostics = [];
326
327
  this._services = {};
327
328
  this._forcedOutputs = {};
328
329
  this._runtimeStateInputs = {};
@@ -347,6 +348,9 @@ var ComputeGraphController = class extends Resource {
347
348
  get graph() {
348
349
  return this._graph;
349
350
  }
351
+ get diagnostics() {
352
+ return this._diagnostics;
353
+ }
350
354
  get userState() {
351
355
  return this._forcedOutputs;
352
356
  }
@@ -399,7 +403,7 @@ var ComputeGraphController = class extends Resource {
399
403
  } catch (err) {
400
404
  log.catch(err, void 0, {
401
405
  F: __dxlog_file4,
402
- L: 208,
406
+ L: 215,
403
407
  S: this,
404
408
  C: (f, a) => f(...a)
405
409
  });
@@ -410,6 +414,11 @@ var ComputeGraphController = class extends Resource {
410
414
  const { meta } = await resolveComputeNode(node);
411
415
  return meta;
412
416
  }
417
+ async checkGraph() {
418
+ const executor = this._executor.clone();
419
+ await executor.load(this._graph);
420
+ this._diagnostics = executor.getDiagnostics();
421
+ }
413
422
  async evalNode(nodeId) {
414
423
  const executor = this._executor.clone();
415
424
  await executor.load(this._graph);
@@ -500,7 +509,7 @@ var ComputeGraphController = class extends Resource {
500
509
  event
501
510
  }, {
502
511
  F: __dxlog_file4,
503
- L: 351,
512
+ L: 365,
504
513
  S: this,
505
514
  C: (f, a) => f(...a)
506
515
  });
@@ -536,6 +545,9 @@ var ComputeGraphController = class extends Resource {
536
545
  });
537
546
  }
538
547
  };
548
+ _ts_decorate([
549
+ synchronized
550
+ ], ComputeGraphController.prototype, "checkGraph", null);
539
551
  _ts_decorate([
540
552
  synchronized
541
553
  ], ComputeGraphController.prototype, "exec", null);
@@ -764,8 +776,8 @@ var createFunctionAnchors = (shape, input = VoidInput, output = VoidOutput) => {
764
776
 
765
777
  // packages/ui/react-ui-canvas-compute/src/shapes/common/TypeSelect.tsx
766
778
  import React3 from "react";
767
- import { Select } from "@dxos/react-ui";
768
779
  import { ComputeValueType } from "@dxos/conductor";
780
+ import { Select } from "@dxos/react-ui";
769
781
  var TypeSelect = ({ value, onValueChange }) => {
770
782
  return /* @__PURE__ */ React3.createElement(Select.Root, {
771
783
  value,
@@ -2058,9 +2070,10 @@ var textToImageShape = {
2058
2070
 
2059
2071
  // packages/ui/react-ui-canvas-compute/src/shapes/Trigger.tsx
2060
2072
  import React26, { useEffect as useEffect7 } from "react";
2061
- import { EmailTriggerOutput, SubscriptionTriggerOutput, TimerTriggerOutput, VoidInput as VoidInput3, WebhookTriggerOutput } from "@dxos/conductor";
2062
- import { Ref, S as S25 } from "@dxos/echo-schema";
2073
+ import { EmailTriggerOutput, SubscriptionTriggerOutput, TimerTriggerOutput, VoidInput as VoidInput3, WebhookTriggerOutput, QueueTriggerOutput } from "@dxos/conductor";
2074
+ import { ObjectId as ObjectId4, Ref, S as S25 } from "@dxos/echo-schema";
2063
2075
  import { FunctionTrigger, TriggerKind } from "@dxos/functions";
2076
+ import { DXN as DXN2, SpaceId } from "@dxos/keys";
2064
2077
  import { create, makeRef } from "@dxos/react-client/echo";
2065
2078
  import { Select as Select2 } from "@dxos/react-ui";
2066
2079
  var TriggerShape = S25.extend(ComputeShape, S25.Struct({
@@ -2148,6 +2161,17 @@ var createTriggerSpec = (kind) => {
2148
2161
  return {
2149
2162
  type: TriggerKind.Email
2150
2163
  };
2164
+ case TriggerKind.Queue: {
2165
+ const dxn = new DXN2(DXN2.kind.QUEUE, [
2166
+ "data",
2167
+ SpaceId.random(),
2168
+ ObjectId4.random()
2169
+ ]).toString();
2170
+ return {
2171
+ type: TriggerKind.Queue,
2172
+ queue: dxn
2173
+ };
2174
+ }
2151
2175
  }
2152
2176
  };
2153
2177
  var getOutputSchema = (kind) => {
@@ -2155,7 +2179,8 @@ var getOutputSchema = (kind) => {
2155
2179
  [TriggerKind.Email]: EmailTriggerOutput,
2156
2180
  [TriggerKind.Subscription]: SubscriptionTriggerOutput,
2157
2181
  [TriggerKind.Timer]: TimerTriggerOutput,
2158
- [TriggerKind.Webhook]: WebhookTriggerOutput
2182
+ [TriggerKind.Webhook]: WebhookTriggerOutput,
2183
+ [TriggerKind.Queue]: QueueTriggerOutput
2159
2184
  };
2160
2185
  return kindToSchema[kind];
2161
2186
  };
@@ -2171,7 +2196,10 @@ var triggerShape = {
2171
2196
  // packages/ui/react-ui-canvas-compute/src/shapes/GptRealtime.tsx
2172
2197
  import React27, { useState as useState8 } from "react";
2173
2198
  import { S as S26 } from "@dxos/echo-schema";
2199
+ import { log as log2 } from "@dxos/log";
2200
+ import { useConfig } from "@dxos/react-client";
2174
2201
  import { Icon as Icon5 } from "@dxos/react-ui";
2202
+ var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/ui/react-ui-canvas-compute/src/shapes/GptRealtime.tsx";
2175
2203
  var GptRealtimeShape = S26.extend(ComputeShape, S26.Struct({
2176
2204
  type: S26.Literal("gpt-realtime")
2177
2205
  }));
@@ -2186,6 +2214,7 @@ var createGptRealtime = (props) => createShape({
2186
2214
  var GptRealtimeComponent = ({ shape }) => {
2187
2215
  const [isLive, setIsLive] = useState8(false);
2188
2216
  const [isReady, setIsReady] = useState8(false);
2217
+ const config = useConfig();
2189
2218
  const start = async () => {
2190
2219
  setIsLive(true);
2191
2220
  try {
@@ -2207,7 +2236,8 @@ var GptRealtimeComponent = ({ shape }) => {
2207
2236
  }));
2208
2237
  const offer = await peerConnection.createOffer();
2209
2238
  await peerConnection.setLocalDescription(offer);
2210
- const response = await fetch(`${AI_SERVICE_URL}/rtc-connect`, {
2239
+ const aiServiceUrl = new URL("/rtc-connect", config.values.runtime?.services?.ai?.server ?? DEFAULT_AI_SERVICE_URL);
2240
+ const response = await fetch(aiServiceUrl, {
2211
2241
  method: "POST",
2212
2242
  body: offer.sdp,
2213
2243
  headers: {
@@ -2221,7 +2251,12 @@ var GptRealtimeComponent = ({ shape }) => {
2221
2251
  });
2222
2252
  const dataChannel = peerConnection.createDataChannel("response");
2223
2253
  const configureData = () => {
2224
- console.log("Configuring data channel");
2254
+ log2.info("Configuring data channel", void 0, {
2255
+ F: __dxlog_file7,
2256
+ L: 87,
2257
+ S: void 0,
2258
+ C: (f, a) => f(...a)
2259
+ });
2225
2260
  const event = {
2226
2261
  type: "session.update",
2227
2262
  session: {
@@ -2236,7 +2271,14 @@ var GptRealtimeComponent = ({ shape }) => {
2236
2271
  dataChannel.send(JSON.stringify(event));
2237
2272
  };
2238
2273
  dataChannel.addEventListener("open", (ev) => {
2239
- console.log("Opening data channel", ev);
2274
+ log2.info("Opening data channel", {
2275
+ ev
2276
+ }, {
2277
+ F: __dxlog_file7,
2278
+ L: 100,
2279
+ S: void 0,
2280
+ C: (f, a) => f(...a)
2281
+ });
2240
2282
  configureData();
2241
2283
  });
2242
2284
  dataChannel.addEventListener("message", async (ev) => {
@@ -2245,7 +2287,14 @@ var GptRealtimeComponent = ({ shape }) => {
2245
2287
  }
2246
2288
  });
2247
2289
  } catch (error) {
2248
- console.error("Error in realtime session:", error);
2290
+ log2.error("Error in realtime session:", {
2291
+ error
2292
+ }, {
2293
+ F: __dxlog_file7,
2294
+ L: 140,
2295
+ S: void 0,
2296
+ C: (f, a) => f(...a)
2297
+ });
2249
2298
  throw error;
2250
2299
  }
2251
2300
  };
@@ -2270,7 +2319,7 @@ var gptRealtimeShape = {
2270
2319
  }), S26.Struct({})),
2271
2320
  resizable: true
2272
2321
  };
2273
- var AI_SERVICE_URL = "http://localhost:8788";
2322
+ var DEFAULT_AI_SERVICE_URL = "http://localhost:8788";
2274
2323
 
2275
2324
  // packages/ui/react-ui-canvas-compute/src/registry.ts
2276
2325
  var computeShapes = [