@dxos/plugin-debug 0.8.4-main.72ec0f3 → 0.8.4-main.937b3ca

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 (111) hide show
  1. package/dist/lib/browser/DebugGraph-6VMEOKEV.mjs +15 -0
  2. package/dist/lib/browser/DebugGraph-6VMEOKEV.mjs.map +7 -0
  3. package/dist/lib/browser/DevtoolsOverviewContainer-77PKFLYV.mjs +19 -0
  4. package/dist/lib/browser/{DevtoolsOverviewContainer-JXVZVPHN.mjs.map → DevtoolsOverviewContainer-77PKFLYV.mjs.map} +1 -1
  5. package/dist/lib/browser/{SpaceGenerator-46TAISVE.mjs → SpaceGenerator-ZHVZWGM7.mjs} +192 -195
  6. package/dist/lib/browser/SpaceGenerator-ZHVZWGM7.mjs.map +7 -0
  7. package/dist/lib/browser/app-graph-builder-FBDRMMYF.mjs +597 -0
  8. package/dist/lib/browser/app-graph-builder-FBDRMMYF.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-SRV2AIGJ.mjs → chunk-4UFQXPP7.mjs} +11 -1
  10. package/dist/lib/browser/chunk-4UFQXPP7.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-WZFZ4ESO.mjs → chunk-A5H5GRV6.mjs} +1 -1
  12. package/dist/lib/browser/chunk-A5H5GRV6.mjs.map +7 -0
  13. package/dist/lib/browser/index.mjs +33 -38
  14. package/dist/lib/browser/index.mjs.map +4 -4
  15. package/dist/lib/browser/meta.json +1 -1
  16. package/dist/lib/browser/react-context-FSWBT3MH.mjs +17 -0
  17. package/dist/lib/browser/react-context-FSWBT3MH.mjs.map +7 -0
  18. package/dist/lib/browser/react-surface-W62RJ32U.mjs +757 -0
  19. package/dist/lib/browser/react-surface-W62RJ32U.mjs.map +7 -0
  20. package/dist/lib/browser/settings-KA4GN73K.mjs +31 -0
  21. package/dist/lib/browser/settings-KA4GN73K.mjs.map +7 -0
  22. package/dist/types/src/DebugPlugin.d.ts +2 -1
  23. package/dist/types/src/DebugPlugin.d.ts.map +1 -1
  24. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  25. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  26. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  27. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  28. package/dist/types/src/capabilities/index.d.ts +4 -8
  29. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  30. package/dist/types/src/capabilities/react-context/index.d.ts +7 -0
  31. package/dist/types/src/capabilities/react-context/index.d.ts.map +1 -0
  32. package/dist/types/src/capabilities/react-context/react-context.d.ts +10 -0
  33. package/dist/types/src/capabilities/react-context/react-context.d.ts.map +1 -0
  34. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  35. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  36. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  37. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  38. package/dist/types/src/capabilities/settings/index.d.ts +3 -0
  39. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  40. package/dist/types/src/capabilities/settings/settings.d.ts +5 -0
  41. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  42. package/dist/types/src/components/DebugGraph.d.ts +5 -4
  43. package/dist/types/src/components/DebugGraph.d.ts.map +1 -1
  44. package/dist/types/src/components/DebugObjectPanel.d.ts +1 -1
  45. package/dist/types/src/components/DebugObjectPanel.d.ts.map +1 -1
  46. package/dist/types/src/components/DebugSettings.d.ts +4 -2
  47. package/dist/types/src/components/DebugSettings.d.ts.map +1 -1
  48. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts +5 -5
  49. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
  50. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.d.ts +2 -2
  51. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.d.ts.map +1 -1
  52. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts.map +1 -1
  53. package/dist/types/src/components/SpaceGenerator/presets.d.ts +1 -4
  54. package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
  55. package/dist/types/src/components/Wireframe.d.ts +1 -1
  56. package/dist/types/src/components/Wireframe.d.ts.map +1 -1
  57. package/dist/types/src/components/index.d.ts +4 -4
  58. package/dist/types/src/components/index.d.ts.map +1 -1
  59. package/dist/types/src/meta.d.ts +2 -2
  60. package/dist/types/src/meta.d.ts.map +1 -1
  61. package/dist/types/src/types.d.ts +5 -0
  62. package/dist/types/src/types.d.ts.map +1 -1
  63. package/dist/types/tsconfig.tsbuildinfo +1 -1
  64. package/package.json +76 -71
  65. package/src/DebugPlugin.tsx +16 -31
  66. package/src/capabilities/app-graph-builder/app-graph-builder.ts +419 -0
  67. package/src/capabilities/app-graph-builder/index.ts +7 -0
  68. package/src/capabilities/index.ts +4 -6
  69. package/src/capabilities/react-context/index.ts +7 -0
  70. package/src/capabilities/react-context/react-context.tsx +20 -0
  71. package/src/capabilities/react-surface/index.ts +7 -0
  72. package/src/capabilities/react-surface/react-surface.tsx +409 -0
  73. package/src/capabilities/settings/index.ts +7 -0
  74. package/src/capabilities/settings/settings.ts +30 -0
  75. package/src/components/DebugGraph.tsx +4 -3
  76. package/src/components/DebugObjectPanel.tsx +4 -4
  77. package/src/components/DebugSettings.tsx +10 -5
  78. package/src/components/SpaceGenerator/ObjectGenerator.tsx +15 -16
  79. package/src/components/SpaceGenerator/SpaceGenerator.stories.tsx +7 -5
  80. package/src/components/SpaceGenerator/SpaceGenerator.tsx +17 -12
  81. package/src/components/SpaceGenerator/presets.ts +151 -37
  82. package/src/components/Wireframe.tsx +2 -2
  83. package/src/components/index.ts +4 -1
  84. package/src/meta.ts +2 -2
  85. package/src/types.ts +8 -0
  86. package/dist/lib/browser/DebugGraph-EDOH6R2G.mjs +0 -20
  87. package/dist/lib/browser/DebugGraph-EDOH6R2G.mjs.map +0 -7
  88. package/dist/lib/browser/DevtoolsOverviewContainer-JXVZVPHN.mjs +0 -25
  89. package/dist/lib/browser/SpaceGenerator-46TAISVE.mjs.map +0 -7
  90. package/dist/lib/browser/app-graph-builder-CRH2HJKT.mjs +0 -588
  91. package/dist/lib/browser/app-graph-builder-CRH2HJKT.mjs.map +0 -7
  92. package/dist/lib/browser/chunk-SRV2AIGJ.mjs.map +0 -7
  93. package/dist/lib/browser/chunk-WZFZ4ESO.mjs.map +0 -7
  94. package/dist/lib/browser/react-context-P2YDWEWI.mjs +0 -16
  95. package/dist/lib/browser/react-context-P2YDWEWI.mjs.map +0 -7
  96. package/dist/lib/browser/react-surface-2SNVZDEA.mjs +0 -774
  97. package/dist/lib/browser/react-surface-2SNVZDEA.mjs.map +0 -7
  98. package/dist/lib/browser/settings-SQXR3OAH.mjs +0 -22
  99. package/dist/lib/browser/settings-SQXR3OAH.mjs.map +0 -7
  100. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  101. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  102. package/dist/types/src/capabilities/react-context.d.ts +0 -8
  103. package/dist/types/src/capabilities/react-context.d.ts.map +0 -1
  104. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  105. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  106. package/dist/types/src/capabilities/settings.d.ts +0 -4
  107. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  108. package/src/capabilities/app-graph-builder.ts +0 -431
  109. package/src/capabilities/react-context.tsx +0 -16
  110. package/src/capabilities/react-surface.tsx +0 -418
  111. package/src/capabilities/settings.ts +0 -19
