@dxos/plugin-observability 0.8.4-main.422d1c7879 → 0.8.4-main.4f23b4e393
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/neutral/HelpContainer-NYKOV3GM.mjs +68 -0
- package/dist/lib/neutral/HelpContainer-NYKOV3GM.mjs.map +7 -0
- package/dist/lib/neutral/ObservabilityPlugin.mjs +62 -0
- package/dist/lib/neutral/ObservabilityPlugin.mjs.map +7 -0
- package/dist/lib/{node-esm/cli/index.mjs → neutral/ObservabilityPlugin.node.mjs} +8 -7
- package/dist/lib/neutral/ObservabilityPlugin.node.mjs.map +7 -0
- package/dist/lib/{browser/ObservabilitySettings-EM7ABGCA.mjs → neutral/ObservabilitySettings-H6UKYDDT.mjs} +9 -13
- package/dist/lib/neutral/ObservabilitySettings-H6UKYDDT.mjs.map +7 -0
- package/dist/lib/neutral/app-graph-builder-PTVHNKQY.mjs +37 -0
- package/dist/lib/neutral/app-graph-builder-PTVHNKQY.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/index.mjs +19 -0
- package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
- package/dist/lib/{browser/capture-user-feedback-H4KPG7PC.mjs → neutral/capture-user-feedback-M45PTVMA.mjs} +7 -10
- package/dist/lib/neutral/capture-user-feedback-M45PTVMA.mjs.map +7 -0
- package/dist/lib/neutral/chunk-ANCT53Y3.mjs +19 -0
- package/dist/lib/neutral/chunk-ANCT53Y3.mjs.map +7 -0
- package/dist/lib/neutral/chunk-LBYPFOE5.mjs +132 -0
- package/dist/lib/neutral/chunk-LBYPFOE5.mjs.map +7 -0
- package/dist/lib/neutral/chunk-YZMTBNAS.mjs +8 -0
- package/dist/lib/neutral/chunk-YZMTBNAS.mjs.map +7 -0
- package/dist/lib/neutral/client-ready-TM7VE6CH.mjs +116 -0
- package/dist/lib/neutral/client-ready-TM7VE6CH.mjs.map +7 -0
- package/dist/lib/neutral/components/index.mjs +44 -0
- package/dist/lib/neutral/components/index.mjs.map +7 -0
- package/dist/lib/neutral/containers/index.mjs +9 -0
- package/dist/lib/neutral/containers/index.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +18 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/meta.mjs +8 -0
- package/dist/lib/neutral/operation-handler-4WWRXOHR.mjs +13 -0
- package/dist/lib/neutral/operation-handler-4WWRXOHR.mjs.map +7 -0
- package/dist/lib/neutral/operations/index.mjs +8 -0
- package/dist/lib/neutral/plugin.mjs +16 -0
- package/dist/lib/neutral/plugin.mjs.map +7 -0
- package/dist/lib/neutral/react-surface-2LUZ7EK5.mjs +41 -0
- package/dist/lib/neutral/react-surface-2LUZ7EK5.mjs.map +7 -0
- package/dist/lib/{browser/send-event-BICCRJ2W.mjs → neutral/send-event-DPYXUUL5.mjs} +7 -10
- package/dist/lib/neutral/send-event-DPYXUUL5.mjs.map +7 -0
- package/dist/lib/neutral/settings-MZYK2WQR.mjs +30 -0
- package/dist/lib/neutral/settings-MZYK2WQR.mjs.map +7 -0
- package/dist/lib/neutral/state-5COCK3KV.mjs +27 -0
- package/dist/lib/neutral/state-5COCK3KV.mjs.map +7 -0
- package/dist/lib/{browser/toggle-NV2X62VV.mjs → neutral/toggle-VKTFKVFC.mjs} +8 -11
- package/dist/lib/neutral/toggle-VKTFKVFC.mjs.map +7 -0
- package/dist/lib/{browser/chunk-K33HLC3Z.mjs → neutral/translations.mjs} +4 -4
- package/dist/lib/neutral/translations.mjs.map +7 -0
- package/dist/lib/neutral/types/index.mjs +14 -0
- package/dist/lib/neutral/types/index.mjs.map +7 -0
- package/dist/types/src/ObservabilityPlugin.d.ts +6 -0
- package/dist/types/src/ObservabilityPlugin.d.ts.map +1 -1
- package/dist/types/src/{cli/plugin.d.ts → ObservabilityPlugin.node.d.ts} +2 -1
- package/dist/types/src/ObservabilityPlugin.node.d.ts.map +1 -0
- package/dist/types/src/ObservabilityPlugin.test.d.ts +2 -0
- package/dist/types/src/ObservabilityPlugin.test.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/client-ready.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +1 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
- package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/components/FeedbackForm/FeedbackForm.d.ts +6 -3
- package/dist/types/src/components/FeedbackForm/FeedbackForm.d.ts.map +1 -1
- package/dist/types/src/components/FeedbackForm/FeedbackForm.stories.d.ts +19 -19
- package/dist/types/src/components/FeedbackForm/FeedbackForm.stories.d.ts.map +1 -1
- package/dist/types/src/components/ObservabilitySettings/ObservabilitySettings.d.ts +1 -1
- package/dist/types/src/components/ObservabilitySettings/ObservabilitySettings.d.ts.map +1 -1
- package/dist/types/src/components/ObservabilitySettings/ObservabilitySettings.stories.d.ts +17 -18
- package/dist/types/src/components/ObservabilitySettings/ObservabilitySettings.stories.d.ts.map +1 -1
- package/dist/types/src/containers/HelpContainer/HelpContainer.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -4
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/operations/capture-user-feedback.d.ts +3 -3
- package/dist/types/src/operations/capture-user-feedback.d.ts.map +1 -1
- package/dist/types/src/operations/index.d.ts +1 -3
- package/dist/types/src/operations/index.d.ts.map +1 -1
- package/dist/types/src/operations/send-event.d.ts +3 -3
- package/dist/types/src/operations/send-event.d.ts.map +1 -1
- package/dist/types/src/operations/toggle.d.ts +3 -3
- package/dist/types/src/operations/toggle.d.ts.map +1 -1
- package/dist/types/src/plugin.d.ts +4 -0
- package/dist/types/src/plugin.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +17 -19
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/ObservabilityCapabilities.d.ts +28 -0
- package/dist/types/src/types/ObservabilityCapabilities.d.ts.map +1 -0
- package/dist/types/src/types/ObservabilityEvents.d.ts +4 -0
- package/dist/types/src/types/ObservabilityEvents.d.ts.map +1 -0
- package/dist/types/src/{operations/definitions.d.ts → types/ObservabilityOperation.d.ts} +2 -5
- package/dist/types/src/types/ObservabilityOperation.d.ts.map +1 -0
- package/dist/types/src/types/Settings.d.ts +1 -1
- package/dist/types/src/types/Settings.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +3 -2
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +84 -51
- package/src/{cli/plugin.ts → ObservabilityPlugin.node.ts} +5 -3
- package/src/ObservabilityPlugin.test.ts +25 -0
- package/src/ObservabilityPlugin.ts +18 -5
- package/src/capabilities/client-ready.ts +25 -4
- package/src/capabilities/index.ts +1 -1
- package/src/capabilities/operation-handler.ts +1 -1
- package/src/capabilities/react-surface.tsx +1 -1
- package/src/components/FeedbackForm/FeedbackForm.stories.tsx +13 -1
- package/src/components/FeedbackForm/FeedbackForm.tsx +22 -6
- package/src/components/ObservabilitySettings/ObservabilitySettings.stories.tsx +2 -1
- package/src/components/ObservabilitySettings/ObservabilitySettings.tsx +8 -12
- package/src/containers/HelpContainer/HelpContainer.tsx +5 -4
- package/src/index.ts +1 -4
- package/src/meta.ts +1 -0
- package/src/operations/capture-user-feedback.ts +11 -11
- package/src/operations/index.ts +1 -4
- package/src/operations/send-event.ts +3 -4
- package/src/operations/toggle.ts +3 -4
- package/src/plugin.ts +11 -0
- package/src/translations.ts +1 -2
- package/src/types/ObservabilityCapabilities.ts +42 -0
- package/src/types/{events.ts → ObservabilityEvents.ts} +3 -3
- package/src/{operations/definitions.ts → types/ObservabilityOperation.ts} +4 -6
- package/src/types/Settings.ts +4 -1
- package/src/types/index.ts +3 -2
- package/dist/lib/browser/ObservabilitySettings-EM7ABGCA.mjs.map +0 -7
- package/dist/lib/browser/capture-user-feedback-H4KPG7PC.mjs.map +0 -7
- package/dist/lib/browser/chunk-6WX6ST5B.mjs +0 -49
- package/dist/lib/browser/chunk-6WX6ST5B.mjs.map +0 -7
- package/dist/lib/browser/chunk-K33HLC3Z.mjs.map +0 -7
- package/dist/lib/browser/chunk-VZR3FNBD.mjs +0 -85
- package/dist/lib/browser/chunk-VZR3FNBD.mjs.map +0 -7
- package/dist/lib/browser/cli/index.mjs +0 -20
- package/dist/lib/browser/cli/index.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -110
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/operations/index.mjs +0 -16
- package/dist/lib/browser/operations/index.mjs.map +0 -7
- package/dist/lib/browser/send-event-BICCRJ2W.mjs.map +0 -7
- package/dist/lib/browser/toggle-NV2X62VV.mjs.map +0 -7
- package/dist/lib/browser/types/index.mjs +0 -16
- package/dist/lib/node-esm/ObservabilitySettings-VP4A362Z.mjs +0 -32
- package/dist/lib/node-esm/ObservabilitySettings-VP4A362Z.mjs.map +0 -7
- package/dist/lib/node-esm/capture-user-feedback-DTL3DUXB.mjs +0 -26
- package/dist/lib/node-esm/capture-user-feedback-DTL3DUXB.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FZRJBWSE.mjs +0 -86
- package/dist/lib/node-esm/chunk-FZRJBWSE.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
- package/dist/lib/node-esm/chunk-JGHMP7UL.mjs +0 -35
- package/dist/lib/node-esm/chunk-JGHMP7UL.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-QZKJ2TUU.mjs +0 -50
- package/dist/lib/node-esm/chunk-QZKJ2TUU.mjs.map +0 -7
- package/dist/lib/node-esm/cli/index.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -111
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/operations/index.mjs +0 -17
- package/dist/lib/node-esm/operations/index.mjs.map +0 -7
- package/dist/lib/node-esm/send-event-IWZKYZBI.mjs +0 -24
- package/dist/lib/node-esm/send-event-IWZKYZBI.mjs.map +0 -7
- package/dist/lib/node-esm/toggle-NJWUAPD4.mjs +0 -49
- package/dist/lib/node-esm/toggle-NJWUAPD4.mjs.map +0 -7
- package/dist/lib/node-esm/types/index.mjs +0 -17
- package/dist/types/src/cli/index.d.ts +0 -2
- package/dist/types/src/cli/index.d.ts.map +0 -1
- package/dist/types/src/cli/plugin.d.ts.map +0 -1
- package/dist/types/src/operations/definitions.d.ts.map +0 -1
- package/dist/types/src/types/capabilities.d.ts +0 -25
- package/dist/types/src/types/capabilities.d.ts.map +0 -1
- package/dist/types/src/types/events.d.ts +0 -6
- package/dist/types/src/types/events.d.ts.map +0 -1
- package/src/cli/index.ts +0 -5
- package/src/types/capabilities.ts +0 -37
- /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
- /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs.map +0 -0
- /package/dist/lib/{browser/types → neutral}/index.mjs.map +0 -0
- /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/meta.mjs.map} +0 -0
- /package/dist/lib/{node-esm/types → neutral/operations}/index.mjs.map +0 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/containers/HelpContainer/HelpContainer.tsx
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import React, { useCallback, useState } from "react";
|
|
6
|
+
import { useCapabilities, useCapability, useOperationInvoker } from "@dxos/app-framework/ui";
|
|
7
|
+
import { LayoutOperation } from "@dxos/app-toolkit";
|
|
8
|
+
import { runAndForwardErrors } from "@dxos/effect";
|
|
9
|
+
import { useAsyncEffect } from "@dxos/react-hooks";
|
|
10
|
+
import { osTranslations } from "@dxos/ui-theme";
|
|
11
|
+
import { FeedbackForm } from "#components";
|
|
12
|
+
import { meta } from "#meta";
|
|
13
|
+
import { ObservabilityOperation } from "#types";
|
|
14
|
+
import { ObservabilityCapabilities } from "#types";
|
|
15
|
+
var HelpContainer = () => {
|
|
16
|
+
const { invokePromise } = useOperationInvoker();
|
|
17
|
+
const observability = useCapability(ObservabilityCapabilities.Observability);
|
|
18
|
+
const [downloadLogs] = useCapabilities(ObservabilityCapabilities.LogDownloader);
|
|
19
|
+
const [feedbackAvailable, setFeedbackAvailable] = useState(false);
|
|
20
|
+
useAsyncEffect(async (controller) => {
|
|
21
|
+
const available = await observability.isAvailable("feedback").pipe(Effect.catchAll(() => Effect.succeed(false)), Effect.catchAllDefect(() => Effect.succeed(false)), runAndForwardErrors);
|
|
22
|
+
if (!controller.signal.aborted) {
|
|
23
|
+
setFeedbackAvailable(available);
|
|
24
|
+
}
|
|
25
|
+
}, [
|
|
26
|
+
observability
|
|
27
|
+
]);
|
|
28
|
+
const handleSave = useCallback(async (values) => {
|
|
29
|
+
await invokePromise(ObservabilityOperation.CaptureUserFeedback, values);
|
|
30
|
+
await invokePromise(LayoutOperation.UpdateComplementary, {
|
|
31
|
+
state: "collapsed"
|
|
32
|
+
});
|
|
33
|
+
await invokePromise(LayoutOperation.AddToast, {
|
|
34
|
+
id: `${meta.id}.feedback-success`,
|
|
35
|
+
icon: "ph--paper-plane-tilt--regular",
|
|
36
|
+
duration: 3e3,
|
|
37
|
+
title: [
|
|
38
|
+
"feedback-toast.label",
|
|
39
|
+
{
|
|
40
|
+
ns: meta.id
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
description: [
|
|
44
|
+
"feedback-toast.description",
|
|
45
|
+
{
|
|
46
|
+
ns: meta.id
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
closeLabel: [
|
|
50
|
+
"close.label",
|
|
51
|
+
{
|
|
52
|
+
ns: osTranslations
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
});
|
|
56
|
+
}, [
|
|
57
|
+
invokePromise
|
|
58
|
+
]);
|
|
59
|
+
return /* @__PURE__ */ React.createElement(FeedbackForm, {
|
|
60
|
+
onSave: handleSave,
|
|
61
|
+
disabled: !feedbackAvailable,
|
|
62
|
+
onDownloadLogs: downloadLogs
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
export {
|
|
66
|
+
HelpContainer as default
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=HelpContainer-NYKOV3GM.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/HelpContainer/HelpContainer.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React, { useCallback, useState } from 'react';\n\nimport { useCapabilities, useCapability, useOperationInvoker } from '@dxos/app-framework/ui';\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { useAsyncEffect } from '@dxos/react-hooks';\nimport { osTranslations } from '@dxos/ui-theme';\n\nimport { FeedbackForm } from '#components';\nimport { meta } from '#meta';\nimport { ObservabilityOperation } from '#types';\nimport { ObservabilityCapabilities } from '#types';\n\n/** Renders the feedback form, disabling it when the feedback survey is unavailable. */\nexport const HelpContainer = () => {\n const { invokePromise } = useOperationInvoker();\n const observability = useCapability(ObservabilityCapabilities.Observability);\n const [downloadLogs] = useCapabilities(ObservabilityCapabilities.LogDownloader);\n const [feedbackAvailable, setFeedbackAvailable] = useState(false);\n\n useAsyncEffect(\n async (controller) => {\n const available = await observability.isAvailable('feedback').pipe(\n Effect.catchAll(() => Effect.succeed(false)),\n Effect.catchAllDefect(() => Effect.succeed(false)),\n runAndForwardErrors,\n );\n if (!controller.signal.aborted) {\n setFeedbackAvailable(available);\n }\n },\n [observability],\n );\n\n const handleSave = useCallback(\n async (values: ObservabilityOperation.UserFeedback) => {\n await invokePromise(ObservabilityOperation.CaptureUserFeedback, values);\n await invokePromise(LayoutOperation.UpdateComplementary, { state: 'collapsed' });\n await invokePromise(LayoutOperation.AddToast, {\n id: `${meta.id}.feedback-success`,\n icon: 'ph--paper-plane-tilt--regular',\n duration: 3000,\n title: ['feedback-toast.label', { ns: meta.id }],\n description: ['feedback-toast.description', { ns: meta.id }],\n closeLabel: ['close.label', { ns: osTranslations }],\n });\n },\n [invokePromise],\n );\n\n return <FeedbackForm onSave={handleSave} disabled={!feedbackAvailable} onDownloadLogs={downloadLogs} />;\n};\n"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,YAAY;AACxB,OAAOC,SAASC,aAAaC,gBAAgB;AAE7C,SAASC,iBAAiBC,eAAeC,2BAA2B;AACpE,SAASC,uBAAuB;AAChC,SAASC,2BAA2B;AACpC,SAASC,sBAAsB;AAC/B,SAASC,sBAAsB;AAE/B,SAASC,oBAAoB;AAC7B,SAASC,YAAY;AACrB,SAASC,8BAA8B;AACvC,SAASC,iCAAiC;AAGnC,IAAMC,gBAAgB,MAAA;AAC3B,QAAM,EAAEC,cAAa,IAAKV,oBAAAA;AAC1B,QAAMW,gBAAgBZ,cAAcS,0BAA0BI,aAAa;AAC3E,QAAM,CAACC,YAAAA,IAAgBf,gBAAgBU,0BAA0BM,aAAa;AAC9E,QAAM,CAACC,mBAAmBC,oBAAAA,IAAwBnB,SAAS,KAAA;AAE3DM,iBACE,OAAOc,eAAAA;AACL,UAAMC,YAAY,MAAMP,cAAcQ,YAAY,UAAA,EAAYC,KACrDC,gBAAS,MAAaC,eAAQ,KAAA,CAAA,GAC9BC,sBAAe,MAAaD,eAAQ,KAAA,CAAA,GAC3CpB,mBAAAA;AAEF,QAAI,CAACe,WAAWO,OAAOC,SAAS;AAC9BT,2BAAqBE,SAAAA;IACvB;EACF,GACA;IAACP;GAAc;AAGjB,QAAMe,aAAa9B,YACjB,OAAO+B,WAAAA;AACL,UAAMjB,cAAcH,uBAAuBqB,qBAAqBD,MAAAA;AAChE,UAAMjB,cAAcT,gBAAgB4B,qBAAqB;MAAEC,OAAO;IAAY,CAAA;AAC9E,UAAMpB,cAAcT,gBAAgB8B,UAAU;MAC5CC,IAAI,GAAG1B,KAAK0B,EAAE;MACdC,MAAM;MACNC,UAAU;MACVC,OAAO;QAAC;QAAwB;UAAEC,IAAI9B,KAAK0B;QAAG;;MAC9CK,aAAa;QAAC;QAA8B;UAAED,IAAI9B,KAAK0B;QAAG;;MAC1DM,YAAY;QAAC;QAAe;UAAEF,IAAIhC;QAAe;;IACnD,CAAA;EACF,GACA;IAACM;GAAc;AAGjB,SAAO,sBAAA,cAACL,cAAAA;IAAakC,QAAQb;IAAYc,UAAU,CAACzB;IAAmB0B,gBAAgB5B;;AACzF;",
|
|
6
|
+
"names": ["Effect", "React", "useCallback", "useState", "useCapabilities", "useCapability", "useOperationInvoker", "LayoutOperation", "runAndForwardErrors", "useAsyncEffect", "osTranslations", "FeedbackForm", "meta", "ObservabilityOperation", "ObservabilityCapabilities", "HelpContainer", "invokePromise", "observability", "Observability", "downloadLogs", "LogDownloader", "feedbackAvailable", "setFeedbackAvailable", "controller", "available", "isAvailable", "pipe", "catchAll", "succeed", "catchAllDefect", "signal", "aborted", "handleSave", "values", "CaptureUserFeedback", "UpdateComplementary", "state", "AddToast", "id", "icon", "duration", "title", "ns", "description", "closeLabel", "onSave", "disabled", "onDownloadLogs"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/ObservabilityPlugin.ts
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import { ActivationEvent, ActivationEvents, Capability, Plugin } from "@dxos/app-framework";
|
|
6
|
+
import { AppActivationEvents, AppPlugin } from "@dxos/app-toolkit";
|
|
7
|
+
import { AppGraphBuilder, ClientReady, ObservabilitySettings, ObservabilityState, OperationHandler, ReactSurface } from "#capabilities";
|
|
8
|
+
import { meta } from "#meta";
|
|
9
|
+
import { translations } from "#translations";
|
|
10
|
+
import { ObservabilityCapabilities, ObservabilityEvents } from "#types";
|
|
11
|
+
var ObservabilityPlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({
|
|
12
|
+
activate: AppGraphBuilder
|
|
13
|
+
}), AppPlugin.addSurfaceModule({
|
|
14
|
+
activate: ReactSurface
|
|
15
|
+
}), AppPlugin.addTranslationsModule({
|
|
16
|
+
translations
|
|
17
|
+
}), Plugin.addModule(({ observability }) => ({
|
|
18
|
+
id: "observability",
|
|
19
|
+
activatesOn: ActivationEvents.Startup,
|
|
20
|
+
activate: () => Effect.gen(function* () {
|
|
21
|
+
const obs = yield* Effect.tryPromise(() => observability());
|
|
22
|
+
return Capability.contributes(ObservabilityCapabilities.Observability, obs);
|
|
23
|
+
})
|
|
24
|
+
})), Plugin.addModule({
|
|
25
|
+
activatesOn: AppActivationEvents.SetupSettings,
|
|
26
|
+
activate: ObservabilitySettings
|
|
27
|
+
}), Plugin.addModule(({ namespace }) => ({
|
|
28
|
+
id: Capability.getModuleTag(ObservabilityState),
|
|
29
|
+
activatesOn: ActivationEvents.Startup,
|
|
30
|
+
firesAfterActivation: [
|
|
31
|
+
ObservabilityEvents.StateReady
|
|
32
|
+
],
|
|
33
|
+
activate: () => ObservabilityState({
|
|
34
|
+
namespace
|
|
35
|
+
})
|
|
36
|
+
})), Plugin.addModule(({ namespace }) => ({
|
|
37
|
+
id: "namespace",
|
|
38
|
+
activatesOn: ActivationEvents.Startup,
|
|
39
|
+
activate: () => Effect.succeed(Capability.contributes(ObservabilityCapabilities.Namespace, namespace))
|
|
40
|
+
})), Plugin.addModule(({ downloadLogs }) => ({
|
|
41
|
+
id: "log-downloader",
|
|
42
|
+
activatesOn: ActivationEvents.Startup,
|
|
43
|
+
activate: () => Effect.succeed(downloadLogs !== void 0 ? Capability.contributes(ObservabilityCapabilities.LogDownloader, downloadLogs) : [])
|
|
44
|
+
})), AppPlugin.addOperationHandlerModule({
|
|
45
|
+
activate: OperationHandler
|
|
46
|
+
}), Plugin.addModule(({ namespace, observability }) => ({
|
|
47
|
+
id: Capability.getModuleTag(ClientReady),
|
|
48
|
+
activatesOn: ActivationEvent.allOf(ActivationEvents.OperationInvokerReady, ObservabilityEvents.StateReady, ObservabilityEvents.ClientReadyEvent),
|
|
49
|
+
activate: () => Effect.gen(function* () {
|
|
50
|
+
const obs = yield* Effect.tryPromise(() => observability());
|
|
51
|
+
return yield* ClientReady({
|
|
52
|
+
namespace,
|
|
53
|
+
observability: obs
|
|
54
|
+
});
|
|
55
|
+
})
|
|
56
|
+
})), Plugin.make);
|
|
57
|
+
var ObservabilityPlugin_default = ObservabilityPlugin;
|
|
58
|
+
export {
|
|
59
|
+
ObservabilityPlugin,
|
|
60
|
+
ObservabilityPlugin_default as default
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=ObservabilityPlugin.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/ObservabilityPlugin.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { ActivationEvent, ActivationEvents, Capability, Plugin } from '@dxos/app-framework';\nimport { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';\nimport { type Observability } from '@dxos/observability';\n\nimport {\n AppGraphBuilder,\n ClientReady,\n ObservabilitySettings,\n ObservabilityState,\n OperationHandler,\n ReactSurface,\n} from '#capabilities';\nimport { meta } from '#meta';\nimport { translations } from '#translations';\nimport { ObservabilityCapabilities, ObservabilityEvents } from '#types';\n\nexport type ObservabilityPluginOptions = {\n namespace: string;\n observability: () => Promise<Observability.Observability>;\n /**\n * Optional callback invoked by the help/feedback UI to download captured logs.\n * When omitted the \"Download logs\" action is hidden.\n */\n downloadLogs?: () => void | Promise<void>;\n};\n\nexport const ObservabilityPlugin = Plugin.define<ObservabilityPluginOptions>(meta).pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.addModule(({ observability }) => ({\n id: 'observability',\n activatesOn: ActivationEvents.Startup,\n activate: () =>\n Effect.gen(function* () {\n const obs = yield* Effect.tryPromise(() => observability());\n return Capability.contributes(ObservabilityCapabilities.Observability, obs);\n }),\n })),\n Plugin.addModule({\n activatesOn: AppActivationEvents.SetupSettings,\n activate: ObservabilitySettings,\n }),\n Plugin.addModule(({ namespace }) => ({\n id: Capability.getModuleTag(ObservabilityState),\n activatesOn: ActivationEvents.Startup,\n firesAfterActivation: [ObservabilityEvents.StateReady],\n activate: () => ObservabilityState({ namespace }),\n })),\n Plugin.addModule(({ namespace }) => ({\n id: 'namespace',\n activatesOn: ActivationEvents.Startup,\n activate: () => Effect.succeed(Capability.contributes(ObservabilityCapabilities.Namespace, namespace)),\n })),\n Plugin.addModule(({ downloadLogs }) => ({\n id: 'log-downloader',\n activatesOn: ActivationEvents.Startup,\n activate: () =>\n Effect.succeed(\n downloadLogs !== undefined ? Capability.contributes(ObservabilityCapabilities.LogDownloader, downloadLogs) : [],\n ),\n })),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n Plugin.addModule(({ namespace, observability }) => ({\n id: Capability.getModuleTag(ClientReady),\n activatesOn: ActivationEvent.allOf(\n ActivationEvents.OperationInvokerReady,\n ObservabilityEvents.StateReady,\n ObservabilityEvents.ClientReadyEvent,\n ),\n activate: () =>\n Effect.gen(function* () {\n const obs = yield* Effect.tryPromise(() => observability());\n return yield* ClientReady({ namespace, observability: obs });\n }),\n })),\n Plugin.make,\n);\n\nexport default ObservabilityPlugin;\n"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiBC,kBAAkBC,YAAYC,cAAc;AACtE,SAASC,qBAAqBC,iBAAiB;AAG/C,SACEC,iBACAC,aACAC,uBACAC,oBACAC,kBACAC,oBACK;AACP,SAASC,YAAY;AACrB,SAASC,oBAAoB;AAC7B,SAASC,2BAA2BC,2BAA2B;AAYxD,IAAMC,sBAAsBb,OAAOc,OAAmCL,IAAAA,EAAMM,KACjFb,UAAUc,kBAAkB;EAAEC,UAAUd;AAAgB,CAAA,GACxDD,UAAUgB,iBAAiB;EAAED,UAAUT;AAAa,CAAA,GACpDN,UAAUiB,sBAAsB;EAAET;AAAa,CAAA,GAC/CV,OAAOoB,UAAU,CAAC,EAAEC,cAAa,OAAQ;EACvCC,IAAI;EACJC,aAAazB,iBAAiB0B;EAC9BP,UAAU,MACDQ,WAAI,aAAA;AACT,UAAMC,MAAM,OAAcC,kBAAW,MAAMN,cAAAA,CAAAA;AAC3C,WAAOtB,WAAW6B,YAAYjB,0BAA0BkB,eAAeH,GAAAA;EACzE,CAAA;AACJ,EAAA,GACA1B,OAAOoB,UAAU;EACfG,aAAatB,oBAAoB6B;EACjCb,UAAUZ;AACZ,CAAA,GACAL,OAAOoB,UAAU,CAAC,EAAEW,UAAS,OAAQ;EACnCT,IAAIvB,WAAWiC,aAAa1B,kBAAAA;EAC5BiB,aAAazB,iBAAiB0B;EAC9BS,sBAAsB;IAACrB,oBAAoBsB;;EAC3CjB,UAAU,MAAMX,mBAAmB;IAAEyB;EAAU,CAAA;AACjD,EAAA,GACA/B,OAAOoB,UAAU,CAAC,EAAEW,UAAS,OAAQ;EACnCT,IAAI;EACJC,aAAazB,iBAAiB0B;EAC9BP,UAAU,MAAakB,eAAQpC,WAAW6B,YAAYjB,0BAA0ByB,WAAWL,SAAAA,CAAAA;AAC7F,EAAA,GACA/B,OAAOoB,UAAU,CAAC,EAAEiB,aAAY,OAAQ;EACtCf,IAAI;EACJC,aAAazB,iBAAiB0B;EAC9BP,UAAU,MACDkB,eACLE,iBAAiBC,SAAYvC,WAAW6B,YAAYjB,0BAA0B4B,eAAeF,YAAAA,IAAgB,CAAA,CAAE;AAErH,EAAA,GACAnC,UAAUsC,0BAA0B;EAAEvB,UAAUV;AAAiB,CAAA,GACjEP,OAAOoB,UAAU,CAAC,EAAEW,WAAWV,cAAa,OAAQ;EAClDC,IAAIvB,WAAWiC,aAAa5B,WAAAA;EAC5BmB,aAAa1B,gBAAgB4C,MAC3B3C,iBAAiB4C,uBACjB9B,oBAAoBsB,YACpBtB,oBAAoB+B,gBAAgB;EAEtC1B,UAAU,MACDQ,WAAI,aAAA;AACT,UAAMC,MAAM,OAAcC,kBAAW,MAAMN,cAAAA,CAAAA;AAC3C,WAAO,OAAOjB,YAAY;MAAE2B;MAAWV,eAAeK;IAAI,CAAA;EAC5D,CAAA;AACJ,EAAA,GACA1B,OAAO4C,IAAI;AAGb,IAAA,8BAAe/B;",
|
|
6
|
+
"names": ["Effect", "ActivationEvent", "ActivationEvents", "Capability", "Plugin", "AppActivationEvents", "AppPlugin", "AppGraphBuilder", "ClientReady", "ObservabilitySettings", "ObservabilityState", "OperationHandler", "ReactSurface", "meta", "translations", "ObservabilityCapabilities", "ObservabilityEvents", "ObservabilityPlugin", "define", "pipe", "addAppGraphModule", "activate", "addSurfaceModule", "addTranslationsModule", "addModule", "observability", "id", "activatesOn", "Startup", "gen", "obs", "tryPromise", "contributes", "Observability", "SetupSettings", "namespace", "getModuleTag", "firesAfterActivation", "StateReady", "succeed", "Namespace", "downloadLogs", "undefined", "LogDownloader", "addOperationHandlerModule", "allOf", "OperationInvokerReady", "ClientReadyEvent", "make"]
|
|
7
|
+
}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import "../chunk-HSLMI22Q.mjs";
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
3
2
|
|
|
4
|
-
// src/
|
|
3
|
+
// src/ObservabilityPlugin.node.ts
|
|
5
4
|
import * as Effect from "effect/Effect";
|
|
6
5
|
import { Capabilities, Capability, Plugin } from "@dxos/app-framework";
|
|
7
6
|
import { AppPlugin } from "@dxos/app-toolkit";
|
|
8
|
-
import { Operation, OperationHandlerSet } from "@dxos/
|
|
7
|
+
import { Operation, OperationHandlerSet } from "@dxos/compute";
|
|
9
8
|
import { meta } from "#meta";
|
|
10
|
-
import { ObservabilityOperation } from "#
|
|
9
|
+
import { ObservabilityOperation } from "#types";
|
|
11
10
|
var ObservabilityPlugin = Plugin.define(meta).pipe(AppPlugin.addOperationHandlerModule({
|
|
12
11
|
activate: Capability.lazy("OperationHandler", () => Promise.resolve({
|
|
13
12
|
default: Capability.makeModule(Effect.fnUntraced(function* () {
|
|
@@ -15,7 +14,9 @@ var ObservabilityPlugin = Plugin.define(meta).pipe(AppPlugin.addOperationHandler
|
|
|
15
14
|
}))
|
|
16
15
|
}))
|
|
17
16
|
}), Plugin.make);
|
|
17
|
+
var ObservabilityPlugin_node_default = ObservabilityPlugin;
|
|
18
18
|
export {
|
|
19
|
-
ObservabilityPlugin
|
|
19
|
+
ObservabilityPlugin,
|
|
20
|
+
ObservabilityPlugin_node_default as default
|
|
20
21
|
};
|
|
21
|
-
//# sourceMappingURL=
|
|
22
|
+
//# sourceMappingURL=ObservabilityPlugin.node.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/ObservabilityPlugin.node.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability, Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { Operation, OperationHandlerSet } from '@dxos/compute';\n\nimport { meta } from '#meta';\nimport { ObservabilityOperation } from '#types';\n\n// TODO(wittjosiah): Hook up.\nexport const ObservabilityPlugin = Plugin.define(meta).pipe(\n AppPlugin.addOperationHandlerModule({\n activate: Capability.lazy('OperationHandler', () =>\n Promise.resolve({\n default: Capability.makeModule<OperationHandlerSet.OperationHandlerSet>(\n Effect.fnUntraced(function* () {\n return Capability.contributes(\n Capabilities.OperationHandler,\n OperationHandlerSet.make(Operation.withHandler(ObservabilityOperation.SendEvent, () => Effect.void)),\n );\n }),\n ),\n }),\n ),\n }),\n Plugin.make,\n);\n\nexport default ObservabilityPlugin;\n"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,YAAYC,cAAc;AACjD,SAASC,iBAAiB;AAC1B,SAASC,WAAWC,2BAA2B;AAE/C,SAASC,YAAY;AACrB,SAASC,8BAA8B;AAGhC,IAAMC,sBAAsBN,OAAOO,OAAOH,IAAAA,EAAMI,KACrDP,UAAUQ,0BAA0B;EAClCC,UAAUX,WAAWY,KAAK,oBAAoB,MAC5CC,QAAQC,QAAQ;IACdC,SAASf,WAAWgB,WACXC,kBAAW,aAAA;AAChB,aAAOjB,WAAWkB,YAChBnB,aAAaoB,kBACbf,oBAAoBgB,KAAKjB,UAAUkB,YAAYf,uBAAuBgB,WAAW,MAAaC,WAAI,CAAA,CAAA;IAEtG,CAAA,CAAA;EAEJ,CAAA,CAAA;AAEJ,CAAA,GACAtB,OAAOmB,IAAI;AAGb,IAAA,mCAAeb;",
|
|
6
|
+
"names": ["Effect", "Capabilities", "Capability", "Plugin", "AppPlugin", "Operation", "OperationHandlerSet", "meta", "ObservabilityOperation", "ObservabilityPlugin", "define", "pipe", "addOperationHandlerModule", "activate", "lazy", "Promise", "resolve", "default", "makeModule", "fnUntraced", "contributes", "OperationHandler", "make", "withHandler", "SendEvent", "void"]
|
|
7
|
+
}
|
|
@@ -2,9 +2,10 @@ import "./chunk-J5LGTIGS.mjs";
|
|
|
2
2
|
|
|
3
3
|
// src/components/ObservabilitySettings/ObservabilitySettings.tsx
|
|
4
4
|
import React from "react";
|
|
5
|
-
import {
|
|
5
|
+
import { Message, useTranslation } from "@dxos/react-ui";
|
|
6
6
|
import { Settings as SettingsForm } from "@dxos/react-ui-form";
|
|
7
7
|
import { meta } from "#meta";
|
|
8
|
+
import { Settings } from "#types";
|
|
8
9
|
var ObservabilitySettings = ({ settings, onSettingsChange }) => {
|
|
9
10
|
const { t } = useTranslation(meta.id);
|
|
10
11
|
return /* @__PURE__ */ React.createElement(SettingsForm.Viewport, null, /* @__PURE__ */ React.createElement(SettingsForm.Section, {
|
|
@@ -13,19 +14,14 @@ var ObservabilitySettings = ({ settings, onSettingsChange }) => {
|
|
|
13
14
|
})
|
|
14
15
|
}, /* @__PURE__ */ React.createElement(Message.Root, {
|
|
15
16
|
valence: "info"
|
|
16
|
-
}, /* @__PURE__ */ React.createElement(Message.Content, null, t("observability.description"))), /* @__PURE__ */ React.createElement(SettingsForm.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
onCheckedChange: (checked) => onSettingsChange?.((s) => ({
|
|
23
|
-
...s,
|
|
24
|
-
enabled: !!checked
|
|
25
|
-
}))
|
|
26
|
-
}))));
|
|
17
|
+
}, /* @__PURE__ */ React.createElement(Message.Content, null, t("observability.description"))), /* @__PURE__ */ React.createElement(SettingsForm.FieldSet, {
|
|
18
|
+
readonly: !onSettingsChange,
|
|
19
|
+
schema: Settings.Settings,
|
|
20
|
+
values: settings,
|
|
21
|
+
onValuesChanged: (values) => onSettingsChange?.(() => values)
|
|
22
|
+
})));
|
|
27
23
|
};
|
|
28
24
|
export {
|
|
29
25
|
ObservabilitySettings as default
|
|
30
26
|
};
|
|
31
|
-
//# sourceMappingURL=ObservabilitySettings-
|
|
27
|
+
//# sourceMappingURL=ObservabilitySettings-H6UKYDDT.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/ObservabilitySettings/ObservabilitySettings.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { Message, useTranslation } from '@dxos/react-ui';\nimport { Settings as SettingsForm } from '@dxos/react-ui-form';\n\nimport { meta } from '#meta';\nimport { Settings } from '#types';\n\nexport type ObservabilitySettingsProps = AppSurface.SettingsArticleProps<Settings.Settings>;\n\nexport const ObservabilitySettings = ({ settings, onSettingsChange }: ObservabilitySettingsProps) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <SettingsForm.Viewport>\n <SettingsForm.Section title={t('settings.title', { ns: meta.id })}>\n <Message.Root valence='info'>\n <Message.Content>{t('observability.description')}</Message.Content>\n </Message.Root>\n <SettingsForm.FieldSet\n readonly={!onSettingsChange}\n schema={Settings.Settings}\n values={settings}\n onValuesChanged={(values) => onSettingsChange?.(() => values)}\n />\n </SettingsForm.Section>\n </SettingsForm.Viewport>\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;AAIA,OAAOA,WAAW;AAGlB,SAASC,SAASC,sBAAsB;AACxC,SAASC,YAAYC,oBAAoB;AAEzC,SAASC,YAAY;AACrB,SAASF,gBAAgB;AAIlB,IAAMG,wBAAwB,CAAC,EAAEC,UAAUC,iBAAgB,MAA8B;AAC9F,QAAM,EAAEC,EAAC,IAAKP,eAAeG,KAAKK,EAAE;AAEpC,SACE,sBAAA,cAACN,aAAaO,UAAQ,MACpB,sBAAA,cAACP,aAAaQ,SAAO;IAACC,OAAOJ,EAAE,kBAAkB;MAAEK,IAAIT,KAAKK;IAAG,CAAA;KAC7D,sBAAA,cAACT,QAAQc,MAAI;IAACC,SAAQ;KACpB,sBAAA,cAACf,QAAQgB,SAAO,MAAER,EAAE,2BAAA,CAAA,CAAA,GAEtB,sBAAA,cAACL,aAAac,UAAQ;IACpBC,UAAU,CAACX;IACXY,QAAQjB,SAASA;IACjBkB,QAAQd;IACRe,iBAAiB,CAACD,WAAWb,mBAAmB,MAAMa,MAAAA;;AAKhE;",
|
|
6
|
+
"names": ["React", "Message", "useTranslation", "Settings", "SettingsForm", "meta", "ObservabilitySettings", "settings", "onSettingsChange", "t", "id", "Viewport", "Section", "title", "ns", "Root", "valence", "Content", "FieldSet", "readonly", "schema", "values", "onValuesChanged"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/app-graph-builder.ts
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import { Capability } from "@dxos/app-framework";
|
|
6
|
+
import { AppCapabilities, AppNode } from "@dxos/app-toolkit";
|
|
7
|
+
import { GraphBuilder, NodeMatcher } from "@dxos/plugin-graph";
|
|
8
|
+
import { linkedSegment } from "@dxos/react-ui-attention";
|
|
9
|
+
import { meta } from "#meta";
|
|
10
|
+
var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
11
|
+
const extensions = yield* Effect.all([
|
|
12
|
+
GraphBuilder.createExtension({
|
|
13
|
+
id: "help",
|
|
14
|
+
match: NodeMatcher.whenRoot,
|
|
15
|
+
connector: (node) => Effect.succeed([
|
|
16
|
+
AppNode.makeDeckCompanion({
|
|
17
|
+
id: linkedSegment("help"),
|
|
18
|
+
label: [
|
|
19
|
+
"help.label",
|
|
20
|
+
{
|
|
21
|
+
ns: meta.id
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
icon: "ph--question--regular",
|
|
25
|
+
data: null,
|
|
26
|
+
position: "hoist",
|
|
27
|
+
joyride: "welcome/feedback"
|
|
28
|
+
})
|
|
29
|
+
])
|
|
30
|
+
})
|
|
31
|
+
]);
|
|
32
|
+
return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
|
|
33
|
+
}));
|
|
34
|
+
export {
|
|
35
|
+
app_graph_builder_default as default
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=app-graph-builder-PTVHNKQY.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/app-graph-builder.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities, AppNode } from '@dxos/app-toolkit';\nimport { GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';\nimport { linkedSegment } from '@dxos/react-ui-attention';\n\nimport { meta } from '#meta';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const extensions = yield* Effect.all([\n GraphBuilder.createExtension({\n id: 'help',\n match: NodeMatcher.whenRoot,\n connector: (node) =>\n Effect.succeed([\n AppNode.makeDeckCompanion({\n id: linkedSegment('help'),\n label: ['help.label', { ns: meta.id }],\n icon: 'ph--question--regular',\n data: null,\n position: 'hoist',\n joyride: 'welcome/feedback',\n }),\n ]),\n }),\n ]);\n\n return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);\n }),\n);\n"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiBC,eAAe;AACzC,SAASC,cAAcC,mBAAmB;AAC1C,SAASC,qBAAqB;AAE9B,SAASC,YAAY;AAErB,IAAA,4BAAeN,WAAWO,WACjBC,kBAAW,aAAA;AAChB,QAAMC,aAAa,OAAcC,WAAI;IACnCP,aAAaQ,gBAAgB;MAC3BC,IAAI;MACJC,OAAOT,YAAYU;MACnBC,WAAW,CAACC,SACHC,eAAQ;QACbf,QAAQgB,kBAAkB;UACxBN,IAAIP,cAAc,MAAA;UAClBc,OAAO;YAAC;YAAc;cAAEC,IAAId,KAAKM;YAAG;;UACpCS,MAAM;UACNC,MAAM;UACNC,UAAU;UACVC,SAAS;QACX,CAAA;OACD;IACL,CAAA;GACD;AAED,SAAOxB,WAAWyB,YAAYxB,gBAAgByB,iBAAiBjB,UAAAA;AACjE,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "Capability", "AppCapabilities", "AppNode", "GraphBuilder", "NodeMatcher", "linkedSegment", "meta", "makeModule", "fnUntraced", "extensions", "all", "createExtension", "id", "match", "whenRoot", "connector", "node", "succeed", "makeDeckCompanion", "label", "ns", "icon", "data", "position", "joyride", "contributes", "AppGraphBuilder"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import "../chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/index.ts
|
|
4
|
+
import { Capability } from "@dxos/app-framework";
|
|
5
|
+
var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("../app-graph-builder-PTVHNKQY.mjs"));
|
|
6
|
+
var ClientReady = Capability.lazy("ClientReady", () => import("../client-ready-TM7VE6CH.mjs"));
|
|
7
|
+
var OperationHandler = Capability.lazy("OperationHandler", () => import("../operation-handler-4WWRXOHR.mjs"));
|
|
8
|
+
var ReactSurface = Capability.lazy("ReactSurface", () => import("../react-surface-2LUZ7EK5.mjs"));
|
|
9
|
+
var ObservabilitySettings = Capability.lazy("ObservabilitySettings", () => import("../settings-MZYK2WQR.mjs"));
|
|
10
|
+
var ObservabilityState = Capability.lazy("ObservabilityState", () => import("../state-5COCK3KV.mjs"));
|
|
11
|
+
export {
|
|
12
|
+
AppGraphBuilder,
|
|
13
|
+
ClientReady,
|
|
14
|
+
ObservabilitySettings,
|
|
15
|
+
ObservabilityState,
|
|
16
|
+
OperationHandler,
|
|
17
|
+
ReactSurface
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/capabilities/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\nimport { OperationHandlerSet } from '@dxos/compute';\n\nimport type { ClientReadyOptions } from './client-ready';\n\nexport const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));\nexport const ClientReady = Capability.lazy<ClientReadyOptions>('ClientReady', () => import('./client-ready'));\nexport const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(\n 'OperationHandler',\n () => import('./operation-handler'),\n);\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\nexport const ObservabilitySettings = Capability.lazy('ObservabilitySettings', () => import('./settings'));\nexport const ObservabilityState = Capability.lazy('ObservabilityState', () => import('./state'));\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,kBAAkB;AAKpB,IAAMC,kBAAkBD,WAAWE,KAAK,mBAAmB,MAAM,OAAO,mCAAA,CAAA;AACxE,IAAMC,cAAcH,WAAWE,KAAyB,eAAe,MAAM,OAAO,8BAAA,CAAA;AACpF,IAAME,mBAAmBJ,WAAWE,KACzC,oBACA,MAAM,OAAO,mCAAA,CAAA;AAER,IAAMG,eAAeL,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMI,wBAAwBN,WAAWE,KAAK,yBAAyB,MAAM,OAAO,0BAAA,CAAA;AACpF,IAAMK,qBAAqBP,WAAWE,KAAK,sBAAsB,MAAM,OAAO,uBAAA,CAAA;",
|
|
6
|
+
"names": ["Capability", "AppGraphBuilder", "lazy", "ClientReady", "OperationHandler", "ReactSurface", "ObservabilitySettings", "ObservabilityState"]
|
|
7
|
+
}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
CaptureUserFeedback
|
|
6
|
-
} from "./chunk-VZR3FNBD.mjs";
|
|
7
|
-
import "./chunk-K33HLC3Z.mjs";
|
|
2
|
+
ObservabilityCapabilities_exports,
|
|
3
|
+
ObservabilityOperation_exports
|
|
4
|
+
} from "./chunk-LBYPFOE5.mjs";
|
|
8
5
|
import "./chunk-J5LGTIGS.mjs";
|
|
9
6
|
|
|
10
7
|
// src/operations/capture-user-feedback.ts
|
|
11
8
|
import * as Effect from "effect/Effect";
|
|
12
9
|
import { Capability } from "@dxos/app-framework";
|
|
13
|
-
import { Operation } from "@dxos/
|
|
14
|
-
var handler = CaptureUserFeedback.pipe(Operation.withHandler(Effect.fnUntraced(function* (input) {
|
|
15
|
-
const observability = yield* Capability.get(
|
|
10
|
+
import { Operation } from "@dxos/compute";
|
|
11
|
+
var handler = ObservabilityOperation_exports.CaptureUserFeedback.pipe(Operation.withHandler(Effect.fnUntraced(function* (input) {
|
|
12
|
+
const observability = yield* Capability.get(ObservabilityCapabilities_exports.Observability);
|
|
16
13
|
observability.feedback.captureUserFeedback({
|
|
17
14
|
message: input.message,
|
|
18
15
|
includeLogs: input.includeLogs
|
|
@@ -22,4 +19,4 @@ var capture_user_feedback_default = handler;
|
|
|
22
19
|
export {
|
|
23
20
|
capture_user_feedback_default as default
|
|
24
21
|
};
|
|
25
|
-
//# sourceMappingURL=capture-user-feedback-
|
|
22
|
+
//# sourceMappingURL=capture-user-feedback-M45PTVMA.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/operations/capture-user-feedback.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\n\nimport { ObservabilityCapabilities, ObservabilityOperation } from '../types';\n\nconst handler: Operation.WithHandler<typeof ObservabilityOperation.CaptureUserFeedback> =\n ObservabilityOperation.CaptureUserFeedback.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* (input) {\n const observability = yield* Capability.get(ObservabilityCapabilities.Observability);\n observability.feedback.captureUserFeedback({ message: input.message, includeLogs: input.includeLogs });\n }),\n ),\n );\n\nexport default handler;\n"],
|
|
5
|
+
"mappings": ";;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAI1B,IAAMC,UACJC,+BAAuBC,oBAAoBC,KACzCC,UAAUC,YACDC,kBAAW,WAAWC,OAAK;AAChC,QAAMC,gBAAgB,OAAOC,WAAWC,IAAIC,kCAA0BC,aAAa;AACnFJ,gBAAcK,SAASC,oBAAoB;IAAEC,SAASR,MAAMQ;IAASC,aAAaT,MAAMS;EAAY,CAAA;AACtG,CAAA,CAAA,CAAA;AAIN,IAAA,gCAAehB;",
|
|
6
|
+
"names": ["Effect", "Capability", "Operation", "handler", "ObservabilityOperation", "CaptureUserFeedback", "pipe", "Operation", "withHandler", "fnUntraced", "input", "observability", "Capability", "get", "ObservabilityCapabilities", "Observability", "feedback", "captureUserFeedback", "message", "includeLogs"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// src/meta.ts
|
|
2
|
+
import { trim } from "@dxos/util";
|
|
3
|
+
var meta = {
|
|
4
|
+
id: "org.dxos.plugin.observability",
|
|
5
|
+
name: "Telemetry",
|
|
6
|
+
description: trim`
|
|
7
|
+
Application observability and telemetry collection for monitoring performance and usage patterns.
|
|
8
|
+
Track metrics, logs, and traces for system health and analytics.
|
|
9
|
+
`,
|
|
10
|
+
icon: "ph--eye--regular",
|
|
11
|
+
tags: [
|
|
12
|
+
"system"
|
|
13
|
+
]
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export {
|
|
17
|
+
meta
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=chunk-ANCT53Y3.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/meta.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.observability',\n name: 'Telemetry',\n description: trim`\n Application observability and telemetry collection for monitoring performance and usage patterns.\n Track metrics, logs, and traces for system health and analytics.\n `,\n icon: 'ph--eye--regular',\n tags: ['system'],\n};\n"],
|
|
5
|
+
"mappings": ";AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaJ;;;;EAIbK,MAAM;EACNC,MAAM;IAAC;;AACT;",
|
|
6
|
+
"names": ["trim", "meta", "id", "name", "description", "icon", "tags"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__export
|
|
3
|
+
} from "./chunk-J5LGTIGS.mjs";
|
|
4
|
+
|
|
5
|
+
// src/types/ObservabilityCapabilities.ts
|
|
6
|
+
var ObservabilityCapabilities_exports = {};
|
|
7
|
+
__export(ObservabilityCapabilities_exports, {
|
|
8
|
+
ClientCapability: () => ClientCapability,
|
|
9
|
+
LogDownloader: () => LogDownloader,
|
|
10
|
+
Namespace: () => Namespace,
|
|
11
|
+
Observability: () => Observability,
|
|
12
|
+
Settings: () => Settings,
|
|
13
|
+
State: () => State,
|
|
14
|
+
StateSchema: () => StateSchema
|
|
15
|
+
});
|
|
16
|
+
import * as Schema from "effect/Schema";
|
|
17
|
+
import { Capability } from "@dxos/app-framework";
|
|
18
|
+
import { meta } from "#meta";
|
|
19
|
+
var Namespace = Capability.make(`${meta.id}.capability.namespace`);
|
|
20
|
+
var Settings = Capability.make(`${meta.id}.capability.settings`);
|
|
21
|
+
var StateSchema = Schema.mutable(Schema.Struct({
|
|
22
|
+
group: Schema.optional(Schema.String),
|
|
23
|
+
notified: Schema.optional(Schema.Boolean)
|
|
24
|
+
}));
|
|
25
|
+
var State = Capability.make(`${meta.id}.capability.state`);
|
|
26
|
+
var Observability = Capability.make(`${meta.id}.capability.observability`);
|
|
27
|
+
var LogDownloader = Capability.make(`${meta.id}.capability.log-downloader`);
|
|
28
|
+
var ClientCapability = Capability.make("org.dxos.plugin.client.capability.client");
|
|
29
|
+
|
|
30
|
+
// src/types/ObservabilityEvents.ts
|
|
31
|
+
var ObservabilityEvents_exports = {};
|
|
32
|
+
__export(ObservabilityEvents_exports, {
|
|
33
|
+
ClientReadyEvent: () => ClientReadyEvent,
|
|
34
|
+
StateReady: () => StateReady
|
|
35
|
+
});
|
|
36
|
+
import { ActivationEvent } from "@dxos/app-framework";
|
|
37
|
+
import { AppActivationEvents } from "@dxos/app-toolkit";
|
|
38
|
+
import { meta as meta2 } from "#meta";
|
|
39
|
+
var StateReady = AppActivationEvents.createStateEvent(meta2.id);
|
|
40
|
+
var ClientReadyEvent = ActivationEvent.make("org.dxos.plugin.client.event.client-ready");
|
|
41
|
+
|
|
42
|
+
// src/types/ObservabilityOperation.ts
|
|
43
|
+
var ObservabilityOperation_exports = {};
|
|
44
|
+
__export(ObservabilityOperation_exports, {
|
|
45
|
+
CaptureUserFeedback: () => CaptureUserFeedback,
|
|
46
|
+
SendEvent: () => SendEvent,
|
|
47
|
+
Toggle: () => Toggle,
|
|
48
|
+
UserFeedback: () => UserFeedback
|
|
49
|
+
});
|
|
50
|
+
import * as Schema2 from "effect/Schema";
|
|
51
|
+
import { Capability as Capability2 } from "@dxos/app-framework";
|
|
52
|
+
import { Operation } from "@dxos/compute";
|
|
53
|
+
import { Format } from "@dxos/echo";
|
|
54
|
+
import { meta as meta3 } from "#meta";
|
|
55
|
+
import { translations } from "#translations";
|
|
56
|
+
var t = translations[0]["en-US"][meta3.id];
|
|
57
|
+
var UserFeedback = Schema2.Struct({
|
|
58
|
+
message: Format.Text.pipe(Schema2.nonEmptyString(), Schema2.maxLength(4096), Schema2.annotations({
|
|
59
|
+
title: t["feedback-textarea.label"],
|
|
60
|
+
description: t["feedback-textarea.placeholder"]
|
|
61
|
+
})),
|
|
62
|
+
includeLogs: Schema2.Boolean.pipe(Schema2.annotations({
|
|
63
|
+
title: t["include-debug-logs.label"]
|
|
64
|
+
}), Schema2.optional)
|
|
65
|
+
});
|
|
66
|
+
var OBSERVABILITY_OPERATION = `${meta3.id}.operation`;
|
|
67
|
+
var Toggle = Operation.make({
|
|
68
|
+
meta: {
|
|
69
|
+
key: `${OBSERVABILITY_OPERATION}.toggle`,
|
|
70
|
+
name: "Toggle Observability",
|
|
71
|
+
description: "Toggle observability on or off."
|
|
72
|
+
},
|
|
73
|
+
services: [
|
|
74
|
+
Capability2.Service
|
|
75
|
+
],
|
|
76
|
+
input: Schema2.Struct({
|
|
77
|
+
state: Schema2.optional(Schema2.Boolean)
|
|
78
|
+
}),
|
|
79
|
+
output: Schema2.Boolean
|
|
80
|
+
});
|
|
81
|
+
var CaptureUserFeedback = Operation.make({
|
|
82
|
+
meta: {
|
|
83
|
+
key: `${OBSERVABILITY_OPERATION}.capture-feedback`,
|
|
84
|
+
name: "Capture User Feedback",
|
|
85
|
+
description: "Capture user feedback."
|
|
86
|
+
},
|
|
87
|
+
services: [
|
|
88
|
+
Capability2.Service
|
|
89
|
+
],
|
|
90
|
+
input: UserFeedback,
|
|
91
|
+
output: Schema2.Void
|
|
92
|
+
});
|
|
93
|
+
var SendEvent = Operation.make({
|
|
94
|
+
meta: {
|
|
95
|
+
key: `${OBSERVABILITY_OPERATION}.send-event`,
|
|
96
|
+
name: "Send Event",
|
|
97
|
+
description: "Send an observability event."
|
|
98
|
+
},
|
|
99
|
+
services: [
|
|
100
|
+
Capability2.Service
|
|
101
|
+
],
|
|
102
|
+
input: Schema2.Struct({
|
|
103
|
+
name: Schema2.String.annotations({
|
|
104
|
+
description: "The name of the event."
|
|
105
|
+
}),
|
|
106
|
+
properties: Schema2.optional(Schema2.Any).annotations({
|
|
107
|
+
description: "Event properties."
|
|
108
|
+
})
|
|
109
|
+
}),
|
|
110
|
+
output: Schema2.Void
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
// src/types/Settings.ts
|
|
114
|
+
var Settings_exports = {};
|
|
115
|
+
__export(Settings_exports, {
|
|
116
|
+
Settings: () => Settings2
|
|
117
|
+
});
|
|
118
|
+
import * as Schema3 from "effect/Schema";
|
|
119
|
+
var Settings2 = Schema3.mutable(Schema3.Struct({
|
|
120
|
+
enabled: Schema3.Boolean.annotations({
|
|
121
|
+
title: "Enable telemetry",
|
|
122
|
+
description: "Send anonymous usage and performance data to help improve the product."
|
|
123
|
+
})
|
|
124
|
+
}));
|
|
125
|
+
|
|
126
|
+
export {
|
|
127
|
+
ObservabilityCapabilities_exports,
|
|
128
|
+
ObservabilityEvents_exports,
|
|
129
|
+
ObservabilityOperation_exports,
|
|
130
|
+
Settings_exports
|
|
131
|
+
};
|
|
132
|
+
//# sourceMappingURL=chunk-LBYPFOE5.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/ObservabilityCapabilities.ts", "../../../src/types/ObservabilityEvents.ts", "../../../src/types/ObservabilityOperation.ts", "../../../src/types/Settings.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { type Atom } from '@effect-atom/atom-react';\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { type Client } from '@dxos/client';\nimport { type Observability as ObservabilityNs } from '@dxos/observability';\n\nimport { meta } from '#meta';\n\nexport const Namespace = Capability.make<string>(`${meta.id}.capability.namespace`);\n\nexport const Settings = Capability.make<Atom.Writable<import('./Settings').Settings>>(`${meta.id}.capability.settings`);\n\nexport const StateSchema = Schema.mutable(\n Schema.Struct({\n group: Schema.optional(Schema.String),\n notified: Schema.optional(Schema.Boolean),\n }),\n);\n\nexport type State = Schema.Schema.Type<typeof StateSchema>;\n\nexport const State = Capability.make<Atom.Writable<State>>(`${meta.id}.capability.state`);\n\nexport const Observability = Capability.make<ObservabilityNs.Observability>(`${meta.id}.capability.observability`);\n\n/**\n * Optional capability — when contributed, the help/feedback UI exposes a \"Download logs\" action.\n * The callback is responsible for the entire download (read store, encode, save file).\n */\nexport type LogDownloader = () => void | Promise<void>;\nexport const LogDownloader = Capability.make<LogDownloader>(`${meta.id}.capability.log-downloader`);\n\n// NOTE: This is cloned from the client plugin to avoid circular dependencies.\n// TODO(burdon): Figure out how to share defs.\nexport const ClientCapability = Capability.make<Client>('org.dxos.plugin.client.capability.client');\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { ActivationEvent } from '@dxos/app-framework';\nimport { AppActivationEvents } from '@dxos/app-toolkit';\n\nimport { meta } from '#meta';\n\nexport const StateReady: ActivationEvent.ActivationEvent = AppActivationEvents.createStateEvent(meta.id);\n\n// NOTE: This is cloned from the client plugin to avoid circular dependencies.\nexport const ClientReadyEvent = ActivationEvent.make('org.dxos.plugin.client.event.client-ready');\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\nimport { Format } from '@dxos/echo';\n\nimport { meta } from '#meta';\nimport { translations } from '#translations';\n\nconst t = translations[0]['en-US'][meta.id];\n\nexport const UserFeedback = Schema.Struct({\n message: Format.Text.pipe(\n Schema.nonEmptyString(),\n Schema.maxLength(4_096),\n Schema.annotations({\n title: t['feedback-textarea.label'],\n description: t['feedback-textarea.placeholder'],\n }),\n ),\n includeLogs: Schema.Boolean.pipe(\n Schema.annotations({\n title: t['include-debug-logs.label'],\n }),\n Schema.optional,\n ),\n});\n\nexport type UserFeedback = Schema.Schema.Type<typeof UserFeedback>;\n\nconst OBSERVABILITY_OPERATION = `${meta.id}.operation`;\n\nexport const Toggle = Operation.make({\n meta: {\n key: `${OBSERVABILITY_OPERATION}.toggle`,\n name: 'Toggle Observability',\n description: 'Toggle observability on or off.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n state: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Boolean,\n});\n\nexport const CaptureUserFeedback = Operation.make({\n meta: {\n key: `${OBSERVABILITY_OPERATION}.capture-feedback`,\n name: 'Capture User Feedback',\n description: 'Capture user feedback.',\n },\n services: [Capability.Service],\n input: UserFeedback,\n output: Schema.Void,\n});\n\nexport const SendEvent = Operation.make({\n meta: {\n key: `${OBSERVABILITY_OPERATION}.send-event`,\n name: 'Send Event',\n description: 'Send an observability event.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n name: Schema.String.annotations({ description: 'The name of the event.' }),\n properties: Schema.optional(Schema.Any).annotations({ description: 'Event properties.' }),\n }),\n output: Schema.Void,\n});\n", "//\n// Copyright 2023 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nexport const Settings = Schema.mutable(\n Schema.Struct({\n enabled: Schema.Boolean.annotations({\n title: 'Enable telemetry',\n description: 'Send anonymous usage and performance data to help improve the product.',\n }),\n // TODO(wittjosiah): Separate settings for each observability feature.\n // metrics?: boolean;\n // telemetry?: boolean;\n // errors?: boolean;\n }),\n);\n\nexport interface Settings extends Schema.Schema.Type<typeof Settings> {}\n"],
|
|
5
|
+
"mappings": ";;;;;AAAA;;;;;;;;;;AAOA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAI3B,SAASC,YAAY;AAEd,IAAMC,YAAYF,WAAWG,KAAa,GAAGF,KAAKG,EAAE,uBAAuB;AAE3E,IAAMC,WAAWL,WAAWG,KAAmD,GAAGF,KAAKG,EAAE,sBAAsB;AAE/G,IAAME,cAAqBC,eACzBC,cAAO;EACZC,OAAcC,gBAAgBC,aAAM;EACpCC,UAAiBF,gBAAgBG,cAAO;AAC1C,CAAA,CAAA;AAKK,IAAMC,QAAQd,WAAWG,KAA2B,GAAGF,KAAKG,EAAE,mBAAmB;AAEjF,IAAMW,gBAAgBf,WAAWG,KAAoC,GAAGF,KAAKG,EAAE,2BAA2B;AAO1G,IAAMY,gBAAgBhB,WAAWG,KAAoB,GAAGF,KAAKG,EAAE,4BAA4B;AAI3F,IAAMa,mBAAmBjB,WAAWG,KAAa,0CAAA;;;ACzCxD;;;;;AAMA,SAASe,uBAAuB;AAChC,SAASC,2BAA2B;AAEpC,SAASC,QAAAA,aAAY;AAEd,IAAMC,aAA8CF,oBAAoBG,iBAAiBF,MAAKG,EAAE;AAGhG,IAAMC,mBAAmBN,gBAAgBO,KAAK,2CAAA;;;ACdrD;;;;;;;AAMA,YAAYC,aAAY;AAExB,SAASC,cAAAA,mBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,cAAc;AAEvB,SAASC,QAAAA,aAAY;AACrB,SAASC,oBAAoB;AAE7B,IAAMC,IAAID,aAAa,CAAA,EAAG,OAAA,EAASD,MAAKG,EAAE;AAEnC,IAAMC,eAAsBC,eAAO;EACxCC,SAASP,OAAOQ,KAAKC,KACZC,uBAAc,GACdC,kBAAU,IAAA,GACVC,oBAAY;IACjBC,OAAOV,EAAE,yBAAA;IACTW,aAAaX,EAAE,+BAAA;EACjB,CAAA,CAAA;EAEFY,aAAoBC,gBAAQP,KACnBG,oBAAY;IACjBC,OAAOV,EAAE,0BAAA;EACX,CAAA,GACOc,gBAAQ;AAEnB,CAAA;AAIA,IAAMC,0BAA0B,GAAGjB,MAAKG,EAAE;AAEnC,IAAMe,SAASpB,UAAUqB,KAAK;EACnCnB,MAAM;IACJoB,KAAK,GAAGH,uBAAAA;IACRI,MAAM;IACNR,aAAa;EACf;EACAS,UAAU;IAACzB,YAAW0B;;EACtBC,OAAcnB,eAAO;IACnBoB,OAAcT,iBAAgBD,eAAO;EACvC,CAAA;EACAW,QAAeX;AACjB,CAAA;AAEO,IAAMY,sBAAsB7B,UAAUqB,KAAK;EAChDnB,MAAM;IACJoB,KAAK,GAAGH,uBAAAA;IACRI,MAAM;IACNR,aAAa;EACf;EACAS,UAAU;IAACzB,YAAW0B;;EACtBC,OAAOpB;EACPsB,QAAeE;AACjB,CAAA;AAEO,IAAMC,YAAY/B,UAAUqB,KAAK;EACtCnB,MAAM;IACJoB,KAAK,GAAGH,uBAAAA;IACRI,MAAM;IACNR,aAAa;EACf;EACAS,UAAU;IAACzB,YAAW0B;;EACtBC,OAAcnB,eAAO;IACnBgB,MAAaS,eAAOnB,YAAY;MAAEE,aAAa;IAAyB,CAAA;IACxEkB,YAAmBf,iBAAgBgB,WAAG,EAAErB,YAAY;MAAEE,aAAa;IAAoB,CAAA;EACzF,CAAA;EACAa,QAAeE;AACjB,CAAA;;;AC1EA;;kBAAAK;;AAMA,YAAYC,aAAY;AAEjB,IAAMD,YAAkBE,gBACtBC,eAAO;EACZC,SAAgBC,gBAAQC,YAAY;IAClCC,OAAO;IACPC,aAAa;EACf,CAAA;AAKF,CAAA,CAAA;",
|
|
6
|
+
"names": ["Schema", "Capability", "meta", "Namespace", "make", "id", "Settings", "StateSchema", "mutable", "Struct", "group", "optional", "String", "notified", "Boolean", "State", "Observability", "LogDownloader", "ClientCapability", "ActivationEvent", "AppActivationEvents", "meta", "StateReady", "createStateEvent", "id", "ClientReadyEvent", "make", "Schema", "Capability", "Operation", "Format", "meta", "translations", "t", "id", "UserFeedback", "Struct", "message", "Text", "pipe", "nonEmptyString", "maxLength", "annotations", "title", "description", "includeLogs", "Boolean", "optional", "OBSERVABILITY_OPERATION", "Toggle", "make", "key", "name", "services", "Service", "input", "state", "output", "CaptureUserFeedback", "Void", "SendEvent", "String", "properties", "Any", "Settings", "Schema", "mutable", "Struct", "enabled", "Boolean", "annotations", "title", "description"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// src/operations/index.ts
|
|
2
|
+
import { OperationHandlerSet } from "@dxos/compute";
|
|
3
|
+
var ObservabilityOperationHandlerSet = OperationHandlerSet.lazy(() => import("./capture-user-feedback-M45PTVMA.mjs"), () => import("./send-event-DPYXUUL5.mjs"), () => import("./toggle-VKTFKVFC.mjs"));
|
|
4
|
+
|
|
5
|
+
export {
|
|
6
|
+
ObservabilityOperationHandlerSet
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=chunk-YZMTBNAS.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/operations/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport const ObservabilityOperationHandlerSet = OperationHandlerSet.lazy(\n () => import('./capture-user-feedback'),\n () => import('./send-event'),\n () => import('./toggle'),\n);\n"],
|
|
5
|
+
"mappings": ";AAIA,SAASA,2BAA2B;AAE7B,IAAMC,mCAAmCD,oBAAoBE,KAClE,MAAM,OAAO,sCAAA,GACb,MAAM,OAAO,2BAAA,GACb,MAAM,OAAO,uBAAA,CAAA;",
|
|
6
|
+
"names": ["OperationHandlerSet", "ObservabilityOperationHandlerSet", "lazy"]
|
|
7
|
+
}
|