@dxos/plugin-debug 0.8.4-main.fd6878d → 0.8.4-staging.60fe92afc8

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 (250) hide show
  1. package/LICENSE +102 -5
  2. package/PLUGIN.mdl +373 -0
  3. package/README.md +1 -1
  4. package/dist/lib/neutral/DebugGraph-G4FWS57E.mjs +15 -0
  5. package/dist/lib/neutral/DebugGraph-G4FWS57E.mjs.map +7 -0
  6. package/dist/lib/neutral/DebugObjectPanel-OS65NC4M.mjs +59 -0
  7. package/dist/lib/neutral/DebugObjectPanel-OS65NC4M.mjs.map +7 -0
  8. package/dist/lib/neutral/DebugPlugin.mjs +59 -0
  9. package/dist/lib/neutral/DebugPlugin.mjs.map +7 -0
  10. package/dist/lib/neutral/DebugPlugin.node.mjs +18 -0
  11. package/dist/lib/neutral/DebugPlugin.node.mjs.map +7 -0
  12. package/dist/lib/neutral/DebugPlugin.workerd.mjs +12 -0
  13. package/dist/lib/neutral/DebugPlugin.workerd.mjs.map +7 -0
  14. package/dist/lib/neutral/DebugSettings-RKYNQIKH.mjs +223 -0
  15. package/dist/lib/neutral/DebugSettings-RKYNQIKH.mjs.map +7 -0
  16. package/dist/lib/neutral/DebugSpaceObjectsPanel-BHOCFWDJ.mjs +34 -0
  17. package/dist/lib/neutral/DebugSpaceObjectsPanel-BHOCFWDJ.mjs.map +7 -0
  18. package/dist/lib/neutral/DebugStatus-H2BAHN26.mjs +122 -0
  19. package/dist/lib/neutral/DebugStatus-H2BAHN26.mjs.map +7 -0
  20. package/dist/lib/neutral/DevtoolsOverviewContainer-YX7Z3D2H.mjs +23 -0
  21. package/dist/lib/neutral/DevtoolsOverviewContainer-YX7Z3D2H.mjs.map +7 -0
  22. package/dist/lib/neutral/GithubPanel-QJKDJRVQ.mjs +177 -0
  23. package/dist/lib/neutral/GithubPanel-QJKDJRVQ.mjs.map +7 -0
  24. package/dist/lib/neutral/RegistryPanel-64GIYJHN.mjs +161 -0
  25. package/dist/lib/neutral/RegistryPanel-64GIYJHN.mjs.map +7 -0
  26. package/dist/lib/neutral/SpaceGenerator-Y35G6DRV.mjs +146 -0
  27. package/dist/lib/neutral/SpaceGenerator-Y35G6DRV.mjs.map +7 -0
  28. package/dist/lib/neutral/Wireframe-WD7S2AUU.mjs +52 -0
  29. package/dist/lib/neutral/Wireframe-WD7S2AUU.mjs.map +7 -0
  30. package/dist/lib/neutral/app-graph-builder-4OJQQLSH.mjs +626 -0
  31. package/dist/lib/neutral/app-graph-builder-4OJQQLSH.mjs.map +7 -0
  32. package/dist/lib/neutral/capabilities/index.mjs +15 -0
  33. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  34. package/dist/lib/neutral/chunk-HOV6MV5B.mjs +43 -0
  35. package/dist/lib/neutral/chunk-HOV6MV5B.mjs.map +7 -0
  36. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  37. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  38. package/dist/lib/{browser/chunk-AJA6RYN3.mjs → neutral/chunk-TAST3Y2C.mjs} +32 -9
  39. package/dist/lib/neutral/chunk-TAST3Y2C.mjs.map +7 -0
  40. package/dist/lib/{browser/SpaceGenerator-XJJAOTIT.mjs → neutral/components/index.mjs} +415 -423
  41. package/dist/lib/neutral/components/index.mjs.map +7 -0
  42. package/dist/lib/neutral/containers/index.mjs +25 -0
  43. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  44. package/dist/lib/neutral/index.mjs +18 -0
  45. package/dist/lib/neutral/index.mjs.map +7 -0
  46. package/dist/lib/neutral/meta.json +1 -0
  47. package/dist/lib/neutral/meta.mjs +8 -0
  48. package/dist/lib/neutral/meta.mjs.map +7 -0
  49. package/dist/lib/neutral/plugin.mjs +12 -0
  50. package/dist/lib/neutral/plugin.mjs.map +7 -0
  51. package/dist/lib/neutral/react-context-MUZ3KVLU.mjs +17 -0
  52. package/dist/lib/neutral/react-context-MUZ3KVLU.mjs.map +7 -0
  53. package/dist/lib/neutral/react-surface-YBC4HK7I.mjs +430 -0
  54. package/dist/lib/neutral/react-surface-YBC4HK7I.mjs.map +7 -0
  55. package/dist/lib/neutral/settings-MPM6YUP4.mjs +28 -0
  56. package/dist/lib/neutral/settings-MPM6YUP4.mjs.map +7 -0
  57. package/dist/lib/neutral/translations.mjs +92 -0
  58. package/dist/lib/neutral/translations.mjs.map +7 -0
  59. package/dist/lib/neutral/types/index.mjs +14 -0
  60. package/dist/lib/neutral/types/index.mjs.map +7 -0
  61. package/dist/types/src/DebugPlugin.d.ts +4 -1
  62. package/dist/types/src/DebugPlugin.d.ts.map +1 -1
  63. package/dist/types/src/DebugPlugin.node.d.ts +5 -0
  64. package/dist/types/src/DebugPlugin.node.d.ts.map +1 -0
  65. package/dist/types/src/DebugPlugin.test.d.ts +2 -0
  66. package/dist/types/src/DebugPlugin.test.d.ts.map +1 -0
  67. package/dist/types/src/DebugPlugin.workerd.d.ts +5 -0
  68. package/dist/types/src/DebugPlugin.workerd.d.ts.map +1 -0
  69. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  70. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  71. package/dist/types/src/capabilities/index.d.ts +8 -5
  72. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  73. package/dist/types/src/capabilities/react-context.d.ts +4 -2
  74. package/dist/types/src/capabilities/react-context.d.ts.map +1 -1
  75. package/dist/types/src/capabilities/react-surface.d.ts +7 -2
  76. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  77. package/dist/types/src/capabilities/settings.d.ts +5 -2
  78. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  79. package/dist/types/src/components/DebugSettings/DebugSettings.d.ts +11 -0
  80. package/dist/types/src/components/DebugSettings/DebugSettings.d.ts.map +1 -0
  81. package/dist/types/src/components/DebugSettings/DebugSettings.stories.d.ts +107 -0
  82. package/dist/types/src/components/DebugSettings/DebugSettings.stories.d.ts.map +1 -0
  83. package/dist/types/src/components/DebugSettings/index.d.ts +2 -0
  84. package/dist/types/src/components/DebugSettings/index.d.ts.map +1 -0
  85. package/dist/types/src/components/SchemaTable/SchemaTable.d.ts.map +1 -0
  86. package/dist/types/src/components/SchemaTable/index.d.ts +2 -0
  87. package/dist/types/src/components/SchemaTable/index.d.ts.map +1 -0
  88. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts +4 -5
  89. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
  90. package/dist/types/src/components/SpaceGenerator/draw-util.d.ts.map +1 -1
  91. package/dist/types/src/components/SpaceGenerator/index.d.ts +2 -2
  92. package/dist/types/src/components/SpaceGenerator/index.d.ts.map +1 -1
  93. package/dist/types/src/components/SpaceGenerator/presets.d.ts +4 -4
  94. package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
  95. package/dist/types/src/components/index.d.ts +4 -9
  96. package/dist/types/src/components/index.d.ts.map +1 -1
  97. package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts +8 -0
  98. package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts.map +1 -0
  99. package/dist/types/src/containers/DebugGraph/index.d.ts +2 -0
  100. package/dist/types/src/containers/DebugGraph/index.d.ts.map +1 -0
  101. package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts +6 -0
  102. package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts.map +1 -0
  103. package/dist/types/src/containers/DebugObjectPanel/index.d.ts +2 -0
  104. package/dist/types/src/containers/DebugObjectPanel/index.d.ts.map +1 -0
  105. package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts +5 -0
  106. package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts.map +1 -0
  107. package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts +2 -0
  108. package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts.map +1 -0
  109. package/dist/types/src/containers/DebugStatus/DebugStatus.d.ts.map +1 -0
  110. package/dist/types/src/containers/DebugStatus/index.d.ts +2 -0
  111. package/dist/types/src/containers/DebugStatus/index.d.ts.map +1 -0
  112. package/dist/types/src/{components → containers/DevtoolsOverviewContainer}/DevtoolsOverviewContainer.d.ts +0 -1
  113. package/dist/types/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.d.ts.map +1 -0
  114. package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts +2 -0
  115. package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts.map +1 -0
  116. package/dist/types/src/containers/GithubPanel/GithubComponent.d.ts +15 -0
  117. package/dist/types/src/containers/GithubPanel/GithubComponent.d.ts.map +1 -0
  118. package/dist/types/src/containers/GithubPanel/GithubComponent.stories.d.ts +107 -0
  119. package/dist/types/src/containers/GithubPanel/GithubComponent.stories.d.ts.map +1 -0
  120. package/dist/types/src/containers/GithubPanel/GithubPanel.d.ts +3 -0
  121. package/dist/types/src/containers/GithubPanel/GithubPanel.d.ts.map +1 -0
  122. package/dist/types/src/containers/GithubPanel/index.d.ts +2 -0
  123. package/dist/types/src/containers/GithubPanel/index.d.ts.map +1 -0
  124. package/dist/types/src/containers/RegistryPanel/RegistryPanel.d.ts +3 -0
  125. package/dist/types/src/containers/RegistryPanel/RegistryPanel.d.ts.map +1 -0
  126. package/dist/types/src/containers/RegistryPanel/index.d.ts +2 -0
  127. package/dist/types/src/containers/RegistryPanel/index.d.ts.map +1 -0
  128. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts +11 -0
  129. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts.map +1 -0
  130. package/dist/types/src/containers/SpaceGenerator/index.d.ts +2 -0
  131. package/dist/types/src/containers/SpaceGenerator/index.d.ts.map +1 -0
  132. package/dist/types/src/{components → containers/Wireframe}/Wireframe.d.ts +2 -2
  133. package/dist/types/src/containers/Wireframe/Wireframe.d.ts.map +1 -0
  134. package/dist/types/src/containers/Wireframe/index.d.ts +2 -0
  135. package/dist/types/src/containers/Wireframe/index.d.ts.map +1 -0
  136. package/dist/types/src/containers/index.d.ts +11 -0
  137. package/dist/types/src/containers/index.d.ts.map +1 -0
  138. package/dist/types/src/index.d.ts +1 -1
  139. package/dist/types/src/index.d.ts.map +1 -1
  140. package/dist/types/src/meta.d.ts +2 -3
  141. package/dist/types/src/meta.d.ts.map +1 -1
  142. package/dist/types/src/plugin.d.ts +4 -0
  143. package/dist/types/src/plugin.d.ts.map +1 -0
  144. package/dist/types/src/translations.d.ts +88 -57
  145. package/dist/types/src/translations.d.ts.map +1 -1
  146. package/dist/types/src/types/Settings.d.ts +8 -0
  147. package/dist/types/src/types/Settings.d.ts.map +1 -0
  148. package/dist/types/src/types/index.d.ts +71 -0
  149. package/dist/types/src/types/index.d.ts.map +1 -0
  150. package/dist/types/tsconfig.tsbuildinfo +1 -1
  151. package/package.json +125 -76
  152. package/src/DebugPlugin.node.ts +18 -0
  153. package/src/DebugPlugin.test.ts +29 -0
  154. package/src/DebugPlugin.tsx +37 -38
  155. package/src/DebugPlugin.workerd.ts +12 -0
  156. package/src/capabilities/app-graph-builder.ts +397 -412
  157. package/src/capabilities/index.ts +5 -5
  158. package/src/capabilities/react-context.tsx +16 -7
  159. package/src/capabilities/react-surface.tsx +394 -339
  160. package/src/capabilities/settings.ts +24 -12
  161. package/src/components/DebugSettings/DebugSettings.stories.tsx +36 -0
  162. package/src/components/DebugSettings/DebugSettings.tsx +259 -0
  163. package/src/components/DebugSettings/index.ts +5 -0
  164. package/src/components/SchemaTable/index.ts +5 -0
  165. package/src/components/SpaceGenerator/ObjectGenerator.tsx +41 -47
  166. package/src/components/SpaceGenerator/draw-util.ts +10 -10
  167. package/src/components/SpaceGenerator/index.ts +2 -3
  168. package/src/components/SpaceGenerator/presets.ts +318 -57
  169. package/src/components/index.ts +4 -8
  170. package/src/containers/DebugGraph/DebugGraph.tsx +14 -0
  171. package/src/containers/DebugGraph/index.ts +5 -0
  172. package/src/containers/DebugObjectPanel/DebugObjectPanel.tsx +76 -0
  173. package/src/containers/DebugObjectPanel/index.ts +5 -0
  174. package/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.tsx +47 -0
  175. package/src/containers/DebugSpaceObjectsPanel/index.ts +5 -0
  176. package/src/{components → containers/DebugStatus}/DebugStatus.tsx +44 -21
  177. package/src/containers/DebugStatus/index.ts +5 -0
  178. package/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.tsx +25 -0
  179. package/src/containers/DevtoolsOverviewContainer/index.ts +5 -0
  180. package/src/containers/GithubPanel/GithubComponent.stories.tsx +38 -0
  181. package/src/containers/GithubPanel/GithubComponent.tsx +192 -0
  182. package/src/containers/GithubPanel/GithubPanel.tsx +17 -0
  183. package/src/containers/GithubPanel/index.ts +5 -0
  184. package/src/containers/RegistryPanel/RegistryPanel.tsx +150 -0
  185. package/src/containers/RegistryPanel/index.ts +5 -0
  186. package/src/containers/SpaceGenerator/SpaceGenerator.tsx +127 -0
  187. package/src/containers/SpaceGenerator/index.ts +5 -0
  188. package/src/{components → containers/Wireframe}/Wireframe.tsx +8 -12
  189. package/src/containers/Wireframe/index.ts +5 -0
  190. package/src/containers/index.ts +15 -0
  191. package/src/index.ts +1 -1
  192. package/src/meta.ts +29 -8
  193. package/src/plugin.ts +10 -0
  194. package/src/translations.ts +84 -56
  195. package/src/types/Settings.ts +16 -0
  196. package/src/{types.ts → types/index.ts} +22 -11
  197. package/src/vite-env.d.ts +10 -0
  198. package/dist/lib/browser/DebugApp-F4UFVW4Y.mjs +0 -228
  199. package/dist/lib/browser/DebugApp-F4UFVW4Y.mjs.map +0 -7
  200. package/dist/lib/browser/DevtoolsOverviewContainer-EPD6EWT5.mjs +0 -25
  201. package/dist/lib/browser/DevtoolsOverviewContainer-EPD6EWT5.mjs.map +0 -7
  202. package/dist/lib/browser/SpaceGenerator-XJJAOTIT.mjs.map +0 -7
  203. package/dist/lib/browser/app-graph-builder-PXPZIIGY.mjs +0 -597
  204. package/dist/lib/browser/app-graph-builder-PXPZIIGY.mjs.map +0 -7
  205. package/dist/lib/browser/chunk-5XPIRNQS.mjs +0 -18
  206. package/dist/lib/browser/chunk-5XPIRNQS.mjs.map +0 -7
  207. package/dist/lib/browser/chunk-AJA6RYN3.mjs.map +0 -7
  208. package/dist/lib/browser/index.mjs +0 -130
  209. package/dist/lib/browser/index.mjs.map +0 -7
  210. package/dist/lib/browser/meta.json +0 -1
  211. package/dist/lib/browser/react-context-NVAGLAJD.mjs +0 -16
  212. package/dist/lib/browser/react-context-NVAGLAJD.mjs.map +0 -7
  213. package/dist/lib/browser/react-surface-UNFNQFWK.mjs +0 -768
  214. package/dist/lib/browser/react-surface-UNFNQFWK.mjs.map +0 -7
  215. package/dist/lib/browser/settings-LSSWLM5I.mjs +0 -22
  216. package/dist/lib/browser/settings-LSSWLM5I.mjs.map +0 -7
  217. package/dist/types/src/components/Container.d.ts +0 -5
  218. package/dist/types/src/components/Container.d.ts.map +0 -1
  219. package/dist/types/src/components/DebugApp/DebugApp.d.ts +0 -6
  220. package/dist/types/src/components/DebugApp/DebugApp.d.ts.map +0 -1
  221. package/dist/types/src/components/DebugApp/Tree.d.ts +0 -18
  222. package/dist/types/src/components/DebugApp/Tree.d.ts.map +0 -1
  223. package/dist/types/src/components/DebugApp/index.d.ts +0 -3
  224. package/dist/types/src/components/DebugApp/index.d.ts.map +0 -1
  225. package/dist/types/src/components/DebugObjectPanel.d.ts +0 -7
  226. package/dist/types/src/components/DebugObjectPanel.d.ts.map +0 -1
  227. package/dist/types/src/components/DebugSettings.d.ts +0 -6
  228. package/dist/types/src/components/DebugSettings.d.ts.map +0 -1
  229. package/dist/types/src/components/DebugStatus.d.ts.map +0 -1
  230. package/dist/types/src/components/DevtoolsOverviewContainer.d.ts.map +0 -1
  231. package/dist/types/src/components/SpaceGenerator/SchemaTable.d.ts.map +0 -1
  232. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.d.ts +0 -9
  233. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.d.ts.map +0 -1
  234. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts +0 -6
  235. package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts.map +0 -1
  236. package/dist/types/src/components/Wireframe.d.ts.map +0 -1
  237. package/dist/types/src/types.d.ts +0 -63
  238. package/dist/types/src/types.d.ts.map +0 -1
  239. package/src/components/Container.tsx +0 -15
  240. package/src/components/DebugApp/DebugApp.tsx +0 -85
  241. package/src/components/DebugApp/Tree.tsx +0 -103
  242. package/src/components/DebugApp/index.ts +0 -7
  243. package/src/components/DebugObjectPanel.tsx +0 -35
  244. package/src/components/DebugSettings.tsx +0 -151
  245. package/src/components/DevtoolsOverviewContainer.tsx +0 -20
  246. package/src/components/SpaceGenerator/SpaceGenerator.stories.tsx +0 -52
  247. package/src/components/SpaceGenerator/SpaceGenerator.tsx +0 -122
  248. /package/dist/types/src/components/{SpaceGenerator → SchemaTable}/SchemaTable.d.ts +0 -0
  249. /package/dist/types/src/{components → containers/DebugStatus}/DebugStatus.d.ts +0 -0
  250. /package/src/components/{SpaceGenerator → SchemaTable}/SchemaTable.tsx +0 -0
