@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.
Files changed (178) hide show
  1. package/dist/lib/neutral/HelpContainer-NYKOV3GM.mjs +68 -0
  2. package/dist/lib/neutral/HelpContainer-NYKOV3GM.mjs.map +7 -0
  3. package/dist/lib/neutral/ObservabilityPlugin.mjs +62 -0
  4. package/dist/lib/neutral/ObservabilityPlugin.mjs.map +7 -0
  5. package/dist/lib/{node-esm/cli/index.mjs → neutral/ObservabilityPlugin.node.mjs} +8 -7
  6. package/dist/lib/neutral/ObservabilityPlugin.node.mjs.map +7 -0
  7. package/dist/lib/{browser/ObservabilitySettings-EM7ABGCA.mjs → neutral/ObservabilitySettings-H6UKYDDT.mjs} +9 -13
  8. package/dist/lib/neutral/ObservabilitySettings-H6UKYDDT.mjs.map +7 -0
  9. package/dist/lib/neutral/app-graph-builder-PTVHNKQY.mjs +37 -0
  10. package/dist/lib/neutral/app-graph-builder-PTVHNKQY.mjs.map +7 -0
  11. package/dist/lib/neutral/capabilities/index.mjs +19 -0
  12. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  13. package/dist/lib/{browser/capture-user-feedback-H4KPG7PC.mjs → neutral/capture-user-feedback-M45PTVMA.mjs} +7 -10
  14. package/dist/lib/neutral/capture-user-feedback-M45PTVMA.mjs.map +7 -0
  15. package/dist/lib/neutral/chunk-ANCT53Y3.mjs +19 -0
  16. package/dist/lib/neutral/chunk-ANCT53Y3.mjs.map +7 -0
  17. package/dist/lib/neutral/chunk-LBYPFOE5.mjs +132 -0
  18. package/dist/lib/neutral/chunk-LBYPFOE5.mjs.map +7 -0
  19. package/dist/lib/neutral/chunk-YZMTBNAS.mjs +8 -0
  20. package/dist/lib/neutral/chunk-YZMTBNAS.mjs.map +7 -0
  21. package/dist/lib/neutral/client-ready-TM7VE6CH.mjs +116 -0
  22. package/dist/lib/neutral/client-ready-TM7VE6CH.mjs.map +7 -0
  23. package/dist/lib/neutral/components/index.mjs +44 -0
  24. package/dist/lib/neutral/components/index.mjs.map +7 -0
  25. package/dist/lib/neutral/containers/index.mjs +9 -0
  26. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  27. package/dist/lib/neutral/index.mjs +18 -0
  28. package/dist/lib/neutral/meta.json +1 -0
  29. package/dist/lib/neutral/meta.mjs +8 -0
  30. package/dist/lib/neutral/operation-handler-4WWRXOHR.mjs +13 -0
  31. package/dist/lib/neutral/operation-handler-4WWRXOHR.mjs.map +7 -0
  32. package/dist/lib/neutral/operations/index.mjs +8 -0
  33. package/dist/lib/neutral/plugin.mjs +16 -0
  34. package/dist/lib/neutral/plugin.mjs.map +7 -0
  35. package/dist/lib/neutral/react-surface-2LUZ7EK5.mjs +41 -0
  36. package/dist/lib/neutral/react-surface-2LUZ7EK5.mjs.map +7 -0
  37. package/dist/lib/{browser/send-event-BICCRJ2W.mjs → neutral/send-event-DPYXUUL5.mjs} +7 -10
  38. package/dist/lib/neutral/send-event-DPYXUUL5.mjs.map +7 -0
  39. package/dist/lib/neutral/settings-MZYK2WQR.mjs +30 -0
  40. package/dist/lib/neutral/settings-MZYK2WQR.mjs.map +7 -0
  41. package/dist/lib/neutral/state-5COCK3KV.mjs +27 -0
  42. package/dist/lib/neutral/state-5COCK3KV.mjs.map +7 -0
  43. package/dist/lib/{browser/toggle-NV2X62VV.mjs → neutral/toggle-VKTFKVFC.mjs} +8 -11
  44. package/dist/lib/neutral/toggle-VKTFKVFC.mjs.map +7 -0
  45. package/dist/lib/{browser/chunk-K33HLC3Z.mjs → neutral/translations.mjs} +4 -4
  46. package/dist/lib/neutral/translations.mjs.map +7 -0
  47. package/dist/lib/neutral/types/index.mjs +14 -0
  48. package/dist/lib/neutral/types/index.mjs.map +7 -0
  49. package/dist/types/src/ObservabilityPlugin.d.ts +6 -0
  50. package/dist/types/src/ObservabilityPlugin.d.ts.map +1 -1
  51. package/dist/types/src/{cli/plugin.d.ts → ObservabilityPlugin.node.d.ts} +2 -1
  52. package/dist/types/src/ObservabilityPlugin.node.d.ts.map +1 -0
  53. package/dist/types/src/ObservabilityPlugin.test.d.ts +2 -0
  54. package/dist/types/src/ObservabilityPlugin.test.d.ts.map +1 -0
  55. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  56. package/dist/types/src/capabilities/client-ready.d.ts.map +1 -1
  57. package/dist/types/src/capabilities/index.d.ts +1 -1
  58. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  59. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  60. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
  61. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  62. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  63. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  64. package/dist/types/src/components/FeedbackForm/FeedbackForm.d.ts +6 -3
  65. package/dist/types/src/components/FeedbackForm/FeedbackForm.d.ts.map +1 -1
  66. package/dist/types/src/components/FeedbackForm/FeedbackForm.stories.d.ts +19 -19
  67. package/dist/types/src/components/FeedbackForm/FeedbackForm.stories.d.ts.map +1 -1
  68. package/dist/types/src/components/ObservabilitySettings/ObservabilitySettings.d.ts +1 -1
  69. package/dist/types/src/components/ObservabilitySettings/ObservabilitySettings.d.ts.map +1 -1
  70. package/dist/types/src/components/ObservabilitySettings/ObservabilitySettings.stories.d.ts +17 -18
  71. package/dist/types/src/components/ObservabilitySettings/ObservabilitySettings.stories.d.ts.map +1 -1
  72. package/dist/types/src/containers/HelpContainer/HelpContainer.d.ts.map +1 -1
  73. package/dist/types/src/index.d.ts +1 -4
  74. package/dist/types/src/index.d.ts.map +1 -1
  75. package/dist/types/src/meta.d.ts.map +1 -1
  76. package/dist/types/src/operations/capture-user-feedback.d.ts +3 -3
  77. package/dist/types/src/operations/capture-user-feedback.d.ts.map +1 -1
  78. package/dist/types/src/operations/index.d.ts +1 -3
  79. package/dist/types/src/operations/index.d.ts.map +1 -1
  80. package/dist/types/src/operations/send-event.d.ts +3 -3
  81. package/dist/types/src/operations/send-event.d.ts.map +1 -1
  82. package/dist/types/src/operations/toggle.d.ts +3 -3
  83. package/dist/types/src/operations/toggle.d.ts.map +1 -1
  84. package/dist/types/src/plugin.d.ts +4 -0
  85. package/dist/types/src/plugin.d.ts.map +1 -0
  86. package/dist/types/src/translations.d.ts +17 -19
  87. package/dist/types/src/translations.d.ts.map +1 -1
  88. package/dist/types/src/types/ObservabilityCapabilities.d.ts +28 -0
  89. package/dist/types/src/types/ObservabilityCapabilities.d.ts.map +1 -0
  90. package/dist/types/src/types/ObservabilityEvents.d.ts +4 -0
  91. package/dist/types/src/types/ObservabilityEvents.d.ts.map +1 -0
  92. package/dist/types/src/{operations/definitions.d.ts → types/ObservabilityOperation.d.ts} +2 -5
  93. package/dist/types/src/types/ObservabilityOperation.d.ts.map +1 -0
  94. package/dist/types/src/types/Settings.d.ts +1 -1
  95. package/dist/types/src/types/Settings.d.ts.map +1 -1
  96. package/dist/types/src/types/index.d.ts +3 -2
  97. package/dist/types/src/types/index.d.ts.map +1 -1
  98. package/dist/types/tsconfig.tsbuildinfo +1 -1
  99. package/package.json +84 -51
  100. package/src/{cli/plugin.ts → ObservabilityPlugin.node.ts} +5 -3
  101. package/src/ObservabilityPlugin.test.ts +25 -0
  102. package/src/ObservabilityPlugin.ts +18 -5
  103. package/src/capabilities/client-ready.ts +25 -4
  104. package/src/capabilities/index.ts +1 -1
  105. package/src/capabilities/operation-handler.ts +1 -1
  106. package/src/capabilities/react-surface.tsx +1 -1
  107. package/src/components/FeedbackForm/FeedbackForm.stories.tsx +13 -1
  108. package/src/components/FeedbackForm/FeedbackForm.tsx +22 -6
  109. package/src/components/ObservabilitySettings/ObservabilitySettings.stories.tsx +2 -1
  110. package/src/components/ObservabilitySettings/ObservabilitySettings.tsx +8 -12
  111. package/src/containers/HelpContainer/HelpContainer.tsx +5 -4
  112. package/src/index.ts +1 -4
  113. package/src/meta.ts +1 -0
  114. package/src/operations/capture-user-feedback.ts +11 -11
  115. package/src/operations/index.ts +1 -4
  116. package/src/operations/send-event.ts +3 -4
  117. package/src/operations/toggle.ts +3 -4
  118. package/src/plugin.ts +11 -0
  119. package/src/translations.ts +1 -2
  120. package/src/types/ObservabilityCapabilities.ts +42 -0
  121. package/src/types/{events.ts → ObservabilityEvents.ts} +3 -3
  122. package/src/{operations/definitions.ts → types/ObservabilityOperation.ts} +4 -6
  123. package/src/types/Settings.ts +4 -1
  124. package/src/types/index.ts +3 -2
  125. package/dist/lib/browser/ObservabilitySettings-EM7ABGCA.mjs.map +0 -7
  126. package/dist/lib/browser/capture-user-feedback-H4KPG7PC.mjs.map +0 -7
  127. package/dist/lib/browser/chunk-6WX6ST5B.mjs +0 -49
  128. package/dist/lib/browser/chunk-6WX6ST5B.mjs.map +0 -7
  129. package/dist/lib/browser/chunk-K33HLC3Z.mjs.map +0 -7
  130. package/dist/lib/browser/chunk-VZR3FNBD.mjs +0 -85
  131. package/dist/lib/browser/chunk-VZR3FNBD.mjs.map +0 -7
  132. package/dist/lib/browser/cli/index.mjs +0 -20
  133. package/dist/lib/browser/cli/index.mjs.map +0 -7
  134. package/dist/lib/browser/index.mjs +0 -110
  135. package/dist/lib/browser/index.mjs.map +0 -7
  136. package/dist/lib/browser/meta.json +0 -1
  137. package/dist/lib/browser/operations/index.mjs +0 -16
  138. package/dist/lib/browser/operations/index.mjs.map +0 -7
  139. package/dist/lib/browser/send-event-BICCRJ2W.mjs.map +0 -7
  140. package/dist/lib/browser/toggle-NV2X62VV.mjs.map +0 -7
  141. package/dist/lib/browser/types/index.mjs +0 -16
  142. package/dist/lib/node-esm/ObservabilitySettings-VP4A362Z.mjs +0 -32
  143. package/dist/lib/node-esm/ObservabilitySettings-VP4A362Z.mjs.map +0 -7
  144. package/dist/lib/node-esm/capture-user-feedback-DTL3DUXB.mjs +0 -26
  145. package/dist/lib/node-esm/capture-user-feedback-DTL3DUXB.mjs.map +0 -7
  146. package/dist/lib/node-esm/chunk-FZRJBWSE.mjs +0 -86
  147. package/dist/lib/node-esm/chunk-FZRJBWSE.mjs.map +0 -7
  148. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  149. package/dist/lib/node-esm/chunk-JGHMP7UL.mjs +0 -35
  150. package/dist/lib/node-esm/chunk-JGHMP7UL.mjs.map +0 -7
  151. package/dist/lib/node-esm/chunk-QZKJ2TUU.mjs +0 -50
  152. package/dist/lib/node-esm/chunk-QZKJ2TUU.mjs.map +0 -7
  153. package/dist/lib/node-esm/cli/index.mjs.map +0 -7
  154. package/dist/lib/node-esm/index.mjs +0 -111
  155. package/dist/lib/node-esm/index.mjs.map +0 -7
  156. package/dist/lib/node-esm/meta.json +0 -1
  157. package/dist/lib/node-esm/operations/index.mjs +0 -17
  158. package/dist/lib/node-esm/operations/index.mjs.map +0 -7
  159. package/dist/lib/node-esm/send-event-IWZKYZBI.mjs +0 -24
  160. package/dist/lib/node-esm/send-event-IWZKYZBI.mjs.map +0 -7
  161. package/dist/lib/node-esm/toggle-NJWUAPD4.mjs +0 -49
  162. package/dist/lib/node-esm/toggle-NJWUAPD4.mjs.map +0 -7
  163. package/dist/lib/node-esm/types/index.mjs +0 -17
  164. package/dist/types/src/cli/index.d.ts +0 -2
  165. package/dist/types/src/cli/index.d.ts.map +0 -1
  166. package/dist/types/src/cli/plugin.d.ts.map +0 -1
  167. package/dist/types/src/operations/definitions.d.ts.map +0 -1
  168. package/dist/types/src/types/capabilities.d.ts +0 -25
  169. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  170. package/dist/types/src/types/events.d.ts +0 -6
  171. package/dist/types/src/types/events.d.ts.map +0 -1
  172. package/src/cli/index.ts +0 -5
  173. package/src/types/capabilities.ts +0 -37
  174. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  175. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs.map +0 -0
  176. /package/dist/lib/{browser/types → neutral}/index.mjs.map +0 -0
  177. /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/meta.mjs.map} +0 -0
  178. /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 { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import "../chunk-HSLMI22Q.mjs";
1
+ import "./chunk-J5LGTIGS.mjs";
3
2
 
4
- // src/cli/plugin.ts
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/operation";
7
+ import { Operation, OperationHandlerSet } from "@dxos/compute";
9
8
  import { meta } from "#meta";
10
- import { ObservabilityOperation } from "#operations";
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=index.mjs.map
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 { Input, Message, useTranslation } from "@dxos/react-ui";
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.Item, {
17
- title: t("observability-enabled.label"),
18
- description: t("observability-enabled.description")
19
- }, /* @__PURE__ */ React.createElement(Input.Switch, {
20
- disabled: !onSettingsChange,
21
- checked: settings.enabled,
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-EM7ABGCA.mjs.map
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
- ObservabilityCapabilities
3
- } from "./chunk-6WX6ST5B.mjs";
4
- import {
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/operation";
14
- var handler = CaptureUserFeedback.pipe(Operation.withHandler(Effect.fnUntraced(function* (input) {
15
- const observability = yield* Capability.get(ObservabilityCapabilities.Observability);
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-H4KPG7PC.mjs.map
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
+ }