@dxos/plugin-debug 0.8.4-main.1f223c7 → 0.8.4-main.21d9917
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.
- package/dist/lib/browser/DebugGraph-6VMEOKEV.mjs +15 -0
- package/dist/lib/browser/DebugGraph-6VMEOKEV.mjs.map +7 -0
- package/dist/lib/browser/DevtoolsOverviewContainer-77PKFLYV.mjs +19 -0
- package/dist/lib/browser/DevtoolsOverviewContainer-77PKFLYV.mjs.map +7 -0
- package/dist/lib/browser/{SpaceGenerator-SRCIEELZ.mjs → SpaceGenerator-ZHVZWGM7.mjs} +306 -257
- package/dist/lib/browser/SpaceGenerator-ZHVZWGM7.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-FBDRMMYF.mjs +597 -0
- package/dist/lib/browser/app-graph-builder-FBDRMMYF.mjs.map +7 -0
- package/dist/lib/browser/{chunk-AJA6RYN3.mjs → chunk-4UFQXPP7.mjs} +12 -2
- package/dist/lib/browser/chunk-4UFQXPP7.mjs.map +7 -0
- package/dist/lib/browser/chunk-A5H5GRV6.mjs +20 -0
- package/dist/lib/browser/chunk-A5H5GRV6.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +35 -43
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-context-FSWBT3MH.mjs +17 -0
- package/dist/lib/browser/react-context-FSWBT3MH.mjs.map +7 -0
- package/dist/lib/browser/react-surface-W62RJ32U.mjs +757 -0
- package/dist/lib/browser/react-surface-W62RJ32U.mjs.map +7 -0
- package/dist/lib/browser/settings-KA4GN73K.mjs +31 -0
- package/dist/lib/browser/settings-KA4GN73K.mjs.map +7 -0
- package/dist/types/src/DebugPlugin.d.ts +2 -1
- package/dist/types/src/DebugPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +4 -8
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-context/index.d.ts +7 -0
- package/dist/types/src/capabilities/react-context/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-context/react-context.d.ts +10 -0
- package/dist/types/src/capabilities/react-context/react-context.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/index.d.ts +3 -0
- package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/settings.d.ts +5 -0
- package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
- package/dist/types/src/components/DebugGraph.d.ts +5 -4
- package/dist/types/src/components/DebugGraph.d.ts.map +1 -1
- package/dist/types/src/components/DebugObjectPanel.d.ts +1 -1
- package/dist/types/src/components/DebugObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/DebugSettings.d.ts +4 -2
- package/dist/types/src/components/DebugSettings.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts +5 -5
- package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/SpaceGenerator.d.ts +2 -2
- package/dist/types/src/components/SpaceGenerator/SpaceGenerator.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts +0 -1
- package/dist/types/src/components/SpaceGenerator/SpaceGenerator.stories.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/presets.d.ts +2 -5
- package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
- package/dist/types/src/components/Wireframe.d.ts +2 -2
- package/dist/types/src/components/Wireframe.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +4 -4
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -3
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +1 -1
- package/dist/types/src/types.d.ts +6 -1
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +77 -71
- package/src/DebugPlugin.tsx +17 -33
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +419 -0
- package/src/capabilities/app-graph-builder/index.ts +7 -0
- package/src/capabilities/index.ts +4 -6
- package/src/capabilities/react-context/index.ts +7 -0
- package/src/capabilities/react-context/react-context.tsx +20 -0
- package/src/capabilities/react-surface/index.ts +7 -0
- package/src/capabilities/react-surface/react-surface.tsx +409 -0
- package/src/capabilities/settings/index.ts +7 -0
- package/src/capabilities/settings/settings.ts +30 -0
- package/src/components/DebugGraph.tsx +4 -3
- package/src/components/DebugObjectPanel.tsx +6 -8
- package/src/components/DebugSettings.tsx +47 -21
- package/src/components/DebugStatus.tsx +2 -2
- package/src/components/DevtoolsOverviewContainer.tsx +1 -1
- package/src/components/SpaceGenerator/ObjectGenerator.tsx +26 -33
- package/src/components/SpaceGenerator/SchemaTable.tsx +2 -2
- package/src/components/SpaceGenerator/SpaceGenerator.stories.tsx +10 -10
- package/src/components/SpaceGenerator/SpaceGenerator.tsx +21 -16
- package/src/components/SpaceGenerator/draw-util.ts +2 -2
- package/src/components/SpaceGenerator/presets.ts +259 -80
- package/src/components/Wireframe.tsx +4 -5
- package/src/components/index.ts +4 -1
- package/src/meta.ts +8 -7
- package/src/translations.ts +1 -1
- package/src/types.ts +9 -1
- package/dist/lib/browser/DebugGraph-EDOH6R2G.mjs +0 -20
- package/dist/lib/browser/DebugGraph-EDOH6R2G.mjs.map +0 -7
- package/dist/lib/browser/DevtoolsOverviewContainer-EPD6EWT5.mjs +0 -25
- package/dist/lib/browser/DevtoolsOverviewContainer-EPD6EWT5.mjs.map +0 -7
- package/dist/lib/browser/SpaceGenerator-SRCIEELZ.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-JTIEFOWZ.mjs +0 -587
- package/dist/lib/browser/app-graph-builder-JTIEFOWZ.mjs.map +0 -7
- package/dist/lib/browser/chunk-5XPIRNQS.mjs +0 -18
- package/dist/lib/browser/chunk-5XPIRNQS.mjs.map +0 -7
- package/dist/lib/browser/chunk-AJA6RYN3.mjs.map +0 -7
- package/dist/lib/browser/react-context-NVAGLAJD.mjs +0 -16
- package/dist/lib/browser/react-context-NVAGLAJD.mjs.map +0 -7
- package/dist/lib/browser/react-surface-HQPOGG33.mjs +0 -773
- package/dist/lib/browser/react-surface-HQPOGG33.mjs.map +0 -7
- package/dist/lib/browser/settings-LSSWLM5I.mjs +0 -22
- package/dist/lib/browser/settings-LSSWLM5I.mjs.map +0 -7
- package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-context.d.ts +0 -8
- package/dist/types/src/capabilities/react-context.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface.d.ts +0 -4
- package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
- package/dist/types/src/capabilities/settings.d.ts +0 -4
- package/dist/types/src/capabilities/settings.d.ts.map +0 -1
- package/src/capabilities/app-graph-builder.ts +0 -430
- package/src/capabilities/react-context.tsx +0 -16
- package/src/capabilities/react-surface.tsx +0 -398
- package/src/capabilities/settings.ts +0 -19
|
@@ -1,53 +1,53 @@
|
|
|
1
1
|
// src/components/SpaceGenerator/SpaceGenerator.tsx
|
|
2
|
-
import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
|
|
3
2
|
import React2, { useCallback, useMemo, useState } from "react";
|
|
4
|
-
import {
|
|
3
|
+
import { useOperationInvoker } from "@dxos/app-framework/react";
|
|
5
4
|
import { ComputeGraph as ComputeGraph2 } from "@dxos/conductor";
|
|
6
|
-
import { Filter as Filter3 } from "@dxos/echo";
|
|
5
|
+
import { Filter as Filter3, Obj as Obj2 } from "@dxos/echo";
|
|
7
6
|
import { Markdown as Markdown3 } from "@dxos/plugin-markdown/types";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
7
|
+
import { Sheet as Sheet2 } from "@dxos/plugin-sheet/types";
|
|
8
|
+
import { Diagram as Diagram2 } from "@dxos/plugin-sketch/types";
|
|
10
9
|
import { useClient } from "@dxos/react-client";
|
|
11
|
-
import { getTypename } from "@dxos/react-client/echo";
|
|
12
10
|
import { IconButton as IconButton2, Input, Toolbar, useAsyncEffect } from "@dxos/react-ui";
|
|
13
11
|
import { SyntaxHighlighter } from "@dxos/react-ui-syntax-highlighter";
|
|
14
|
-
import {
|
|
12
|
+
import { Organization as Organization2, Person as Person2, Task } from "@dxos/types";
|
|
15
13
|
import { jsonKeyReplacer, sortKeys } from "@dxos/util";
|
|
16
14
|
|
|
17
15
|
// src/components/SpaceGenerator/ObjectGenerator.tsx
|
|
18
|
-
import { createIntent } from "@dxos/app-framework";
|
|
19
16
|
import { addressToA1Notation } from "@dxos/compute";
|
|
20
17
|
import { ComputeGraph, ComputeGraphModel, DEFAULT_OUTPUT, NODE_INPUT, NODE_OUTPUT } from "@dxos/conductor";
|
|
21
|
-
import { DXN, Filter, Key
|
|
18
|
+
import { DXN, Filter, Key } from "@dxos/echo";
|
|
22
19
|
import { Markdown } from "@dxos/plugin-markdown/types";
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import { SpaceAction } from "@dxos/plugin-space/types";
|
|
20
|
+
import { Sheet } from "@dxos/plugin-sheet/types";
|
|
21
|
+
import { Diagram } from "@dxos/plugin-sketch/types";
|
|
22
|
+
import { SpaceOperation } from "@dxos/plugin-space/types";
|
|
27
23
|
import { faker } from "@dxos/random";
|
|
28
|
-
import {
|
|
24
|
+
import { View, getTypenameFromQuery } from "@dxos/schema";
|
|
29
25
|
import { createAsyncGenerator } from "@dxos/schema/testing";
|
|
30
26
|
import { range } from "@dxos/util";
|
|
31
27
|
var generator = faker;
|
|
32
28
|
var findViewByTypename = async (views, typename) => {
|
|
33
|
-
return views.find((view) =>
|
|
29
|
+
return views.find((view) => getTypenameFromQuery(view.query.ast) === typename);
|
|
34
30
|
};
|
|
35
|
-
var createGenerator = (client,
|
|
31
|
+
var createGenerator = (client, invokePromise, schema) => {
|
|
36
32
|
return async (space, n) => {
|
|
37
33
|
const typename = schema.typename;
|
|
38
|
-
const
|
|
34
|
+
const views = await space.db.query(Filter.type(View.View)).run();
|
|
39
35
|
const view = await findViewByTypename(views, typename);
|
|
40
|
-
const staticSchema = client?.graph.schemaRegistry.
|
|
36
|
+
const staticSchema = client?.graph.schemaRegistry.query({
|
|
37
|
+
typename
|
|
38
|
+
}).runSync()[0];
|
|
41
39
|
if (!view && !staticSchema) {
|
|
42
|
-
await
|
|
43
|
-
space,
|
|
44
|
-
schema
|
|
45
|
-
|
|
40
|
+
await invokePromise(SpaceOperation.AddSchema, {
|
|
41
|
+
db: space.db,
|
|
42
|
+
schema,
|
|
43
|
+
show: false
|
|
44
|
+
});
|
|
46
45
|
} else if (!view && staticSchema) {
|
|
47
|
-
await
|
|
48
|
-
space,
|
|
49
|
-
typename
|
|
50
|
-
|
|
46
|
+
await invokePromise(SpaceOperation.UseStaticSchema, {
|
|
47
|
+
db: space.db,
|
|
48
|
+
typename,
|
|
49
|
+
show: false
|
|
50
|
+
});
|
|
51
51
|
}
|
|
52
52
|
const generate = createAsyncGenerator(generator, schema, {
|
|
53
53
|
db: space.db
|
|
@@ -60,7 +60,7 @@ var staticGenerators = /* @__PURE__ */ new Map([
|
|
|
60
60
|
Markdown.Document.typename,
|
|
61
61
|
async (space, n, cb) => {
|
|
62
62
|
const objects = range(n).map(() => {
|
|
63
|
-
return space.db.add(Markdown.
|
|
63
|
+
return space.db.add(Markdown.make({
|
|
64
64
|
name: faker.commerce.productName(),
|
|
65
65
|
content: faker.lorem.sentences(5)
|
|
66
66
|
}));
|
|
@@ -70,14 +70,11 @@ var staticGenerators = /* @__PURE__ */ new Map([
|
|
|
70
70
|
}
|
|
71
71
|
],
|
|
72
72
|
[
|
|
73
|
-
|
|
73
|
+
Diagram.Diagram.typename,
|
|
74
74
|
async (space, n, cb) => {
|
|
75
75
|
const objects = range(n).map(() => {
|
|
76
|
-
const obj = space.db.add(
|
|
77
|
-
name: faker.commerce.productName()
|
|
78
|
-
canvas: Ref.make(Obj.make(CanvasType, {
|
|
79
|
-
content: {}
|
|
80
|
-
}))
|
|
76
|
+
const obj = space.db.add(Diagram.make({
|
|
77
|
+
name: faker.commerce.productName()
|
|
81
78
|
}));
|
|
82
79
|
return obj;
|
|
83
80
|
});
|
|
@@ -87,7 +84,7 @@ var staticGenerators = /* @__PURE__ */ new Map([
|
|
|
87
84
|
],
|
|
88
85
|
// TODO(burdon): Create unit tests.
|
|
89
86
|
[
|
|
90
|
-
|
|
87
|
+
Sheet.Sheet.typename,
|
|
91
88
|
async (space, n, cb) => {
|
|
92
89
|
const objects = range(n).map(() => {
|
|
93
90
|
const cells = {};
|
|
@@ -123,7 +120,7 @@ var staticGenerators = /* @__PURE__ */ new Map([
|
|
|
123
120
|
}
|
|
124
121
|
}
|
|
125
122
|
}
|
|
126
|
-
return space.db.add(
|
|
123
|
+
return space.db.add(Sheet.make({
|
|
127
124
|
name: faker.commerce.productName(),
|
|
128
125
|
cells
|
|
129
126
|
}));
|
|
@@ -197,34 +194,37 @@ var staticGenerators = /* @__PURE__ */ new Map([
|
|
|
197
194
|
]);
|
|
198
195
|
|
|
199
196
|
// src/components/SpaceGenerator/presets.ts
|
|
200
|
-
import
|
|
201
|
-
import {
|
|
197
|
+
import * as Schema from "effect/Schema";
|
|
198
|
+
import { Agent, EntityExtraction, ResearchBlueprint } from "@dxos/assistant-toolkit";
|
|
199
|
+
import { Prompt } from "@dxos/blueprints";
|
|
202
200
|
import { NODE_INPUT as NODE_INPUT2 } from "@dxos/conductor";
|
|
203
|
-
import { DXN as DXN2, Filter as Filter2, Key as Key2, Obj
|
|
204
|
-
import {
|
|
201
|
+
import { DXN as DXN2, Filter as Filter2, Key as Key2, Obj, Query, Ref, Tag, Type } from "@dxos/echo";
|
|
202
|
+
import { Trigger, serializeFunction } from "@dxos/functions";
|
|
205
203
|
import { invariant } from "@dxos/invariant";
|
|
204
|
+
import { gmail } from "@dxos/plugin-inbox";
|
|
206
205
|
import { Mailbox } from "@dxos/plugin-inbox/types";
|
|
207
206
|
import { Markdown as Markdown2 } from "@dxos/plugin-markdown/types";
|
|
208
207
|
import { createAppend, createChat, createComputeGraph, createConstant, createFunction, createGpt, createQueue, createRandom, createSurface, createTemplate, createText, createTrigger } from "@dxos/react-ui-canvas-compute";
|
|
209
208
|
import { CanvasBoardType, CanvasGraphModel, pointMultiply, pointsToRect, rectToPoints } from "@dxos/react-ui-canvas-editor";
|
|
210
|
-
import {
|
|
211
|
-
import {
|
|
209
|
+
import { View as View2 } from "@dxos/schema";
|
|
210
|
+
import { Message, Organization, Person, Project } from "@dxos/types";
|
|
211
|
+
import { range as range2, trim } from "@dxos/util";
|
|
212
212
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-debug/src/components/SpaceGenerator/presets.ts";
|
|
213
|
-
var PresetName = /* @__PURE__ */ function(PresetName2) {
|
|
213
|
+
var PresetName = /* @__PURE__ */ (function(PresetName2) {
|
|
214
214
|
PresetName2["DXOS_TEAM"] = "dxos-team";
|
|
215
215
|
PresetName2["ORG_RESEARCH_PROJECT"] = "org-research-project";
|
|
216
216
|
PresetName2["GPT_QUEUE"] = "webhook-gpt-queue";
|
|
217
217
|
PresetName2["CHAT_GPT"] = "chat-gpt-text";
|
|
218
218
|
PresetName2["OBJECT_CHANGE_QUEUE"] = "objectChange-queue";
|
|
219
|
-
PresetName2["FOREX_FUNCTION_CALL"] = "forex-function-call";
|
|
220
219
|
PresetName2["TIMER_TICK_QUEUE"] = "timerTick-queue";
|
|
220
|
+
PresetName2["FOREX_FUNCTION_CALL"] = "forex-function-call";
|
|
221
221
|
PresetName2["DISCORD_MESSAGES"] = "discord-messages";
|
|
222
222
|
return PresetName2;
|
|
223
|
-
}({});
|
|
223
|
+
})({});
|
|
224
224
|
var generator2 = () => ({
|
|
225
225
|
schemas: [
|
|
226
226
|
CanvasBoardType,
|
|
227
|
-
|
|
227
|
+
Trigger.Trigger
|
|
228
228
|
],
|
|
229
229
|
types: Object.values(PresetName).map((name) => ({
|
|
230
230
|
typename: name
|
|
@@ -234,39 +234,42 @@ var generator2 = () => ({
|
|
|
234
234
|
"dxos-team",
|
|
235
235
|
async (space, n, cb) => {
|
|
236
236
|
const objects = range2(n, () => {
|
|
237
|
-
const org = space.db.add(
|
|
237
|
+
const org = space.db.add(Obj.make(Organization.Organization, {
|
|
238
238
|
name: "DXOS",
|
|
239
239
|
website: "https://dxos.org"
|
|
240
240
|
}));
|
|
241
|
-
const doc = space.db.add(Markdown2.
|
|
241
|
+
const doc = space.db.add(Markdown2.make({
|
|
242
242
|
name: "DXOS Research",
|
|
243
243
|
content: "DXOS builds Composer, an open-source AI-powered malleable application."
|
|
244
244
|
}));
|
|
245
|
-
space.db.add(
|
|
246
|
-
|
|
247
|
-
[Relation.Target]: org,
|
|
248
|
-
completedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
245
|
+
const tag = space.db.add(Tag.make({
|
|
246
|
+
label: "Investor"
|
|
249
247
|
}));
|
|
250
|
-
|
|
248
|
+
const tagDxn = Obj.getDXN(tag).toString();
|
|
249
|
+
Obj.change(doc, (d) => {
|
|
250
|
+
Obj.getMeta(d).tags = [
|
|
251
|
+
tagDxn
|
|
252
|
+
];
|
|
253
|
+
});
|
|
254
|
+
space.db.add(Obj.make(Person.Person, {
|
|
251
255
|
fullName: "Rich",
|
|
252
|
-
|
|
253
|
-
|
|
256
|
+
organization: Ref.make(org)
|
|
257
|
+
}, {
|
|
258
|
+
tags: [
|
|
259
|
+
tagDxn
|
|
260
|
+
]
|
|
254
261
|
}));
|
|
255
|
-
space.db.add(
|
|
262
|
+
space.db.add(Obj.make(Person.Person, {
|
|
256
263
|
fullName: "Josiah",
|
|
257
|
-
organization:
|
|
264
|
+
organization: Ref.make(org)
|
|
258
265
|
}));
|
|
259
|
-
space.db.add(
|
|
266
|
+
space.db.add(Obj.make(Person.Person, {
|
|
260
267
|
fullName: "Dima",
|
|
261
|
-
organization:
|
|
268
|
+
organization: Ref.make(org)
|
|
262
269
|
}));
|
|
263
|
-
space.db.add(
|
|
270
|
+
space.db.add(Obj.make(Person.Person, {
|
|
264
271
|
fullName: "Mykola",
|
|
265
|
-
organization:
|
|
266
|
-
}));
|
|
267
|
-
space.db.add(Obj2.make(DataType2.Person, {
|
|
268
|
-
fullName: "Will",
|
|
269
|
-
organization: Ref2.make(org)
|
|
272
|
+
organization: Ref.make(org)
|
|
270
273
|
}));
|
|
271
274
|
return doc;
|
|
272
275
|
});
|
|
@@ -278,24 +281,71 @@ var generator2 = () => ({
|
|
|
278
281
|
"org-research-project",
|
|
279
282
|
async (space, n, cb) => {
|
|
280
283
|
const mailbox = await space.db.query(Filter2.type(Mailbox.Mailbox)).first();
|
|
284
|
+
const tag = await space.db.query(Filter2.type(Tag.Tag, {
|
|
285
|
+
label: "Investor"
|
|
286
|
+
})).first();
|
|
287
|
+
const tagDxn = Obj.getDXN(tag).toString();
|
|
281
288
|
const objects = range2(n, () => {
|
|
282
|
-
const contactsQuery = Query.select(Filter2.type(
|
|
283
|
-
|
|
289
|
+
const contactsQuery = Query.select(Filter2.type(Person.Person)).select(Filter2.tag(tagDxn));
|
|
290
|
+
const organizationsQuery = Query.select(Filter2.type(Organization.Organization)).select(Filter2.tag(tagDxn));
|
|
291
|
+
const notesQuery = Query.select(Filter2.type(Markdown2.Document)).select(Filter2.tag(tagDxn));
|
|
292
|
+
space.db.add(Trigger.make({
|
|
293
|
+
enabled: true,
|
|
294
|
+
spec: {
|
|
295
|
+
kind: "timer",
|
|
296
|
+
cron: "* * * * *"
|
|
297
|
+
},
|
|
298
|
+
function: Ref.make(serializeFunction(gmail.sync)),
|
|
299
|
+
input: {
|
|
300
|
+
mailboxId: Obj.getDXN(mailbox).toString()
|
|
301
|
+
}
|
|
284
302
|
}));
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
303
|
+
space.db.add(Trigger.make({
|
|
304
|
+
enabled: true,
|
|
305
|
+
// TODO(wittjosiah): Queue trigger doesn't support matching query of the column.
|
|
306
|
+
spec: {
|
|
307
|
+
kind: "queue",
|
|
308
|
+
queue: mailbox.queue.dxn.toString()
|
|
309
|
+
},
|
|
310
|
+
function: Ref.make(serializeFunction(EntityExtraction.extract)),
|
|
311
|
+
input: {
|
|
312
|
+
source: "{{event.item}}"
|
|
313
|
+
}
|
|
314
|
+
}));
|
|
315
|
+
const researchPrompt = space.db.add(Prompt.make({
|
|
316
|
+
name: "Research",
|
|
317
|
+
description: "Research organization",
|
|
318
|
+
input: Schema.Struct({
|
|
319
|
+
org: Schema.Any
|
|
320
|
+
}),
|
|
321
|
+
output: Schema.Any,
|
|
322
|
+
// TODO(dmaretskyi): This mocks research (returns pre-baked result), the actual research might take compute minutes.
|
|
323
|
+
// Remove the mock prompt to do the actual research.
|
|
324
|
+
instructions: trim`
|
|
325
|
+
Research the organization provided as input.
|
|
326
|
+
Create a research note for it at the end.
|
|
327
|
+
NOTE: Do mocked reseach (set mockSearch to true).
|
|
328
|
+
`,
|
|
329
|
+
blueprints: [
|
|
330
|
+
Ref.make(ResearchBlueprint)
|
|
331
|
+
]
|
|
332
|
+
}));
|
|
333
|
+
space.db.add(Trigger.make({
|
|
334
|
+
enabled: true,
|
|
289
335
|
spec: {
|
|
290
336
|
kind: "subscription",
|
|
291
|
-
query:
|
|
337
|
+
query: {
|
|
338
|
+
ast: organizationsQuery.ast
|
|
339
|
+
}
|
|
292
340
|
},
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
341
|
+
function: Ref.make(serializeFunction(Agent.prompt)),
|
|
342
|
+
input: {
|
|
343
|
+
prompt: Ref.make(researchPrompt),
|
|
344
|
+
input: "{{event.subject}}"
|
|
345
|
+
}
|
|
346
|
+
}));
|
|
347
|
+
const mailboxView = View2.make({
|
|
348
|
+
query: Query.select(Filter2.type(Message.Message, {
|
|
299
349
|
properties: {
|
|
300
350
|
labels: Filter2.contains("investor")
|
|
301
351
|
}
|
|
@@ -304,43 +354,44 @@ var generator2 = () => ({
|
|
|
304
354
|
mailbox.queue.dxn.toString()
|
|
305
355
|
]
|
|
306
356
|
}),
|
|
307
|
-
jsonSchema:
|
|
308
|
-
presentation: Obj2.make(DataType2.Collection, {
|
|
309
|
-
objects: []
|
|
310
|
-
})
|
|
357
|
+
jsonSchema: Type.toJsonSchema(Message.Message)
|
|
311
358
|
});
|
|
312
|
-
const contactsView =
|
|
313
|
-
name: "Contacts",
|
|
359
|
+
const contactsView = View2.make({
|
|
314
360
|
query: contactsQuery,
|
|
315
|
-
jsonSchema:
|
|
316
|
-
presentation: Obj2.make(DataType2.Collection, {
|
|
317
|
-
objects: []
|
|
318
|
-
})
|
|
361
|
+
jsonSchema: Type.toJsonSchema(Person.Person)
|
|
319
362
|
});
|
|
320
|
-
const organizationsView =
|
|
321
|
-
name: "Organizations",
|
|
363
|
+
const organizationsView = View2.make({
|
|
322
364
|
query: organizationsQuery,
|
|
323
|
-
jsonSchema:
|
|
324
|
-
presentation: Obj2.make(DataType2.Collection, {
|
|
325
|
-
objects: []
|
|
326
|
-
})
|
|
365
|
+
jsonSchema: Type.toJsonSchema(Organization.Organization)
|
|
327
366
|
});
|
|
328
|
-
const notesView =
|
|
329
|
-
name: "Notes",
|
|
367
|
+
const notesView = View2.make({
|
|
330
368
|
query: notesQuery,
|
|
331
|
-
jsonSchema:
|
|
332
|
-
presentation: Obj2.make(DataType2.Collection, {
|
|
333
|
-
objects: []
|
|
334
|
-
})
|
|
369
|
+
jsonSchema: Type.toJsonSchema(Markdown2.Document)
|
|
335
370
|
});
|
|
336
|
-
return space.db.add(
|
|
371
|
+
return space.db.add(Project.make({
|
|
337
372
|
name: "Investor Research",
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
373
|
+
columns: [
|
|
374
|
+
{
|
|
375
|
+
name: "Mailbox",
|
|
376
|
+
view: Ref.make(mailboxView),
|
|
377
|
+
order: []
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
name: "Contacts",
|
|
381
|
+
view: Ref.make(contactsView),
|
|
382
|
+
order: []
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
name: "Organizations",
|
|
386
|
+
view: Ref.make(organizationsView),
|
|
387
|
+
order: []
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
name: "Notes",
|
|
391
|
+
view: Ref.make(notesView),
|
|
392
|
+
order: []
|
|
393
|
+
}
|
|
394
|
+
]
|
|
344
395
|
}));
|
|
345
396
|
});
|
|
346
397
|
cb?.(objects.flat());
|
|
@@ -411,7 +462,9 @@ var generator2 = () => ({
|
|
|
411
462
|
"objectChange-queue",
|
|
412
463
|
async (space, n, cb) => {
|
|
413
464
|
const objects = range2(n, () => {
|
|
414
|
-
const { canvasModel, computeModel } = createQueueSinkPreset(space, "subscription", (triggerSpec) => triggerSpec.query =
|
|
465
|
+
const { canvasModel, computeModel } = createQueueSinkPreset(space, "subscription", (triggerSpec) => triggerSpec.query = {
|
|
466
|
+
ast: Query.select(Filter2.typename("dxos.org/type/Chess")).ast
|
|
467
|
+
}, "type");
|
|
415
468
|
return addToSpace("objectChange-queue", space, canvasModel, computeModel);
|
|
416
469
|
});
|
|
417
470
|
cb?.(objects);
|
|
@@ -809,7 +862,7 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
|
|
|
809
862
|
const triggerSpec = functionTrigger.spec;
|
|
810
863
|
invariant(triggerSpec && triggerSpec.kind === triggerKind, "No trigger spec.", {
|
|
811
864
|
F: __dxlog_file,
|
|
812
|
-
L:
|
|
865
|
+
L: 762,
|
|
813
866
|
S: void 0,
|
|
814
867
|
A: [
|
|
815
868
|
"triggerSpec && triggerSpec.kind === triggerKind",
|
|
@@ -822,7 +875,7 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
|
|
|
822
875
|
const templateComputeNode = computeModel.nodes.find((n) => n.id === template.node);
|
|
823
876
|
invariant(templateComputeNode, "Template compute node was not created.", {
|
|
824
877
|
F: __dxlog_file,
|
|
825
|
-
L:
|
|
878
|
+
L: 769,
|
|
826
879
|
S: void 0,
|
|
827
880
|
A: [
|
|
828
881
|
"templateComputeNode",
|
|
@@ -835,7 +888,7 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
|
|
|
835
888
|
' "id": "@{{changeId}}"',
|
|
836
889
|
"}"
|
|
837
890
|
].join("\n");
|
|
838
|
-
templateComputeNode.inputSchema =
|
|
891
|
+
templateComputeNode.inputSchema = Type.toJsonSchema(Schema.Struct({
|
|
839
892
|
type: Schema.String,
|
|
840
893
|
changeId: Schema.String
|
|
841
894
|
}));
|
|
@@ -846,9 +899,9 @@ var createQueueSinkPreset = (space, triggerKind, initSpec, triggerOutputName) =>
|
|
|
846
899
|
};
|
|
847
900
|
};
|
|
848
901
|
var addToSpace = (name, space, canvas, compute) => {
|
|
849
|
-
return space.db.add(
|
|
902
|
+
return space.db.add(Obj.make(CanvasBoardType, {
|
|
850
903
|
name,
|
|
851
|
-
computeGraph:
|
|
904
|
+
computeGraph: Ref.make(compute.root),
|
|
852
905
|
layout: canvas.graph
|
|
853
906
|
}));
|
|
854
907
|
};
|
|
@@ -884,16 +937,18 @@ var setupQueue = (space, canvasModel, args) => {
|
|
|
884
937
|
var attachTrigger = (functionTrigger, computeModel) => {
|
|
885
938
|
invariant(functionTrigger, void 0, {
|
|
886
939
|
F: __dxlog_file,
|
|
887
|
-
L:
|
|
940
|
+
L: 809,
|
|
888
941
|
S: void 0,
|
|
889
942
|
A: [
|
|
890
943
|
"functionTrigger",
|
|
891
944
|
""
|
|
892
945
|
]
|
|
893
946
|
});
|
|
894
|
-
functionTrigger.function = Ref2.make(computeModel.root);
|
|
895
947
|
const inputNode = computeModel.nodes.find((node) => node.type === NODE_INPUT2);
|
|
896
|
-
functionTrigger
|
|
948
|
+
Obj.change(functionTrigger, (t) => {
|
|
949
|
+
t.function = Ref.make(computeModel.root);
|
|
950
|
+
t.inputNodeId = inputNode.id;
|
|
951
|
+
});
|
|
897
952
|
};
|
|
898
953
|
var rawPosition = (args) => {
|
|
899
954
|
return {
|
|
@@ -940,157 +995,151 @@ var position = (rect) => {
|
|
|
940
995
|
};
|
|
941
996
|
|
|
942
997
|
// src/components/SpaceGenerator/SchemaTable.tsx
|
|
943
|
-
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
944
998
|
import React from "react";
|
|
945
999
|
import { IconButton } from "@dxos/react-ui";
|
|
946
1000
|
var SchemaTable = ({ types, objects = {}, label, onClick }) => {
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
onClick: () => onClick(type.typename)
|
|
966
|
-
}))));
|
|
967
|
-
} finally {
|
|
968
|
-
_effect.f();
|
|
969
|
-
}
|
|
1001
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
1002
|
+
className: "grid grid-cols-[1fr_80px_40px] gap-1 overflow-none"
|
|
1003
|
+
}, /* @__PURE__ */ React.createElement("h2", {
|
|
1004
|
+
className: "p-2"
|
|
1005
|
+
}, label), types.map((type) => /* @__PURE__ */ React.createElement("div", {
|
|
1006
|
+
key: type.typename,
|
|
1007
|
+
className: "grid grid-cols-subgrid col-span-3 items-center"
|
|
1008
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
1009
|
+
className: "pli-2 text-sm font-mono text-subdued"
|
|
1010
|
+
}, type.typename), /* @__PURE__ */ React.createElement("div", {
|
|
1011
|
+
className: "pli-2 text-right font-mono"
|
|
1012
|
+
}, objects[type.typename] ?? 0), /* @__PURE__ */ React.createElement(IconButton, {
|
|
1013
|
+
variant: "ghost",
|
|
1014
|
+
icon: "ph--plus--regular",
|
|
1015
|
+
iconOnly: true,
|
|
1016
|
+
label: "Create data",
|
|
1017
|
+
onClick: () => onClick(type.typename)
|
|
1018
|
+
}))));
|
|
970
1019
|
};
|
|
971
1020
|
|
|
972
1021
|
// src/components/SpaceGenerator/SpaceGenerator.tsx
|
|
973
1022
|
var SpaceGenerator = ({ space, onCreateObjects }) => {
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
...recordTypes,
|
|
996
|
-
...presets.schemas
|
|
997
|
-
]);
|
|
998
|
-
const recordGenerators = new Map(recordTypes.map((type) => [
|
|
999
|
-
type.typename,
|
|
1000
|
-
createGenerator(client, dispatch, type)
|
|
1001
|
-
]));
|
|
1002
|
-
return new Map([
|
|
1003
|
-
...staticGenerators,
|
|
1004
|
-
...presets.items,
|
|
1005
|
-
...recordGenerators
|
|
1006
|
-
]);
|
|
1007
|
-
}, [
|
|
1008
|
-
client,
|
|
1009
|
-
recordTypes
|
|
1023
|
+
const { invokePromise } = useOperationInvoker();
|
|
1024
|
+
const client = useClient();
|
|
1025
|
+
const staticTypes = [
|
|
1026
|
+
Markdown3.Document,
|
|
1027
|
+
Diagram2.Diagram,
|
|
1028
|
+
Sheet2.Sheet,
|
|
1029
|
+
ComputeGraph2
|
|
1030
|
+
];
|
|
1031
|
+
const recordTypes = [
|
|
1032
|
+
Organization2.Organization,
|
|
1033
|
+
Person2.Person,
|
|
1034
|
+
Task.Task
|
|
1035
|
+
];
|
|
1036
|
+
const [count, setCount] = useState(1);
|
|
1037
|
+
const [info, setInfo] = useState({});
|
|
1038
|
+
const presets = useMemo(() => generator2(), []);
|
|
1039
|
+
useAsyncEffect(async () => {
|
|
1040
|
+
await client.addTypes([
|
|
1041
|
+
...staticTypes,
|
|
1042
|
+
...recordTypes,
|
|
1043
|
+
...presets.schemas
|
|
1010
1044
|
]);
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
setInfo({
|
|
1024
|
-
schema: {
|
|
1025
|
-
static: staticSchema.length,
|
|
1026
|
-
mutable: echoSchema.length
|
|
1027
|
-
},
|
|
1028
|
-
objects: objectMap
|
|
1029
|
-
});
|
|
1030
|
-
};
|
|
1031
|
-
useAsyncEffect(updateInfo, [
|
|
1032
|
-
space
|
|
1045
|
+
}, [
|
|
1046
|
+
client
|
|
1047
|
+
]);
|
|
1048
|
+
const typeMap = useMemo(() => {
|
|
1049
|
+
const recordGenerators = new Map(recordTypes.map((type) => [
|
|
1050
|
+
type.typename,
|
|
1051
|
+
createGenerator(client, invokePromise, type)
|
|
1052
|
+
]));
|
|
1053
|
+
return new Map([
|
|
1054
|
+
...staticGenerators,
|
|
1055
|
+
...presets.items,
|
|
1056
|
+
...recordGenerators
|
|
1033
1057
|
]);
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1058
|
+
}, [
|
|
1059
|
+
client,
|
|
1060
|
+
recordTypes,
|
|
1061
|
+
invokePromise
|
|
1062
|
+
]);
|
|
1063
|
+
const updateInfo = async () => {
|
|
1064
|
+
const echoSchema = await space.db.schemaRegistry.query().run();
|
|
1065
|
+
const staticSchema = await space.db.graph.schemaRegistry.query().run();
|
|
1066
|
+
const objects = await space.db.query(Filter3.everything()).run();
|
|
1067
|
+
const objectMap = sortKeys(objects.reduce((map, obj) => {
|
|
1068
|
+
const type = Obj2.getTypename(obj);
|
|
1069
|
+
if (type) {
|
|
1070
|
+
const count2 = map[type] ?? 0;
|
|
1071
|
+
map[type] = count2 + 1;
|
|
1039
1072
|
}
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
}
|
|
1092
|
-
|
|
1093
|
-
|
|
1073
|
+
return map;
|
|
1074
|
+
}, {}));
|
|
1075
|
+
setInfo({
|
|
1076
|
+
schema: {
|
|
1077
|
+
static: staticSchema.length,
|
|
1078
|
+
mutable: echoSchema.length
|
|
1079
|
+
},
|
|
1080
|
+
objects: objectMap
|
|
1081
|
+
});
|
|
1082
|
+
};
|
|
1083
|
+
useAsyncEffect(updateInfo, [
|
|
1084
|
+
space
|
|
1085
|
+
]);
|
|
1086
|
+
const handleCreateData = useCallback(async (typename) => {
|
|
1087
|
+
const constructor = typeMap.get(typename);
|
|
1088
|
+
if (constructor) {
|
|
1089
|
+
await constructor(space, count, onCreateObjects);
|
|
1090
|
+
await updateInfo();
|
|
1091
|
+
}
|
|
1092
|
+
}, [
|
|
1093
|
+
typeMap,
|
|
1094
|
+
count
|
|
1095
|
+
]);
|
|
1096
|
+
return /* @__PURE__ */ React2.createElement("div", {
|
|
1097
|
+
role: "none",
|
|
1098
|
+
className: "flex flex-col grow overflow-hidden"
|
|
1099
|
+
}, /* @__PURE__ */ React2.createElement(Toolbar.Root, {
|
|
1100
|
+
classNames: "border-be border-subduedSeparator"
|
|
1101
|
+
}, /* @__PURE__ */ React2.createElement(IconButton2, {
|
|
1102
|
+
icon: "ph--arrow-clockwise--regular",
|
|
1103
|
+
iconOnly: true,
|
|
1104
|
+
label: "Refresh",
|
|
1105
|
+
onClick: updateInfo
|
|
1106
|
+
}), /* @__PURE__ */ React2.createElement(Toolbar.Separator, {
|
|
1107
|
+
variant: "gap"
|
|
1108
|
+
}), /* @__PURE__ */ React2.createElement(Input.Root, null, /* @__PURE__ */ React2.createElement(Input.TextInput, {
|
|
1109
|
+
type: "number",
|
|
1110
|
+
min: 1,
|
|
1111
|
+
max: 100,
|
|
1112
|
+
placeholder: "Count",
|
|
1113
|
+
classNames: "!w-[4rem] !text-right",
|
|
1114
|
+
size: 8,
|
|
1115
|
+
value: count,
|
|
1116
|
+
onChange: (ev) => setCount(parseInt(ev.target.value))
|
|
1117
|
+
}))), /* @__PURE__ */ React2.createElement("div", {
|
|
1118
|
+
className: "flex flex-col overflow-y-auto divide-y divide-separator"
|
|
1119
|
+
}, /* @__PURE__ */ React2.createElement(SchemaTable, {
|
|
1120
|
+
types: staticTypes,
|
|
1121
|
+
objects: info.objects,
|
|
1122
|
+
label: "Static Types",
|
|
1123
|
+
onClick: handleCreateData
|
|
1124
|
+
}), /* @__PURE__ */ React2.createElement(SchemaTable, {
|
|
1125
|
+
types: recordTypes,
|
|
1126
|
+
objects: info.objects,
|
|
1127
|
+
label: "Record Types",
|
|
1128
|
+
onClick: handleCreateData
|
|
1129
|
+
}), /* @__PURE__ */ React2.createElement(SchemaTable, {
|
|
1130
|
+
types: presets.types,
|
|
1131
|
+
objects: info.objects,
|
|
1132
|
+
label: "Presets",
|
|
1133
|
+
onClick: handleCreateData
|
|
1134
|
+
}), /* @__PURE__ */ React2.createElement("div", null, /* @__PURE__ */ React2.createElement(SyntaxHighlighter, {
|
|
1135
|
+
language: "json",
|
|
1136
|
+
classNames: "text-xs"
|
|
1137
|
+
}, JSON.stringify({
|
|
1138
|
+
space,
|
|
1139
|
+
...info
|
|
1140
|
+
}, jsonKeyReplacer({
|
|
1141
|
+
truncate: true
|
|
1142
|
+
}), 2)))));
|
|
1094
1143
|
};
|
|
1095
1144
|
|
|
1096
1145
|
// src/components/SpaceGenerator/index.ts
|
|
@@ -1098,4 +1147,4 @@ var SpaceGenerator_default = SpaceGenerator;
|
|
|
1098
1147
|
export {
|
|
1099
1148
|
SpaceGenerator_default as default
|
|
1100
1149
|
};
|
|
1101
|
-
//# sourceMappingURL=SpaceGenerator-
|
|
1150
|
+
//# sourceMappingURL=SpaceGenerator-ZHVZWGM7.mjs.map
|