@@ -0,0 +1,15 @@
1
+ // src/components/DebugGraph.tsx
2
+ import React from "react";
3
+ import { Tree } from "@dxos/devtools";
4
+ import { Graph } from "@dxos/plugin-graph";
5
+ var DebugGraph = ({ graph, root }) => {
6
+ return /* @__PURE__ */ React.createElement(Tree, {
7
+ data: Graph.toJSON(graph, root)
8
+ });
9
+ };
10
+ var DebugGraph_default = DebugGraph;
11
+ export {
12
+ DebugGraph,
13
+ DebugGraph_default as default
14
+ };
15
+ //# sourceMappingURL=DebugGraph-6VMEOKEV.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/DebugGraph.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type FC } from 'react';\n\nimport { Tree } from '@dxos/devtools';\nimport { Graph } from '@dxos/plugin-graph';\n\nexport type DebugGraphProps = { graph: Graph.Graph; root: string };\nexport const DebugGraph: FC<DebugGraphProps> = ({ graph, root }) => {\n return <Tree data={Graph.toJSON(graph, root)} />;\n};\n\nexport default DebugGraph;\n"],
5
+ "mappings": ";AAIA,OAAOA,WAAwB;AAE/B,SAASC,YAAY;AACrB,SAASC,aAAa;AAGf,IAAMC,aAAkC,CAAC,EAAEC,OAAOC,KAAI,MAAE;AAC7D,SAAO,sBAAA,cAACC,MAAAA;IAAKC,MAAMC,MAAMC,OAAOL,OAAOC,IAAAA;;AACzC;AAEA,IAAA,qBAAeF;",
6
+ "names": ["React", "Tree", "Graph", "DebugGraph", "graph", "root", "Tree", "data", "Graph", "toJSON"]
7
+ }
@@ -0,0 +1,19 @@
1
+ // src/components/DevtoolsOverviewContainer.tsx
2
+ import React from "react";
3
+ import { Surface } from "@dxos/app-framework/react";
4
+ import { StatsPanel, useStats } from "@dxos/devtools";
5
+ var DevtoolsOverviewContainer = () => {
6
+ const [stats, refreshStats] = useStats();
7
+ return /* @__PURE__ */ React.createElement(StatsPanel, {
8
+ stats,
9
+ onRefresh: refreshStats
10
+ }, /* @__PURE__ */ React.createElement(Surface, {
11
+ role: "devtools-overview"
12
+ }));
13
+ };
14
+ var DevtoolsOverviewContainer_default = DevtoolsOverviewContainer;
15
+ export {
16
+ DevtoolsOverviewContainer,
17
+ DevtoolsOverviewContainer_default as default
18
+ };
19
+ //# sourceMappingURL=DevtoolsOverviewContainer-77PKFLYV.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/DevtoolsOverviewContainer.tsx"],
4
4
  "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Surface } from '@dxos/app-framework/react';\nimport { StatsPanel, useStats } from '@dxos/devtools';\n\nexport const DevtoolsOverviewContainer = () => {\n const [stats, refreshStats] = useStats();\n\n return (\n <StatsPanel stats={stats} onRefresh={refreshStats}>\n <Surface role='devtools-overview' />\n </StatsPanel>\n );\n};\n\nexport default DevtoolsOverviewContainer;\n"],
