@dxos/plugin-debug 0.8.4-main.67995b8 → 0.8.4-main.72ec0f3

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 (93) hide show
  1. package/dist/lib/browser/DebugGraph-EDOH6R2G.mjs +20 -0
  2. package/dist/lib/browser/DebugGraph-EDOH6R2G.mjs.map +7 -0
  3. package/dist/lib/browser/{DevtoolsOverviewContainer-EPD6EWT5.mjs → DevtoolsOverviewContainer-JXVZVPHN.mjs} +2 -2
  4. package/dist/lib/browser/{DevtoolsOverviewContainer-EPD6EWT5.mjs.map → DevtoolsOverviewContainer-JXVZVPHN.mjs.map} +1 -1
  5. package/dist/lib/browser/{SpaceGenerator-6ZOCEREN.mjs → SpaceGenerator-46TAISVE.mjs} +260 -88
  6. package/dist/lib/browser/SpaceGenerator-46TAISVE.mjs.map +7 -0
  7. package/dist/lib/browser/{app-graph-builder-SQXFD2BL.mjs → app-graph-builder-CRH2HJKT.mjs} +77 -86
  8. package/dist/lib/browser/app-graph-builder-CRH2HJKT.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-AJA6RYN3.mjs → chunk-SRV2AIGJ.mjs} +2 -2
  10. package/dist/lib/browser/chunk-SRV2AIGJ.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-WZFZ4ESO.mjs +20 -0
  12. package/dist/lib/browser/chunk-WZFZ4ESO.mjs.map +7 -0
  13. package/dist/lib/browser/index.mjs +13 -13
  14. package/dist/lib/browser/index.mjs.map +3 -3
  15. package/dist/lib/browser/meta.json +1 -1
  16. package/dist/lib/browser/{react-context-NVAGLAJD.mjs → react-context-P2YDWEWI.mjs} +6 -6
  17. package/dist/lib/browser/react-context-P2YDWEWI.mjs.map +7 -0
  18. package/dist/lib/browser/{react-surface-CHHHE5CF.mjs → react-surface-2SNVZDEA.mjs} +104 -98
  19. package/dist/lib/browser/react-surface-2SNVZDEA.mjs.map +7 -0
  20. package/dist/lib/browser/{settings-LSSWLM5I.mjs → settings-SQXR3OAH.mjs} +5 -5
  21. package/dist/lib/browser/{settings-LSSWLM5I.mjs.map → settings-SQXR3OAH.mjs.map} +1 -1
  22. package/dist/types/src/DebugPlugin.d.ts +1 -1
  23. package/dist/types/src/DebugPlugin.d.ts.map +1 -1
  24. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
  25. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  26. package/dist/types/src/capabilities/index.d.ts +5 -5
  27. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  28. package/dist/types/src/capabilities/react-context.d.ts +2 -2
  29. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  30. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  31. package/dist/types/src/capabilities/settings.d.ts +1 -1
  32. package/dist/types/src/components/DebugGraph.d.ts +8 -0
  33. package/dist/types/src/components/DebugGraph.d.ts.map +1 -0
  34. package/dist/types/src/components/DebugObjectPanel.d.ts.map +1 -1
  35. package/dist/types/src/components/DebugSettings.d.ts.map +1 -1
  36. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts +2 -2
  37. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
  38. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.d.ts.map +1 -1
  39. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts +13 -4
  40. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts.map +1 -1
  41. package/dist/types/src/components/SpaceGenerator/draw-util.d.ts.map +1 -1
  42. package/dist/types/src/components/SpaceGenerator/presets.d.ts +6 -3
  43. package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
  44. package/dist/types/src/components/Wireframe.d.ts +1 -1
  45. package/dist/types/src/components/Wireframe.d.ts.map +1 -1
  46. package/dist/types/src/components/index.d.ts +2 -1
  47. package/dist/types/src/components/index.d.ts.map +1 -1
  48. package/dist/types/src/meta.d.ts +0 -1
  49. package/dist/types/src/meta.d.ts.map +1 -1
  50. package/dist/types/src/translations.d.ts +3 -1
  51. package/dist/types/src/translations.d.ts.map +1 -1
  52. package/dist/types/src/types.d.ts +1 -1
  53. package/dist/types/src/types.d.ts.map +1 -1
  54. package/dist/types/tsconfig.tsbuildinfo +1 -1
  55. package/package.json +69 -66
  56. package/src/DebugPlugin.tsx +6 -7
  57. package/src/capabilities/app-graph-builder.ts +68 -94
  58. package/src/capabilities/react-context.tsx +2 -2
  59. package/src/capabilities/react-surface.tsx +77 -56
  60. package/src/components/DebugGraph.tsx +14 -0
  61. package/src/components/DebugObjectPanel.tsx +2 -4
  62. package/src/components/DebugSettings.tsx +102 -73
  63. package/src/components/DebugStatus.tsx +2 -2
  64. package/src/components/DevtoolsOverviewContainer.tsx +1 -1
  65. package/src/components/SpaceGenerator/ObjectGenerator.tsx +21 -27
  66. package/src/components/SpaceGenerator/SchemaTable.tsx +2 -2
  67. package/src/components/SpaceGenerator/SpaceGenerator.stories.tsx +11 -11
  68. package/src/components/SpaceGenerator/SpaceGenerator.tsx +10 -10
  69. package/src/components/SpaceGenerator/draw-util.ts +5 -5
  70. package/src/components/SpaceGenerator/presets.ts +187 -21
  71. package/src/components/Wireframe.tsx +4 -4
  72. package/src/components/index.ts +1 -1
  73. package/src/meta.ts +6 -5
  74. package/src/translations.ts +3 -1
  75. package/src/types.ts +1 -1
  76. package/dist/lib/browser/DebugApp-ZDL4CPY5.mjs +0 -228
  77. package/dist/lib/browser/DebugApp-ZDL4CPY5.mjs.map +0 -7
  78. package/dist/lib/browser/SpaceGenerator-6ZOCEREN.mjs.map +0 -7
  79. package/dist/lib/browser/app-graph-builder-SQXFD2BL.mjs.map +0 -7
  80. package/dist/lib/browser/chunk-5XPIRNQS.mjs +0 -18
  81. package/dist/lib/browser/chunk-5XPIRNQS.mjs.map +0 -7
  82. package/dist/lib/browser/chunk-AJA6RYN3.mjs.map +0 -7
  83. package/dist/lib/browser/react-context-NVAGLAJD.mjs.map +0 -7
  84. package/dist/lib/browser/react-surface-CHHHE5CF.mjs.map +0 -7
  85. package/dist/types/src/components/DebugApp/DebugApp.d.ts +0 -6
  86. package/dist/types/src/components/DebugApp/DebugApp.d.ts.map +0 -1
  87. package/dist/types/src/components/DebugApp/Tree.d.ts +0 -18
  88. package/dist/types/src/components/DebugApp/Tree.d.ts.map +0 -1
  89. package/dist/types/src/components/DebugApp/index.d.ts +0 -3
  90. package/dist/types/src/components/DebugApp/index.d.ts.map +0 -1
  91. package/src/components/DebugApp/DebugApp.tsx +0 -84
  92. package/src/components/DebugApp/Tree.tsx +0 -103
  93. package/src/components/DebugApp/index.ts +0 -7