@@ -1,233 +1,224 @@
1
- // src/components/SpaceGenerator/SpaceGenerator.tsx
2
- import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
3
- import React2, { useCallback, useMemo, useState } from "react";
4
- import { useIntentDispatcher } from "@dxos/app-framework";
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";
10
- import { useClient } from "@dxos/react-client";
11
- import { getTypename } from "@dxos/react-client/echo";
12
- import { IconButton as IconButton2, Input, Toolbar, useAsyncEffect } from "@dxos/react-ui";
13
- import { SyntaxHighlighter } from "@dxos/react-ui-syntax-highlighter";
14
- import { DataType as DataType2 } from "@dxos/schema";
15
- import { jsonKeyReplacer, sortKeys } from "@dxos/util";
1
+ import "../chunk-J5LGTIGS.mjs";
16
2
 
17
- // src/components/SpaceGenerator/ObjectGenerator.tsx
18
- import { createIntent } from "@dxos/app-framework";
19
- import { addressToA1Notation } from "@dxos/compute";
20
- import { ComputeGraph, ComputeGraphModel, DEFAULT_OUTPUT, NODE_INPUT, NODE_OUTPUT } from "@dxos/conductor";
21
- import { DXN, Filter, Key, Obj, Ref, Type } from "@dxos/echo";
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";
26
- import { SpaceAction } from "@dxos/plugin-space/types";
27
- import { faker } from "@dxos/random";
28
- import { DataType } from "@dxos/schema";
29
- import { createAsyncGenerator } from "@dxos/schema/testing";
30
- import { range } from "@dxos/util";
31
- var generator = faker;
32
- var findViewByTypename = async (views, typename) => {
33
- return views.find((view) => view.query.typename === typename);
34
- };
35
- var createGenerator = (client, dispatch, schema) => {
36
- return async (space, n, cb) => {
37
- const typename = schema.typename;
38
- const { objects: views } = await space.db.query(Filter.type(DataType.View)).run();
39
- const view = await findViewByTypename(views, typename);
40
- const staticSchema = client?.graph.schemaRegistry.schemas.find((schema2) => Type.getTypename(schema2) === typename);
41
- if (!view && !staticSchema) {
42
- await dispatch(createIntent(SpaceAction.AddSchema, {
43
- space,
44
- schema
45
- }));
46
- } else if (!view && staticSchema) {
47
- await dispatch(createIntent(SpaceAction.UseStaticSchema, {
48
- space,
49
- typename
50
- }));
51
- }
52
- const generate = createAsyncGenerator(generator, schema, {
53
- db: space.db
54
- });
55
- return generate.createObjects(n);
56
- };
3
+ // src/components/index.ts
4
+ import { lazy } from "react";
5
+
6
+ // src/components/SchemaTable/SchemaTable.tsx
7
+ import React from "react";
8
+ import { IconButton } from "@dxos/react-ui";
9
+ var SchemaTable = ({ types, objects = {}, label, onClick }) => {
10
+ return /* @__PURE__ */ React.createElement("div", {
11
+ className: "grid grid-cols-[1fr_80px_40px] gap-1 overflow-none"
12
+ }, /* @__PURE__ */ React.createElement("h2", {
13
+ className: "p-2"
14
+ }, label), types.map((type) => /* @__PURE__ */ React.createElement("div", {
15
+ key: type.typename,
16
+ className: "grid grid-cols-subgrid col-span-3 items-center"
17
+ }, /* @__PURE__ */ React.createElement("div", {
18
+ className: "px-2 text-sm font-mono text-subdued"
19
+ }, type.typename), /* @__PURE__ */ React.createElement("div", {
20
+ className: "px-2 text-right font-mono"
21
+ }, objects[type.typename] ?? 0), /* @__PURE__ */ React.createElement(IconButton, {
22
+ variant: "ghost",
23
+ icon: "ph--plus--regular",
24
+ iconOnly: true,
25
+ label: "Create data",
26
+ onClick: () => onClick(type.typename)
27
+ }))));
57
28
  };
58
- var staticGenerators = /* @__PURE__ */ new Map([
59
- [
60
- Markdown.Document.typename,
61
- async (space, n, cb) => {
62
- const objects = range(n).map(() => {
63
- return space.db.add(Markdown.makeDocument({
64
- name: faker.commerce.productName(),
65
- content: faker.lorem.sentences(5)
66
- }));
67
- });
68
- cb?.(objects);
69
- return objects;
70
- }
71
- ],
72
- [
73
- DiagramType.typename,
74
- async (space, n, cb) => {
75
- 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
- }))
81
- }));
82
- return obj;
83
- });
84
- cb?.(objects);
85
- return objects;
86
- }
87
- ],
88
- // TODO(burdon): Create unit tests.
89
- [
90
- SheetType.typename,
91
- async (space, n, cb) => {
92
- const objects = range(n).map(() => {
93
- const cells = {};
94
- const year = (/* @__PURE__ */ new Date()).getFullYear();
95
- const cols = 4;
96
- const rows = 16;
97
- for (let col = 1; col <= cols; col++) {
98
- for (let row = 1; row <= rows; row++) {
99
- const cell = addressToA1Notation({
100
- col,
101
- row
102
- });
103
- if (row === 1) {
104
- cells[cell] = {
105
- value: `${year} Q${col}`
106
- };
107
- } else if (row === rows) {
108
- const from = addressToA1Notation({
109
- col,
110
- row: 2
111
- });
112
- const to = addressToA1Notation({
113
- col,
114
- row: rows - 1
115
- });
116
- cells[cell] = {
117
- value: `=SUM(${from}:${to})`
118
- };
119
- } else if (row > 2 && row < rows - 1) {
120
- cells[cell] = {
121
- value: Math.floor(Math.random() * 1e4)
122
- };
123
- }
124
- }
125
- }
126
- return space.db.add(createSheet({
127
- name: faker.commerce.productName(),
128
- cells
129
- }));
130
- });
131
- cb?.(objects);
132
- return objects;
133
- }
134
- ],
135
- [
136
- ComputeGraph.typename,
137
- async (space, n, cb) => {
138
- const objects = range(n, () => {
139
- const model = ComputeGraphModel.create();
140
- model.builder.createNode({
141
- id: "gpt-INPUT",
142
- type: NODE_INPUT
143
- }).createNode({
144
- id: "gpt-GPT",
145
- type: "gpt"
146
- }).createNode({
147
- id: "gpt-QUEUE_ID",
148
- type: "constant",
149
- value: new DXN(DXN.kind.QUEUE, [
150
- "data",
151
- space.id,
152
- Key.ObjectId.random()
153
- ]).toString()
154
- }).createNode({
155
- id: "gpt-APPEND",
156
- type: "append"
157
- }).createNode({
158
- id: "gpt-OUTPUT",
159
- type: NODE_OUTPUT
160
- }).createEdge({
161
- node: "gpt-INPUT",
162
- property: "prompt"
163
- }, {
164
- node: "gpt-GPT",
165
- property: "prompt"
166
- }).createEdge({
167
- node: "gpt-GPT",
168
- property: "text"
169
- }, {
170
- node: "gpt-OUTPUT",
171
- property: "text"
172
- }).createEdge({
173
- node: "gpt-QUEUE_ID",
174
- property: DEFAULT_OUTPUT
175
- }, {
176
- node: "gpt-APPEND",
177
- property: "id"
178
- }).createEdge({
179
- node: "gpt-GPT",
180
- property: "messages"
181
- }, {
182
- node: "gpt-APPEND",
183
- property: "items"
184
- }).createEdge({
185
- node: "gpt-QUEUE_ID",
186
- property: DEFAULT_OUTPUT
187
- }, {
188
- node: "gpt-OUTPUT",
189
- property: "queue"
190
- });
191
- return space.db.add(model.root);
192
- });
193
- cb?.(objects);
194
- return objects;
195
- }
196
- ]
197
- ]);
198
29
 