5
- "mappings": ";;AAIA,OAAOA,WAAW;AAElB,SAASC,eAAe;AACxB,SAASC,YAAYC,gBAAgB;AAE9B,IAAMC,4BAA4B,MAAA;;;AACvC,UAAM,CAACC,OAAOC,YAAAA,IAAgBC,SAAAA;AAE9B,WACE,sBAAA,cAACC,YAAAA;MAAWH;MAAcI,WAAWH;OACnC,sBAAA,cAACI,SAAAA;MAAQC,MAAK;;;;;AAGpB;AAEA,IAAA,oCAAeP;",
5
+ "mappings": ";AAIA,OAAOA,WAAW;AAElB,SAASC,eAAe;AACxB,SAASC,YAAYC,gBAAgB;AAE9B,IAAMC,4BAA4B,MAAA;AACvC,QAAM,CAACC,OAAOC,YAAAA,IAAgBC,SAAAA;AAE9B,SACE,sBAAA,cAACC,YAAAA;IAAWH;IAAcI,WAAWH;KACnC,sBAAA,cAACI,SAAAA;IAAQC,MAAK;;AAGpB;AAEA,IAAA,oCAAeP;",
6
6
  "names": ["React", "Surface", "StatsPanel", "useStats", "DevtoolsOverviewContainer", "stats", "refreshStats", "useStats", "StatsPanel", "onRefresh", "Surface", "role"]
7
7
  }
@@ -1,28 +1,25 @@
1
1
  // src/components/SpaceGenerator/SpaceGenerator.tsx
2
- import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
3
2
  import React2, { useCallback, useMemo, useState } from "react";
4
- import { useIntentDispatcher } from "@dxos/app-framework/react";
3
+ import { useOperationInvoker } from "@dxos/app-framework/react";
5
4
  import { ComputeGraph as ComputeGraph2 } from "@dxos/conductor";
6
- import { Filter as Filter3 } from "@dxos/echo";
5
+ import { Filter as Filter3, Obj as Obj2 } from "@dxos/echo";
7
6
  import { Markdown as Markdown3 } from "@dxos/plugin-markdown/types";
8
7
  import { Sheet as Sheet2 } from "@dxos/plugin-sheet/types";
9
8
  import { Diagram as Diagram2 } from "@dxos/plugin-sketch/types";
10
9
  import { useClient } from "@dxos/react-client";
11
- import { getTypename } from "@dxos/react-client/echo";
12
10
  import { IconButton as IconButton2, Input, Toolbar, useAsyncEffect } from "@dxos/react-ui";
13
11
  import { SyntaxHighlighter } from "@dxos/react-ui-syntax-highlighter";
14
12
  import { Organization as Organization2, Person as Person2, Task } from "@dxos/types";
15
13
  import { jsonKeyReplacer, sortKeys } from "@dxos/util";
