@dxos/plugin-debug 0.9.1-staging.ee54ba693a → 0.11.0

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 (236) hide show
  1. package/PLUGIN.mdl +12 -325
  2. package/README.md +4 -14
  3. package/dist/lib/DebugPlugin.mjs +29 -0
  4. package/dist/lib/DebugPlugin.mjs.map +1 -0
  5. package/dist/lib/DebugPlugin.node.mjs +10 -0
  6. package/dist/lib/DebugPlugin.node.mjs.map +1 -0
  7. package/dist/lib/DebugPlugin.workerd.mjs +8 -0
  8. package/dist/lib/DebugPlugin.workerd.mjs.map +1 -0
  9. package/dist/lib/capabilities.mjs +11 -0
  10. package/dist/lib/capabilities.mjs.map +1 -0
  11. package/dist/lib/chunk-DebugObjectPanel.mjs +58 -0
  12. package/dist/lib/chunk-DebugObjectPanel.mjs.map +1 -0
  13. package/dist/lib/chunk-DebugSettings.mjs +237 -0
  14. package/dist/lib/chunk-DebugSettings.mjs.map +1 -0
  15. package/dist/lib/chunk-DebugSpaceObjectsPanel.mjs +39 -0
  16. package/dist/lib/chunk-DebugSpaceObjectsPanel.mjs.map +1 -0
  17. package/dist/lib/chunk-DebugStatus.mjs +117 -0
  18. package/dist/lib/chunk-DebugStatus.mjs.map +1 -0
  19. package/dist/lib/chunk-LogStatus.mjs +44 -0
  20. package/dist/lib/chunk-LogStatus.mjs.map +1 -0
  21. package/dist/lib/chunk-SpaceGenerator.mjs +208 -0
  22. package/dist/lib/chunk-SpaceGenerator.mjs.map +1 -0
  23. package/dist/lib/chunk-StatsPanel.mjs +58 -0
  24. package/dist/lib/chunk-StatsPanel.mjs.map +1 -0
  25. package/dist/lib/chunk-Wireframe.mjs +60 -0
  26. package/dist/lib/chunk-Wireframe.mjs.map +1 -0
  27. package/dist/lib/chunk-app-graph-builder.mjs +76 -0
  28. package/dist/lib/chunk-app-graph-builder.mjs.map +1 -0
  29. package/dist/lib/chunk-log-recording.mjs +17 -0
  30. package/dist/lib/chunk-log-recording.mjs.map +1 -0
  31. package/dist/lib/chunk-meta.mjs +36 -0
  32. package/dist/lib/chunk-meta.mjs.map +1 -0
  33. package/dist/lib/chunk-react-surface.mjs +193 -0
  34. package/dist/lib/chunk-react-surface.mjs.map +1 -0
  35. package/dist/lib/chunk-settings.mjs +23 -0
  36. package/dist/lib/chunk-settings.mjs.map +1 -0
  37. package/dist/lib/chunk-stats-panel.mjs +56 -0
  38. package/dist/lib/chunk-stats-panel.mjs.map +1 -0
  39. package/dist/lib/chunk-types.mjs +60 -0
  40. package/dist/lib/chunk-types.mjs.map +1 -0
  41. package/dist/lib/components.mjs +763 -0
  42. package/dist/lib/components.mjs.map +1 -0
  43. package/dist/lib/containers.mjs +14 -0
  44. package/dist/lib/containers.mjs.map +1 -0
  45. package/dist/lib/index.mjs +3 -0
  46. package/dist/lib/meta.mjs +2 -0
  47. package/dist/lib/plugin.mjs +8 -0
  48. package/dist/lib/plugin.mjs.map +1 -0
  49. package/dist/lib/translations.mjs +38 -0
  50. package/dist/lib/translations.mjs.map +1 -0
  51. package/dist/lib/types.mjs +2 -0
  52. package/dist/types/src/DebugPlugin.d.ts.map +1 -1
  53. package/dist/types/src/capabilities/DebugSurfaces.d.ts +25 -0
  54. package/dist/types/src/capabilities/DebugSurfaces.d.ts.map +1 -0
  55. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
  56. package/dist/types/src/capabilities/index.d.ts +4 -1
  57. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  58. package/dist/types/src/capabilities/log-recording.d.ts +10 -0
  59. package/dist/types/src/capabilities/log-recording.d.ts.map +1 -0
  60. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  61. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  62. package/dist/types/src/capabilities/settings.d.ts +1 -1
  63. package/dist/types/src/capabilities/stats-panel.d.ts +16 -0
  64. package/dist/types/src/capabilities/stats-panel.d.ts.map +1 -0
  65. package/dist/types/src/components/SchemaTable/SchemaTable.d.ts +4 -3
  66. package/dist/types/src/components/SchemaTable/SchemaTable.d.ts.map +1 -1
  67. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
  68. package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts +4 -1
  69. package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts.map +1 -1
  70. package/dist/types/src/containers/DebugSettings/DebugSettings.d.ts +4 -1
  71. package/dist/types/src/containers/DebugSettings/DebugSettings.d.ts.map +1 -1
  72. package/dist/types/src/containers/DebugSettings/DebugSettings.stories.d.ts +30 -58
  73. package/dist/types/src/containers/DebugSettings/DebugSettings.stories.d.ts.map +1 -1
  74. package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts +4 -1
  75. package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts.map +1 -1
  76. package/dist/types/src/containers/DebugStatus/DebugStatus.d.ts +4 -1
  77. package/dist/types/src/containers/DebugStatus/DebugStatus.d.ts.map +1 -1
  78. package/dist/types/src/containers/LogStatus/LogStatus.d.ts +6 -0
  79. package/dist/types/src/containers/LogStatus/LogStatus.d.ts.map +1 -0
  80. package/dist/types/src/containers/LogStatus/index.d.ts +2 -0
  81. package/dist/types/src/containers/LogStatus/index.d.ts.map +1 -0
  82. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts +1 -1
  83. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts.map +1 -1
  84. package/dist/types/src/containers/StatsPanel/StatsPanel.d.ts +6 -0
  85. package/dist/types/src/containers/StatsPanel/StatsPanel.d.ts.map +1 -0
  86. package/dist/types/src/containers/StatsPanel/index.d.ts +2 -0
  87. package/dist/types/src/containers/StatsPanel/index.d.ts.map +1 -0
  88. package/dist/types/src/containers/Wireframe/Wireframe.d.ts +4 -1
  89. package/dist/types/src/containers/Wireframe/Wireframe.d.ts.map +1 -1
  90. package/dist/types/src/containers/index.d.ts +4 -6
  91. package/dist/types/src/containers/index.d.ts.map +1 -1
  92. package/dist/types/src/translations.d.ts +26 -57
  93. package/dist/types/src/translations.d.ts.map +1 -1
  94. package/dist/types/src/types/DebugNodes.d.ts +7 -0
  95. package/dist/types/src/types/DebugNodes.d.ts.map +1 -0
  96. package/dist/types/src/types/DebugSurface.d.ts +8 -0
  97. package/dist/types/src/types/DebugSurface.d.ts.map +1 -0
  98. package/dist/types/src/types/debug.d.ts +3 -1
  99. package/dist/types/src/types/debug.d.ts.map +1 -1
  100. package/dist/types/src/types/index.d.ts +2 -2
  101. package/dist/types/src/types/index.d.ts.map +1 -1
  102. package/dist/types/tsconfig.tsbuildinfo +1 -1
  103. package/dx.config.ts +8 -13
  104. package/package.json +61 -63
  105. package/src/DebugPlugin.node.ts +1 -1
  106. package/src/DebugPlugin.tsx +10 -27
  107. package/src/DebugPlugin.workerd.ts +1 -1
  108. package/src/capabilities/DebugSurfaces.tsx +146 -0
  109. package/src/capabilities/app-graph-builder.ts +39 -373
  110. package/src/capabilities/index.ts +3 -2
  111. package/src/capabilities/log-recording.ts +20 -0
  112. package/src/capabilities/react-surface.ts +123 -0
  113. package/src/capabilities/stats-panel.ts +74 -0
  114. package/src/components/SchemaTable/SchemaTable.tsx +6 -5
  115. package/src/components/SpaceGenerator/ObjectGenerator.tsx +9 -3
  116. package/src/components/SpaceGenerator/presets.ts +2 -2
  117. package/src/components/index.ts +1 -1
  118. package/src/containers/DebugObjectPanel/DebugObjectPanel.tsx +20 -20
  119. package/src/containers/DebugSettings/DebugSettings.tsx +4 -3
  120. package/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.tsx +4 -2
  121. package/src/containers/DebugStatus/DebugStatus.tsx +2 -0
  122. package/src/containers/LogStatus/LogStatus.tsx +51 -0
  123. package/src/containers/LogStatus/index.ts +5 -0
  124. package/src/containers/SpaceGenerator/SpaceGenerator.tsx +108 -10
  125. package/src/containers/StatsPanel/StatsPanel.tsx +74 -0
  126. package/src/containers/StatsPanel/index.ts +5 -0
  127. package/src/containers/Wireframe/Wireframe.tsx +2 -0
  128. package/src/containers/index.ts +9 -7
  129. package/src/index.ts +1 -1
  130. package/src/meta.ts +1 -1
  131. package/src/plugin.ts +1 -1
  132. package/src/translations.ts +8 -52
  133. package/src/types/DebugNodes.ts +18 -0
  134. package/src/types/DebugSurface.ts +16 -0
  135. package/src/types/debug.ts +3 -1
  136. package/src/types/index.ts +3 -3
  137. package/dist/lib/neutral/DebugGraph-G4FWS57E.mjs +0 -15
  138. package/dist/lib/neutral/DebugGraph-G4FWS57E.mjs.map +0 -7
  139. package/dist/lib/neutral/DebugObjectPanel-QSGQJ3LM.mjs +0 -61
  140. package/dist/lib/neutral/DebugObjectPanel-QSGQJ3LM.mjs.map +0 -7
  141. package/dist/lib/neutral/DebugPlugin.mjs +0 -59
  142. package/dist/lib/neutral/DebugPlugin.mjs.map +0 -7
  143. package/dist/lib/neutral/DebugPlugin.node.mjs +0 -18
  144. package/dist/lib/neutral/DebugPlugin.node.mjs.map +0 -7
  145. package/dist/lib/neutral/DebugPlugin.workerd.mjs +0 -12
  146. package/dist/lib/neutral/DebugPlugin.workerd.mjs.map +0 -7
  147. package/dist/lib/neutral/DebugSettings-Q3WUL6YQ.mjs +0 -229
  148. package/dist/lib/neutral/DebugSettings-Q3WUL6YQ.mjs.map +0 -7
  149. package/dist/lib/neutral/DebugSpaceObjectsPanel-AXFZWEIM.mjs +0 -36
  150. package/dist/lib/neutral/DebugSpaceObjectsPanel-AXFZWEIM.mjs.map +0 -7
  151. package/dist/lib/neutral/DebugStatus-H2BAHN26.mjs +0 -122
  152. package/dist/lib/neutral/DebugStatus-H2BAHN26.mjs.map +0 -7
  153. package/dist/lib/neutral/DevtoolsOverviewContainer-DWQHTK7D.mjs +0 -24
  154. package/dist/lib/neutral/DevtoolsOverviewContainer-DWQHTK7D.mjs.map +0 -7
  155. package/dist/lib/neutral/GithubPanel-4CSJRVKE.mjs +0 -177
  156. package/dist/lib/neutral/GithubPanel-4CSJRVKE.mjs.map +0 -7
  157. package/dist/lib/neutral/RegistryPanel-64GIYJHN.mjs +0 -161
  158. package/dist/lib/neutral/RegistryPanel-64GIYJHN.mjs.map +0 -7
  159. package/dist/lib/neutral/SpaceGenerator-Y35G6DRV.mjs +0 -146
  160. package/dist/lib/neutral/SpaceGenerator-Y35G6DRV.mjs.map +0 -7
  161. package/dist/lib/neutral/Wireframe-WD7S2AUU.mjs +0 -52
  162. package/dist/lib/neutral/Wireframe-WD7S2AUU.mjs.map +0 -7
  163. package/dist/lib/neutral/app-graph-builder-UKG4WVYK.mjs +0 -619
  164. package/dist/lib/neutral/app-graph-builder-UKG4WVYK.mjs.map +0 -7
  165. package/dist/lib/neutral/capabilities/index.mjs +0 -15
  166. package/dist/lib/neutral/capabilities/index.mjs.map +0 -7
  167. package/dist/lib/neutral/chunk-72QXLYMI.mjs +0 -118
  168. package/dist/lib/neutral/chunk-72QXLYMI.mjs.map +0 -7
  169. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +0 -10
  170. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +0 -7
  171. package/dist/lib/neutral/chunk-R5C4CKOF.mjs +0 -54
  172. package/dist/lib/neutral/chunk-R5C4CKOF.mjs.map +0 -7
  173. package/dist/lib/neutral/components/index.mjs +0 -961
  174. package/dist/lib/neutral/components/index.mjs.map +0 -7
  175. package/dist/lib/neutral/containers/index.mjs +0 -27
  176. package/dist/lib/neutral/containers/index.mjs.map +0 -7
  177. package/dist/lib/neutral/index.mjs +0 -20
  178. package/dist/lib/neutral/index.mjs.map +0 -7
  179. package/dist/lib/neutral/meta.json +0 -1
  180. package/dist/lib/neutral/meta.mjs +0 -8
  181. package/dist/lib/neutral/meta.mjs.map +0 -7
  182. package/dist/lib/neutral/plugin.mjs +0 -12
  183. package/dist/lib/neutral/plugin.mjs.map +0 -7
  184. package/dist/lib/neutral/react-context-UJURDOO6.mjs +0 -17
  185. package/dist/lib/neutral/react-context-UJURDOO6.mjs.map +0 -7
  186. package/dist/lib/neutral/react-surface-URESE7J4.mjs +0 -484
  187. package/dist/lib/neutral/react-surface-URESE7J4.mjs.map +0 -7
  188. package/dist/lib/neutral/settings-5I2674B6.mjs +0 -28
  189. package/dist/lib/neutral/settings-5I2674B6.mjs.map +0 -7
  190. package/dist/lib/neutral/translations.mjs +0 -91
  191. package/dist/lib/neutral/translations.mjs.map +0 -7
  192. package/dist/lib/neutral/types/index.mjs +0 -16
  193. package/dist/lib/neutral/types/index.mjs.map +0 -7
  194. package/dist/types/src/DebugPlugin.test.d.ts +0 -2
  195. package/dist/types/src/DebugPlugin.test.d.ts.map +0 -1
  196. package/dist/types/src/capabilities/react-context.d.ts +0 -5
  197. package/dist/types/src/capabilities/react-context.d.ts.map +0 -1
  198. package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts +0 -8
  199. package/dist/types/src/containers/DebugGraph/DebugGraph.d.ts.map +0 -1
  200. package/dist/types/src/containers/DebugGraph/index.d.ts +0 -2
  201. package/dist/types/src/containers/DebugGraph/index.d.ts.map +0 -1
  202. package/dist/types/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.d.ts +0 -3
  203. package/dist/types/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.d.ts.map +0 -1
  204. package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts +0 -2
  205. package/dist/types/src/containers/DevtoolsOverviewContainer/index.d.ts.map +0 -1
  206. package/dist/types/src/containers/GithubPanel/GithubComponent.d.ts +0 -15
  207. package/dist/types/src/containers/GithubPanel/GithubComponent.d.ts.map +0 -1
  208. package/dist/types/src/containers/GithubPanel/GithubComponent.stories.d.ts +0 -106
  209. package/dist/types/src/containers/GithubPanel/GithubComponent.stories.d.ts.map +0 -1
  210. package/dist/types/src/containers/GithubPanel/GithubPanel.d.ts +0 -3
  211. package/dist/types/src/containers/GithubPanel/GithubPanel.d.ts.map +0 -1
  212. package/dist/types/src/containers/GithubPanel/index.d.ts +0 -2
  213. package/dist/types/src/containers/GithubPanel/index.d.ts.map +0 -1
  214. package/dist/types/src/containers/RegistryPanel/RegistryPanel.d.ts +0 -3
  215. package/dist/types/src/containers/RegistryPanel/RegistryPanel.d.ts.map +0 -1
  216. package/dist/types/src/containers/RegistryPanel/index.d.ts +0 -2
  217. package/dist/types/src/containers/RegistryPanel/index.d.ts.map +0 -1
  218. package/dist/types/src/types/Devtools.d.ts +0 -57
  219. package/dist/types/src/types/Devtools.d.ts.map +0 -1
  220. package/dist/types/src/types/surface.d.ts +0 -4
  221. package/dist/types/src/types/surface.d.ts.map +0 -1
  222. package/src/DebugPlugin.test.ts +0 -29
  223. package/src/capabilities/react-context.tsx +0 -25
  224. package/src/capabilities/react-surface.tsx +0 -504
  225. package/src/containers/DebugGraph/DebugGraph.tsx +0 -14
  226. package/src/containers/DebugGraph/index.ts +0 -5
  227. package/src/containers/DevtoolsOverviewContainer/DevtoolsOverviewContainer.tsx +0 -27
  228. package/src/containers/DevtoolsOverviewContainer/index.ts +0 -5
  229. package/src/containers/GithubPanel/GithubComponent.stories.tsx +0 -38
  230. package/src/containers/GithubPanel/GithubComponent.tsx +0 -192
  231. package/src/containers/GithubPanel/GithubPanel.tsx +0 -17
  232. package/src/containers/GithubPanel/index.ts +0 -5
  233. package/src/containers/RegistryPanel/RegistryPanel.tsx +0 -150
  234. package/src/containers/RegistryPanel/index.ts +0 -5
  235. package/src/types/Devtools.ts +0 -73
  236. package/src/types/surface.ts +0 -10
