@dxos/plugin-debug 0.7.5-labs.5f04cf6 → 0.7.5-labs.e27f9b9
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/SpaceGenerator-4VO7E5P2.mjs +846 -0
- package/dist/lib/browser/SpaceGenerator-4VO7E5P2.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-FXELWOFS.mjs → app-graph-builder-IMWFZ3OZ.mjs} +7 -3
- package/dist/lib/browser/app-graph-builder-IMWFZ3OZ.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +3 -9
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-ACHNR2UU.mjs → react-surface-XDHEQY27.mjs} +54 -51
- package/dist/lib/browser/react-surface-XDHEQY27.mjs.map +7 -0
- package/dist/types/src/DebugPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +22 -22
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +26 -31
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/DebugSettings.d.ts.map +1 -1
- package/dist/types/src/components/DebugStatus.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/SpaceGenerator.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/presets.d.ts +17 -0
- package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +47 -46
- package/src/DebugPlugin.tsx +2 -7
- package/src/capabilities/app-graph-builder.ts +6 -3
- package/src/capabilities/index.ts +0 -1
- package/src/capabilities/react-surface.tsx +7 -15
- package/src/components/DebugSettings.tsx +70 -70
- package/src/components/DebugStatus.tsx +17 -21
- package/src/components/SpaceGenerator/ObjectGenerator.tsx +0 -81
- package/src/components/SpaceGenerator/SpaceGenerator.tsx +7 -6
- package/src/components/SpaceGenerator/presets.ts +322 -0
- package/dist/lib/browser/SpaceGenerator-YNT3WDFI.mjs +0 -479
- package/dist/lib/browser/SpaceGenerator-YNT3WDFI.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-FXELWOFS.mjs.map +0 -7
- package/dist/lib/browser/react-context-OZU6J7G3.mjs +0 -37
- package/dist/lib/browser/react-context-OZU6J7G3.mjs.map +0 -7
- package/dist/lib/browser/react-surface-ACHNR2UU.mjs.map +0 -7
- package/dist/types/src/capabilities/react-context.d.ts +0 -8
- package/dist/types/src/capabilities/react-context.d.ts.map +0 -1
- package/src/capabilities/react-context.tsx +0 -38
|
@@ -4,8 +4,9 @@ import {
|
|
|
4
4
|
|
|
5
5
|
// packages/plugins/plugin-debug/src/capabilities/react-surface.tsx
|
|
6
6
|
import React5, { useCallback } from "react";
|
|
7
|
-
import { Capabilities as
|
|
7
|
+
import { Capabilities as Capabilities2, contributes, createIntent, createSurface } from "@dxos/app-framework";
|
|
8
8
|
import { Devtools } from "@dxos/devtools";
|
|
9
|
+
import { SettingsStore } from "@dxos/local-storage";
|
|
9
10
|
import { Graph } from "@dxos/plugin-graph";
|
|
10
11
|
import { SpaceAction, CollectionType } from "@dxos/plugin-space/types";
|
|
11
12
|
import { SpaceState, isSpace, isEchoObject } from "@dxos/react-client/echo";
|
|
@@ -39,15 +40,13 @@ var DebugObjectPanel = ({ object }) => {
|
|
|
39
40
|
};
|
|
40
41
|
|
|
41
42
|
// packages/plugins/plugin-debug/src/components/DebugSettings.tsx
|
|
42
|
-
import { Gift, DownloadSimple, FirstAidKit } from "@phosphor-icons/react";
|
|
43
43
|
import React2, { useEffect, useState } from "react";
|
|
44
44
|
import { Capabilities, useCapabilities } from "@dxos/app-framework";
|
|
45
45
|
import { defs, SaveConfig, Storage } from "@dxos/config";
|
|
46
46
|
import { log } from "@dxos/log";
|
|
47
47
|
import { useClient } from "@dxos/react-client";
|
|
48
|
-
import { useTranslation, Button, Toast, Input as Input2, useFileDownload, Select } from "@dxos/react-ui";
|
|
49
|
-
import { DeprecatedFormInput } from "@dxos/react-ui-form";
|
|
50
|
-
import { getSize, mx } from "@dxos/react-ui-theme";
|
|
48
|
+
import { useTranslation, Button, Toast, Input as Input2, useFileDownload, Select, Icon } from "@dxos/react-ui";
|
|
49
|
+
import { DeprecatedFormContainer, DeprecatedFormInput } from "@dxos/react-ui-form";
|
|
51
50
|
import { setDeep } from "@dxos/util";
|
|
52
51
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-debug/src/components/DebugSettings.tsx";
|
|
53
52
|
var StorageAdapters = {
|
|
@@ -85,7 +84,7 @@ var DebugSettings = ({ settings }) => {
|
|
|
85
84
|
if (!info) {
|
|
86
85
|
log.error("diagnostics failed to upload to IPFS", void 0, {
|
|
87
86
|
F: __dxlog_file,
|
|
88
|
-
L:
|
|
87
|
+
L: 56,
|
|
89
88
|
S: void 0,
|
|
90
89
|
C: (f, a) => f(...a)
|
|
91
90
|
});
|
|
@@ -105,7 +104,7 @@ var DebugSettings = ({ settings }) => {
|
|
|
105
104
|
url
|
|
106
105
|
}, {
|
|
107
106
|
F: __dxlog_file,
|
|
108
|
-
L:
|
|
107
|
+
L: 65,
|
|
109
108
|
S: void 0,
|
|
110
109
|
C: (f, a) => f(...a)
|
|
111
110
|
});
|
|
@@ -126,7 +125,7 @@ var DebugSettings = ({ settings }) => {
|
|
|
126
125
|
});
|
|
127
126
|
}
|
|
128
127
|
};
|
|
129
|
-
return /* @__PURE__ */ React2.createElement(React2.
|
|
128
|
+
return /* @__PURE__ */ React2.createElement(DeprecatedFormContainer, null, /* @__PURE__ */ React2.createElement(DeprecatedFormContainer, null, /* @__PURE__ */ React2.createElement(DeprecatedFormInput, {
|
|
130
129
|
label: t("settings show debug panel")
|
|
131
130
|
}, /* @__PURE__ */ React2.createElement(Input2.Switch, {
|
|
132
131
|
checked: settings.debug,
|
|
@@ -145,17 +144,20 @@ var DebugSettings = ({ settings }) => {
|
|
|
145
144
|
label: t("settings download diagnostics")
|
|
146
145
|
}, /* @__PURE__ */ React2.createElement(Button, {
|
|
147
146
|
onClick: handleDownload
|
|
148
|
-
}, /* @__PURE__ */ React2.createElement(
|
|
149
|
-
|
|
147
|
+
}, /* @__PURE__ */ React2.createElement(Icon, {
|
|
148
|
+
icon: "ph--download-simple--regular",
|
|
149
|
+
size: 5
|
|
150
150
|
}))), /* @__PURE__ */ React2.createElement(DeprecatedFormInput, {
|
|
151
151
|
label: t("settings repair")
|
|
152
152
|
}, /* @__PURE__ */ React2.createElement(Button, {
|
|
153
153
|
onClick: handleRepair
|
|
154
|
-
}, /* @__PURE__ */ React2.createElement(
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
154
|
+
}, /* @__PURE__ */ React2.createElement(Icon, {
|
|
155
|
+
icon: "ph--first-aid-kit--regular",
|
|
156
|
+
size: 5
|
|
157
|
+
}))), toast && /* @__PURE__ */ React2.createElement(Toast.Root, null, /* @__PURE__ */ React2.createElement(Toast.Body, null, /* @__PURE__ */ React2.createElement(Toast.Title, null, /* @__PURE__ */ React2.createElement(Icon, {
|
|
158
|
+
icon: "ph--gift--duotone",
|
|
159
|
+
size: 5,
|
|
160
|
+
classNames: "inline mr-1"
|
|
159
161
|
}), /* @__PURE__ */ React2.createElement("span", null, toast.title)), toast.description && /* @__PURE__ */ React2.createElement(Toast.Description, null, toast.description))), /* @__PURE__ */ React2.createElement(DeprecatedFormInput, {
|
|
160
162
|
label: t("settings choose storage adaptor")
|
|
161
163
|
}, /* @__PURE__ */ React2.createElement(Select.Root, {
|
|
@@ -175,7 +177,7 @@ var DebugSettings = ({ settings }) => {
|
|
|
175
177
|
}), /* @__PURE__ */ React2.createElement(Select.Portal, null, /* @__PURE__ */ React2.createElement(Select.Content, null, /* @__PURE__ */ React2.createElement(Select.Viewport, null, Object.keys(StorageAdapters).map((key) => /* @__PURE__ */ React2.createElement(Select.Option, {
|
|
176
178
|
key,
|
|
177
179
|
value: key
|
|
178
|
-
}, t(`settings storage adaptor ${key} label`)))))))));
|
|
180
|
+
}, t(`settings storage adaptor ${key} label`))))))))));
|
|
179
181
|
};
|
|
180
182
|
var updateConfig = (config, setConfig, path, value) => {
|
|
181
183
|
const storageConfigCopy = JSON.parse(JSON.stringify(config ?? {}));
|
|
@@ -188,15 +190,14 @@ var updateConfig = (config, setConfig, path, value) => {
|
|
|
188
190
|
|
|
189
191
|
// packages/plugins/plugin-debug/src/components/DebugStatus.tsx
|
|
190
192
|
import React3, { useEffect as useEffect2, useRef, useState as useState2 } from "react";
|
|
191
|
-
import {
|
|
193
|
+
import { useAppGraph, useLayout } from "@dxos/app-framework";
|
|
192
194
|
import { TimeoutError } from "@dxos/async";
|
|
193
195
|
import { StatsPanel, useStats } from "@dxos/devtools";
|
|
194
196
|
import { getActiveSpace } from "@dxos/plugin-space";
|
|
195
197
|
import { StatusBar } from "@dxos/plugin-status-bar";
|
|
196
198
|
import { ConnectionState } from "@dxos/protocols/proto/dxos/client/services";
|
|
197
199
|
import { useNetworkStatus } from "@dxos/react-client/mesh";
|
|
198
|
-
import { Icon } from "@dxos/react-ui";
|
|
199
|
-
import { mx as mx2 } from "@dxos/react-ui-theme";
|
|
200
|
+
import { Icon as Icon2, Popover } from "@dxos/react-ui";
|
|
200
201
|
var styles = {
|
|
201
202
|
success: "text-sky-300 dark:text-green-700",
|
|
202
203
|
warning: "text-orange-300 dark:text-orange-600",
|
|
@@ -228,7 +229,7 @@ var ErrorIndicator = () => {
|
|
|
228
229
|
return /* @__PURE__ */ React3.createElement(StatusBar.Button, {
|
|
229
230
|
title: errorRef.current.message,
|
|
230
231
|
onClick: handleReset
|
|
231
|
-
}, /* @__PURE__ */ React3.createElement(
|
|
232
|
+
}, /* @__PURE__ */ React3.createElement(Icon2, {
|
|
232
233
|
icon: "ph--warning-circle--duotone",
|
|
233
234
|
size: 4,
|
|
234
235
|
classNames: styles.error
|
|
@@ -236,7 +237,7 @@ var ErrorIndicator = () => {
|
|
|
236
237
|
} else {
|
|
237
238
|
return /* @__PURE__ */ React3.createElement(StatusBar.Item, {
|
|
238
239
|
title: "No errors."
|
|
239
|
-
}, /* @__PURE__ */ React3.createElement(
|
|
240
|
+
}, /* @__PURE__ */ React3.createElement(Icon2, {
|
|
240
241
|
icon: "ph--check--regular",
|
|
241
242
|
size: 4
|
|
242
243
|
}));
|
|
@@ -253,14 +254,14 @@ var SwarmIndicator = () => {
|
|
|
253
254
|
if (state === 0) {
|
|
254
255
|
return /* @__PURE__ */ React3.createElement(StatusBar.Item, {
|
|
255
256
|
title: "Connected to swarm."
|
|
256
|
-
}, /* @__PURE__ */ React3.createElement(
|
|
257
|
+
}, /* @__PURE__ */ React3.createElement(Icon2, {
|
|
257
258
|
icon: "ph--lightning--regular",
|
|
258
259
|
size: 4
|
|
259
260
|
}));
|
|
260
261
|
} else {
|
|
261
262
|
return /* @__PURE__ */ React3.createElement(StatusBar.Item, {
|
|
262
263
|
title: "Disconnected from swarm."
|
|
263
|
-
}, /* @__PURE__ */ React3.createElement(
|
|
264
|
+
}, /* @__PURE__ */ React3.createElement(Icon2, {
|
|
264
265
|
icon: "ph--lightning-slash--regular",
|
|
265
266
|
size: 4,
|
|
266
267
|
classNames: styles.warning
|
|
@@ -269,14 +270,14 @@ var SwarmIndicator = () => {
|
|
|
269
270
|
};
|
|
270
271
|
var SavingIndicator = () => {
|
|
271
272
|
const [state, _setState] = useState2(0);
|
|
272
|
-
const
|
|
273
|
-
const { graph } =
|
|
274
|
-
const _space =
|
|
273
|
+
const layout = useLayout();
|
|
274
|
+
const { graph } = useAppGraph();
|
|
275
|
+
const _space = graph ? getActiveSpace(graph, layout.active[0]) : void 0;
|
|
275
276
|
switch (state) {
|
|
276
277
|
case 2:
|
|
277
278
|
return /* @__PURE__ */ React3.createElement(StatusBar.Item, {
|
|
278
279
|
title: "Edit not saved."
|
|
279
|
-
}, /* @__PURE__ */ React3.createElement(
|
|
280
|
+
}, /* @__PURE__ */ React3.createElement(Icon2, {
|
|
280
281
|
icon: "ph--circle--duotone",
|
|
281
282
|
size: 4,
|
|
282
283
|
classNames: styles.warning
|
|
@@ -284,7 +285,7 @@ var SavingIndicator = () => {
|
|
|
284
285
|
case 1:
|
|
285
286
|
return /* @__PURE__ */ React3.createElement(StatusBar.Item, {
|
|
286
287
|
title: "Saving..."
|
|
287
|
-
}, /* @__PURE__ */ React3.createElement(
|
|
288
|
+
}, /* @__PURE__ */ React3.createElement(Icon2, {
|
|
288
289
|
icon: "ph--circle--duotone",
|
|
289
290
|
size: 4,
|
|
290
291
|
classNames: styles.success
|
|
@@ -293,7 +294,7 @@ var SavingIndicator = () => {
|
|
|
293
294
|
default:
|
|
294
295
|
return /* @__PURE__ */ React3.createElement(StatusBar.Item, {
|
|
295
296
|
title: "Modified indicator."
|
|
296
|
-
}, /* @__PURE__ */ React3.createElement(
|
|
297
|
+
}, /* @__PURE__ */ React3.createElement(Icon2, {
|
|
297
298
|
icon: "ph--circle--duotone",
|
|
298
299
|
size: 4
|
|
299
300
|
}));
|
|
@@ -302,18 +303,23 @@ var SavingIndicator = () => {
|
|
|
302
303
|
var PerformanceIndicator = () => {
|
|
303
304
|
const [visible, setVisible] = useState2(false);
|
|
304
305
|
const [stats, refreshStats] = useStats();
|
|
305
|
-
return /* @__PURE__ */ React3.createElement(
|
|
306
|
+
return /* @__PURE__ */ React3.createElement(Popover.Root, {
|
|
307
|
+
open: visible,
|
|
308
|
+
onOpenChange: setVisible
|
|
309
|
+
}, /* @__PURE__ */ React3.createElement(Popover.Trigger, {
|
|
310
|
+
asChild: true
|
|
311
|
+
}, /* @__PURE__ */ React3.createElement(StatusBar.Button, {
|
|
306
312
|
onClick: () => setVisible((visible2) => !visible2),
|
|
307
313
|
title: "Performance panels"
|
|
308
|
-
}, /* @__PURE__ */ React3.createElement(
|
|
314
|
+
}, /* @__PURE__ */ React3.createElement(Icon2, {
|
|
309
315
|
icon: "ph--chart-bar--regular",
|
|
310
316
|
size: 4
|
|
311
|
-
})),
|
|
312
|
-
|
|
317
|
+
}))), /* @__PURE__ */ React3.createElement(Popover.Portal, null, /* @__PURE__ */ React3.createElement(Popover.Content, {
|
|
318
|
+
classNames: "max-is-[min(var(--radix-popover-content-available-width),300px)] max-bs-[--radix-popover-content-available-height]"
|
|
313
319
|
}, /* @__PURE__ */ React3.createElement(StatsPanel, {
|
|
314
320
|
stats,
|
|
315
321
|
onRefresh: refreshStats
|
|
316
|
-
})));
|
|
322
|
+
}), /* @__PURE__ */ React3.createElement(Popover.Arrow, null))));
|
|
317
323
|
};
|
|
318
324
|
var indicators = [
|
|
319
325
|
SavingIndicator,
|
|
@@ -333,13 +339,13 @@ import { useResizeDetector } from "react-resize-detector";
|
|
|
333
339
|
import { fullyQualifiedId } from "@dxos/react-client/echo";
|
|
334
340
|
import { useAttendableAttributes } from "@dxos/react-ui-attention";
|
|
335
341
|
import { SyntaxHighlighter as SyntaxHighlighter2 } from "@dxos/react-ui-syntax-highlighter";
|
|
336
|
-
import { mx
|
|
342
|
+
import { mx } from "@dxos/react-ui-theme";
|
|
337
343
|
var Wireframe = ({ classNames, label, object }) => {
|
|
338
344
|
const attendableAttrs = useAttendableAttributes(fullyQualifiedId(object));
|
|
339
345
|
const { width, height, ref } = useResizeDetector();
|
|
340
346
|
return /* @__PURE__ */ React4.createElement("div", {
|
|
341
347
|
ref,
|
|
342
|
-
className:
|
|
348
|
+
className: mx("relative grow min-bs-96", classNames),
|
|
343
349
|
...attendableAttrs
|
|
344
350
|
}, /* @__PURE__ */ React4.createElement("div", {
|
|
345
351
|
className: "absolute inset-2 flex flex-col gap-2 overflow-hidden font-mono"
|
|
@@ -377,22 +383,19 @@ var Wireframe = ({ classNames, label, object }) => {
|
|
|
377
383
|
// packages/plugins/plugin-debug/src/components/index.ts
|
|
378
384
|
var DebugApp = lazy(() => import("./DebugApp-LQHFFK3Y.mjs"));
|
|
379
385
|
var DebugSpace = lazy(() => import("./DebugSpace-4JHYA7FG.mjs"));
|
|
380
|
-
var SpaceGenerator = lazy(() => import("./SpaceGenerator-
|
|
386
|
+
var SpaceGenerator = lazy(() => import("./SpaceGenerator-4VO7E5P2.mjs"));
|
|
381
387
|
|
|
382
388
|
// packages/plugins/plugin-debug/src/capabilities/react-surface.tsx
|
|
383
389
|
var isSpaceDebug = (data) => data.type === `${DEBUG_PLUGIN}/space` && isSpace(data.space);
|
|
384
390
|
var isGraphDebug = (data) => data.graph instanceof Graph;
|
|
385
|
-
var react_surface_default = (context) => contributes(
|
|
391
|
+
var react_surface_default = (context) => contributes(Capabilities2.ReactSurface, [
|
|
386
392
|
createSurface({
|
|
387
393
|
id: `${DEBUG_PLUGIN}/settings`,
|
|
388
|
-
role: "
|
|
389
|
-
filter: (data) => data.subject === DEBUG_PLUGIN,
|
|
390
|
-
component: () => {
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
settings
|
|
394
|
-
});
|
|
395
|
-
}
|
|
394
|
+
role: "article",
|
|
395
|
+
filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === DEBUG_PLUGIN,
|
|
396
|
+
component: ({ data: { subject } }) => /* @__PURE__ */ React5.createElement(DebugSettings, {
|
|
397
|
+
settings: subject.value
|
|
398
|
+
})
|
|
396
399
|
}),
|
|
397
400
|
createSurface({
|
|
398
401
|
id: `${DEBUG_PLUGIN}/status`,
|
|
@@ -411,7 +414,7 @@ var react_surface_default = (context) => contributes(Capabilities3.ReactSurface,
|
|
|
411
414
|
id: `${DEBUG_PLUGIN}/devtools`,
|
|
412
415
|
role: "article",
|
|
413
416
|
filter: (data) => {
|
|
414
|
-
const settings = context.requestCapability(
|
|
417
|
+
const settings = context.requestCapability(Capabilities2.SettingsStore).getStore(DEBUG_PLUGIN).value;
|
|
415
418
|
return data.subject === "devtools" && !!settings.devtools;
|
|
416
419
|
},
|
|
417
420
|
component: () => /* @__PURE__ */ React5.createElement(Devtools, null)
|
|
@@ -429,7 +432,7 @@ var react_surface_default = (context) => contributes(Capabilities3.ReactSurface,
|
|
|
429
432
|
if (!(collection instanceof CollectionType)) {
|
|
430
433
|
return;
|
|
431
434
|
}
|
|
432
|
-
const { dispatchPromise: dispatch } = context.requestCapability(
|
|
435
|
+
const { dispatchPromise: dispatch } = context.requestCapability(Capabilities2.IntentDispatcher);
|
|
433
436
|
objects.forEach((object) => {
|
|
434
437
|
void dispatch(createIntent(SpaceAction.AddObject, {
|
|
435
438
|
target: collection,
|
|
@@ -463,9 +466,9 @@ var react_surface_default = (context) => contributes(Capabilities3.ReactSurface,
|
|
|
463
466
|
"article",
|
|
464
467
|
"section"
|
|
465
468
|
],
|
|
466
|
-
|
|
469
|
+
position: "hoist",
|
|
467
470
|
filter: (data) => {
|
|
468
|
-
const settings = context.requestCapability(
|
|
471
|
+
const settings = context.requestCapability(Capabilities2.SettingsStore).getStore(DEBUG_PLUGIN).value;
|
|
469
472
|
return isEchoObject(data.subject) && !!settings.wireframe;
|
|
470
473
|
},
|
|
471
474
|
component: ({ data, role }) => /* @__PURE__ */ React5.createElement(Wireframe, {
|
|
@@ -478,4 +481,4 @@ var react_surface_default = (context) => contributes(Capabilities3.ReactSurface,
|
|
|
478
481
|
export {
|
|
479
482
|
react_surface_default as default
|
|
480
483
|
};
|
|
481
|
-
//# sourceMappingURL=react-surface-
|
|
484
|
+
//# sourceMappingURL=react-surface-XDHEQY27.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/index.ts", "../../../src/components/DebugObjectPanel.tsx", "../../../src/components/DebugSettings.tsx", "../../../src/components/DebugStatus.tsx", "../../../src/components/Wireframe.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { Capabilities, contributes, createIntent, createSurface, type PluginsContext } from '@dxos/app-framework';\nimport { Devtools } from '@dxos/devtools';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { Graph } from '@dxos/plugin-graph';\nimport { SpaceAction, CollectionType } from '@dxos/plugin-space/types';\nimport {\n SpaceState,\n isSpace,\n isEchoObject,\n type ReactiveEchoObject,\n type ReactiveObject,\n type Space,\n} from '@dxos/react-client/echo';\n\nimport {\n DebugApp,\n DebugObjectPanel,\n DebugSettings,\n DebugSpace,\n DebugStatus,\n SpaceGenerator,\n Wireframe,\n} from '../components';\nimport { DEBUG_PLUGIN } from '../meta';\nimport { type DebugSettingsProps } from '../types';\n\ntype SpaceDebug = {\n type: string;\n space: Space;\n};\n\ntype GraphDebug = {\n graph: Graph;\n};\n\nconst isSpaceDebug = (data: any): data is SpaceDebug => data.type === `${DEBUG_PLUGIN}/space` && isSpace(data.space);\nconst isGraphDebug = (data: any): data is GraphDebug => data.graph instanceof Graph;\n\nexport default (context: PluginsContext) =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${DEBUG_PLUGIN}/settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<DebugSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === DEBUG_PLUGIN,\n component: ({ data: { subject } }) => <DebugSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/status`,\n role: 'status',\n component: () => <DebugStatus />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/complementary`,\n role: 'complementary--debug',\n filter: (data): data is { subject: ReactiveEchoObject<any> } => isEchoObject(data.subject),\n component: ({ data }) => <DebugObjectPanel object={data.subject} />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/devtools`,\n role: 'article',\n filter: (data): data is any => {\n const settings = context\n .requestCapability(Capabilities.SettingsStore)\n .getStore<DebugSettingsProps>(DEBUG_PLUGIN)!.value;\n return data.subject === 'devtools' && !!settings.devtools;\n },\n component: () => <Devtools />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/space`,\n role: 'article',\n filter: (data): data is { subject: SpaceDebug } => isSpaceDebug(data.subject),\n component: ({ data }) => {\n const handleCreateObject = useCallback(\n (objects: ReactiveObject<any>[]) => {\n if (!isSpace(data.subject.space)) {\n return;\n }\n\n const collection =\n data.subject.space.state.get() === SpaceState.SPACE_READY &&\n data.subject.space.properties[CollectionType.typename]?.target;\n if (!(collection instanceof CollectionType)) {\n return;\n }\n\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n objects.forEach((object) => {\n void dispatch(createIntent(SpaceAction.AddObject, { target: collection, object }));\n });\n },\n [data.subject.space],\n );\n\n const deprecated = false;\n return deprecated ? (\n <DebugSpace space={data.subject.space} onAddObjects={handleCreateObject} />\n ) : (\n <SpaceGenerator space={data.subject.space} onCreateObjects={handleCreateObject} />\n );\n },\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/graph`,\n role: 'article',\n filter: (data): data is { subject: GraphDebug } => isGraphDebug(data.subject),\n component: ({ data }) => <DebugApp graph={data.subject.graph} />,\n }),\n createSurface({\n id: `${DEBUG_PLUGIN}/wireframe`,\n role: ['article', 'section'],\n position: 'hoist',\n filter: (data): data is { subject: ReactiveEchoObject<any> } => {\n const settings = context\n .requestCapability(Capabilities.SettingsStore)\n .getStore<DebugSettingsProps>(DEBUG_PLUGIN)!.value;\n return isEchoObject(data.subject) && !!settings.wireframe;\n },\n component: ({ data, role }) => (\n <Wireframe label={`${role}:${name}`} object={data.subject} classNames='row-span-2 overflow-hidden' />\n ),\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport const DebugApp = lazy(() => import('./DebugApp'));\nexport const DebugSpace = lazy(() => import('./DebugSpace'));\nexport const SpaceGenerator = lazy(() => import('./SpaceGenerator'));\n\nexport * from './DebugObjectPanel';\nexport * from './DebugSettings';\nexport * from './DebugStatus';\nexport * from './Wireframe';\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type ReactiveEchoObject } from '@dxos/client/echo';\nimport { Clipboard, Input } from '@dxos/react-ui';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\n\nexport type DebugObjectPanelProps = {\n object: ReactiveEchoObject<any>;\n};\n\n// TODO(burdon): Get schema and traverse references.\nexport const DebugObjectPanel = ({ object }: DebugObjectPanelProps) => {\n const dxn = `dxn:echo:@:${object.id}`;\n return (\n <Clipboard.Provider>\n <div className='flex flex-col'>\n <Input.Root>\n <div role='none' className='flex flex-col gap-1'>\n <div role='none' className='flex gap-1'>\n <Input.TextInput disabled value={dxn} />\n <Clipboard.IconButton value={dxn} />\n </div>\n </div>\n </Input.Root>\n <SyntaxHighlighter classNames='flex text-xs' language='json'>\n {JSON.stringify(object, null, 2)}\n </SyntaxHighlighter>\n </div>\n </Clipboard.Provider>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useEffect, useState } from 'react';\n\nimport { Capabilities, useCapabilities } from '@dxos/app-framework';\nimport { type ConfigProto, defs, SaveConfig, Storage } from '@dxos/config';\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { useTranslation, Button, Toast, Input, useFileDownload, Select, Icon } from '@dxos/react-ui';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\nimport { setDeep } from '@dxos/util';\n\nimport { DEBUG_PLUGIN } from '../meta';\nimport { type DebugSettingsProps } from '../types';\n\ntype Toast = {\n title: string;\n description?: string;\n};\n\nconst StorageAdapters = {\n opfs: defs.Runtime.Client.Storage.StorageDriver.WEBFS,\n idb: defs.Runtime.Client.Storage.StorageDriver.IDB,\n} as const;\n\nexport const DebugSettings = ({ settings }: { settings: DebugSettingsProps }) => {\n const { t } = useTranslation(DEBUG_PLUGIN);\n const [toast, setToast] = useState<Toast>();\n const client = useClient();\n const download = useFileDownload();\n // TODO(mykola): Get updates from other places that change Config.\n const [storageConfig, setStorageConfig] = useState<ConfigProto>({});\n const [upload] = useCapabilities(Capabilities.FileUploader);\n\n useEffect(() => {\n void Storage().then((config) => setStorageConfig(config));\n }, []);\n\n const handleToast = (toast: Toast) => {\n setToast(toast);\n const t = setTimeout(() => setToast(undefined), 5_000);\n return () => clearTimeout(t);\n };\n\n const handleDownload = async () => {\n const data = await client.diagnostics();\n const file = new Blob([JSON.stringify(data, undefined, 2)], { type: 'text/plain' });\n const fileName = `composer-${new Date().toISOString().replace(/\\W/g, '-')}.json`;\n download(file, fileName);\n\n if (upload) {\n const info = await upload(new File([file], fileName), client.spaces.default);\n if (!info) {\n log.error('diagnostics failed to upload to IPFS');\n return;\n }\n handleToast({ title: t('settings uploaded'), description: t('settings uploaded to clipboard') });\n\n // TODO(nf): move to IpfsPlugin?\n const url = client.config.values.runtime!.services!.ipfs!.gateway + '/' + info.cid;\n void navigator.clipboard.writeText(url);\n handleToast({ title: t('settings uploaded'), description: t('settings uploaded to clipboard') });\n log.info('diagnostics', { url });\n }\n };\n\n const handleRepair = async () => {\n try {\n const info = await client.repair();\n setStorageConfig(await Storage());\n handleToast({ title: t('settings repair success'), description: JSON.stringify(info, undefined, 2) });\n } catch (err: any) {\n handleToast({ title: t('settings repair failed'), description: err.message });\n }\n };\n\n return (\n <DeprecatedFormContainer>\n <DeprecatedFormContainer>\n <DeprecatedFormInput label={t('settings show debug panel')}>\n <Input.Switch checked={settings.debug} onCheckedChange={(checked) => (settings.debug = !!checked)} />\n </DeprecatedFormInput>\n <DeprecatedFormInput label={t('settings show devtools panel')}>\n <Input.Switch checked={settings.devtools} onCheckedChange={(checked) => (settings.devtools = !!checked)} />\n </DeprecatedFormInput>\n <DeprecatedFormInput label={t('settings wireframe')}>\n <Input.Switch checked={settings.wireframe} onCheckedChange={(checked) => (settings.wireframe = !!checked)} />\n </DeprecatedFormInput>\n <DeprecatedFormInput label={t('settings download diagnostics')}>\n <Button onClick={handleDownload}>\n <Icon icon='ph--download-simple--regular' size={5} />\n </Button>\n </DeprecatedFormInput>\n <DeprecatedFormInput label={t('settings repair')}>\n <Button onClick={handleRepair}>\n <Icon icon='ph--first-aid-kit--regular' size={5} />\n </Button>\n </DeprecatedFormInput>\n\n {/* TODO(burdon): Move to layout? */}\n {toast && (\n <Toast.Root>\n <Toast.Body>\n <Toast.Title>\n <Icon icon='ph--gift--duotone' size={5} classNames='inline mr-1' />\n <span>{toast.title}</span>\n </Toast.Title>\n {toast.description && <Toast.Description>{toast.description}</Toast.Description>}\n </Toast.Body>\n </Toast.Root>\n )}\n\n <DeprecatedFormInput label={t('settings choose storage adaptor')}>\n <Select.Root\n value={\n Object.entries(StorageAdapters).find(\n ([name, value]) => value === storageConfig?.runtime?.client?.storage?.dataStore,\n )?.[0]\n }\n onValueChange={(value) => {\n if (confirm(t('settings storage adapter changed alert'))) {\n updateConfig(\n storageConfig,\n setStorageConfig,\n ['runtime', 'client', 'storage', 'dataStore'],\n StorageAdapters[value as keyof typeof StorageAdapters],\n );\n }\n }}\n >\n <Select.TriggerButton placeholder={t('settings data store label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {Object.keys(StorageAdapters).map((key) => (\n <Select.Option key={key} value={key}>\n {t(`settings storage adaptor ${key} label`)}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n </DeprecatedFormContainer>\n </DeprecatedFormContainer>\n );\n};\n\nconst updateConfig = (config: ConfigProto, setConfig: (newConfig: ConfigProto) => void, path: string[], value: any) => {\n const storageConfigCopy = JSON.parse(JSON.stringify(config ?? {}));\n setDeep(storageConfigCopy, path, value);\n setConfig(storageConfigCopy);\n queueMicrotask(async () => {\n await SaveConfig(storageConfigCopy);\n });\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { useAppGraph, useLayout } from '@dxos/app-framework';\nimport { TimeoutError } from '@dxos/async';\nimport { StatsPanel, useStats } from '@dxos/devtools';\nimport { getActiveSpace } from '@dxos/plugin-space';\nimport { StatusBar } from '@dxos/plugin-status-bar';\nimport { ConnectionState } from '@dxos/protocols/proto/dxos/client/services';\nimport { useNetworkStatus } from '@dxos/react-client/mesh';\nimport { Icon, Popover } from '@dxos/react-ui';\n\nconst styles = {\n success: 'text-sky-300 dark:text-green-700',\n warning: 'text-orange-300 dark:text-orange-600',\n error: 'text-red-300 dark:text-red-600',\n};\n\n// TODO(burdon): Move out of debug plugin.\n// TODO(burdon): Make pluggable (move indicators to relevant plugins).\n// TODO(burdon): Vault heartbeat indicator (global scope)?\n\n/**\n * Ensure light doesn't flicker immediately after start.\n */\n// TODO(burdon): Move to @dxos/async (debounce?)\nconst _timer = (cb: (err?: Error) => void, options?: { min?: number; max?: number }) => {\n const min = options?.min ?? 500;\n let start: number;\n let pending: NodeJS.Timeout;\n let timeout: NodeJS.Timeout;\n return {\n start: () => {\n start = Date.now();\n clearTimeout(pending);\n if (options?.max) {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n cb(new TimeoutError(options.max));\n }, options.max);\n }\n },\n stop: () => {\n clearTimeout(timeout);\n const delta = Date.now() - start;\n if (delta < min) {\n pending = setTimeout(() => {\n cb();\n }, min - delta);\n }\n },\n };\n};\n\n/**\n * Global error handler.\n */\n// TODO(burdon): Integrate with Sentry?\nconst ErrorIndicator = () => {\n const [, forceUpdate] = useState({});\n const errorRef = useRef<Error>();\n useEffect(() => {\n const errorListener = (event: any) => {\n const error: Error = event.error ?? event.reason;\n if (errorRef.current !== error) {\n errorRef.current = error;\n forceUpdate({});\n }\n };\n\n // TODO(burdon): Register globally?\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/error_event\n window.addEventListener('error', errorListener);\n\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/unhandledrejection_event\n window.addEventListener('unhandledrejection', errorListener);\n\n return () => {\n window.removeEventListener('error', errorListener);\n window.removeEventListener('unhandledrejection', errorListener);\n };\n }, []);\n\n const handleReset = () => {\n errorRef.current = undefined;\n forceUpdate({});\n };\n\n if (errorRef.current) {\n return (\n <StatusBar.Button title={errorRef.current.message} onClick={handleReset}>\n <Icon icon='ph--warning-circle--duotone' size={4} classNames={styles.error} />\n </StatusBar.Button>\n );\n } else {\n return (\n <StatusBar.Item title='No errors.'>\n <Icon icon='ph--check--regular' size={4} />\n </StatusBar.Item>\n );\n }\n};\n\n/**\n * Swarm connection handler.\n */\nconst SwarmIndicator = () => {\n const [state, setState] = useState(0);\n const { swarm } = useNetworkStatus();\n useEffect(() => {\n setState(swarm === ConnectionState.ONLINE ? 0 : 1);\n }, [swarm]);\n\n if (state === 0) {\n return (\n <StatusBar.Item title='Connected to swarm.'>\n <Icon icon='ph--lightning--regular' size={4} />\n </StatusBar.Item>\n );\n } else {\n return (\n <StatusBar.Item title='Disconnected from swarm.'>\n <Icon icon='ph--lightning-slash--regular' size={4} classNames={styles.warning} />\n </StatusBar.Item>\n );\n }\n};\n\n/**\n * Data saving indicator.\n */\n// TODO(burdon): Merge with SaveStatus.\nconst SavingIndicator = () => {\n const [state, _setState] = useState(0);\n const layout = useLayout();\n const { graph } = useAppGraph();\n const _space = graph ? getActiveSpace(graph, layout.active[0]) : undefined;\n // TODO(dmaretskyi): Fix this when we have save status for automerge.\n // useEffect(() => {\n // if (!space) {\n // return;\n // }\n // const { start, stop } = timer(() => setState(0), { min: 250 });\n // return space.db.pendingBatch.on(({ duration, error }) => {\n // if (error) {\n // setState(2);\n // stop();\n // } else if (duration === undefined) {\n // setState(1);\n // start();\n // } else {\n // stop();\n // }\n // });\n // }, [space]);\n\n switch (state) {\n case 2:\n return (\n <StatusBar.Item title='Edit not saved.'>\n <Icon icon='ph--circle--duotone' size={4} classNames={styles.warning} />\n </StatusBar.Item>\n );\n case 1:\n return (\n <StatusBar.Item title='Saving...'>\n <Icon icon='ph--circle--duotone' size={4} classNames={styles.success} />\n </StatusBar.Item>\n );\n case 0:\n default:\n return (\n <StatusBar.Item title='Modified indicator.'>\n <Icon icon='ph--circle--duotone' size={4} />\n </StatusBar.Item>\n );\n }\n};\n\nconst PerformanceIndicator = () => {\n const [visible, setVisible] = useState(false);\n const [stats, refreshStats] = useStats();\n\n return (\n <Popover.Root open={visible} onOpenChange={setVisible}>\n <Popover.Trigger asChild>\n <StatusBar.Button onClick={() => setVisible((visible) => !visible)} title='Performance panels'>\n <Icon icon='ph--chart-bar--regular' size={4} />\n </StatusBar.Button>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content classNames='max-is-[min(var(--radix-popover-content-available-width),300px)] max-bs-[--radix-popover-content-available-height]'>\n <StatsPanel stats={stats} onRefresh={refreshStats} />\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n );\n};\n\nconst indicators = [SavingIndicator, SwarmIndicator, PerformanceIndicator, ErrorIndicator];\n\nexport const DebugStatus = () => {\n return (\n <>\n {indicators.map((Indicator) => (\n <Indicator key={Indicator.name} />\n ))}\n </>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\nimport { useResizeDetector } from 'react-resize-detector';\n\nimport { fullyQualifiedId, type ReactiveEchoObject } from '@dxos/react-client/echo';\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { useAttendableAttributes } from '@dxos/react-ui-attention';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { mx } from '@dxos/react-ui-theme';\n\n// TODO(burdon): Create generic container with wireframe mode.\nexport type WireframeProps = ThemedClassName<{\n label?: string;\n object: ReactiveEchoObject<any>;\n}>;\n\n// TODO(burdon): Make focusable and attendable with input.\nexport const Wireframe = ({ classNames, label, object }: WireframeProps) => {\n const attendableAttrs = useAttendableAttributes(fullyQualifiedId(object));\n const { width, height, ref } = useResizeDetector();\n return (\n <div ref={ref} className={mx('relative grow min-bs-96', classNames)} {...attendableAttrs}>\n <div className='absolute inset-2 flex flex-col gap-2 overflow-hidden font-mono'>\n <div className='flex justify-between'>\n <div>{label}</div>\n <div>{`[${width}x${height}]`}</div>\n </div>\n {object && (\n <SyntaxHighlighter language='json' classNames='flex w-full text-xs opacity-75 rounded'>\n {JSON.stringify(object, undefined, 2)}\n </SyntaxHighlighter>\n )}\n </div>\n <svg width={width} height={height} className='bg-transparent [&>*]:text-subdued'>\n <rect x={0} y={0} width={width} height={height} strokeWidth={1} fill='none' />\n <line x1={0} y1={0} x2={width} y2={height} strokeWidth={1} />\n <line x1={0} y1={height} x2={width} y2={0} strokeWidth={1} />\n </svg>\n </div>\n );\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "useCallback", "Capabilities", "contributes", "createIntent", "createSurface", "Devtools", "SettingsStore", "Graph", "SpaceAction", "CollectionType", "SpaceState", "isSpace", "isEchoObject", "lazy", "React", "Clipboard", "Input", "SyntaxHighlighter", "DebugObjectPanel", "object", "dxn", "id", "Clipboard", "Provider", "div", "className", "Input", "Root", "role", "TextInput", "disabled", "value", "IconButton", "SyntaxHighlighter", "classNames", "language", "JSON", "stringify", "React", "useEffect", "useState", "Capabilities", "useCapabilities", "defs", "SaveConfig", "Storage", "log", "useClient", "useTranslation", "Button", "Toast", "Input", "useFileDownload", "Select", "Icon", "DeprecatedFormContainer", "DeprecatedFormInput", "setDeep", "StorageAdapters", "opfs", "defs", "Runtime", "Client", "Storage", "StorageDriver", "WEBFS", "idb", "IDB", "DebugSettings", "settings", "t", "useTranslation", "DEBUG_PLUGIN", "toast", "setToast", "useState", "client", "useClient", "download", "useFileDownload", "storageConfig", "setStorageConfig", "upload", "useCapabilities", "Capabilities", "FileUploader", "useEffect", "then", "config", "handleToast", "setTimeout", "undefined", "clearTimeout", "handleDownload", "data", "diagnostics", "file", "Blob", "JSON", "stringify", "type", "fileName", "Date", "toISOString", "replace", "info", "File", "spaces", "default", "log", "error", "title", "description", "url", "values", "runtime", "services", "ipfs", "gateway", "cid", "navigator", "clipboard", "writeText", "handleRepair", "repair", "err", "message", "React", "DeprecatedFormContainer", "DeprecatedFormInput", "label", "Input", "Switch", "checked", "debug", "onCheckedChange", "devtools", "wireframe", "Button", "onClick", "Icon", "icon", "size", "Toast", "Root", "Body", "Title", "classNames", "span", "Description", "Select", "value", "Object", "entries", "find", "name", "storage", "dataStore", "onValueChange", "confirm", "updateConfig", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "keys", "map", "key", "Option", "setConfig", "path", "storageConfigCopy", "parse", "setDeep", "queueMicrotask", "SaveConfig", "React", "useEffect", "useRef", "useState", "useAppGraph", "useLayout", "TimeoutError", "StatsPanel", "useStats", "getActiveSpace", "StatusBar", "ConnectionState", "useNetworkStatus", "Icon", "Popover", "styles", "success", "warning", "error", "ErrorIndicator", "forceUpdate", "useState", "errorRef", "useRef", "useEffect", "errorListener", "event", "error", "reason", "current", "window", "addEventListener", "removeEventListener", "handleReset", "undefined", "React", "StatusBar", "Button", "title", "message", "onClick", "Icon", "icon", "size", "classNames", "styles", "Item", "SwarmIndicator", "state", "setState", "swarm", "useNetworkStatus", "ConnectionState", "ONLINE", "warning", "SavingIndicator", "_setState", "layout", "useLayout", "graph", "useAppGraph", "_space", "getActiveSpace", "active", "success", "PerformanceIndicator", "visible", "setVisible", "stats", "refreshStats", "useStats", "Popover", "Root", "open", "onOpenChange", "Trigger", "asChild", "Portal", "Content", "StatsPanel", "onRefresh", "Arrow", "indicators", "DebugStatus", "map", "Indicator", "key", "name", "React", "useResizeDetector", "fullyQualifiedId", "useAttendableAttributes", "SyntaxHighlighter", "mx", "Wireframe", "classNames", "label", "object", "attendableAttrs", "useAttendableAttributes", "fullyQualifiedId", "width", "height", "ref", "useResizeDetector", "React", "div", "className", "mx", "SyntaxHighlighter", "language", "JSON", "stringify", "undefined", "svg", "rect", "x", "y", "strokeWidth", "fill", "line", "x1", "y1", "x2", "y2", "DebugApp", "lazy", "DebugSpace", "SpaceGenerator", "isSpaceDebug", "data", "type", "DEBUG_PLUGIN", "isSpace", "space", "isGraphDebug", "graph", "Graph", "context", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "role", "filter", "subject", "SettingsStore", "prefix", "component", "React", "DebugSettings", "settings", "value", "DebugStatus", "isEchoObject", "DebugObjectPanel", "object", "requestCapability", "getStore", "devtools", "Devtools", "handleCreateObject", "useCallback", "objects", "collection", "state", "get", "SpaceState", "SPACE_READY", "properties", "CollectionType", "typename", "target", "dispatchPromise", "dispatch", "IntentDispatcher", "forEach", "createIntent", "SpaceAction", "AddObject", "deprecated", "DebugSpace", "onAddObjects", "SpaceGenerator", "onCreateObjects", "DebugApp", "position", "wireframe", "Wireframe", "label", "name", "classNames"]
|
|
7
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DebugPlugin.d.ts","sourceRoot":"","sources":["../../../src/DebugPlugin.tsx"],"names":[],"mappings":"AAYA,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"DebugPlugin.d.ts","sourceRoot":"","sources":["../../../src/DebugPlugin.tsx"],"names":[],"mappings":"AAYA,eAAO,MAAM,WAAW,4CAmCvB,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { type PluginsContext } from '@dxos/app-framework';
|
|
|
2
2
|
import { type Node } from '@dxos/plugin-graph';
|
|
3
3
|
declare const _default: (context: PluginsContext) => import("@dxos/app-framework").Capability<Readonly<{
|
|
4
4
|
id: string;
|
|
5
|
-
|
|
5
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
6
6
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
7
7
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
8
8
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -10,7 +10,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
10
10
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
11
11
|
}> | Readonly<{
|
|
12
12
|
id: string;
|
|
13
|
-
|
|
13
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
14
14
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
15
15
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
16
16
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -18,7 +18,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
18
18
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
19
19
|
}>[] | (Readonly<{
|
|
20
20
|
id: string;
|
|
21
|
-
|
|
21
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
22
22
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
23
23
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
24
24
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -26,7 +26,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
26
26
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
27
27
|
}> | Readonly<{
|
|
28
28
|
id: string;
|
|
29
|
-
|
|
29
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
30
30
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
31
31
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
32
32
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -34,7 +34,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
34
34
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
35
35
|
}>[] | (Readonly<{
|
|
36
36
|
id: string;
|
|
37
|
-
|
|
37
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
38
38
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
39
39
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
40
40
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -42,7 +42,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
42
42
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
43
43
|
}> | Readonly<{
|
|
44
44
|
id: string;
|
|
45
|
-
|
|
45
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
46
46
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
47
47
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
48
48
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -50,7 +50,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
50
50
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
51
51
|
}>[] | (Readonly<{
|
|
52
52
|
id: string;
|
|
53
|
-
|
|
53
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
54
54
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
55
55
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
56
56
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -58,7 +58,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
58
58
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
59
59
|
}> | Readonly<{
|
|
60
60
|
id: string;
|
|
61
|
-
|
|
61
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
62
62
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
63
63
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
64
64
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -66,7 +66,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
66
66
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
67
67
|
}>[] | (Readonly<{
|
|
68
68
|
id: string;
|
|
69
|
-
|
|
69
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
70
70
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
71
71
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
72
72
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -74,7 +74,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
74
74
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
75
75
|
}> | Readonly<{
|
|
76
76
|
id: string;
|
|
77
|
-
|
|
77
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
78
78
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
79
79
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
80
80
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -82,7 +82,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
82
82
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
83
83
|
}>[] | (Readonly<{
|
|
84
84
|
id: string;
|
|
85
|
-
|
|
85
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
86
86
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
87
87
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
88
88
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -90,7 +90,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
90
90
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
91
91
|
}> | Readonly<{
|
|
92
92
|
id: string;
|
|
93
|
-
|
|
93
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
94
94
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
95
95
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
96
96
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -98,7 +98,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
98
98
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
99
99
|
}>[] | (Readonly<{
|
|
100
100
|
id: string;
|
|
101
|
-
|
|
101
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
102
102
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
103
103
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
104
104
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -106,7 +106,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
106
106
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
107
107
|
}> | Readonly<{
|
|
108
108
|
id: string;
|
|
109
|
-
|
|
109
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
110
110
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
111
111
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
112
112
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -114,7 +114,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
114
114
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
115
115
|
}>[] | (Readonly<{
|
|
116
116
|
id: string;
|
|
117
|
-
|
|
117
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
118
118
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
119
119
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
120
120
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -122,7 +122,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
122
122
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
123
123
|
}> | Readonly<{
|
|
124
124
|
id: string;
|
|
125
|
-
|
|
125
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
126
126
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
127
127
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
128
128
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -130,7 +130,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
130
130
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
131
131
|
}>[] | (Readonly<{
|
|
132
132
|
id: string;
|
|
133
|
-
|
|
133
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
134
134
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
135
135
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
136
136
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -138,7 +138,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
138
138
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
139
139
|
}> | Readonly<{
|
|
140
140
|
id: string;
|
|
141
|
-
|
|
141
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
142
142
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
143
143
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
144
144
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -146,7 +146,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
146
146
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
147
147
|
}>[] | (Readonly<{
|
|
148
148
|
id: string;
|
|
149
|
-
|
|
149
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
150
150
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
151
151
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
152
152
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -154,7 +154,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
154
154
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
155
155
|
}> | Readonly<{
|
|
156
156
|
id: string;
|
|
157
|
-
|
|
157
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
158
158
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
159
159
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
160
160
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -162,7 +162,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
162
162
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
163
163
|
}>[] | (any[] | Readonly<{
|
|
164
164
|
id: string;
|
|
165
|
-
|
|
165
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
166
166
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
167
167
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
168
168
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -170,7 +170,7 @@ declare const _default: (context: PluginsContext) => import("@dxos/app-framework
|
|
|
170
170
|
filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
|
|
171
171
|
}> | Readonly<{
|
|
172
172
|
id: string;
|
|
173
|
-
|
|
173
|
+
position: import("packages/common/util/dist/types/src").Position;
|
|
174
174
|
resolver?: import("@dxos/plugin-graph").ResolverExtension;
|
|
175
175
|
connector?: import("@dxos/plugin-graph").ConnectorExtension;
|
|
176
176
|
relation?: import("@dxos/plugin-graph").Relation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErF,OAAO,EAA6B,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;kCASjD,cAAc;;
|
|
1
|
+
{"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErF,OAAO,EAA6B,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;kCASjD,cAAc;;qBA+Ea,qCAAqC;sBACnE,oBAAiB;uBAAgD,oBAAiB;sBAChE,oBAAiB;;2BAC3B,uCAAiB;;;qBACtB,qCAIpB;sBAES,oBAAiB;uBAAgD,oBACrE;sBACE,oBAAc;;2BAEZ,uCAAG;;;qBAEL,qCAGT;sBAGqB,oBACvB;uBAC0B,oBAAiB;sBAE7B,oBAAiB;;2BAID,uCAAiB;;;qBAGT,qCAAqC;sBACvC,oBAC1B;uBACH,oBAAU;sBACe,oBAAiB;;2BAE1C,uCACF;;;qBAAwF,qCAChF;sBACa,oBAAiB;uBAE9B,oBAAiB;sBAAgD,oBACpE;;2BAID,uCAFY;;;qBACa,qCAAqC;sBAE5D,oBACR;uBAEQ,oBACX;sBAEa,oBAAW;;2BAMjB,uCAAY;;;qBAEV,qCAGK;sBAAsC,oBACxC;uBACE,oBACR;sBAAiD,oBAAgB;;2BAK9D,uCAAU;;;qBAKV,qCAGJ;sBAGqB,oBAAiB;uBAAgD,oBAAiB;sBAAgD,oBAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,oBAAiB;uBAAgD,oBAAiB;sBAAgD,oBAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,oBAAiB;uBAAgD,oBAAiB;sBAAgD,oBAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,oBAAiB;uBAAgD,oBAAiB;sBAAgD,oBAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,oBAAiB;uBAAgD,oBAAiB;sBAAgD,oBAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,oBAAiB;uBAAgD,oBAAiB;sBAAgD,oBAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,oBAAiB;uBAAgD,oBAAiB;sBAAgD,oBAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,oBAAiB;uBAAgD,oBAAiB;sBAAgD,oBAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,oBAAiB;uBAAgD,oBAAiB;sBAAgD,oBAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,oBAAiB;uBAAgD,oBAAiB;sBAAgD,oBAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,oBAAiB;uBAAgD,oBAAiB;sBAAgD,oBAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,oBAAiB;uBAAgD,oBAAiB;sBAAgD,oBAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,oBAAiB;uBAAgD,oBAAiB;sBAAgD,oBAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,oBAAiB;uBAAgD,oBAAiB;sBAAgD,oBAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,oBAAiB;uBAAgD,oBAAiB;sBAAgD,oBAAiB;;2BAAkE,uCAAiB;;AArK1mL,wBAoKE"}
|