16
14
 
17
15
  // src/components/SpaceGenerator/ObjectGenerator.tsx
18
- import { createIntent } from "@dxos/app-framework";
19
16
  import { addressToA1Notation } from "@dxos/compute";
20
17
  import { ComputeGraph, ComputeGraphModel, DEFAULT_OUTPUT, NODE_INPUT, NODE_OUTPUT } from "@dxos/conductor";
21
- import { DXN, Filter, Key, Type } from "@dxos/echo";
18
+ import { DXN, Filter, Key } from "@dxos/echo";
22
19
  import { Markdown } from "@dxos/plugin-markdown/types";
23
20
  import { Sheet } from "@dxos/plugin-sheet/types";
24
21
  import { Diagram } from "@dxos/plugin-sketch/types";
25
- import { SpaceAction } from "@dxos/plugin-space/types";
22
+ import { SpaceOperation } from "@dxos/plugin-space/types";
26
23
  import { faker } from "@dxos/random";
27
24
  import { View, getTypenameFromQuery } from "@dxos/schema";
28
25
  import { createAsyncGenerator } from "@dxos/schema/testing";
@@ -31,24 +28,26 @@ var generator = faker;
31
28
  var findViewByTypename = async (views, typename) => {
32
29
  return views.find((view) => getTypenameFromQuery(view.query.ast) === typename);
33
30
  };