@@ -0,0 +1,20 @@
1
+ // src/components/DebugGraph.tsx
2
+ import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
3
+ import React from "react";
4
+ import { Tree } from "@dxos/devtools";
5
+ var DebugGraph = ({ graph, root }) => {
6
+ var _effect = _useSignals();
7
+ try {
8
+ return /* @__PURE__ */ React.createElement(Tree, {
9
+ data: graph.toJSON(root)
10
+ });
11
+ } finally {
12
+ _effect.f();
13
+ }
14
+ };
15
+ var DebugGraph_default = DebugGraph;
16
+ export {
17
+ DebugGraph,
18
+ DebugGraph_default as default
19
+ };
20
+ //# sourceMappingURL=DebugGraph-EDOH6R2G.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 { type Graph } from '@dxos/plugin-graph';\n\nexport const DebugGraph: FC<{ graph: Graph; root: string }> = ({ graph, root }) => {\n return <Tree data={graph.toJSON(root)} />;\n};\n\nexport default DebugGraph;\n"],
5
+ "mappings": ";;AAIA,OAAOA,WAAwB;AAE/B,SAASC,YAAY;AAGd,IAAMC,aAAiD,CAAC,EAAEC,OAAOC,KAAI,MAAE;;;AAC5E,WAAO,sBAAA,cAACC,MAAAA;MAAKC,MAAMH,MAAMI,OAAOH,IAAAA;;;;;AAClC;AAEA,IAAA,qBAAeF;",
6
+ "names": ["React", "Tree", "DebugGraph", "graph", "root", "Tree", "data", "toJSON"]
7
+ }
@@ -1,7 +1,7 @@
1
1
  // src/components/DevtoolsOverviewContainer.tsx