@@ -0,0 +1,763 @@
1
+ import { range, trim } from "@dxos/util";
2
+ import "react";
3
+ import * as Schema from "effect/Schema";
4
+ import { IconButton } from "@dxos/react-ui";
5
+ import { mx } from "@dxos/ui-theme";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { RunInstructions, WebSearchSkill } from "@dxos/assistant-toolkit";
8
+ import { Instructions, Operation, Trigger } from "@dxos/compute";
9
+ import { ComputeGraph, ComputeGraphModel, DEFAULT_OUTPUT, NODE_INPUT, NODE_OUTPUT } from "@dxos/conductor";
10
+ import { EID, Feed, Filter, JsonSchema, Key, Obj, Query, Ref, Scope, Tag, Type, View } from "@dxos/echo";
11
+ import { invariant } from "@dxos/invariant";
12
+ import { DXN, EID as EID$1 } from "@dxos/keys";
13
+ import { InboxOperation, Mailbox } from "@dxos/plugin-inbox";
14
+ import { Markdown } from "@dxos/plugin-markdown";
15
+ import { createAppend, createChat, createComputeGraph, createConstant, createFeed, createFunction, createGpt, createRandom, createSurface, createTemplate, createText, createTrigger } from "@dxos/react-ui-canvas-compute";
16
+ import { CanvasBoard, CanvasGraphModel, pointMultiply, pointsToRect, rectToPoints } from "@dxos/react-ui-canvas-editor";
17
+ import { ViewModel, getTypeURIFromQuery } from "@dxos/schema";
18
+ import { Message, Organization, Person, Pipeline } from "@dxos/types";
19
+ import { addressToA1Notation } from "@dxos/compute-hyperformula";
20
+ import { Drawing } from "@dxos/plugin-illustrator";
21
+ import { Sheet } from "@dxos/plugin-sheet";
22
+ import { SpaceOperation } from "@dxos/plugin-space";
23
+ import { Tldraw } from "@dxos/plugin-tldraw";
24
+ import { random } from "@dxos/random";
25
+ import { createAsyncGenerator } from "@dxos/schema/testing";
26
+ //#region src/components/SchemaTable/SchemaTable.tsx
27
+ var SchemaTable = ({ classNames, types, objects = {}, label, onClick }) => {
28
+ return /* @__PURE__ */ jsxs("div", {
29
+ className: mx("grid grid-cols-[1fr_80px_40px] gap-1 overflow-none", classNames),
30
+ children: [/* @__PURE__ */ jsx("h2", {
31
+ className: "p-2",
32
+ children: label
33
+ }), types.map((type) => /* @__PURE__ */ jsxs("div", {
34
+ className: "grid grid-cols-subgrid col-span-3 items-center",
35
+ children: [
36
+ /* @__PURE__ */ jsx("div", {
37
+ className: "px-2 text-sm font-mono text-subdued",
38
+ children: type.typename
39
+ }),
40
+ /* @__PURE__ */ jsx("div", {
41
+ className: "px-2 text-right font-mono",
42
+ children: objects[type.typename] ?? 0
43
+ }),
44
+ /* @__PURE__ */ jsx(IconButton, {
45
+ variant: "ghost",
46
+ icon: "ph--plus--regular",
47
+ iconOnly: true,
48
+ label: "Create data",
49
+ onClick: () => onClick(type.typename)
50
+ })
51
+ ]
52
+ }, type.typename))]
53
+ });
54
+ };
55
+ //#endregion
56
+ //#region src/components/SpaceGenerator/presets.ts
57
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-debug/src/components/SpaceGenerator/presets.ts";
58
+ var PresetName = /* @__PURE__ */ function(PresetName) {
59
+ PresetName["DXOS_TEAM"] = "dxos-team";
60
+ PresetName["ORG_RESEARCH_PROJECT"] = "org-research-project";
61
+ PresetName["GPT_QUEUE"] = "webhook-gpt-queue";
62
+ PresetName["CHAT_GPT"] = "chat-gpt-text";
63
+ PresetName["OBJECT_CHANGE_QUEUE"] = "objectChange-queue";
64
+ PresetName["TIMER_TICK_QUEUE"] = "timerTick-queue";
65
+ PresetName["FOREX_FUNCTION_CALL"] = "forex-function-call";
66
+ PresetName["DISCORD_MESSAGES"] = "discord-messages";
67
+ return PresetName;
68
+ }({});
69
+ var generator = () => ({
70
+ schemas: [CanvasBoard.CanvasBoard, Trigger.Trigger],
71
+ types: Object.values(PresetName).map((name) => ({ typename: name })),
72
+ items: [
73
+ ["dxos-team", async (space, n, cb) => {
74
+ const objects = range(n, () => {
75
+ const org = space.db.add(Obj.make(Organization.Organization, {
76
+ name: "DXOS",
77
+ website: "https://dxos.org"
78
+ }));
79
+ const doc = space.db.add(Markdown.make({
80
+ name: "DXOS Research",
81
+ content: "DXOS builds Composer, an open-source AI-powered malleable application."
82
+ }));
83
+ const tag = space.db.add(Tag.make({ label: "Investor" }));
84
+ const tagRef = Ref.make(tag);
85
+ Obj.update(doc, (doc) => {
86
+ Obj.getMeta(doc).tags = [tagRef];
87
+ });
88
+ space.db.add(Obj.make(Person.Person, {
89
+ [Obj.Meta]: { tags: [tagRef] },
90
+ fullName: "Rich",
91
+ organization: Ref.make(org)
92
+ }));
93
+ space.db.add(Obj.make(Person.Person, {
94
+ fullName: "Josiah",
95
+ organization: Ref.make(org)
96
+ }));
97
+ space.db.add(Obj.make(Person.Person, {
98
+ fullName: "Dima",
99
+ organization: Ref.make(org)
100
+ }));
101
+ space.db.add(Obj.make(Person.Person, {
102
+ fullName: "Mykola",
103
+ organization: Ref.make(org)
104
+ }));
105
+ return doc;
106
+ });
107
+ cb?.(objects);
108
+ return objects;
109
+ }],
110
+ ["org-research-project", async (space, n, cb) => {
111
+ const mailbox = (await space.db.query(Filter.type(Mailbox.Mailbox)).run())[0];
112
+ invariant(mailbox, "Mailbox not found", {
113
+ "~LogMeta": "~LogMeta",
114
+ F: __dxlog_file,
115
+ L: 121,
116
+ S: void 0,
117
+ A: ["mailbox", "'Mailbox not found'"]
118
+ });
119
+ const mailboxFeed = await mailbox.feed?.tryLoad();
120
+ invariant(mailboxFeed, "Mailbox missing feed reference", {
121
+ "~LogMeta": "~LogMeta",
122
+ F: __dxlog_file,
123
+ L: 123,
124
+ S: void 0,
125
+ A: ["mailboxFeed", "'Mailbox missing feed reference'"]
126
+ });
127
+ invariant(Feed.getFeedUri(mailboxFeed), "Mailbox feed missing feed URI", {
128
+ "~LogMeta": "~LogMeta",
129
+ F: __dxlog_file,
130
+ L: 125,
131
+ S: void 0,
132
+ A: ["feedUri", "'Mailbox feed missing feed URI'"]
133
+ });
134
+ const tag = await space.db.query(Filter.type(Tag.Tag, { label: "Investor" })).first();
135
+ const tagUri = Obj.getURI(tag);
136
+ const objects = range(n, () => {
137
+ const contactsQuery = Query.select(Filter.type(Person.Person)).select(Filter.tag(tagUri));
138
+ const organizationsQuery = Query.select(Filter.type(Organization.Organization)).select(Filter.tag(tagUri));
139
+ const notesQuery = Query.select(Filter.type(Markdown.Document)).select(Filter.tag(tagUri));
140
+ space.db.add(Trigger.make({
141
+ enabled: true,
142
+ spec: Trigger.specTimer("* * * * *"),
143
+ runnable: Ref.make(Operation.serialize(InboxOperation.GoogleMailSync)),
144
+ input: { mailbox: Ref.make(mailbox) }
145
+ }));
146
+ const researchPrompt = space.db.add(Instructions.make({
147
+ name: "Research",
148
+ description: "Research organization",
149
+ text: trim`
150
+ Research the organization provided as input.
151
+ Create a research note for it at the end.
152
+ NOTE: Do mocked reseach (set mockSearch to true).
153
+ `,
154
+ skills: [Ref.make(WebSearchSkill.make())]
155
+ }));
156
+ space.db.add(Trigger.make({
157
+ enabled: true,
158
+ spec: Trigger.specSubscription(organizationsQuery),
159
+ runnable: Ref.make(Operation.serialize(RunInstructions)),
160
+ input: {
161
+ instructions: Ref.make(researchPrompt),
162
+ input: "{{event.subject}}"
163
+ }
164
+ }));
165
+ const mailboxView = ViewModel.make({
166
+ query: Query.select(Filter.type(Message.Message, { properties: { labels: Filter.contains("investor") } })).from(Scope.feed(Obj.getURI(mailboxFeed))),
167
+ jsonSchema: JsonSchema.toJsonSchema(Message.Message)
168
+ });
169
+ const contactsView = ViewModel.make({
170
+ query: contactsQuery,
171
+ jsonSchema: JsonSchema.toJsonSchema(Person.Person)
172
+ });
173
+ const organizationsView = ViewModel.make({
174
+ query: organizationsQuery,
175
+ jsonSchema: JsonSchema.toJsonSchema(Organization.Organization)
176
+ });
177
+ const notesView = ViewModel.make({
178
+ query: notesQuery,
179
+ jsonSchema: JsonSchema.toJsonSchema(Markdown.Document)
180
+ });
181
+ return space.db.add(Pipeline.make({
182
+ name: "Investor Research",
183
+ columns: [
184
+ {
185
+ name: "Mailbox",
186
+ view: Ref.make(mailboxView),
187
+ order: []
188
+ },
189
+ {
190
+ name: "Contacts",
191
+ view: Ref.make(contactsView),
192
+ order: []
193
+ },
194
+ {
195
+ name: "Organizations",
196
+ view: Ref.make(organizationsView),
197
+ order: []
198
+ },
199
+ {
200
+ name: "Notes",
201
+ view: Ref.make(notesView),
202
+ order: []
203
+ }
204
+ ]
205
+ }));
206
+ });
207
+ cb?.(objects.flat());
208
+ return objects.flat();
209
+ }],
210
+ ["webhook-gpt-queue", async (space, n, cb) => {
211
+ const objects = range(n, () => {
212
+ const canvasModel = CanvasGraphModel.create();
213
+ let functionTrigger;
214
+ canvasModel.builder.call((builder) => {
215
+ const gpt = canvasModel.createNode(createGpt(position({
216
+ x: 0,
217
+ y: -14
218
+ })));
219
+ const triggerShape = createTrigger({
220
+ spaceId: space.id,
221
+ triggerKind: "webhook",
222
+ ...position({
223
+ x: -18,
224
+ y: -2
225
+ })
226
+ });
227
+ const trigger = canvasModel.createNode(triggerShape);
228
+ const text = canvasModel.createNode(createText(position({
229
+ x: 19,
230
+ y: 3,
231
+ width: 10,
232
+ height: 10
233
+ })));
234
+ const { queueId } = setupQueue(space, canvasModel);
235
+ const append = canvasModel.createNode(createAppend(position({
236
+ x: 10,
237
+ y: 6
238
+ })));
239
+ builder.createEdge({
240
+ source: trigger.id,
241
+ target: gpt.id,
242
+ input: "prompt",
243
+ output: "bodyText"
244
+ }).createEdge({
245
+ source: gpt.id,
246
+ target: text.id,
247
+ output: "text"
248
+ }).createEdge({
249
+ source: queueId.id,
250
+ target: append.id,
251
+ input: "id"
252
+ }).createEdge({
253
+ source: gpt.id,
254
+ target: append.id,
255
+ output: "messages",
256
+ input: "items"
257
+ });
258
+ functionTrigger = triggerShape.functionTrigger.target;
259
+ });
260
+ const computeModel = createComputeGraph(canvasModel);
261
+ attachTrigger(functionTrigger, computeModel);
262
+ return addToSpace("webhook-gpt-queue", space, canvasModel, computeModel);
263
+ });
264
+ cb?.(objects);
265
+ return objects;
266
+ }],
267
+ ["objectChange-queue", async (space, n, cb) => {
268
+ const objects = range(n, () => {
269
+ const { canvasModel, computeModel } = createQueueSinkPreset(space, "subscription", (triggerSpec) => triggerSpec.query = { ast: Query.select(Filter.type(DXN.make("org.dxos.type.chess"))).ast }, "type");
270
+ return addToSpace("objectChange-queue", space, canvasModel, computeModel);
271
+ });
272
+ cb?.(objects);
273
+ return objects;
274
+ }],
275
+ ["timerTick-queue", async (space, n, cb) => {
276
+ const objects = range(n, () => {
277
+ const { canvasModel, computeModel } = createQueueSinkPreset(space, "timer", (triggerSpec) => triggerSpec.cron = "*/5 * * * * *", "result");
278
+ return addToSpace("timerTick-queue", space, canvasModel, computeModel);
279
+ });
280
+ cb?.(objects);
281
+ return objects;
282
+ }],
283
+ ["chat-gpt-text", async (space, n, cb) => {
284
+ const objects = range(n, () => {
285
+ const canvasModel = CanvasGraphModel.create();
286
+ canvasModel.builder.call((builder) => {
287
+ const gpt = canvasModel.createNode(createGpt(position({
288
+ x: 0,
289
+ y: -14
290
+ })));
291
+ const chat = canvasModel.createNode(createChat(position({
292
+ x: -18,
293
+ y: -2
294
+ })));
295
+ const text = canvasModel.createNode(createText(position({
296
+ x: 19,
297
+ y: 3,
298
+ width: 10,
299
+ height: 10
300
+ })));
301
+ const { queueId } = setupQueue(space, canvasModel);
302
+ const append = canvasModel.createNode(createAppend(position({
303
+ x: 10,
304
+ y: 6
305
+ })));
306
+ builder.createEdge({
307
+ source: chat.id,
308
+ target: gpt.id,
309
+ input: "prompt"
310
+ }).createEdge({
311
+ source: gpt.id,
312
+ target: text.id,
313
+ output: "text"
314
+ }).createEdge({
315
+ source: queueId.id,
316
+ target: append.id,
317
+ input: "id"
318
+ }).createEdge({
319
+ source: gpt.id,
320
+ target: append.id,
321
+ output: "messages",
322
+ input: "items"
323
+ });
324
+ });
325
+ return addToSpace("chat-gpt-text", space, canvasModel, createComputeGraph(canvasModel));
326
+ });
327
+ cb?.(objects);
328
+ return objects;
329
+ }],
330
+ ["forex-function-call", async (space, n, cb) => {
331
+ const objects = range(n, () => {
332
+ const canvasModel = CanvasGraphModel.create();
333
+ canvasModel.builder.call((builder) => {
334
+ const sourceCurrency = canvasModel.createNode(createConstant({
335
+ value: "USD",
336
+ ...position({
337
+ x: -10,
338
+ y: -5
339
+ })
340
+ }));
341
+ const targetCurrency = canvasModel.createNode(createConstant({
342
+ value: "EUR",
343
+ ...position({
344
+ x: -10,
345
+ y: 5
346
+ })
347
+ }));
348
+ const converter = canvasModel.createNode(createFunction(position({
349
+ x: 0,
350
+ y: 0
351
+ })));
352
+ const view = canvasModel.createNode(createSurface(position({
353
+ x: 12,
354
+ y: 0
355
+ })));
356
+ builder.createEdge({
357
+ source: sourceCurrency.id,
358
+ target: converter.id,
359
+ input: "from"
360
+ }).createEdge({
361
+ source: targetCurrency.id,
362
+ target: converter.id,
363
+ input: "to"
364
+ }).createEdge({
365
+ source: converter.id,
366
+ target: view.id,
367
+ output: "rate"
368
+ });
369
+ });
370
+ return addToSpace("forex-function-call", space, canvasModel, createComputeGraph(canvasModel));
371
+ });
372
+ cb?.(objects);
373
+ return objects;
374
+ }],
375
+ ["discord-messages", async (space, n, cb) => {
376
+ const objects = range(n, () => {
377
+ const canvasModel = CanvasGraphModel.create();
378
+ let functionTrigger;
379
+ canvasModel.builder.call((builder) => {
380
+ const triggerShape = createTrigger({
381
+ spaceId: space.id,
382
+ triggerKind: "timer",
383
+ ...position({
384
+ x: -10,
385
+ y: -5
386
+ })
387
+ });
388
+ const trigger = canvasModel.createNode(triggerShape);
389
+ const channelId = canvasModel.createNode(createConstant({
390
+ value: "1088569858767212554",
391
+ ...position({
392
+ x: -10,
393
+ y: 0
394
+ })
395
+ }));
396
+ const queueId = canvasModel.createNode(createConstant({
397
+ value: EID$1.make({
398
+ spaceId: space.id,
399
+ entityId: Key.EntityId.random()
400
+ }),
401
+ ...position({
402
+ x: -10,
403
+ y: 5
404
+ })
405
+ }));
406
+ const converter = canvasModel.createNode(createFunction(position({
407
+ x: 0,
408
+ y: 0
409
+ })));
410
+ const view = canvasModel.createNode(createText(position({
411
+ x: 12,
412
+ y: 0
413
+ })));
414
+ const queue = canvasModel.createNode(createFeed(position({
415
+ x: 0,
416
+ y: 12
417
+ })));
418
+ builder.createEdge({
419
+ source: trigger.id,
420
+ target: converter.id,
421
+ input: "tick"
422
+ }).createEdge({
423
+ source: channelId.id,
424
+ target: converter.id,
425
+ input: "channelId"
426
+ }).createEdge({
427
+ source: queueId.id,
428
+ target: converter.id,
429
+ input: "queueId"
430
+ }).createEdge({
431
+ source: converter.id,
432
+ target: view.id,
433
+ output: "newMessages"
434
+ }).createEdge({
435
+ source: queueId.id,
436
+ target: queue.id,
437
+ input: "input"
438
+ });
439
+ functionTrigger = triggerShape.functionTrigger.target;
440
+ });
441
+ const computeModel = createComputeGraph(canvasModel);
442
+ attachTrigger(functionTrigger, computeModel);
443
+ return addToSpace("discord-messages", space, canvasModel, computeModel);
444
+ });
445
+ cb?.(objects);
446
+ return objects;
447
+ }]
448
+ ]
449
+ });
450
+ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) => {
451
+ const canvasModel = CanvasGraphModel.create();
452
+ const template = canvasModel.createNode(createTemplate({
453
+ valueType: "object",
454
+ ...rawPosition({
455
+ centerX: -64,
456
+ centerY: -79,
457
+ width: 320,
458
+ height: 320
459
+ })
460
+ }));
461
+ let functionTrigger;
462
+ canvasModel.builder.call((builder) => {
463
+ const triggerShape = createTrigger({
464
+ spaceId: space.id,
465
+ triggerKind,
466
+ ...rawPosition({
467
+ centerX: -578,
468
+ centerY: -187,
469
+ height: 320,
470
+ width: 320
471
+ })
472
+ });
473
+ const trigger = canvasModel.createNode(triggerShape);
474
+ const { queueId } = setupQueue(space, canvasModel, { queuePosition: {
475
+ centerX: -80,
476
+ centerY: 378,
477
+ width: 320,
478
+ height: 448
479
+ } });
480
+ const append = canvasModel.createNode(createAppend(rawPosition({
481
+ centerX: 320,
482
+ centerY: 192,
483
+ width: 128,
484
+ height: 122
485
+ })));
486
+ const random = canvasModel.createNode(createRandom(rawPosition({
487
+ centerX: -509,
488
+ centerY: -30,
489
+ width: 64,
490
+ height: 64
491
+ })));
492
+ builder.createEdge({
493
+ source: queueId.id,
494
+ target: append.id,
495
+ input: "id"
496
+ }).createEdge({
497
+ source: template.id,
498
+ target: append.id,
499
+ input: "items"
500
+ }).createEdge({
501
+ source: trigger.id,
502
+ target: template.id,
503
+ output: triggerOutputName,
504
+ input: "type"
505
+ }).createEdge({
506
+ source: random.id,
507
+ target: template.id,
508
+ input: "changeId"
509
+ });
510
+ functionTrigger = triggerShape.functionTrigger.target;
511
+ const triggerSpec = functionTrigger.spec;
512
+ invariant(triggerSpec && triggerSpec.kind === triggerKind, "No trigger spec.", {
513
+ "~LogMeta": "~LogMeta",
514
+ F: __dxlog_file,
515
+ L: 735,
516
+ S: void 0,
517
+ A: ["triggerSpec && triggerSpec.kind === triggerKind", "'No trigger spec.'"]
518
+ });
519
+ Obj.update(functionTrigger, (functionTrigger) => {
520
+ initSpec(functionTrigger.spec);
521
+ });
522
+ });
523
+ const computeModel = createComputeGraph(canvasModel);
524
+ const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);
525
+ invariant(templateComputeNode, "Template compute node was not created.", {
526
+ "~LogMeta": "~LogMeta",
527
+ F: __dxlog_file,
528
+ L: 744,
529
+ S: void 0,
530
+ A: ["templateComputeNode", "'Template compute node was not created.'"]
531
+ });
532
+ templateComputeNode.value = [
533
+ "{",
534
+ " \"@type\": \"{{type}}\",",
535
+ " \"id\": \"@{{changeId}}\"",
536
+ "}"
537
+ ].join("\n");
538
+ templateComputeNode.inputSchema = JsonSchema.toJsonSchema(Schema.Struct({
539
+ type: Schema.String,
540
+ changeId: Schema.String
541
+ }));
542
+ attachTrigger(functionTrigger, computeModel);
543
+ return {
544
+ canvasModel,
545
+ computeModel
546
+ };
547
+ };
548
+ var addToSpace = (name, space, canvas, compute) => {
549
+ return space.db.add(Obj.make(CanvasBoard.CanvasBoard, {
550
+ name,
551
+ computeGraph: Ref.make(compute.root),
552
+ layout: canvas.graph
553
+ }));
554
+ };
555
+ var setupQueue = (space, canvasModel, args) => {
556
+ const queueId = canvasModel.createNode(createConstant({
557
+ value: EID$1.make({
558
+ spaceId: space.id,
559
+ entityId: Key.EntityId.random()
560
+ }),
561
+ ...args?.idPosition ? rawPosition(args.idPosition) : position({
562
+ x: -18,
563
+ y: 5,
564
+ width: 8,
565
+ height: 6
566
+ })
567
+ }));
568
+ const queue = canvasModel.createNode(createFeed(args?.queuePosition ? rawPosition(args.queuePosition) : position({
569
+ x: -3,
570
+ y: 3,
571
+ width: 14,
572
+ height: 10
573
+ })));
574
+ canvasModel.createEdge({
575
+ source: queueId.id,
576
+ target: queue.id
577
+ });
578
+ return {
579
+ queue,
580
+ queueId
581
+ };
582
+ };
583
+ var attachTrigger = (functionTrigger, computeModel) => {
584
+ invariant(functionTrigger, void 0, {
585
+ "~LogMeta": "~LogMeta",
586
+ F: __dxlog_file,
587
+ L: 786,
588
+ S: void 0,
589
+ A: ["functionTrigger", ""]
590
+ });
591
+ const inputNode = computeModel.nodes.find((node) => node.type === NODE_INPUT);
592
+ Obj.update(functionTrigger, (functionTrigger) => {
593
+ functionTrigger.runnable = Ref.make(computeModel.root);
594
+ functionTrigger.inputNodeId = inputNode.id;
595
+ });
596
+ };
597
+ var rawPosition = (args) => {
598
+ return {
599
+ center: {
600
+ x: args.centerX,
601
+ y: args.centerY
602
+ },
603
+ size: {
604
+ width: args.width,
605
+ height: args.height
606
+ }
607
+ };
608
+ };
609
+ var position = (rect) => {
610
+ const snap = 32;
611
+ const [center, size] = rectToPoints({
612
+ width: 0,
613
+ height: 0,
614
+ ...rect
615
+ });
616
+ const { x, y, width, height } = pointsToRect([pointMultiply(center, snap), pointMultiply(size, snap)]);
617
+ if (width && height) return {
618
+ center: {
619
+ x,
620
+ y
621
+ },
622
+ size: width && height ? {
623
+ width,
624
+ height
625
+ } : void 0
626
+ };
627
+ else return { center: {
628
+ x,
629
+ y
630
+ } };
631
+ };
632
+ //#endregion
633
+ //#region src/components/SpaceGenerator/ObjectGenerator.tsx
634
+ var generator$1 = random;
635
+ var findViewByTypeUri = async (views, typeUri) => {
636
+ return views.find((view) => getTypeURIFromQuery(view.query.ast) === typeUri);
637
+ };
638
+ var createGenerator = (client, invokePromise, schema) => {
639
+ return async (space, n) => {
640
+ const typename = Type.getTypename(schema);
641
+ const view = await findViewByTypeUri(await space.db.query(Filter.type(View.View)).run(), Type.getURI(schema));
642
+ const staticSchema = client ? client.graph.registry.list().filter(Type.isType).find((s) => Type.getTypename(s) === typename) : void 0;
643
+ if (!view && !staticSchema) await invokePromise(SpaceOperation.AddType, {
644
+ db: space.db,
645
+ type: schema,
646
+ show: false
647
+ });
648
+ return createAsyncGenerator(generator$1, schema, { db: space.db }).createObjects(n);
649
+ };
650
+ };
651
+ var staticGenerators = /* @__PURE__ */ new Map([
652
+ [Type.getTypename(Markdown.Document), async (space, n, cb) => {
653
+ const objects = range(n).map(() => {
654
+ return space.db.add(Markdown.make({
655
+ name: random.commerce.productName(),
656
+ content: random.lorem.sentences(5)
657
+ }));
658
+ });
659
+ cb?.(objects);
660
+ return objects;
661
+ }],
662
+ [Type.getTypename(Drawing.Drawing), async (space, n, cb) => {
663
+ const objects = range(n).map(() => {
664
+ return space.db.add(Drawing.make({
665
+ name: random.commerce.productName(),
666
+ canvas: Drawing.makeCanvas({ schema: Tldraw.TLDRAW_SCHEMA })
667
+ }));
668
+ });
669
+ cb?.(objects);
670
+ return objects;
671
+ }],
672
+ [Type.getTypename(Sheet.Sheet), async (space, n, cb) => {
673
+ const objects = range(n).map(() => {
674
+ const cells = {};
675
+ const year = (/* @__PURE__ */ new Date()).getFullYear();
676
+ const cols = 4;
677
+ const rows = 16;
678
+ for (let col = 1; col <= cols; col++) for (let row = 1; row <= rows; row++) {
679
+ const cell = addressToA1Notation({
680
+ col,
681
+ row
682
+ });
683
+ if (row === 1) cells[cell] = { value: `${year} Q${col}` };
684
+ else if (row === rows) cells[cell] = { value: `=SUM(${addressToA1Notation({
685
+ col,
686
+ row: 2
687
+ })}:${addressToA1Notation({
688
+ col,
689
+ row: rows - 1
690
+ })})` };
691
+ else if (row > 2 && row < rows - 1) cells[cell] = { value: Math.floor(Math.random() * 1e4) };
692
+ }
693
+ return space.db.add(Sheet.make({
694
+ name: random.commerce.productName(),
695
+ cells
696
+ }));
697
+ });
698
+ cb?.(objects);
699
+ return objects;
700
+ }],
701
+ [Type.getTypename(ComputeGraph), async (space, n, cb) => {
702
+ const objects = range(n, () => {
703
+ const model = ComputeGraphModel.create();
704
+ model.builder.createNode({
705
+ id: "gpt-INPUT",
706
+ type: NODE_INPUT
707
+ }).createNode({
708
+ id: "gpt-GPT",
709
+ type: "gpt"
710
+ }).createNode({
711
+ id: "gpt-QUEUE_ID",
712
+ type: "constant",
713
+ value: EID.make({
714
+ spaceId: space.id,
715
+ entityId: Key.EntityId.random()
716
+ })
717
+ }).createNode({
718
+ id: "gpt-APPEND",
719
+ type: "append"
720
+ }).createNode({
721
+ id: "gpt-OUTPUT",
722
+ type: NODE_OUTPUT
723
+ }).createEdge({
724
+ node: "gpt-INPUT",
725
+ property: "prompt"
726
+ }, {
727
+ node: "gpt-GPT",
728
+ property: "prompt"
729
+ }).createEdge({
730
+ node: "gpt-GPT",
731
+ property: "text"
732
+ }, {
733
+ node: "gpt-OUTPUT",
734
+ property: "text"
735
+ }).createEdge({
736
+ node: "gpt-QUEUE_ID",
737
+ property: DEFAULT_OUTPUT
738
+ }, {
739
+ node: "gpt-APPEND",
740
+ property: "id"
741
+ }).createEdge({
742
+ node: "gpt-GPT",
743
+ property: "messages"
744
+ }, {
745
+ node: "gpt-APPEND",
746
+ property: "items"
747
+ }).createEdge({
748
+ node: "gpt-QUEUE_ID",
749
+ property: DEFAULT_OUTPUT
750
+ }, {
751
+ node: "gpt-OUTPUT",
752
+ property: "queue"
753
+ });
754
+ return space.db.add(model.root);
755
+ });
756
+ cb?.(objects);
757
+ return objects;
758
+ }]
759
+ ]);
760
+ //#endregion
761
+ export { PresetName, SchemaTable, createGenerator, generator, staticGenerators };
762
+
763
+ //# sourceMappingURL=components.mjs.map