34
- var createGenerator = (client, dispatch, schema) => {
31
+ var createGenerator = (client, invokePromise, schema) => {
35
32
  return async (space, n) => {
36
33
  const typename = schema.typename;
37
- const { objects: views } = await space.db.query(Filter.type(View.View)).run();
34
+ const views = await space.db.query(Filter.type(View.View)).run();
38
35
  const view = await findViewByTypename(views, typename);
39
- const staticSchema = client?.graph.schemaRegistry.schemas.find((schema2) => Type.getTypename(schema2) === typename);
36
+ const staticSchema = client?.graph.schemaRegistry.query({
37
+ typename
38
+ }).runSync()[0];
40
39
  if (!view && !staticSchema) {
41
- await dispatch(createIntent(SpaceAction.AddSchema, {
42
- space,
40
+ await invokePromise(SpaceOperation.AddSchema, {
41
+ db: space.db,
43
42
  schema,
44
43
  show: false
45
- }));
44
+ });
46
45
  } else if (!view && staticSchema) {
47
- await dispatch(createIntent(SpaceAction.UseStaticSchema, {
48
- space,
46
+ await invokePromise(SpaceOperation.UseStaticSchema, {
47
+ db: space.db,
49
48
  typename,
50
49
  show: false
51
- }));
50
+ });
52
51
  }
53
52
  const generate = createAsyncGenerator(generator, schema, {
54
53
  db: space.db
@@ -199,7 +198,7 @@ import * as Schema from "effect/Schema";
199
198
  import { Agent, EntityExtraction, ResearchBlueprint } from "@dxos/assistant-toolkit";
200
199
  import { Prompt } from "@dxos/blueprints";
201
200
  import { NODE_INPUT as NODE_INPUT2 } from "@dxos/conductor";
202
- import { DXN as DXN2, Filter as Filter2, Key as Key2, Obj, Query, Ref, Tag, Type as Type2 } from "@dxos/echo";
201
+ import { DXN as DXN2, Filter as Filter2, Key as Key2, Obj, Query, Ref, Tag, Type } from "@dxos/echo";
203
202
  import { Trigger, serializeFunction } from "@dxos/functions";
204
203
  import { invariant } from "@dxos/invariant";
205
204
  import { gmail } from "@dxos/plugin-inbox";
@@ -207,7 +206,7 @@ import { Mailbox } from "@dxos/plugin-inbox/types";
207
206
  import { Markdown as Markdown2 } from "@dxos/plugin-markdown/types";
208
207
  import { createAppend, createChat, createComputeGraph, createConstant, createFunction, createGpt, createQueue, createRandom, createSurface, createTemplate, createText, createTrigger } from "@dxos/react-ui-canvas-compute";
209
208
  import { CanvasBoardType, CanvasGraphModel, pointMultiply, pointsToRect, rectToPoints } from "@dxos/react-ui-canvas-editor";
210
- import { Collection, View as View2 } from "@dxos/schema";
209
+ import { View as View2 } from "@dxos/schema";
211
210
  import { Message, Organization, Person, Project } from "@dxos/types";
212
211
  import { range as range2, trim } from "@dxos/util";
213
212
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-debug/src/components/SpaceGenerator/presets.ts";
@@ -247,9 +246,11 @@ var generator2 = () => ({
247
246
  label: "Investor"
248
247
  }));
249
248
  const tagDxn = Obj.getDXN(tag).toString();
250
- Obj.getMeta(doc).tags = [
251
- tagDxn
252
- ];
249
+ Obj.change(doc, (d) => {
250
+ Obj.getMeta(d).tags = [
251
+ tagDxn
252
+ ];
253
+ });
253
254
  space.db.add(Obj.make(Person.Person, {
254
255
  fullName: "Rich",
255
256
  organization: Ref.make(org)
@@ -344,7 +345,6 @@ var generator2 = () => ({
344
345
  }
345
346
  }));
346
347
  const mailboxView = View2.make({
347
- name: "Mailbox",
348
348
  query: Query.select(Filter2.type(Message.Message, {
349
349
  properties: {
350
350
  labels: Filter2.contains("investor")
@@ -354,43 +354,44 @@ var generator2 = () => ({
354
354
  mailbox.queue.dxn.toString()
355
355
  ]
356
356
  }),
357
- jsonSchema: Type2.toJsonSchema(Message.Message),
358
- presentation: Obj.make(Collection.Collection, {
359
- objects: []
360
- })
357
+ jsonSchema: Type.toJsonSchema(Message.Message)
361
358
  });
362
359
  const contactsView = View2.make({
363
- name: "Contacts",
364
360
  query: contactsQuery,
365
- jsonSchema: Type2.toJsonSchema(Person.Person),
366
- presentation: Obj.make(Collection.Collection, {
367
- objects: []
368
- })
361
+ jsonSchema: Type.toJsonSchema(Person.Person)
369
362
  });
370
363
  const organizationsView = View2.make({
371
- name: "Organizations",
372
364
  query: organizationsQuery,
373
- jsonSchema: Type2.toJsonSchema(Organization.Organization),
374
- presentation: Obj.make(Collection.Collection, {
375
- objects: []
376
- })
365
+ jsonSchema: Type.toJsonSchema(Organization.Organization)
377
366
  });
378
367
  const notesView = View2.make({
379
- name: "Notes",
380
368
  query: notesQuery,
381
- jsonSchema: Type2.toJsonSchema(Markdown2.Document),
382
- presentation: Obj.make(Collection.Collection, {
383
- objects: []
384
- })
369
+ jsonSchema: Type.toJsonSchema(Markdown2.Document)
385
370
  });
386
371
  return space.db.add(Project.make({
387
372
  name: "Investor Research",
388
- collections: [
389
- mailboxView,
390
- contactsView,
391
- organizationsView,
392
- notesView
393
- ].map((view) => Ref.make(view))
373
+ columns: [
374
+ {
375
+ name: "Mailbox",
376
+ view: Ref.make(mailboxView),
377
+ order: []
378
+ },
379
+ {
380
+ name: "Contacts",
381
+ view: Ref.make(contactsView),
382
+ order: []
383
+ },
384
+ {
385
+ name: "Organizations",
386
+ view: Ref.make(organizationsView),
387
+ order: []
388
+ },
389
+ {
390
+ name: "Notes",
391
+ view: Ref.make(notesView),
392
+ order: []
393
+ }
394
+ ]
394
395
  }));
395
396
  });
396
397
  cb?.(objects.flat());
@@ -861,7 +862,7 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
861
862
  const triggerSpec = functionTrigger.spec;
862
863
  invariant(triggerSpec && triggerSpec.kind === triggerKind, "No trigger spec.", {
863
864
  F: __dxlog_file,
864
- L: 662,
865
+ L: 762,
865
866
  S: void 0,
866
867
  A: [
867
868
  "triggerSpec && triggerSpec.kind === triggerKind",
@@ -874,7 +875,7 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
874
875
  const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);
875
876
  invariant(templateComputeNode, "Template compute node was not created.", {
876
877
  F: __dxlog_file,
877
- L: 669,
878
+ L: 769,
878
879
  S: void 0,
879
880
  A: [
880
881
  "templateComputeNode",
@@ -887,7 +888,7 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
887
888
  ' "id": "@{{changeId}}"',
888
889
  "}"
889
890
  ].join("\n");
890
- templateComputeNode.inputSchema = Type2.toJsonSchema(Schema.Struct({
891
+ templateComputeNode.inputSchema = Type.toJsonSchema(Schema.Struct({
891
892
  type: Schema.String,
892
893
  changeId: Schema.String
893
894
  }));
@@ -936,16 +937,18 @@ var setupQueue = (space, canvasModel, args) => {
936
937
  var attachTrigger = (functionTrigger, computeModel) => {
937
938
  invariant(functionTrigger, void 0, {
938
939
  F: __dxlog_file,
939
- L: 708,
940
+ L: 809,
940
941
  S: void 0,
941
942
  A: [
942
943
  "functionTrigger",
943
944
  ""
944
945
  ]
945
946
  });
946
- functionTrigger.function = Ref.make(computeModel.root);
947
947
  const inputNode = computeModel.nodes.find((node) => node.type === NODE_INPUT2);
948
- functionTrigger.inputNodeId = inputNode.id;
948
+ Obj.change(functionTrigger, (t) => {
949
+ t.function = Ref.make(computeModel.root);
950
+ t.inputNodeId = inputNode.id;
951
+ });
949
952
  };
950
953
  var rawPosition = (args) => {
951
954
  return {
@@ -992,157 +995,151 @@ var position = (rect) => {
992
995
  };
993
996
 
994
997
  // src/components/SpaceGenerator/SchemaTable.tsx
995
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
996
998
  import React from "react";
997
999
  import { IconButton } from "@dxos/react-ui";
998
1000
  var SchemaTable = ({ types, objects = {}, label, onClick }) => {
999
- var _effect = _useSignals();
1000
- try {
1001
- return /* @__PURE__ */ React.createElement("div", {
1002
- className: "grid grid-cols-[1fr_80px_40px] gap-1 overflow-none"
1003
- }, /* @__PURE__ */ React.createElement("h2", {
1004
- className: "p-2"
1005
- }, label), types.map((type) => /* @__PURE__ */ React.createElement("div", {
1006
- key: type.typename,
1007
- className: "grid grid-cols-subgrid col-span-3 items-center"
1008
- }, /* @__PURE__ */ React.createElement("div", {
1009
- className: "pli-2 text-sm font-mono text-subdued"
1010
- }, type.typename), /* @__PURE__ */ React.createElement("div", {
1011
- className: "pli-2 text-right font-mono"
1012
- }, objects[type.typename] ?? 0), /* @__PURE__ */ React.createElement(IconButton, {
1013
- variant: "ghost",
1014
- icon: "ph--plus--regular",
1015
- iconOnly: true,
1016
- label: "Create data",
1017
- onClick: () => onClick(type.typename)
1018
- }))));
1019
- } finally {
1020
- _effect.f();
1021
- }
1001
+ return /* @__PURE__ */ React.createElement("div", {
1002
+ className: "grid grid-cols-[1fr_80px_40px] gap-1 overflow-none"
1003
+ }, /* @__PURE__ */ React.createElement("h2", {
1004
+ className: "p-2"
1005
+ }, label), types.map((type) => /* @__PURE__ */ React.createElement("div", {
1006
+ key: type.typename,
1007
+ className: "grid grid-cols-subgrid col-span-3 items-center"
1008
+ }, /* @__PURE__ */ React.createElement("div", {
1009
+ className: "pli-2 text-sm font-mono text-subdued"
1010
+ }, type.typename), /* @__PURE__ */ React.createElement("div", {
1011
+ className: "pli-2 text-right font-mono"
1012
+ }, objects[type.typename] ?? 0), /* @__PURE__ */ React.createElement(IconButton, {
1013
+ variant: "ghost",
1014
+ icon: "ph--plus--regular",
1015
+ iconOnly: true,
1016
+ label: "Create data",
1017
+ onClick: () => onClick(type.typename)
1018
+ }))));
1022
1019
  };
1023
1020
 
1024
1021
  // src/components/SpaceGenerator/SpaceGenerator.tsx
1025
1022
  var SpaceGenerator = ({ space, onCreateObjects }) => {
1026
- var _effect = _useSignals2();
1027
- try {
1028
- const { dispatchPromise: dispatch } = useIntentDispatcher();
1029
- const client = useClient();
1030
- const staticTypes = [
1031
- Markdown3.Document,
1032
- Diagram2.Diagram,
1033
- Sheet2.Sheet,
1034
- ComputeGraph2
1035
- ];
1036
- const recordTypes = [
1037
- Organization2.Organization,
1038
- Person2.Person,
1039
- Task.Task
1040
- ];
1041
- const [count, setCount] = useState(1);
1042
- const [info, setInfo] = useState({});
1043
- const presets = useMemo(() => generator2(), []);
1044
- const typeMap = useMemo(() => {
1045
- client.addTypes([
1046
- ...staticTypes,
1047
- ...recordTypes,
1048
- ...presets.schemas
1049
- ]);
1050
- const recordGenerators = new Map(recordTypes.map((type) => [
1051
- type.typename,
1052
- createGenerator(client, dispatch, type)
1053
- ]));
1054
- return new Map([
1055
- ...staticGenerators,
1056
- ...presets.items,
1057
- ...recordGenerators
1058
- ]);
1059
- }, [
1060
- client,
1061
- recordTypes
1023
+ const { invokePromise } = useOperationInvoker();
1024
+ const client = useClient();
1025
+ const staticTypes = [
1026
+ Markdown3.Document,
1027
+ Diagram2.Diagram,
1028
+ Sheet2.Sheet,
1029
+ ComputeGraph2
1030
+ ];
1031
+ const recordTypes = [
1032
+ Organization2.Organization,
1033
+ Person2.Person,
1034
+ Task.Task
1035
+ ];
1036
+ const [count, setCount] = useState(1);
1037
+ const [info, setInfo] = useState({});
1038
+ const presets = useMemo(() => generator2(), []);
1039
+ useAsyncEffect(async () => {
1040
+ await client.addTypes([
1041
+ ...staticTypes,
1042
+ ...recordTypes,
1043
+ ...presets.schemas
1062
1044
  ]);
1063
- const updateInfo = async () => {
1064
- const echoSchema = await space.db.schemaRegistry.query().run();
1065
- const staticSchema = space.db.graph.schemaRegistry.schemas;
1066
- const { objects } = await space.db.query(Filter3.everything()).run();
1067
- const objectMap = sortKeys(objects.reduce((map, obj) => {
1068
- const type = getTypename(obj);
1069
- if (type) {
1070
- const count2 = map[type] ?? 0;
1071
- map[type] = count2 + 1;
1072
- }
1073
- return map;
1074
- }, {}));
1075
- setInfo({
1076
- schema: {
1077
- static: staticSchema.length,
1078
- mutable: echoSchema.length
1079
- },
1080
- objects: objectMap
1081
- });
1082
- };
1083
- useAsyncEffect(updateInfo, [
1084
- space
1045
+ }, [
1046
+ client
1047
+ ]);
1048
+ const typeMap = useMemo(() => {
1049
+ const recordGenerators = new Map(recordTypes.map((type) => [
1050
+ type.typename,
1051
+ createGenerator(client, invokePromise, type)
1052
+ ]));
1053
+ return new Map([
1054
+ ...staticGenerators,
1055
+ ...presets.items,
1056
+ ...recordGenerators
1085
1057
  ]);
1086
- const handleCreateData = useCallback(async (typename) => {
1087
- const constructor = typeMap.get(typename);
1088
- if (constructor) {
1089
- await constructor(space, count, onCreateObjects);
1090
- await updateInfo();
1058
+ }, [
1059
+ client,
1060
+ recordTypes,
1061
+ invokePromise
1062
+ ]);
1063
+ const updateInfo = async () => {
1064
+ const echoSchema = await space.db.schemaRegistry.query().run();
1065
+ const staticSchema = await space.db.graph.schemaRegistry.query().run();
1066
+ const objects = await space.db.query(Filter3.everything()).run();
1067
+ const objectMap = sortKeys(objects.reduce((map, obj) => {
1068
+ const type = Obj2.getTypename(obj);
1069
+ if (type) {
1070
+ const count2 = map[type] ?? 0;
1071
+ map[type] = count2 + 1;
1091
1072
  }
1092
- }, [
1093
- typeMap,
1094
- count
1095
- ]);
1096
- return /* @__PURE__ */ React2.createElement("div", {
1097
- role: "none",
1098
- className: "flex flex-col grow overflow-hidden"
1099
- }, /* @__PURE__ */ React2.createElement(Toolbar.Root, {
1100
- classNames: "border-be border-subduedSeparator"
1101
- }, /* @__PURE__ */ React2.createElement(IconButton2, {
1102
- icon: "ph--arrow-clockwise--regular",
1103
- iconOnly: true,
1104
- label: "Refresh",
1105
- onClick: updateInfo
1106
- }), /* @__PURE__ */ React2.createElement(Toolbar.Separator, {
1107
- variant: "gap"
1108
- }), /* @__PURE__ */ React2.createElement(Input.Root, null, /* @__PURE__ */ React2.createElement(Input.TextInput, {
1109
- type: "number",
1110
- min: 1,
1111
- max: 100,
1112
- placeholder: "Count",
1113
- classNames: "!w-[4rem] !text-right",
1114
- size: 8,
1115
- value: count,
1116
- onChange: (ev) => setCount(parseInt(ev.target.value))
1117
- }))), /* @__PURE__ */ React2.createElement("div", {
1118
- className: "flex flex-col overflow-y-auto divide-y divide-separator"
1119
- }, /* @__PURE__ */ React2.createElement(SchemaTable, {
1120
- types: staticTypes,
1121
- objects: info.objects,
1122
- label: "Static Types",
1123
- onClick: handleCreateData
1124
- }), /* @__PURE__ */ React2.createElement(SchemaTable, {
1125
- types: recordTypes,
1126
- objects: info.objects,
1127
- label: "Record Types",
1128
- onClick: handleCreateData
1129
- }), /* @__PURE__ */ React2.createElement(SchemaTable, {
1130
- types: presets.types,
1131
- objects: info.objects,
1132
- label: "Presets",
1133
- onClick: handleCreateData
1134
- }), /* @__PURE__ */ React2.createElement("div", null, /* @__PURE__ */ React2.createElement(SyntaxHighlighter, {
1135
- language: "json",
1136
- classNames: "text-xs"
1137
- }, JSON.stringify({
1138
- space,
1139
- ...info
1140
- }, jsonKeyReplacer({
1141
- truncate: true
1142
- }), 2)))));
1143
- } finally {
1144
- _effect.f();
1145
- }
1073
+ return map;
1074
+ }, {}));
1075
+ setInfo({
1076
+ schema: {
1077
+ static: staticSchema.length,
1078
+ mutable: echoSchema.length
1079
+ },
1080
+ objects: objectMap
1081
+ });
1082
+ };
1083
+ useAsyncEffect(updateInfo, [
1084
+ space
1085
+ ]);
1086
+ const handleCreateData = useCallback(async (typename) => {
1087
+ const constructor = typeMap.get(typename);
1088
+ if (constructor) {
1089
+ await constructor(space, count, onCreateObjects);
1090
+ await updateInfo();
1091
+ }
1092
+ }, [
1093
+ typeMap,
1094
+ count
1095
+ ]);
1096
+ return /* @__PURE__ */ React2.createElement("div", {
1097
+ role: "none",
1098
+ className: "flex flex-col grow overflow-hidden"
1099
+ }, /* @__PURE__ */ React2.createElement(Toolbar.Root, {
1100
+ classNames: "border-be border-subduedSeparator"
1101
+ }, /* @__PURE__ */ React2.createElement(IconButton2, {
1102
+ icon: "ph--arrow-clockwise--regular",
1103
+ iconOnly: true,
1104
+ label: "Refresh",
1105
+ onClick: updateInfo
1106
+ }), /* @__PURE__ */ React2.createElement(Toolbar.Separator, {
1107
+ variant: "gap"
1108
+ }), /* @__PURE__ */ React2.createElement(Input.Root, null, /* @__PURE__ */ React2.createElement(Input.TextInput, {
1109
+ type: "number",
1110
+ min: 1,
1111
+ max: 100,
1112
+ placeholder: "Count",
1113
+ classNames: "!w-[4rem] !text-right",
1114
+ size: 8,
1115
+ value: count,
1116
+ onChange: (ev) => setCount(parseInt(ev.target.value))
1117
+ }))), /* @__PURE__ */ React2.createElement("div", {
1118
+ className: "flex flex-col overflow-y-auto divide-y divide-separator"
1119
+ }, /* @__PURE__ */ React2.createElement(SchemaTable, {
1120
+ types: staticTypes,
1121
+ objects: info.objects,
1122
+ label: "Static Types",
1123
+ onClick: handleCreateData
1124
+ }), /* @__PURE__ */ React2.createElement(SchemaTable, {
1125
+ types: recordTypes,
1126
+ objects: info.objects,
1127
+ label: "Record Types",
1128
+ onClick: handleCreateData
1129
+ }), /* @__PURE__ */ React2.createElement(SchemaTable, {
1130
+ types: presets.types,
1131
+ objects: info.objects,
1132
+ label: "Presets",
1133
+ onClick: handleCreateData
1134
+ }), /* @__PURE__ */ React2.createElement("div", null, /* @__PURE__ */ React2.createElement(SyntaxHighlighter, {
1135
+ language: "json",
1136
+ classNames: "text-xs"
1137
+ }, JSON.stringify({
1138
+ space,
1139
+ ...info
1140
+ }, jsonKeyReplacer({
1141
+ truncate: true
1142
+ }), 2)))));
1146
1143
  };
1147
1144
 
1148
1145
  // src/components/SpaceGenerator/index.ts
@@ -1150,4 +1147,4 @@ var SpaceGenerator_default = SpaceGenerator;
1150
1147
  export {
1151
1148
  SpaceGenerator_default as default
1152
1149
  };
1153
- //# sourceMappingURL=SpaceGenerator-46TAISVE.mjs.map
1150
+ //# sourceMappingURL=SpaceGenerator-ZHVZWGM7.mjs.map