2
2
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
3
3
  import React from "react";
4
- import { Surface } from "@dxos/app-framework";
4
+ import { Surface } from "@dxos/app-framework/react";
5
5
  import { StatsPanel, useStats } from "@dxos/devtools";
6
6
  var DevtoolsOverviewContainer = () => {
7
7
  var _effect = _useSignals();
@@ -22,4 +22,4 @@ export {
22
22
  DevtoolsOverviewContainer,
23
23
  DevtoolsOverviewContainer_default as default
24
24
  };
25
- //# sourceMappingURL=DevtoolsOverviewContainer-EPD6EWT5.mjs.map
25
+ //# sourceMappingURL=DevtoolsOverviewContainer-JXVZVPHN.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/DevtoolsOverviewContainer.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Surface } from '@dxos/app-framework';\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"],
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
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;",
6
6
  "names": ["React", "Surface", "StatsPanel", "useStats", "DevtoolsOverviewContainer", "stats", "refreshStats", "useStats", "StatsPanel", "onRefresh", "Surface", "role"]
7
7
  }
@@ -1,52 +1,53 @@
1
1
  // src/components/SpaceGenerator/SpaceGenerator.tsx
2
2
  import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
3
3
  import React2, { useCallback, useMemo, useState } from "react";
4
- import { useIntentDispatcher } from "@dxos/app-framework";
4
+ import { useIntentDispatcher } from "@dxos/app-framework/react";
5
5
  import { ComputeGraph as ComputeGraph2 } from "@dxos/conductor";
6
- import { Filter as Filter2 } from "@dxos/echo";
7
- import { Markdown as Markdown2 } from "@dxos/plugin-markdown/types";
8
- import { SheetType as SheetType2 } from "@dxos/plugin-sheet/types";
9
- import { DiagramType as DiagramType2 } from "@dxos/plugin-sketch/types";
6
+ import { Filter as Filter3 } from "@dxos/echo";
7
+ import { Markdown as Markdown3 } from "@dxos/plugin-markdown/types";
8
+ import { Sheet as Sheet2 } from "@dxos/plugin-sheet/types";
9
+ import { Diagram as Diagram2 } from "@dxos/plugin-sketch/types";
10
10
  import { useClient } from "@dxos/react-client";
11
11
  import { getTypename } from "@dxos/react-client/echo";
12
12
  import { IconButton as IconButton2, Input, Toolbar, useAsyncEffect } from "@dxos/react-ui";
13
13
  import { SyntaxHighlighter } from "@dxos/react-ui-syntax-highlighter";
14
- import { DataType as DataType2 } from "@dxos/schema";
14
+ import { Organization as Organization2, Person as Person2, Task } from "@dxos/types";
15
15
  import { jsonKeyReplacer, sortKeys } from "@dxos/util";
16
16
 
17
17
  // src/components/SpaceGenerator/ObjectGenerator.tsx
18
18
  import { createIntent } from "@dxos/app-framework";
19
19
  import { addressToA1Notation } from "@dxos/compute";
20
20
  import { ComputeGraph, ComputeGraphModel, DEFAULT_OUTPUT, NODE_INPUT, NODE_OUTPUT } from "@dxos/conductor";
21
- import { DXN, Filter, Key, Obj, Ref, Type } from "@dxos/echo";
21
+ import { DXN, Filter, Key, Type } from "@dxos/echo";
22
22
  import { Markdown } from "@dxos/plugin-markdown/types";
23
- import { createSheet } from "@dxos/plugin-sheet/types";
24
- import { SheetType } from "@dxos/plugin-sheet/types";
25
- import { CanvasType, DiagramType } from "@dxos/plugin-sketch/types";
23
+ import { Sheet } from "@dxos/plugin-sheet/types";
24
+ import { Diagram } from "@dxos/plugin-sketch/types";
26
25
  import { SpaceAction } from "@dxos/plugin-space/types";
27
26
  import { faker } from "@dxos/random";
28
- import { DataType } from "@dxos/schema";
27
+ import { View, getTypenameFromQuery } from "@dxos/schema";
29
28
  import { createAsyncGenerator } from "@dxos/schema/testing";
30
29
  import { range } from "@dxos/util";
31
30
  var generator = faker;
32
31
  var findViewByTypename = async (views, typename) => {
33
- return views.find((view) => view.query.typename === typename);
32
+ return views.find((view) => getTypenameFromQuery(view.query.ast) === typename);
34
33
  };