199
30
  // src/components/SpaceGenerator/presets.ts
200
- import { Schema } from "effect";
201
- import { NODE_INPUT as NODE_INPUT2 } from "@dxos/conductor";
202
- import { DXN as DXN2, Key as Key2, Obj as Obj2, Ref as Ref2, Type as Type2 } from "@dxos/echo";
203
- import { FunctionTrigger, TriggerKind } from "@dxos/functions";
31
+ import * as Schema from "effect/Schema";
32
+ import { AgentPrompt, WebSearchBlueprint } from "@dxos/assistant-toolkit";
33
+ import { Routine, Trigger, Operation } from "@dxos/compute";
34
+ import { NODE_INPUT } from "@dxos/conductor";
35
+ import { Feed, Filter, JsonSchema, Key, Obj, Query, Ref, Scope, Tag } from "@dxos/echo";
204
36
  import { invariant } from "@dxos/invariant";
205
- import { createAppend, createChat, createComputeGraph, createConstant, createFunction, createGpt, createQueue, createRandom, createSurface, createTemplate, createText, createTrigger } from "@dxos/react-ui-canvas-compute";
206
- import { CanvasBoardType, CanvasGraphModel, pointMultiply, pointsToRect, rectToPoints } from "@dxos/react-ui-canvas-editor";
207
- import { range as range2 } from "@dxos/util";
37
+ import { DXN, EID } from "@dxos/keys";
38
+ import { InboxOperation } from "@dxos/plugin-inbox";
39
+ import { Mailbox } from "@dxos/plugin-inbox";
40
+ import { Markdown } from "@dxos/plugin-markdown";
41
+ import { createAppend, createChat, createComputeGraph, createConstant, createFeed, createFunction, createGpt, createRandom, createSurface, createTemplate, createText, createTrigger } from "@dxos/react-ui-canvas-compute";
42
+ import { CanvasBoard, CanvasGraphModel, pointMultiply, pointsToRect, rectToPoints } from "@dxos/react-ui-canvas-editor";
43
+ import { ViewModel } from "@dxos/schema";
44
+ import { Message, Organization, Person, Pipeline } from "@dxos/types";
45
+ import { range, trim } from "@dxos/util";
208
46
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-debug/src/components/SpaceGenerator/presets.ts";
209
- var PresetName = /* @__PURE__ */ function(PresetName2) {
47
+ var PresetName = /* @__PURE__ */ (function(PresetName2) {
48
+ PresetName2["DXOS_TEAM"] = "dxos-team";
49
+ PresetName2["ORG_RESEARCH_PROJECT"] = "org-research-project";
210
50
  PresetName2["GPT_QUEUE"] = "webhook-gpt-queue";
211
51
  PresetName2["CHAT_GPT"] = "chat-gpt-text";
212
52
  PresetName2["OBJECT_CHANGE_QUEUE"] = "objectChange-queue";
213
- PresetName2["FOREX_FUNCTION_CALL"] = "forex-function-call";
214
53
  PresetName2["TIMER_TICK_QUEUE"] = "timerTick-queue";
54
+ PresetName2["FOREX_FUNCTION_CALL"] = "forex-function-call";
215
55
  PresetName2["DISCORD_MESSAGES"] = "discord-messages";
216
56
  return PresetName2;
217
- }({});
218
- var generator2 = () => ({
57
+ })({});
58
+ var generator = () => ({
219
59
  schemas: [
220
- CanvasBoardType,
221
- FunctionTrigger
60
+ CanvasBoard.CanvasBoard,
61
+ Trigger.Trigger
222
62
  ],
223
63
  types: Object.values(PresetName).map((name) => ({
224
64
  typename: name
225
65
  })),
226
66
  items: [
67
+ [
68
+ "dxos-team",
69
+ async (space, n, cb) => {
70
+ const objects = range(n, () => {
71
+ const org = space.db.add(Obj.make(Organization.Organization, {
72
+ name: "DXOS",
73
+ website: "https://dxos.org"
74
+ }));
75
+ const doc = space.db.add(Markdown.make({
76
+ name: "DXOS Research",
77
+ content: "DXOS builds Composer, an open-source AI-powered malleable application."
78
+ }));
79
+ const tag = space.db.add(Tag.make({
80
+ label: "Investor"
81
+ }));
82
+ const tagRef = Ref.make(tag);
83
+ Obj.update(doc, (doc2) => {
84
+ Obj.getMeta(doc2).tags = [
85
+ tagRef
86
+ ];
87
+ });
88
+ space.db.add(Obj.make(Person.Person, {
89
+ [Obj.Meta]: {
90
+ tags: [
91
+ tagRef
92
+ ]
93
+ },
94
+ fullName: "Rich",
95
+ organization: Ref.make(org)
96
+ }));
97
+ space.db.add(Obj.make(Person.Person, {
98
+ fullName: "Josiah",
99
+ organization: Ref.make(org)
100
+ }));
101
+ space.db.add(Obj.make(Person.Person, {
102
+ fullName: "Dima",
103
+ organization: Ref.make(org)
104
+ }));
105
+ space.db.add(Obj.make(Person.Person, {
106
+ fullName: "Mykola",
107
+ organization: Ref.make(org)
108
+ }));
109
+ return doc;
110
+ });
111
+ cb?.(objects);
112
+ return objects;
113
+ }
114
+ ],
115
+ [
116
+ "org-research-project",
117
+ async (space, n, cb) => {
118
+ const mailboxes = await space.db.query(Filter.type(Mailbox.Mailbox)).run();
119
+ const mailbox = mailboxes[0];
120
+ invariant(mailbox, "Mailbox not found", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 101, S: void 0, A: ["mailbox", "'Mailbox not found'"] });
121
+ const mailboxFeed = await mailbox.feed?.tryLoad();
122
+ invariant(mailboxFeed, "Mailbox missing feed reference", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 103, S: void 0, A: ["mailboxFeed", "'Mailbox missing feed reference'"] });
123
+ const queueDxn = Feed.getQueueUri(mailboxFeed);
124
+ invariant(queueDxn, "Mailbox feed missing queue DXN key", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 105, S: void 0, A: ["queueDxn", "'Mailbox feed missing queue DXN key'"] });
125
+ const tag = await space.db.query(Filter.type(Tag.Tag, {
126
+ label: "Investor"
127
+ })).first();
128
+ const tagUri = Obj.getURI(tag);
129
+ const objects = range(n, () => {
130
+ const contactsQuery = Query.select(Filter.type(Person.Person)).select(Filter.tag(tagUri));
131
+ const organizationsQuery = Query.select(Filter.type(Organization.Organization)).select(Filter.tag(tagUri));
132
+ const notesQuery = Query.select(Filter.type(Markdown.Document)).select(Filter.tag(tagUri));
133
+ space.db.add(Trigger.make({
134
+ enabled: true,
135
+ spec: Trigger.specTimer("* * * * *"),
136
+ function: Ref.make(Operation.serialize(InboxOperation.GoogleMailSync)),
137
+ input: {
138
+ mailbox: Ref.make(mailbox)
139
+ }
140
+ }));
141
+ const researchPrompt = space.db.add(Routine.make({
142
+ name: "Research",
143
+ description: "Research organization",
144
+ input: Schema.Struct({
145
+ org: Schema.Any
146
+ }),
147
+ output: Schema.Any,
148
+ // TODO(dmaretskyi): This mocks research (returns pre-baked result), the actual research might take compute minutes.
149
+ // Remove the mock prompt to do the actual research.
150
+ instructions: trim`
151
+ Research the organization provided as input.
152
+ Create a research note for it at the end.
153
+ NOTE: Do mocked reseach (set mockSearch to true).
154
+ `,
155
+ blueprints: [
156
+ Ref.make(WebSearchBlueprint.make())
157
+ ]
158
+ }));
159
+ space.db.add(Trigger.make({
160
+ enabled: true,
161
+ spec: Trigger.specSubscription(organizationsQuery),
162
+ function: Ref.make(Operation.serialize(AgentPrompt)),
163
+ input: {
164
+ prompt: Ref.make(researchPrompt),
165
+ input: "{{event.subject}}"
166
+ }
167
+ }));
168
+ const mailboxView = ViewModel.make({
169
+ query: Query.select(Filter.type(Message.Message, {
170
+ properties: {
171
+ labels: Filter.contains("investor")
172
+ }
173
+ })).from(Scope.feed(Obj.getURI(mailboxFeed))),
174
+ jsonSchema: JsonSchema.toJsonSchema(Message.Message)
175
+ });
176
+ const contactsView = ViewModel.make({
177
+ query: contactsQuery,
178
+ jsonSchema: JsonSchema.toJsonSchema(Person.Person)
179
+ });
180
+ const organizationsView = ViewModel.make({
181
+ query: organizationsQuery,
182
+ jsonSchema: JsonSchema.toJsonSchema(Organization.Organization)
183
+ });
184
+ const notesView = ViewModel.make({
185
+ query: notesQuery,
186
+ jsonSchema: JsonSchema.toJsonSchema(Markdown.Document)
187
+ });
188
+ return space.db.add(Pipeline.make({
189
+ name: "Investor Research",
190
+ columns: [
191
+ {
192
+ name: "Mailbox",
193
+ view: Ref.make(mailboxView),
194
+ order: []
195
+ },
196
+ {
197
+ name: "Contacts",
198
+ view: Ref.make(contactsView),
199
+ order: []
200
+ },
201
+ {
202
+ name: "Organizations",
203
+ view: Ref.make(organizationsView),
204
+ order: []
205
+ },
206
+ {
207
+ name: "Notes",
208
+ view: Ref.make(notesView),
209
+ order: []
210
+ }
211
+ ]
212
+ }));
213
+ });
214
+ cb?.(objects.flat());
215
+ return objects.flat();
216
+ }
217
+ ],
227
218
  [
228
219
  "webhook-gpt-queue",
229
220
  async (space, n, cb) => {
230
- const objects = range2(n, () => {
221
+ const objects = range(n, () => {
231
222
  const canvasModel = CanvasGraphModel.create();
232
223
  let functionTrigger;
233
224
  canvasModel.builder.call((builder) => {
@@ -237,7 +228,7 @@ var generator2 = () => ({
237
228
  })));
238
229
  const triggerShape = createTrigger({
239
230
  spaceId: space.id,
240
- triggerKind: TriggerKind.Webhook,
231
+ triggerKind: "webhook",
241
232
  ...position({
242
233
  x: -18,
243
234
  y: -2
@@ -287,9 +278,9 @@ var generator2 = () => ({
287
278
  [
288
279
  "objectChange-queue",
289
280
  async (space, n, cb) => {
290
- const objects = range2(n, () => {
291
- const { canvasModel, computeModel } = createQueueSinkPreset(space, TriggerKind.Subscription, (triggerSpec) => triggerSpec.filter = {
292
- type: "dxn:type:dxos.org/type/Chess"
281
+ const objects = range(n, () => {
282
+ const { canvasModel, computeModel } = createQueueSinkPreset(space, "subscription", (triggerSpec) => triggerSpec.query = {
283
+ ast: Query.select(Filter.type(DXN.make("org.dxos.type.chess"))).ast
293
284
  }, "type");
294
285
  return addToSpace("objectChange-queue", space, canvasModel, computeModel);
295
286
  });
@@ -300,8 +291,8 @@ var generator2 = () => ({
300
291
  [
301
292
  "timerTick-queue",
302
293
  async (space, n, cb) => {
303
- const objects = range2(n, () => {
304
- const { canvasModel, computeModel } = createQueueSinkPreset(space, TriggerKind.Timer, (triggerSpec) => triggerSpec.cron = "*/5 * * * * *", "result");
294
+ const objects = range(n, () => {
295
+ const { canvasModel, computeModel } = createQueueSinkPreset(space, "timer", (triggerSpec) => triggerSpec.cron = "*/5 * * * * *", "result");
305
296
  return addToSpace("timerTick-queue", space, canvasModel, computeModel);
306
297
  });
307
298
  cb?.(objects);
@@ -328,7 +319,7 @@ var generator2 = () => ({
328
319
  // canvasModel.builder.call((builder) => {
329
320
  // const triggerShape = createTrigger({
330
321
  // spaceId: space.id,
331
- // triggerKind: TriggerKind.Email,
322
+ // triggerKind: 'email',
332
323
  // ...position({ x: -18, y: -2 }),
333
324
  // });
334
325
  // const trigger = canvasModel.createNode(triggerShape);
@@ -355,7 +346,7 @@ var generator2 = () => ({
355
346
  // const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);
356
347
  // invariant(templateComputeNode, 'Template compute node was not created.');
357
348
  // templateComputeNode.value = templateContent.join('\n');
358
- // templateComputeNode.inputSchema = Type.toJsonSchema(EmailTriggerOutput);
349
+ // templateComputeNode.inputSchema = JsonSchema.toJsonSchema(EmailTriggerOutput);
359
350
  // attachTrigger(functionTrigger, computeModel);
360
351
  // return addToSpace(PresetName.EMAIL_TABLE, space, canvasModel, computeModel);
361
352
  // });
@@ -366,7 +357,7 @@ var generator2 = () => ({
366
357
  [
367
358
  "chat-gpt-text",
368
359
  async (space, n, cb) => {
369
- const objects = range2(n, () => {
360
+ const objects = range(n, () => {
370
361
  const canvasModel = CanvasGraphModel.create();
371
362
  canvasModel.builder.call((builder) => {
372
363
  const gpt = canvasModel.createNode(createGpt(position({
@@ -443,7 +434,7 @@ var generator2 = () => ({
443
434
  // );
444
435
  // const triggerShape = createTrigger({
445
436
  // spaceId: space.id,
446
- // triggerKind: TriggerKind.Email,
437
+ // triggerKind: 'email',
447
438
  // ...rawPosition({ centerX: -736, centerY: -384, width: 182, height: 192 }),
448
439
  // });
449
440
  // const trigger = canvasModel.createNode(triggerShape);
@@ -486,7 +477,7 @@ var generator2 = () => ({
486
477
  // invariant(templateComputeNode, 'Template compute node was not created.');
487
478
  // templateComputeNode.value = templateContent.join('\n');
488
479
  // const extendedSchema = Schema.extend(EmailTriggerOutput, Schema.Struct({ text: Schema.String }));
489
- // templateComputeNode.inputSchema = Type.toJsonSchema(extendedSchema);
480
+ // templateComputeNode.inputSchema = JsonSchema.toJsonSchema(extendedSchema);
490
481
  // attachTrigger(functionTrigger, computeModel);
491
482
  // return addToSpace(PresetName.EMAIL_WITH_SUMMARY, space, canvasModel, computeModel);
492
483
  // });
@@ -497,7 +488,7 @@ var generator2 = () => ({
497
488
  [
498
489
  "forex-function-call",
499
490
  async (space, n, cb) => {
500
- const objects = range2(n, () => {
491
+ const objects = range(n, () => {
501
492
  const canvasModel = CanvasGraphModel.create();
502
493
  canvasModel.builder.call((builder) => {
503
494
  const sourceCurrency = canvasModel.createNode(createConstant({
@@ -546,13 +537,13 @@ var generator2 = () => ({
546
537
  [
547
538
  "discord-messages",
548
539
  async (space, n, cb) => {
549
- const objects = range2(n, () => {
540
+ const objects = range(n, () => {
550
541
  const canvasModel = CanvasGraphModel.create();
551
542
  let functionTrigger;
552
543
  canvasModel.builder.call((builder) => {
553
544
  const triggerShape = createTrigger({
554
545
  spaceId: space.id,
555
- triggerKind: TriggerKind.Timer,
546
+ triggerKind: "timer",
556
547
  ...position({
557
548
  x: -10,
558
549
  y: -5
@@ -567,11 +558,10 @@ var generator2 = () => ({
567
558
  })
568
559
  }));
569
560
  const queueId = canvasModel.createNode(createConstant({
570
- value: new DXN2(DXN2.kind.QUEUE, [
571
- "data",
572
- space.id,
573
- Key2.ObjectId.random()
574
- ]).toString(),
561
+ value: EID.make({
562
+ spaceId: space.id,
563
+ entityId: Key.EntityId.random()
564
+ }),
575
565
  ...position({
576
566
  x: -10,
577
567
  y: 5
@@ -585,7 +575,7 @@ var generator2 = () => ({
585
575
  x: 12,
586
576
  y: 0
587
577
  })));
588
- const queue = canvasModel.createNode(createQueue(position({
578
+ const queue = canvasModel.createNode(createFeed(position({
589
579
  x: 0,
590
580
  y: 12
591
581
  })));
@@ -660,7 +650,7 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
660
650
  width: 128,
661
651
  height: 122
662
652
  })));
663
- const random = canvasModel.createNode(createRandom(rawPosition({
653
+ const random2 = canvasModel.createNode(createRandom(rawPosition({
664
654
  centerX: -509,
665
655
  centerY: -30,
666
656
  width: 64,
@@ -680,41 +670,27 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
680
670
  output: triggerOutputName,
681
671
  input: "type"
682
672
  }).createEdge({
683
- source: random.id,
673
+ source: random2.id,
684
674
  target: template.id,
685
675
  input: "changeId"
686
676
  });
687
677
  functionTrigger = triggerShape.functionTrigger.target;
688
678
  const triggerSpec = functionTrigger.spec;
689
- invariant(triggerSpec && triggerSpec.kind === triggerKind, "No trigger spec.", {
690
- F: __dxlog_file,
691
- L: 496,
692
- S: void 0,
693
- A: [
694
- "triggerSpec && triggerSpec.kind === triggerKind",
695
- "'No trigger spec.'"
696
- ]
679
+ invariant(triggerSpec && triggerSpec.kind === triggerKind, "No trigger spec.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 661, S: void 0, A: ["triggerSpec && triggerSpec.kind === triggerKind", "'No trigger spec.'"] });
680
+ Obj.update(functionTrigger, (functionTrigger2) => {
681
+ initSpec(functionTrigger2.spec);
697
682
  });
698
- initSpec(triggerSpec);
699
683
  });
700
684
  const computeModel = createComputeGraph(canvasModel);
701
685
  const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);
702
- invariant(templateComputeNode, "Template compute node was not created.", {
703
- F: __dxlog_file,
704
- L: 503,
705
- S: void 0,
706
- A: [
707
- "templateComputeNode",
708
- "'Template compute node was not created.'"
709
- ]
710
- });
686
+ invariant(templateComputeNode, "Template compute node was not created.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 668, S: void 0, A: ["templateComputeNode", "'Template compute node was not created.'"] });
711
687
  templateComputeNode.value = [
712
688
  "{",
713
689
  ' "@type": "{{type}}",',
714
690
  ' "id": "@{{changeId}}"',
715
691
  "}"
716
692
  ].join("\n");
717
- templateComputeNode.inputSchema = Type2.toJsonSchema(Schema.Struct({
693
+ templateComputeNode.inputSchema = JsonSchema.toJsonSchema(Schema.Struct({
718
694
  type: Schema.String,
719
695
  changeId: Schema.String
720
696
  }));
@@ -725,19 +701,18 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
725
701
  };
726
702
  };
727
703
  var addToSpace = (name, space, canvas, compute) => {
728
- return space.db.add(Obj2.make(CanvasBoardType, {
704
+ return space.db.add(Obj.make(CanvasBoard.CanvasBoard, {
729
705
  name,
730
- computeGraph: Ref2.make(compute.root),
706
+ computeGraph: Ref.make(compute.root),
731
707
  layout: canvas.graph
732
708
  }));
733
709
  };
734
710
  var setupQueue = (space, canvasModel, args) => {
735
711
  const queueId = canvasModel.createNode(createConstant({
736
- value: new DXN2(DXN2.kind.QUEUE, [
737
- "data",
738
- space.id,
739
- Key2.ObjectId.random()
740
- ]).toString(),
712
+ value: EID.make({
713
+ spaceId: space.id,
714
+ entityId: Key.EntityId.random()
715
+ }),
741
716
  ...args?.idPosition ? rawPosition(args.idPosition) : position({
742
717
  x: -18,
743
718
  y: 5,
@@ -745,7 +720,7 @@ var setupQueue = (space, canvasModel, args) => {
745
720
  height: 6
746
721
  })
747
722
  }));
748
- const queue = canvasModel.createNode(createQueue(args?.queuePosition ? rawPosition(args.queuePosition) : position({
723
+ const queue = canvasModel.createNode(createFeed(args?.queuePosition ? rawPosition(args.queuePosition) : position({
749
724
  x: -3,
750
725
  y: 3,
751
726
  width: 14,
@@ -761,18 +736,12 @@ var setupQueue = (space, canvasModel, args) => {
761
736
  };
762
737
  };
763
738
  var attachTrigger = (functionTrigger, computeModel) => {
764
- invariant(functionTrigger, void 0, {
765
- F: __dxlog_file,
766
- L: 542,
767
- S: void 0,
768
- A: [
769
- "functionTrigger",
770
- ""
771
- ]
739
+ invariant(functionTrigger, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 722, S: void 0, A: ["functionTrigger", ""] });
740
+ const inputNode = computeModel.nodes.find((node) => node.type === NODE_INPUT);
741
+ Obj.update(functionTrigger, (functionTrigger2) => {
742
+ functionTrigger2.function = Ref.make(computeModel.root);
743
+ functionTrigger2.inputNodeId = inputNode.id;
772
744
  });
773
- functionTrigger.function = Ref2.make(computeModel.root);
774
- const inputNode = computeModel.nodes.find((node) => node.type === NODE_INPUT2);
775
- functionTrigger.inputNodeId = inputNode.id;
776
745
  };
777
746
  var rawPosition = (args) => {
778
747
  return {
@@ -818,163 +787,186 @@ var position = (rect) => {
818
787
  }
819
788
  };
820
789
 
821
- // src/components/SpaceGenerator/SchemaTable.tsx
822
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
823
- import React from "react";
824
- import { IconButton } from "@dxos/react-ui";
825
- var SchemaTable = ({ types, objects = {}, label, onClick }) => {
826
- var _effect = _useSignals();
827
- try {
828
- return /* @__PURE__ */ React.createElement("div", {
829
- className: "grid grid-cols-[1fr_80px_40px] gap-1 overflow-none"
830
- }, /* @__PURE__ */ React.createElement("h2", {
831
- className: "p-2"
832
- }, label), types.map((type) => /* @__PURE__ */ React.createElement("div", {
833
- key: type.typename,
834
- className: "grid grid-cols-subgrid col-span-3 items-center"
835
- }, /* @__PURE__ */ React.createElement("div", {
836
- className: "px-2 text-sm font-mono text-subdued"
837
- }, type.typename), /* @__PURE__ */ React.createElement("div", {
838
- className: "px-2 text-right font-mono"
839
- }, objects[type.typename] ?? 0), /* @__PURE__ */ React.createElement(IconButton, {
840
- variant: "ghost",
841
- icon: "ph--plus--regular",
842
- iconOnly: true,
843
- label: "Create data",
844
- onClick: () => onClick(type.typename)
845
- }))));
846
- } finally {
847
- _effect.f();
848
- }
790
+ // src/components/SpaceGenerator/ObjectGenerator.tsx
791
+ import { addressToA1Notation } from "@dxos/compute-hyperformula";
792
+ import { ComputeGraph, ComputeGraphModel, DEFAULT_OUTPUT, NODE_INPUT as NODE_INPUT2, NODE_OUTPUT } from "@dxos/conductor";
793
+ import { EID as EID2, Filter as Filter2, Key as Key2, Type, View } from "@dxos/echo";
794
+ import { Markdown as Markdown2 } from "@dxos/plugin-markdown";
795
+ import { Sheet } from "@dxos/plugin-sheet";
796
+ import { Sketch } from "@dxos/plugin-sketch";
797
+ import { SpaceOperation } from "@dxos/plugin-space";
798
+ import { random } from "@dxos/random";
799
+ import { getTypeURIFromQuery } from "@dxos/schema";
800
+ import { createAsyncGenerator } from "@dxos/schema/testing";
801
+ import { range as range2 } from "@dxos/util";
802
+ var generator2 = random;
803
+ var findViewByTypeUri = async (views, typeUri) => {
804
+ return views.find((view) => getTypeURIFromQuery(view.query.ast) === typeUri);
849
805
  };
850
-
851
- // src/components/SpaceGenerator/SpaceGenerator.tsx
852
- var SpaceGenerator = ({ space, onCreateObjects }) => {
853
- var _effect = _useSignals2();
854
- try {
855
- const { dispatchPromise: dispatch } = useIntentDispatcher();
856
- const client = useClient();
857
- const staticTypes = [
858
- Markdown2.Document,
859
- DiagramType2,
860
- SheetType2,
861
- ComputeGraph2
862
- ];
863
- const recordTypes = [
864
- DataType2.Organization,
865
- DataType2.Person,
866
- DataType2.Task
867
- ];
868
- const [count, setCount] = useState(1);
869
- const [info, setInfo] = useState({});
870
- const presets = useMemo(() => generator2(), []);
871
- const typeMap = useMemo(() => {
872
- client.addTypes([
873
- ...staticTypes,
874
- ...recordTypes,
875
- ...presets.schemas
876
- ]);
877
- const recordGenerators = new Map(recordTypes.map((type) => [
878
- type.typename,
879
- createGenerator(client, dispatch, type)
880
- ]));
881
- return new Map([
882
- ...staticGenerators,
883
- ...presets.items,
884
- ...recordGenerators
885
- ]);
886
- }, [
887
- client,
888
- recordTypes
889
- ]);
890
- const updateInfo = async () => {
891
- const echoSchema = await space.db.schemaRegistry.query().run();
892
- const staticSchema = space.db.graph.schemaRegistry.schemas;
893
- const { objects } = await space.db.query(Filter2.everything()).run();
894
- const objectMap = sortKeys(objects.reduce((map, obj) => {
895
- const type = getTypename(obj);
896
- if (type) {
897
- const count2 = map[type] ?? 0;
898
- map[type] = count2 + 1;
899
- }
900
- return map;
901
- }, {}));
902
- setInfo({
903
- schema: {
904
- static: staticSchema.length,
905
- mutable: echoSchema.length
906
- },
907
- objects: objectMap
806
+ var createGenerator = (client, invokePromise, schema) => {
807
+ return async (space, n) => {
808
+ const typename = Type.getTypename(schema);
809
+ const views = await space.db.query(Filter2.type(View.View)).run();
810
+ const view = await findViewByTypeUri(views, Type.getURI(schema));
811
+ const staticSchema = client ? client.graph.registry.list().filter(Type.isType).find((s) => Type.getTypename(s) === typename) : void 0;
812
+ if (!view && !staticSchema) {
813
+ await invokePromise(SpaceOperation.AddType, {
814
+ db: space.db,
815
+ type: schema,
816
+ show: false
908
817
  });
909
- };
910
- useAsyncEffect(updateInfo, [
911
- space
912
- ]);
913
- const handleCreateData = useCallback(async (typename) => {
914
- const constructor = typeMap.get(typename);
915
- if (constructor) {
916
- await constructor(space, count, onCreateObjects);
917
- await updateInfo();
918
- }
919
- }, [
920
- typeMap,
921
- count
922
- ]);
923
- return /* @__PURE__ */ React2.createElement("div", {
924
- role: "none",
925
- className: "flex flex-col grow overflow-hidden"
926
- }, /* @__PURE__ */ React2.createElement(Toolbar.Root, {
927
- classNames: "border-be border-subduedSeparator"
928
- }, /* @__PURE__ */ React2.createElement(IconButton2, {
929
- icon: "ph--arrow-clockwise--regular",
930
- iconOnly: true,
931
- label: "Refresh",
932
- onClick: updateInfo
933
- }), /* @__PURE__ */ React2.createElement(Toolbar.Separator, {
934
- variant: "gap"
935
- }), /* @__PURE__ */ React2.createElement(Input.Root, null, /* @__PURE__ */ React2.createElement(Input.TextInput, {
936
- type: "number",
937
- min: 1,
938
- max: 100,
939
- placeholder: "Count",
940
- classNames: "!w-[4rem] !text-right",
941
- size: 8,
942
- value: count,
943
- onChange: (ev) => setCount(parseInt(ev.target.value))
944
- }))), /* @__PURE__ */ React2.createElement("div", {
945
- className: "flex flex-col overflow-y-auto divide-y divide-separator"
946
- }, /* @__PURE__ */ React2.createElement(SchemaTable, {
947
- types: staticTypes,
948
- objects: info.objects,
949
- label: "Static Types",
950
- onClick: handleCreateData
951
- }), /* @__PURE__ */ React2.createElement(SchemaTable, {
952
- types: recordTypes,
953
- objects: info.objects,
954
- label: "Record Types",
955
- onClick: handleCreateData
956
- }), /* @__PURE__ */ React2.createElement(SchemaTable, {
957
- types: presets.types,
958
- objects: info.objects,
959
- label: "Presets",
960
- onClick: handleCreateData
961
- }), /* @__PURE__ */ React2.createElement("div", null, /* @__PURE__ */ React2.createElement(SyntaxHighlighter, {
962
- classNames: "flex text-xs",
963
- language: "json"
964
- }, JSON.stringify({
965
- space,
966
- ...info
967
- }, jsonKeyReplacer({
968
- truncate: true
969
- }), 2)))));
970
- } finally {
971
- _effect.f();
972
- }
818
+ }
819
+ const generate = createAsyncGenerator(generator2, schema, {
820
+ db: space.db
821
+ });
822
+ return generate.createObjects(n);
823
+ };
973
824
  };
825
+ var staticGenerators = /* @__PURE__ */ new Map([
826
+ [
827
+ Type.getTypename(Markdown2.Document),
828
+ async (space, n, cb) => {
829
+ const objects = range2(n).map(() => {
830
+ return space.db.add(Markdown2.make({
831
+ name: random.commerce.productName(),
832
+ content: random.lorem.sentences(5)
833
+ }));
834
+ });
835
+ cb?.(objects);
836
+ return objects;
837
+ }
838
+ ],
839
+ [
840
+ Type.getTypename(Sketch.Sketch),
841
+ async (space, n, cb) => {
842
+ const objects = range2(n).map(() => {
843
+ const obj = space.db.add(Sketch.make({
844
+ name: random.commerce.productName()
845
+ }));
846
+ return obj;
847
+ });
848
+ cb?.(objects);
849
+ return objects;
850
+ }
851
+ ],
852
+ // TODO(burdon): Create unit tests.
853
+ [
854
+ Type.getTypename(Sheet.Sheet),
855
+ async (space, n, cb) => {
856
+ const objects = range2(n).map(() => {
857
+ const cells = {};
858
+ const year = (/* @__PURE__ */ new Date()).getFullYear();
859
+ const cols = 4;
860
+ const rows = 16;
861
+ for (let col = 1; col <= cols; col++) {
862
+ for (let row = 1; row <= rows; row++) {
863
+ const cell = addressToA1Notation({
864
+ col,
865
+ row
866
+ });
867
+ if (row === 1) {
868
+ cells[cell] = {
869
+ value: `${year} Q${col}`
870
+ };
871
+ } else if (row === rows) {
872
+ const from = addressToA1Notation({
873
+ col,
874
+ row: 2
875
+ });
876
+ const to = addressToA1Notation({
877
+ col,
878
+ row: rows - 1
879
+ });
880
+ cells[cell] = {
881
+ value: `=SUM(${from}:${to})`
882
+ };
883
+ } else if (row > 2 && row < rows - 1) {
884
+ cells[cell] = {
885
+ value: Math.floor(Math.random() * 1e4)
886
+ };
887
+ }
888
+ }
889
+ }
890
+ return space.db.add(Sheet.make({
891
+ name: random.commerce.productName(),
892
+ cells
893
+ }));
894
+ });
895
+ cb?.(objects);
896
+ return objects;
897
+ }
898
+ ],
899
+ [
900
+ Type.getTypename(ComputeGraph),
901
+ async (space, n, cb) => {
902
+ const objects = range2(n, () => {
903
+ const model = ComputeGraphModel.create();
904
+ model.builder.createNode({
905
+ id: "gpt-INPUT",
906
+ type: NODE_INPUT2
907
+ }).createNode({
908
+ id: "gpt-GPT",
909
+ type: "gpt"
910
+ }).createNode({
911
+ id: "gpt-QUEUE_ID",
912
+ type: "constant",
913
+ value: EID2.make({
914
+ spaceId: space.id,
915
+ entityId: Key2.EntityId.random()
916
+ })
917
+ }).createNode({
918
+ id: "gpt-APPEND",
919
+ type: "append"
920
+ }).createNode({
921
+ id: "gpt-OUTPUT",
922
+ type: NODE_OUTPUT
923
+ }).createEdge({
924
+ node: "gpt-INPUT",
925
+ property: "prompt"
926
+ }, {
927
+ node: "gpt-GPT",
928
+ property: "prompt"
929
+ }).createEdge({
930
+ node: "gpt-GPT",
931
+ property: "text"
932
+ }, {
933
+ node: "gpt-OUTPUT",
934
+ property: "text"
935
+ }).createEdge({
936
+ node: "gpt-QUEUE_ID",
937
+ property: DEFAULT_OUTPUT
938
+ }, {
939
+ node: "gpt-APPEND",
940
+ property: "id"
941
+ }).createEdge({
942
+ node: "gpt-GPT",
943
+ property: "messages"
944
+ }, {
945
+ node: "gpt-APPEND",
946
+ property: "items"
947
+ }).createEdge({
948
+ node: "gpt-QUEUE_ID",
949
+ property: DEFAULT_OUTPUT
950
+ }, {
951
+ node: "gpt-OUTPUT",
952
+ property: "queue"
953
+ });
954
+ return space.db.add(model.root);
955
+ });
956
+ cb?.(objects);
957
+ return objects;
958
+ }
959
+ ]
960
+ ]);
974
961
 
975
- // src/components/SpaceGenerator/index.ts
976
- var SpaceGenerator_default = SpaceGenerator;
962
+ // src/components/index.ts
963
+ var DebugSettings = lazy(() => import("../DebugSettings-RKYNQIKH.mjs"));
977
964
  export {
978
- SpaceGenerator_default as default
965
+ DebugSettings,
966
+ PresetName,
967
+ SchemaTable,
968
+ createGenerator,
969
+ generator,
970
+ staticGenerators
979
971
  };
980
- //# sourceMappingURL=SpaceGenerator-XJJAOTIT.mjs.map
972
+ //# sourceMappingURL=index.mjs.map