35
34
  var createGenerator = (client, dispatch, schema) => {
36
- return async (space, n, cb) => {
35
+ return async (space, n) => {
37
36
  const typename = schema.typename;
38
- const { objects: views } = await space.db.query(Filter.type(DataType.View)).run();
37
+ const { objects: views } = await space.db.query(Filter.type(View.View)).run();
39
38
  const view = await findViewByTypename(views, typename);
40
39
  const staticSchema = client?.graph.schemaRegistry.schemas.find((schema2) => Type.getTypename(schema2) === typename);
41
40
  if (!view && !staticSchema) {
42
41
  await dispatch(createIntent(SpaceAction.AddSchema, {
43
42
  space,
44
- schema
43
+ schema,
44
+ show: false
45
45
  }));
46
46
  } else if (!view && staticSchema) {
47
47
  await dispatch(createIntent(SpaceAction.UseStaticSchema, {
48
48
  space,
49
- typename
49
+ typename,
50
+ show: false
50
51
  }));
51
52
  }
52
53
  const generate = createAsyncGenerator(generator, schema, {
@@ -60,7 +61,7 @@ var staticGenerators = /* @__PURE__ */ new Map([
60
61
  Markdown.Document.typename,
61
62
  async (space, n, cb) => {
62
63
  const objects = range(n).map(() => {
63
- return space.db.add(Markdown.makeDocument({
64
+ return space.db.add(Markdown.make({
64
65
  name: faker.commerce.productName(),
65
66
  content: faker.lorem.sentences(5)
66
67
  }));
@@ -70,14 +71,11 @@ var staticGenerators = /* @__PURE__ */ new Map([
70
71
  }
71
72
  ],
72
73
  [
73
- DiagramType.typename,
74
+ Diagram.Diagram.typename,
74
75
  async (space, n, cb) => {
75
76
  const objects = range(n).map(() => {
76
- const obj = space.db.add(Obj.make(DiagramType, {
77
- name: faker.commerce.productName(),
78
- canvas: Ref.make(Obj.make(CanvasType, {
79
- content: {}
80
- }))
77
+ const obj = space.db.add(Diagram.make({
78
+ name: faker.commerce.productName()
81
79
  }));
82
80
  return obj;
83
81
  });
@@ -87,7 +85,7 @@ var staticGenerators = /* @__PURE__ */ new Map([
87
85
  ],
88
86
  // TODO(burdon): Create unit tests.
89
87
  [
90
- SheetType.typename,
88
+ Sheet.Sheet.typename,
91
89
  async (space, n, cb) => {
92
90
  const objects = range(n).map(() => {
93
91
  const cells = {};
@@ -123,7 +121,7 @@ var staticGenerators = /* @__PURE__ */ new Map([
123
121
  }
124
122
  }
125
123
  }
126
- return space.db.add(createSheet({
124
+ return space.db.add(Sheet.make({
127
125
  name: faker.commerce.productName(),
128
126
  cells
129
127
  }));
@@ -196,64 +194,209 @@ var staticGenerators = /* @__PURE__ */ new Map([
196
194
  ]
197
195
  ]);
198
196
 
199
- // src/components/SpaceGenerator/SchemaTable.tsx
200
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
201
- import React from "react";
202
- import { IconButton } from "@dxos/react-ui";
203
- var SchemaTable = ({ types, objects = {}, label, onClick }) => {
204
- var _effect = _useSignals();
205
- try {
206
- return /* @__PURE__ */ React.createElement("div", {
207
- className: "grid grid-cols-[1fr_80px_40px] gap-1 overflow-none"
208
- }, /* @__PURE__ */ React.createElement("h2", {
209
- className: "p-2"
210
- }, label), types.map((type) => /* @__PURE__ */ React.createElement("div", {
211
- key: type.typename,
212
- className: "grid grid-cols-subgrid col-span-3 items-center"
213
- }, /* @__PURE__ */ React.createElement("div", {
214
- className: "px-2 text-sm font-mono text-subdued"
215
- }, type.typename), /* @__PURE__ */ React.createElement("div", {
216
- className: "px-2 text-right font-mono"
217
- }, objects[type.typename] ?? 0), /* @__PURE__ */ React.createElement(IconButton, {
218
- variant: "ghost",
219
- icon: "ph--plus--regular",
220
- iconOnly: true,
221
- label: "Create data",
222
- onClick: () => onClick(type.typename)
223
- }))));
224
- } finally {
225
- _effect.f();
226
- }
227
- };
228
-
229
197
  // src/components/SpaceGenerator/presets.ts
230
- import { Schema } from "effect";
198
+ import * as Schema from "effect/Schema";
199
+ import { Agent, EntityExtraction, ResearchBlueprint } from "@dxos/assistant-toolkit";
200
+ import { Prompt } from "@dxos/blueprints";
231
201
  import { NODE_INPUT as NODE_INPUT2 } from "@dxos/conductor";
232
- import { DXN as DXN2, Key as Key2, Obj as Obj2, Ref as Ref2, Type as Type2 } from "@dxos/echo";
233
- import { FunctionTrigger, TriggerKind } from "@dxos/functions";
202
+ import { DXN as DXN2, Filter as Filter2, Key as Key2, Obj, Query, Ref, Tag, Type as Type2 } from "@dxos/echo";
203
+ import { Trigger, serializeFunction } from "@dxos/functions";
234
204
  import { invariant } from "@dxos/invariant";
235
- import { createAppend, createChat, createComputeGraph, createConstant, createFunction, createGpt, createQueue, createSurface, createRandom, createTemplate, createText, createTrigger } from "@dxos/react-ui-canvas-compute";
205
+ import { gmail } from "@dxos/plugin-inbox";
206
+ import { Mailbox } from "@dxos/plugin-inbox/types";
207
+ import { Markdown as Markdown2 } from "@dxos/plugin-markdown/types";
208
+ import { createAppend, createChat, createComputeGraph, createConstant, createFunction, createGpt, createQueue, createRandom, createSurface, createTemplate, createText, createTrigger } from "@dxos/react-ui-canvas-compute";
236
209
  import { CanvasBoardType, CanvasGraphModel, pointMultiply, pointsToRect, rectToPoints } from "@dxos/react-ui-canvas-editor";
237
- import { range as range2 } from "@dxos/util";
210
+ import { Collection, View as View2 } from "@dxos/schema";
211
+ import { Message, Organization, Person, Project } from "@dxos/types";
212
+ import { range as range2, trim } from "@dxos/util";
238
213
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-debug/src/components/SpaceGenerator/presets.ts";
239
- var PresetName = /* @__PURE__ */ function(PresetName2) {
214
+ var PresetName = /* @__PURE__ */ (function(PresetName2) {
215
+ PresetName2["DXOS_TEAM"] = "dxos-team";
216
+ PresetName2["ORG_RESEARCH_PROJECT"] = "org-research-project";
240
217
  PresetName2["GPT_QUEUE"] = "webhook-gpt-queue";
241
218
  PresetName2["CHAT_GPT"] = "chat-gpt-text";
242
219
  PresetName2["OBJECT_CHANGE_QUEUE"] = "objectChange-queue";
243
- PresetName2["FOREX_FUNCTION_CALL"] = "forex-function-call";
244
220
  PresetName2["TIMER_TICK_QUEUE"] = "timerTick-queue";
221
+ PresetName2["FOREX_FUNCTION_CALL"] = "forex-function-call";
245
222
  PresetName2["DISCORD_MESSAGES"] = "discord-messages";
246
223
  return PresetName2;
247
- }({});
224
+ })({});
248
225
  var generator2 = () => ({
249
226
  schemas: [
250
227
  CanvasBoardType,
251
- FunctionTrigger
228
+ Trigger.Trigger
252
229
  ],
253
230
  types: Object.values(PresetName).map((name) => ({
254
231
  typename: name
255
232
  })),
256
233
  items: [
234
+ [
235
+ "dxos-team",
236
+ async (space, n, cb) => {
237
+ const objects = range2(n, () => {
238
+ const org = space.db.add(Obj.make(Organization.Organization, {
239
+ name: "DXOS",
240
+ website: "https://dxos.org"
241
+ }));
242
+ const doc = space.db.add(Markdown2.make({
243
+ name: "DXOS Research",
244
+ content: "DXOS builds Composer, an open-source AI-powered malleable application."
245
+ }));
246
+ const tag = space.db.add(Tag.make({
247
+ label: "Investor"
248
+ }));
249
+ const tagDxn = Obj.getDXN(tag).toString();
250
+ Obj.getMeta(doc).tags = [
251
+ tagDxn
252
+ ];
253
+ space.db.add(Obj.make(Person.Person, {
254
+ fullName: "Rich",
255
+ organization: Ref.make(org)
256
+ }, {
257
+ tags: [
258
+ tagDxn
259
+ ]
260
+ }));
261
+ space.db.add(Obj.make(Person.Person, {
262
+ fullName: "Josiah",
263
+ organization: Ref.make(org)
264
+ }));
265
+ space.db.add(Obj.make(Person.Person, {
266
+ fullName: "Dima",
267
+ organization: Ref.make(org)
268
+ }));
269
+ space.db.add(Obj.make(Person.Person, {
270
+ fullName: "Mykola",
271
+ organization: Ref.make(org)
272
+ }));
273
+ return doc;
274
+ });
275
+ cb?.(objects);
276
+ return objects;
277
+ }
278
+ ],
279
+ [
280
+ "org-research-project",
281
+ async (space, n, cb) => {
282
+ const mailbox = await space.db.query(Filter2.type(Mailbox.Mailbox)).first();
283
+ const tag = await space.db.query(Filter2.type(Tag.Tag, {
284
+ label: "Investor"
285
+ })).first();
286
+ const tagDxn = Obj.getDXN(tag).toString();
287
+ const objects = range2(n, () => {
288
+ const contactsQuery = Query.select(Filter2.type(Person.Person)).select(Filter2.tag(tagDxn));
289
+ const organizationsQuery = Query.select(Filter2.type(Organization.Organization)).select(Filter2.tag(tagDxn));
290
+ const notesQuery = Query.select(Filter2.type(Markdown2.Document)).select(Filter2.tag(tagDxn));
291
+ space.db.add(Trigger.make({
292
+ enabled: true,
293
+ spec: {
294
+ kind: "timer",
295
+ cron: "* * * * *"
296
+ },
297
+ function: Ref.make(serializeFunction(gmail.sync)),
298
+ input: {
299
+ mailboxId: Obj.getDXN(mailbox).toString()
300
+ }
301
+ }));
302
+ space.db.add(Trigger.make({
303
+ enabled: true,
304
+ // TODO(wittjosiah): Queue trigger doesn't support matching query of the column.
305
+ spec: {
306
+ kind: "queue",
307
+ queue: mailbox.queue.dxn.toString()
308
+ },
309
+ function: Ref.make(serializeFunction(EntityExtraction.extract)),
310
+ input: {
311
+ source: "{{event.item}}"
312
+ }
313
+ }));
314
+ const researchPrompt = space.db.add(Prompt.make({
315
+ name: "Research",
316
+ description: "Research organization",
317
+ input: Schema.Struct({
318
+ org: Schema.Any
319
+ }),
320
+ output: Schema.Any,
321
+ // TODO(dmaretskyi): This mocks research (returns pre-baked result), the actual research might take compute minutes.
322
+ // Remove the mock prompt to do the actual research.
323
+ instructions: trim`
324
+ Research the organization provided as input.
325
+ Create a research note for it at the end.
326
+ NOTE: Do mocked reseach (set mockSearch to true).
327
+ `,
328
+ blueprints: [
329
+ Ref.make(ResearchBlueprint)
330
+ ]
331
+ }));
332
+ space.db.add(Trigger.make({
333
+ enabled: true,
334
+ spec: {
335
+ kind: "subscription",
336
+ query: {
337
+ ast: organizationsQuery.ast
338
+ }
339
+ },
340
+ function: Ref.make(serializeFunction(Agent.prompt)),
341
+ input: {
342
+ prompt: Ref.make(researchPrompt),
343
+ input: "{{event.subject}}"
344
+ }
345
+ }));
346
+ const mailboxView = View2.make({
347
+ name: "Mailbox",
348
+ query: Query.select(Filter2.type(Message.Message, {
349
+ properties: {
350
+ labels: Filter2.contains("investor")
351
+ }
352
+ })).options({
353
+ queues: [
354
+ mailbox.queue.dxn.toString()
355
+ ]
356
+ }),
357
+ jsonSchema: Type2.toJsonSchema(Message.Message),
358
+ presentation: Obj.make(Collection.Collection, {
359
+ objects: []
360
+ })
361
+ });
362
+ const contactsView = View2.make({
363
+ name: "Contacts",
364
+ query: contactsQuery,
365
+ jsonSchema: Type2.toJsonSchema(Person.Person),
366
+ presentation: Obj.make(Collection.Collection, {
367
+ objects: []
368
+ })
369
+ });
370
+ const organizationsView = View2.make({
371
+ name: "Organizations",
372
+ query: organizationsQuery,
373
+ jsonSchema: Type2.toJsonSchema(Organization.Organization),
374
+ presentation: Obj.make(Collection.Collection, {
375
+ objects: []
376
+ })
377
+ });
378
+ const notesView = View2.make({
379
+ name: "Notes",
380
+ query: notesQuery,
381
+ jsonSchema: Type2.toJsonSchema(Markdown2.Document),
382
+ presentation: Obj.make(Collection.Collection, {
383
+ objects: []
384
+ })
385
+ });
386
+ return space.db.add(Project.make({
387
+ name: "Investor Research",
388
+ collections: [
389
+ mailboxView,
390
+ contactsView,
391
+ organizationsView,
392
+ notesView
393
+ ].map((view) => Ref.make(view))
394
+ }));
395
+ });
396
+ cb?.(objects.flat());
397
+ return objects.flat();
398
+ }
399
+ ],
257
400
  [
258
401
  "webhook-gpt-queue",
259
402
  async (space, n, cb) => {
@@ -267,7 +410,7 @@ var generator2 = () => ({
267
410
  })));
268
411
  const triggerShape = createTrigger({
269
412
  spaceId: space.id,
270
- triggerKind: TriggerKind.Webhook,
413
+ triggerKind: "webhook",
271
414
  ...position({
272
415
  x: -18,
273
416
  y: -2
@@ -318,8 +461,8 @@ var generator2 = () => ({
318
461
  "objectChange-queue",
319
462
  async (space, n, cb) => {
320
463
  const objects = range2(n, () => {
321
- const { canvasModel, computeModel } = createQueueSinkPreset(space, TriggerKind.Subscription, (triggerSpec) => triggerSpec.filter = {
322
- type: "dxn:type:dxos.org/type/Chess"
464
+ const { canvasModel, computeModel } = createQueueSinkPreset(space, "subscription", (triggerSpec) => triggerSpec.query = {
465
+ ast: Query.select(Filter2.typename("dxos.org/type/Chess")).ast
323
466
  }, "type");
324
467
  return addToSpace("objectChange-queue", space, canvasModel, computeModel);
325
468
  });
@@ -331,7 +474,7 @@ var generator2 = () => ({
331
474
  "timerTick-queue",
332
475
  async (space, n, cb) => {
333
476
  const objects = range2(n, () => {
334
- const { canvasModel, computeModel } = createQueueSinkPreset(space, TriggerKind.Timer, (triggerSpec) => triggerSpec.cron = "*/5 * * * * *", "result");
477
+ const { canvasModel, computeModel } = createQueueSinkPreset(space, "timer", (triggerSpec) => triggerSpec.cron = "*/5 * * * * *", "result");
335
478
  return addToSpace("timerTick-queue", space, canvasModel, computeModel);
336
479
  });
337
480
  cb?.(objects);
@@ -358,7 +501,7 @@ var generator2 = () => ({
358
501
  // canvasModel.builder.call((builder) => {
359
502
  // const triggerShape = createTrigger({
360
503
  // spaceId: space.id,
361
- // triggerKind: TriggerKind.Email,
504
+ // triggerKind: 'email',
362
505
  // ...position({ x: -18, y: -2 }),
363
506
  // });
364
507
  // const trigger = canvasModel.createNode(triggerShape);
@@ -473,7 +616,7 @@ var generator2 = () => ({
473
616
  // );
474
617
  // const triggerShape = createTrigger({
475
618
  // spaceId: space.id,
476
- // triggerKind: TriggerKind.Email,
619
+ // triggerKind: 'email',
477
620
  // ...rawPosition({ centerX: -736, centerY: -384, width: 182, height: 192 }),
478
621
  // });
479
622
  // const trigger = canvasModel.createNode(triggerShape);
@@ -582,7 +725,7 @@ var generator2 = () => ({
582
725
  canvasModel.builder.call((builder) => {
583
726
  const triggerShape = createTrigger({
584
727
  spaceId: space.id,
585
- triggerKind: TriggerKind.Timer,
728
+ triggerKind: "timer",
586
729
  ...position({
587
730
  x: -10,
588
731
  y: -5
@@ -718,7 +861,7 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
718
861
  const triggerSpec = functionTrigger.spec;
719
862
  invariant(triggerSpec && triggerSpec.kind === triggerKind, "No trigger spec.", {
720
863
  F: __dxlog_file,
721
- L: 496,
864
+ L: 662,
722
865
  S: void 0,
723
866
  A: [
724
867
  "triggerSpec && triggerSpec.kind === triggerKind",
@@ -731,7 +874,7 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
731
874
  const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);
732
875
  invariant(templateComputeNode, "Template compute node was not created.", {
733
876
  F: __dxlog_file,
734
- L: 503,
877
+ L: 669,
735
878
  S: void 0,
736
879
  A: [
737
880
  "templateComputeNode",
@@ -755,9 +898,9 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
755
898
  };
756
899
  };
757
900
  var addToSpace = (name, space, canvas, compute) => {
758
- return space.db.add(Obj2.make(CanvasBoardType, {
901
+ return space.db.add(Obj.make(CanvasBoardType, {
759
902
  name,
760
- computeGraph: Ref2.make(compute.root),
903
+ computeGraph: Ref.make(compute.root),
761
904
  layout: canvas.graph
762
905
  }));
763
906
  };
@@ -793,14 +936,14 @@ var setupQueue = (space, canvasModel, args) => {
793
936
  var attachTrigger = (functionTrigger, computeModel) => {
794
937
  invariant(functionTrigger, void 0, {
795
938
  F: __dxlog_file,
796
- L: 542,
939
+ L: 708,
797
940
  S: void 0,
798
941
  A: [
799
942
  "functionTrigger",
800
943
  ""
801
944
  ]
802
945
  });
803
- functionTrigger.function = Ref2.make(computeModel.root);
946
+ functionTrigger.function = Ref.make(computeModel.root);
804
947
  const inputNode = computeModel.nodes.find((node) => node.type === NODE_INPUT2);
805
948
  functionTrigger.inputNodeId = inputNode.id;
806
949
  };
@@ -848,6 +991,36 @@ var position = (rect) => {
848
991
  }
849
992
  };
850
993
 
994
+ // src/components/SpaceGenerator/SchemaTable.tsx
995
+ import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
996
+ import React from "react";
997
+ import { IconButton } from "@dxos/react-ui";
998
+ 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
+ }
1022
+ };
1023
+
851
1024
  // src/components/SpaceGenerator/SpaceGenerator.tsx
852
1025
  var SpaceGenerator = ({ space, onCreateObjects }) => {
853
1026
  var _effect = _useSignals2();
@@ -855,16 +1028,15 @@ var SpaceGenerator = ({ space, onCreateObjects }) => {
855
1028
  const { dispatchPromise: dispatch } = useIntentDispatcher();
856
1029
  const client = useClient();
857
1030
  const staticTypes = [
858
- Markdown2.Document,
859
- DiagramType2,
860
- SheetType2,
1031
+ Markdown3.Document,
1032
+ Diagram2.Diagram,
1033
+ Sheet2.Sheet,
861
1034
  ComputeGraph2
862
1035
  ];
863
1036
  const recordTypes = [
864
- DataType2.Organization,
865
- DataType2.Project,
866
- DataType2.Person,
867
- DataType2.Message
1037
+ Organization2.Organization,
1038
+ Person2.Person,
1039
+ Task.Task
868
1040
  ];
869
1041
  const [count, setCount] = useState(1);
870
1042
  const [info, setInfo] = useState({});
@@ -891,7 +1063,7 @@ var SpaceGenerator = ({ space, onCreateObjects }) => {
891
1063
  const updateInfo = async () => {
892
1064
  const echoSchema = await space.db.schemaRegistry.query().run();
893
1065
  const staticSchema = space.db.graph.schemaRegistry.schemas;
894
- const { objects } = await space.db.query(Filter2.everything()).run();
1066
+ const { objects } = await space.db.query(Filter3.everything()).run();
895
1067
  const objectMap = sortKeys(objects.reduce((map, obj) => {
896
1068
  const type = getTypename(obj);
897
1069
  if (type) {
@@ -960,8 +1132,8 @@ var SpaceGenerator = ({ space, onCreateObjects }) => {
960
1132
  label: "Presets",
961
1133
  onClick: handleCreateData
962
1134
  }), /* @__PURE__ */ React2.createElement("div", null, /* @__PURE__ */ React2.createElement(SyntaxHighlighter, {
963
- classNames: "flex text-xs",
964
- language: "json"
1135
+ language: "json",
1136
+ classNames: "text-xs"
965
1137
  }, JSON.stringify({
966
1138
  space,
967
1139
  ...info
@@ -978,4 +1150,4 @@ var SpaceGenerator_default = SpaceGenerator;
978
1150
  export {
979
1151
  SpaceGenerator_default as default
980
1152
  };
981
- //# sourceMappingURL=SpaceGenerator-6ZOCEREN.mjs.map
1153
+ //# sourceMappingURL=SpaceGenerator-46TAISVE.mjs.map