@dxos/plugin-observability 0.8.4-main.bc674ce → 0.8.4-main.bcb3aa67d6

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 (222) hide show
  1. package/dist/lib/browser/ObservabilitySettings-6RQBX3OF.mjs +34 -0
  2. package/dist/lib/browser/ObservabilitySettings-6RQBX3OF.mjs.map +7 -0
  3. package/dist/lib/browser/capture-user-feedback-IWOYO3UT.mjs +25 -0
  4. package/dist/lib/browser/capture-user-feedback-IWOYO3UT.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-2OQH2YB7.mjs +49 -0
  6. package/dist/lib/browser/chunk-2OQH2YB7.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-ANQJNJAS.mjs +85 -0
  8. package/dist/lib/browser/chunk-ANQJNJAS.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  10. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-K33HLC3Z.mjs +33 -0
  12. package/dist/lib/browser/chunk-K33HLC3Z.mjs.map +7 -0
  13. package/dist/lib/browser/cli/index.mjs +12 -15
  14. package/dist/lib/browser/cli/index.mjs.map +3 -3
  15. package/dist/lib/browser/index.mjs +72 -60
  16. package/dist/lib/browser/index.mjs.map +4 -4
  17. package/dist/lib/browser/meta.json +1 -1
  18. package/dist/lib/browser/operations/index.mjs +16 -0
  19. package/dist/lib/browser/operations/index.mjs.map +7 -0
  20. package/dist/lib/browser/send-event-43ZJOBVY.mjs +23 -0
  21. package/dist/lib/browser/send-event-43ZJOBVY.mjs.map +7 -0
  22. package/dist/lib/browser/toggle-D4RINE7Y.mjs +48 -0
  23. package/dist/lib/browser/toggle-D4RINE7Y.mjs.map +7 -0
  24. package/dist/lib/browser/types/index.mjs +4 -6
  25. package/dist/lib/node-esm/ObservabilitySettings-7XBJT5LR.mjs +35 -0
  26. package/dist/lib/node-esm/ObservabilitySettings-7XBJT5LR.mjs.map +7 -0
  27. package/dist/lib/node-esm/capture-user-feedback-YDH7JA73.mjs +26 -0
  28. package/dist/lib/node-esm/capture-user-feedback-YDH7JA73.mjs.map +7 -0
  29. package/dist/lib/node-esm/chunk-B6WIDRO4.mjs +86 -0
  30. package/dist/lib/node-esm/chunk-B6WIDRO4.mjs.map +7 -0
  31. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  32. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  33. package/dist/lib/node-esm/chunk-JGHMP7UL.mjs +35 -0
  34. package/dist/lib/node-esm/chunk-JGHMP7UL.mjs.map +7 -0
  35. package/dist/lib/node-esm/chunk-QLVV3L4L.mjs +50 -0
  36. package/dist/lib/node-esm/chunk-QLVV3L4L.mjs.map +7 -0
  37. package/dist/lib/node-esm/cli/index.mjs +12 -15
  38. package/dist/lib/node-esm/cli/index.mjs.map +3 -3
  39. package/dist/lib/node-esm/index.mjs +72 -60
  40. package/dist/lib/node-esm/index.mjs.map +4 -4
  41. package/dist/lib/node-esm/meta.json +1 -1
  42. package/dist/lib/node-esm/operations/index.mjs +17 -0
  43. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  44. package/dist/lib/node-esm/send-event-4SF3OHMM.mjs +24 -0
  45. package/dist/lib/node-esm/send-event-4SF3OHMM.mjs.map +7 -0
  46. package/dist/lib/node-esm/toggle-WFYUPSN5.mjs +49 -0
  47. package/dist/lib/node-esm/toggle-WFYUPSN5.mjs.map +7 -0
  48. package/dist/lib/node-esm/types/index.mjs +4 -6
  49. package/dist/types/src/ObservabilityPlugin.d.ts +1 -1
  50. package/dist/types/src/ObservabilityPlugin.d.ts.map +1 -1
  51. package/dist/types/src/capabilities/app-graph-builder.d.ts +6 -0
  52. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  53. package/dist/types/src/capabilities/client-ready.d.ts +10 -0
  54. package/dist/types/src/capabilities/client-ready.d.ts.map +1 -0
  55. package/dist/types/src/capabilities/index.d.ts +21 -6
  56. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  57. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  58. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  59. package/dist/types/src/capabilities/react-surface.d.ts +5 -0
  60. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  61. package/dist/types/src/capabilities/settings.d.ts +10 -0
  62. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  63. package/dist/types/src/capabilities/{state/state.d.ts → state.d.ts} +2 -2
  64. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  65. package/dist/types/src/cli/plugin.d.ts.map +1 -1
  66. package/dist/types/src/components/FeedbackForm/FeedbackForm.d.ts +6 -0
  67. package/dist/types/src/components/FeedbackForm/FeedbackForm.d.ts.map +1 -0
  68. package/dist/types/src/components/FeedbackForm/FeedbackForm.stories.d.ts +36 -0
  69. package/dist/types/src/components/FeedbackForm/FeedbackForm.stories.d.ts.map +1 -0
  70. package/dist/types/src/components/FeedbackForm/index.d.ts +2 -0
  71. package/dist/types/src/components/FeedbackForm/index.d.ts.map +1 -0
  72. package/dist/types/src/components/ObservabilitySettings/ObservabilitySettings.d.ts +6 -0
  73. package/dist/types/src/components/ObservabilitySettings/ObservabilitySettings.d.ts.map +1 -0
  74. package/dist/types/src/components/ObservabilitySettings/ObservabilitySettings.stories.d.ts +37 -0
  75. package/dist/types/src/components/ObservabilitySettings/ObservabilitySettings.stories.d.ts.map +1 -0
  76. package/dist/types/src/components/ObservabilitySettings/index.d.ts +3 -0
  77. package/dist/types/src/components/ObservabilitySettings/index.d.ts.map +1 -0
  78. package/dist/types/src/components/index.d.ts +2 -2
  79. package/dist/types/src/components/index.d.ts.map +1 -1
  80. package/dist/types/src/containers/HelpContainer/HelpContainer.d.ts +4 -0
  81. package/dist/types/src/containers/HelpContainer/HelpContainer.d.ts.map +1 -0
  82. package/dist/types/src/containers/HelpContainer/index.d.ts +3 -0
  83. package/dist/types/src/containers/HelpContainer/index.d.ts.map +1 -0
  84. package/dist/types/src/containers/index.d.ts +3 -0
  85. package/dist/types/src/containers/index.d.ts.map +1 -0
  86. package/dist/types/src/index.d.ts +1 -0
  87. package/dist/types/src/index.d.ts.map +1 -1
  88. package/dist/types/src/operations/capture-user-feedback.d.ts +5 -0
  89. package/dist/types/src/operations/capture-user-feedback.d.ts.map +1 -0
  90. package/dist/types/src/operations/definitions.d.ts +23 -0
  91. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  92. package/dist/types/src/operations/index.d.ts +5 -0
  93. package/dist/types/src/operations/index.d.ts.map +1 -0
  94. package/dist/types/src/operations/send-event.d.ts +5 -0
  95. package/dist/types/src/operations/send-event.d.ts.map +1 -0
  96. package/dist/types/src/operations/toggle.d.ts +5 -0
  97. package/dist/types/src/operations/toggle.d.ts.map +1 -0
  98. package/dist/types/src/translations.d.ts +18 -16
  99. package/dist/types/src/translations.d.ts.map +1 -1
  100. package/dist/types/src/types/Settings.d.ts +6 -0
  101. package/dist/types/src/types/Settings.d.ts.map +1 -0
  102. package/dist/types/src/types/capabilities.d.ts +2 -1
  103. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  104. package/dist/types/src/types/events.d.ts.map +1 -1
  105. package/dist/types/src/types/index.d.ts +1 -1
  106. package/dist/types/src/types/index.d.ts.map +1 -1
  107. package/dist/types/tsconfig.tsbuildinfo +1 -1
  108. package/package.json +50 -30
  109. package/src/ObservabilityPlugin.ts +21 -18
  110. package/src/capabilities/app-graph-builder.ts +35 -0
  111. package/src/capabilities/client-ready.ts +85 -0
  112. package/src/capabilities/index.ts +14 -6
  113. package/src/capabilities/operation-handler.ts +16 -0
  114. package/src/capabilities/react-surface.tsx +43 -0
  115. package/src/capabilities/{settings/settings.ts → settings.ts} +7 -7
  116. package/src/capabilities/{state/state.ts → state.ts} +7 -8
  117. package/src/cli/plugin.ts +17 -13
  118. package/src/components/{FeedbackForm.stories.tsx → FeedbackForm/FeedbackForm.stories.tsx} +3 -3
  119. package/src/components/FeedbackForm/FeedbackForm.tsx +33 -0
  120. package/src/components/FeedbackForm/index.ts +5 -0
  121. package/src/components/ObservabilitySettings/ObservabilitySettings.stories.tsx +34 -0
  122. package/src/components/ObservabilitySettings/ObservabilitySettings.tsx +38 -0
  123. package/src/components/ObservabilitySettings/index.ts +7 -0
  124. package/src/components/index.ts +4 -2
  125. package/src/containers/HelpContainer/HelpContainer.tsx +56 -0
  126. package/src/containers/HelpContainer/index.ts +7 -0
  127. package/src/containers/index.ts +7 -0
  128. package/src/index.ts +1 -0
  129. package/src/meta.ts +1 -1
  130. package/src/operations/capture-user-feedback.ts +23 -0
  131. package/src/operations/definitions.ts +76 -0
  132. package/src/operations/index.ts +14 -0
  133. package/src/operations/send-event.ts +25 -0
  134. package/src/operations/toggle.ts +47 -0
  135. package/src/translations.ts +18 -17
  136. package/src/types/Settings.ts +19 -0
  137. package/src/types/capabilities.ts +8 -6
  138. package/src/types/events.ts +5 -4
  139. package/src/types/index.ts +1 -1
  140. package/dist/lib/browser/app-graph-builder-6KDHLPUO.mjs +0 -44
  141. package/dist/lib/browser/app-graph-builder-6KDHLPUO.mjs.map +0 -7
  142. package/dist/lib/browser/chunk-3XZDP7JS.mjs +0 -16
  143. package/dist/lib/browser/chunk-3XZDP7JS.mjs.map +0 -7
  144. package/dist/lib/browser/chunk-PYNLPSSZ.mjs +0 -133
  145. package/dist/lib/browser/chunk-PYNLPSSZ.mjs.map +0 -7
  146. package/dist/lib/browser/chunk-SN7DIHQG.mjs +0 -102
  147. package/dist/lib/browser/chunk-SN7DIHQG.mjs.map +0 -7
  148. package/dist/lib/browser/client-ready-YWKHC5S2.mjs +0 -107
  149. package/dist/lib/browser/client-ready-YWKHC5S2.mjs.map +0 -7
  150. package/dist/lib/browser/operation-resolver-4ROZET3B.mjs +0 -82
  151. package/dist/lib/browser/operation-resolver-4ROZET3B.mjs.map +0 -7
  152. package/dist/lib/browser/react-surface-SJTESQAF.mjs +0 -37
  153. package/dist/lib/browser/react-surface-SJTESQAF.mjs.map +0 -7
  154. package/dist/lib/browser/settings-SQ4ICR7F.mjs +0 -35
  155. package/dist/lib/browser/settings-SQ4ICR7F.mjs.map +0 -7
  156. package/dist/lib/browser/state-IKCFXHYV.mjs +0 -31
  157. package/dist/lib/browser/state-IKCFXHYV.mjs.map +0 -7
  158. package/dist/lib/node-esm/app-graph-builder-4YHKY4SP.mjs +0 -45
  159. package/dist/lib/node-esm/app-graph-builder-4YHKY4SP.mjs.map +0 -7
  160. package/dist/lib/node-esm/chunk-2ECMMPZY.mjs +0 -18
  161. package/dist/lib/node-esm/chunk-2ECMMPZY.mjs.map +0 -7
  162. package/dist/lib/node-esm/chunk-4T4N2NJZ.mjs +0 -134
  163. package/dist/lib/node-esm/chunk-4T4N2NJZ.mjs.map +0 -7
  164. package/dist/lib/node-esm/chunk-HNMV7ZZZ.mjs +0 -103
  165. package/dist/lib/node-esm/chunk-HNMV7ZZZ.mjs.map +0 -7
  166. package/dist/lib/node-esm/client-ready-YLYG6F6H.mjs +0 -108
  167. package/dist/lib/node-esm/client-ready-YLYG6F6H.mjs.map +0 -7
  168. package/dist/lib/node-esm/operation-resolver-UI7ZINXR.mjs +0 -83
  169. package/dist/lib/node-esm/operation-resolver-UI7ZINXR.mjs.map +0 -7
  170. package/dist/lib/node-esm/react-surface-D53VLGHY.mjs +0 -38
  171. package/dist/lib/node-esm/react-surface-D53VLGHY.mjs.map +0 -7
  172. package/dist/lib/node-esm/settings-WIRCHLWE.mjs +0 -36
  173. package/dist/lib/node-esm/settings-WIRCHLWE.mjs.map +0 -7
  174. package/dist/lib/node-esm/state-MQR4PNOT.mjs +0 -32
  175. package/dist/lib/node-esm/state-MQR4PNOT.mjs.map +0 -7
  176. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +0 -6
  177. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  178. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  179. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  180. package/dist/types/src/capabilities/client-ready/client-ready.d.ts +0 -10
  181. package/dist/types/src/capabilities/client-ready/client-ready.d.ts.map +0 -1
  182. package/dist/types/src/capabilities/client-ready/index.d.ts +0 -6
  183. package/dist/types/src/capabilities/client-ready/index.d.ts.map +0 -1
  184. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -5
  185. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  186. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -7
  187. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  188. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  189. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  190. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +0 -5
  191. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  192. package/dist/types/src/capabilities/settings/index.d.ts +0 -7
  193. package/dist/types/src/capabilities/settings/index.d.ts.map +0 -1
  194. package/dist/types/src/capabilities/settings/settings.d.ts +0 -9
  195. package/dist/types/src/capabilities/settings/settings.d.ts.map +0 -1
  196. package/dist/types/src/capabilities/state/index.d.ts +0 -11
  197. package/dist/types/src/capabilities/state/index.d.ts.map +0 -1
  198. package/dist/types/src/capabilities/state/state.d.ts.map +0 -1
  199. package/dist/types/src/components/FeedbackForm.d.ts +0 -6
  200. package/dist/types/src/components/FeedbackForm.d.ts.map +0 -1
  201. package/dist/types/src/components/FeedbackForm.stories.d.ts +0 -34
  202. package/dist/types/src/components/FeedbackForm.stories.d.ts.map +0 -1
  203. package/dist/types/src/components/HelpContainer.d.ts +0 -3
  204. package/dist/types/src/components/HelpContainer.d.ts.map +0 -1
  205. package/dist/types/src/components/ObservabilitySettings.d.ts +0 -12
  206. package/dist/types/src/components/ObservabilitySettings.d.ts.map +0 -1
  207. package/dist/types/src/types/schema.d.ts +0 -61
  208. package/dist/types/src/types/schema.d.ts.map +0 -1
  209. package/src/capabilities/app-graph-builder/app-graph-builder.ts +0 -42
  210. package/src/capabilities/app-graph-builder/index.ts +0 -7
  211. package/src/capabilities/client-ready/client-ready.ts +0 -97
  212. package/src/capabilities/client-ready/index.ts +0 -7
  213. package/src/capabilities/operation-resolver/index.ts +0 -7
  214. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -82
  215. package/src/capabilities/react-surface/index.ts +0 -7
  216. package/src/capabilities/react-surface/react-surface.tsx +0 -34
  217. package/src/capabilities/settings/index.ts +0 -7
  218. package/src/capabilities/state/index.ts +0 -7
  219. package/src/components/FeedbackForm.tsx +0 -26
  220. package/src/components/HelpContainer.tsx +0 -36
  221. package/src/components/ObservabilitySettings.tsx +0 -53
  222. package/src/types/schema.ts +0 -78
@@ -1,32 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- ObservabilityCapabilities
4
- } from "./chunk-4T4N2NJZ.mjs";
5
- import {
6
- meta
7
- } from "./chunk-2ECMMPZY.mjs";
8
-
9
- // src/capabilities/state/state.ts
10
- import * as Effect from "effect/Effect";
11
- import { Capability, Common } from "@dxos/app-framework";
12
- import { createKvsStore } from "@dxos/effect";
13
- import { getObservabilityGroup } from "@dxos/observability";
14
- var state_default = Capability.makeModule(Effect.fnUntraced(function* (props) {
15
- const { namespace } = props;
16
- const stateAtom = createKvsStore({
17
- key: meta.id,
18
- schema: ObservabilityCapabilities.StateSchema,
19
- defaultValue: () => ({})
20
- });
21
- const group = yield* Effect.tryPromise(() => getObservabilityGroup(namespace));
22
- const registry = yield* Capability.get(Common.Capability.AtomRegistry);
23
- registry.set(stateAtom, {
24
- ...registry.get(stateAtom),
25
- group
26
- });
27
- return Capability.contributes(ObservabilityCapabilities.State, stateAtom);
28
- }));
29
- export {
30
- state_default as default
31
- };
32
- //# sourceMappingURL=state-MQR4PNOT.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/state/state.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { createKvsStore } from '@dxos/effect';\nimport { getObservabilityGroup } from '@dxos/observability';\n\nimport { meta } from '../../meta';\nimport { ObservabilityCapabilities } from '../../types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* (props?: { namespace: string }) {\n const { namespace } = props!;\n const stateAtom = createKvsStore({\n key: meta.id,\n schema: ObservabilityCapabilities.StateSchema,\n defaultValue: () => ({}),\n });\n\n // NOTE: Group is set at runtime, not persisted.\n const group = yield* Effect.tryPromise(() => getObservabilityGroup(namespace));\n const registry = yield* Capability.get(Common.Capability.AtomRegistry);\n registry.set(stateAtom, { ...registry.get(stateAtom), group });\n\n return Capability.contributes(ObservabilityCapabilities.State, stateAtom);\n }),\n);\n"],
5
- "mappings": ";;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,YAAYC,cAAc;AACnC,SAASC,sBAAsB;AAC/B,SAASC,6BAA6B;AAKtC,IAAA,gBAAeC,WAAWC,WACjBC,kBAAW,WAAWC,OAA6B;AACxD,QAAM,EAAEC,UAAS,IAAKD;AACtB,QAAME,YAAYC,eAAe;IAC/BC,KAAKC,KAAKC;IACVC,QAAQC,0BAA0BC;IAClCC,cAAc,OAAO,CAAC;EACxB,CAAA;AAGA,QAAMC,QAAQ,OAAcC,kBAAW,MAAMC,sBAAsBZ,SAAAA,CAAAA;AACnE,QAAMa,WAAW,OAAOjB,WAAWkB,IAAIC,OAAOnB,WAAWoB,YAAY;AACrEH,WAASI,IAAIhB,WAAW;IAAE,GAAGY,SAASC,IAAIb,SAAAA;IAAYS;EAAM,CAAA;AAE5D,SAAOd,WAAWsB,YAAYX,0BAA0BY,OAAOlB,SAAAA;AACjE,CAAA,CAAA;",
6
- "names": ["Effect", "Capability", "Common", "createKvsStore", "getObservabilityGroup", "Capability", "makeModule", "fnUntraced", "props", "namespace", "stateAtom", "createKvsStore", "key", "meta", "id", "schema", "ObservabilityCapabilities", "StateSchema", "defaultValue", "group", "tryPromise", "getObservabilityGroup", "registry", "get", "Common", "AtomRegistry", "set", "contributes", "State"]
7
- }
@@ -1,6 +0,0 @@
1
- import * as Effect from 'effect/Effect';
2
- import { Capability } from '@dxos/app-framework';
3
- import { GraphBuilder } from '@dxos/plugin-graph';
4
- declare const _default: (props?: void | undefined) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<GraphBuilder.BuilderExtensions>>, never, never>;
5
- export default _default;
6
- //# sourceMappingURL=app-graph-builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/app-graph-builder/app-graph-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAU,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAe,MAAM,oBAAoB,CAAC;;AAS/D,wBAyBE"}
@@ -1,3 +0,0 @@
1
- import { Capability } from '@dxos/app-framework';
2
- export declare const AppGraphBuilder: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<import("@dxos/app-graph").BuilderExtensions>>, Error>;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/app-graph-builder/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,eAAe,qIAA0E,CAAC"}
@@ -1,10 +0,0 @@
1
- import * as Effect from 'effect/Effect';
2
- import { Capability } from '@dxos/app-framework';
3
- import { type Observability } from '@dxos/observability';
4
- type ClientReadyOptions = {
5
- namespace: string;
6
- observability: Observability;
7
- };
8
- declare const _default: (props?: ClientReadyOptions | undefined) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<Observability>>, Error, Capability.Service>;
9
- export default _default;
10
- //# sourceMappingURL=client-ready.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-ready.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/client-ready/client-ready.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAA6B,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,KAAK,aAAa,EAA2B,MAAM,qBAAqB,CAAC;AAKlF,KAAK,kBAAkB,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;;AAEF,wBA+EE"}
@@ -1,6 +0,0 @@
1
- import { Capability } from '@dxos/app-framework';
2
- export declare const ClientReady: Capability.LazyCapability<{
3
- namespace: string;
4
- observability: import("@dxos/observability").Observability;
5
- }, Capability.Capability<Capability.InterfaceDef<import("@dxos/observability").Observability>>, Error>;
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/client-ready/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,WAAW;;;sGAAiE,CAAC"}
@@ -1,5 +0,0 @@
1
- import { Capability } from '@dxos/app-framework';
2
- export declare const OperationResolver: Capability.LazyCapability<{
3
- namespace: string;
4
- }, Capability.Capability<Capability.InterfaceDef<import("@dxos/app-framework/Common").Capability.OperationResolver[]>>, Error>;
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/operation-resolver/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,iBAAiB;;8HAA6E,CAAC"}
@@ -1,7 +0,0 @@
1
- import * as Effect from 'effect/Effect';
2
- import { Capability, Common } from '@dxos/app-framework';
3
- declare const _default: (props?: {
4
- namespace: string;
5
- } | undefined) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<Common.Capability.OperationResolver[]>>, never, Capability.Service>;
6
- export default _default;
7
- //# sourceMappingURL=operation-resolver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"operation-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/operation-resolver/operation-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;;eASL,MAAM;;AAD1D,wBAmEE"}
@@ -1,3 +0,0 @@
1
- import { Capability } from '@dxos/app-framework';
2
- export declare const ReactSurface: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<import("@dxos/app-framework/Common").Capability.ReactSurface>>, Error>;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/react-surface/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,YAAY,sJAAmE,CAAC"}
@@ -1,5 +0,0 @@
1
- import * as Effect from 'effect/Effect';
2
- import { Capability, Common } from '@dxos/app-framework';
3
- declare const _default: (props?: void | undefined) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<Common.Capability.ReactSurface>>, never, never>;
4
- export default _default;
5
- //# sourceMappingURL=react-surface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/react-surface/react-surface.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;;AAMzD,wBAoBE"}
@@ -1,7 +0,0 @@
1
- import { Capability } from '@dxos/app-framework';
2
- export declare const ObservabilitySettings: Capability.LazyCapability<void, [Capability.Capability<Capability.InterfaceDef<import("@effect-atom/atom/Atom").Writable<{
3
- enabled: boolean;
4
- }, {
5
- enabled: boolean;
6
- }>>>, Capability.Capability<Capability.InterfaceDef<import("@dxos/app-framework/Common").Capability.Settings>>], Error>;
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/settings/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,qBAAqB;;;;uHAAuE,CAAC"}
@@ -1,9 +0,0 @@
1
- import * as Effect from 'effect/Effect';
2
- import { Capability, Common } from '@dxos/app-framework';
3
- declare const _default: (props?: void | undefined) => Effect.Effect<[Capability.Capability<Capability.InterfaceDef<import("@effect-atom/atom/Atom").Writable<{
4
- enabled: boolean;
5
- }, {
6
- enabled: boolean;
7
- }>>>, Capability.Capability<Capability.InterfaceDef<Common.Capability.Settings>>], never, never>;
8
- export default _default;
9
- //# sourceMappingURL=settings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/settings/settings.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;;;;;;AAOzD,wBAmBE"}
@@ -1,11 +0,0 @@
1
- import { Capability } from '@dxos/app-framework';
2
- export declare const ObservabilityState: Capability.LazyCapability<{
3
- namespace: string;
4
- }, Capability.Capability<Capability.InterfaceDef<import("@effect-atom/atom/Atom").Writable<{
5
- group?: string | undefined;
6
- notified?: boolean | undefined;
7
- }, {
8
- group?: string | undefined;
9
- notified?: boolean | undefined;
10
- }>>>, Error>;
11
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/state/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,kBAAkB;;;;;;;;YAAiE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/state/state.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAU,MAAM,qBAAqB,CAAC;;eAQL,MAAM;;;;;;;;AAD1D,wBAgBE"}
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- import { type FormRootProps } from '@dxos/react-ui-form';
3
- import { UserFeedback } from '../types';
4
- export type FeedbackFormProps = Pick<FormRootProps<UserFeedback>, 'onSave'>;
5
- export declare const FeedbackForm: ({ onSave }: FeedbackFormProps) => React.JSX.Element;
6
- //# sourceMappingURL=FeedbackForm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FeedbackForm.d.ts","sourceRoot":"","sources":["../../../../src/components/FeedbackForm.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG/D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;AAE5E,eAAO,MAAM,YAAY,GAAI,YAAY,iBAAiB,sBAWzD,CAAC"}
@@ -1,34 +0,0 @@
1
- import { type StoryObj } from '@storybook/react-vite';
2
- declare const meta: {
3
- title: string;
4
- component: ({ onSave }: import("./FeedbackForm").FeedbackFormProps) => import("react").JSX.Element;
5
- decorators: import("@storybook/react").Decorator[];
6
- parameters: {
7
- layout: string;
8
- translations: [{
9
- readonly 'en-US': {
10
- readonly [meta.id]: {
11
- readonly 'plugin name': "Telemetry";
12
- readonly 'settings title': "Telemetry settings";
13
- readonly 'observability toast label': "Privacy Notice";
14
- readonly 'observability toast description': "Composer collects usage and performance metrics to improve the product. No user data is collected.";
15
- readonly 'observability toast action label': "Settings";
16
- readonly 'observability toast action alt': "Open settings to learn more or to disable.";
17
- readonly 'observability toast close label': "Okay";
18
- readonly 'observability enabled label': "Enable telemetry";
19
- readonly 'observability description': "When enabled, basic usage data will used to improve the product. This may include performance metrics, error logs, and usage data. No personally identifiable information, other than your public key, is included with this data and no private data ever leaves your devices.";
20
- readonly 'help label': "Feedback & Support";
21
- readonly 'feedback textarea label': "Feedback";
22
- readonly 'feedback textarea placeholder': "Please enter your feedback, technical issue, or feature request.";
23
- readonly 'send feedback label': "Send Feedback";
24
- readonly 'feedback toast label': "Thank you for your feedback!";
25
- readonly 'feedback toast description': "We will review your feedback and get back to you as soon as possible.";
26
- };
27
- };
28
- }];
29
- };
30
- };
31
- export default meta;
32
- type Story = StoryObj<typeof meta>;
33
- export declare const Default: Story;
34
- //# sourceMappingURL=FeedbackForm.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FeedbackForm.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/FeedbackForm.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAQjE,QAAA,MAAM,IAAI;;;;;;;;yBANoD,CAEzD,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;CAYwB,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC"}
@@ -1,3 +0,0 @@
1
- import React from 'react';
2
- export declare const HelpContainer: () => React.JSX.Element;
3
- //# sourceMappingURL=HelpContainer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HelpContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/HelpContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAW3C,eAAO,MAAM,aAAa,yBAoBzB,CAAC"}
@@ -1,12 +0,0 @@
1
- import * as Schema from 'effect/Schema';
2
- import React from 'react';
3
- export declare const ObservabilitySettingsSchema: Schema.mutable<Schema.Struct<{
4
- enabled: typeof Schema.Boolean;
5
- }>>;
6
- export type ObservabilitySettingsProps = Schema.Schema.Type<typeof ObservabilitySettingsSchema>;
7
- export type ObservabilitySettingsComponentProps = {
8
- settings: ObservabilitySettingsProps;
9
- onSettingsChange: (fn: (current: ObservabilitySettingsProps) => ObservabilitySettingsProps) => void;
10
- };
11
- export declare const ObservabilitySettings: ({ settings }: ObservabilitySettingsComponentProps) => React.JSX.Element;
12
- //# sourceMappingURL=ObservabilitySettings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ObservabilitySettings.d.ts","sourceRoot":"","sources":["../../../../src/components/ObservabilitySettings.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,eAAO,MAAM,2BAA2B;;GAQvC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhG,MAAM,MAAM,mCAAmC,GAAG;IAChD,QAAQ,EAAE,0BAA0B,CAAC;IACrC,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,0BAA0B,KAAK,0BAA0B,KAAK,IAAI,CAAC;CACrG,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,cAAc,mCAAmC,sBAqBtF,CAAC"}
@@ -1,61 +0,0 @@
1
- import * as Schema from 'effect/Schema';
2
- import { Capability } from '@dxos/app-framework';
3
- export declare const UserFeedback: Schema.Struct<{
4
- message: Schema.refine<string, Schema.filter<typeof Schema.String>>;
5
- }>;
6
- export type UserFeedback = Schema.Schema.Type<typeof UserFeedback>;
7
- /**
8
- * Operations for the Observability plugin.
9
- */
10
- export declare namespace ObservabilityOperation {
11
- const Toggle: Omit<{
12
- readonly meta: {
13
- readonly key: `${string}/toggle`;
14
- readonly name: "Toggle Observability";
15
- readonly description: "Toggle observability on or off.";
16
- };
17
- readonly services: readonly [typeof Capability.Service];
18
- readonly schema: {
19
- readonly input: Schema.Struct<{
20
- state: Schema.optional<typeof Schema.Boolean>;
21
- }>;
22
- readonly output: typeof Schema.Boolean;
23
- };
24
- }, "executionMode"> & import("effect/Pipeable").Pipeable & {
25
- readonly executionMode: "sync" | "async";
26
- };
27
- const CaptureUserFeedback: Omit<{
28
- readonly meta: {
29
- readonly key: `${string}/capture-feedback`;
30
- readonly name: "Capture User Feedback";
31
- readonly description: "Capture user feedback.";
32
- };
33
- readonly services: readonly [typeof Capability.Service];
34
- readonly schema: {
35
- readonly input: Schema.Struct<{
36
- message: Schema.refine<string, Schema.filter<typeof Schema.String>>;
37
- }>;
38
- readonly output: typeof Schema.Void;
39
- };
40
- }, "executionMode"> & import("effect/Pipeable").Pipeable & {
41
- readonly executionMode: "sync" | "async";
42
- };
43
- const SendEvent: Omit<{
44
- readonly meta: {
45
- readonly key: `${string}/send-event`;
46
- readonly name: "Send Event";
47
- readonly description: "Send an observability event.";
48
- };
49
- readonly services: readonly [typeof Capability.Service];
50
- readonly schema: {
51
- readonly input: Schema.Struct<{
52
- name: Schema.SchemaClass<string, string, never>;
53
- properties: Schema.optional<typeof Schema.Any>;
54
- }>;
55
- readonly output: typeof Schema.Void;
56
- };
57
- }, "executionMode"> & import("effect/Pipeable").Pipeable & {
58
- readonly executionMode: "sync" | "async";
59
- };
60
- }
61
- //# sourceMappingURL=schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/types/schema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AASjD,eAAO,MAAM,YAAY;;EASvB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC,CAAC;AAInE;;GAEG;AACH,yBAAiB,sBAAsB,CAAC;IAC/B,MAAM,MAAM;;;;;;;;;;;;;;;KAajB,CAAC;IAEI,MAAM,mBAAmB;;;;;;;;;;;;;;;KAW9B,CAAC;IAEI,MAAM,SAAS;;;;;;;;;;;;;;;;KAcpB,CAAC;CACJ"}
@@ -1,42 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Effect from 'effect/Effect';
6
-
7
- import { Capability, Common } from '@dxos/app-framework';
8
- import { GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';
9
-
10
- import { meta } from '../../meta';
11
-
12
- // NOTE: Copied from @dxos/plugin-deck to break circular dependency.
13
- const ATTENDABLE_PATH_SEPARATOR = '~';
14
-
15
- const DECK_COMPANION_TYPE = 'dxos.org/plugin/deck/deck-companion';
16
-
17
- export default Capability.makeModule(
18
- Effect.fnUntraced(function* () {
19
- const extensions = yield* Effect.all([
20
- GraphBuilder.createExtension({
21
- id: `${meta.id}/help`,
22
- match: NodeMatcher.whenRoot,
23
- connector: (node) =>
24
- Effect.succeed([
25
- {
26
- id: [node.id, 'help'].join(ATTENDABLE_PATH_SEPARATOR),
27
- type: DECK_COMPANION_TYPE,
28
- data: null,
29
- properties: {
30
- label: ['help label', { ns: meta.id }],
31
- icon: 'ph--question--regular',
32
- disposition: 'hidden',
33
- position: 'hoist',
34
- },
35
- },
36
- ]),
37
- }),
38
- ]);
39
-
40
- return Capability.contributes(Common.Capability.AppGraphBuilder, extensions);
41
- }),
42
- );
@@ -1,7 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capability } from '@dxos/app-framework';
6
-
7
- export const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));
@@ -1,97 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Effect from 'effect/Effect';
6
-
7
- import { Capability, Common, SettingsOperation } from '@dxos/app-framework';
8
- import { type Observability, setupTelemetryListeners } from '@dxos/observability';
9
-
10
- import { meta } from '../../meta';
11
- import { ClientCapability, ObservabilityCapabilities, ObservabilityOperation } from '../../types';
12
-
13
- type ClientReadyOptions = {
14
- namespace: string;
15
- observability: Observability;
16
- };
17
-
18
- export default Capability.makeModule(
19
- Effect.fnUntraced(function* (props?: ClientReadyOptions) {
20
- const { namespace, observability } = props!;
21
- const manager = yield* Capability.get(Common.Capability.PluginManager);
22
- const { invokePromise } = yield* Capability.get(Common.Capability.OperationInvoker);
23
- const registry = yield* Capability.get(Common.Capability.AtomRegistry);
24
- const stateAtom = yield* Capability.get(ObservabilityCapabilities.State);
25
- const client = yield* Capability.get(ClientCapability);
26
-
27
- const sendPrivacyNotice = async () => {
28
- const environment = client?.config?.values.runtime?.app?.env?.DX_ENVIRONMENT;
29
- const notify =
30
- environment && environment !== 'ci' && !environment.endsWith('.local') && !environment.endsWith('.lan');
31
- const state = registry.get(stateAtom);
32
- if (!state.notified && notify) {
33
- await invokePromise(Common.LayoutOperation.AddToast, {
34
- id: `${meta.id}/notice`,
35
- title: ['observability toast label', { ns: meta.id }],
36
- description: ['observability toast description', { ns: meta.id }],
37
- duration: Infinity,
38
- icon: 'ph--info--regular',
39
- actionLabel: ['observability toast action label', { ns: meta.id }],
40
- actionAlt: ['observability toast action alt', { ns: meta.id }],
41
- closeLabel: ['observability toast close label', { ns: meta.id }],
42
- onAction: () => invokePromise(SettingsOperation.Open, { plugin: meta.id }),
43
- });
44
-
45
- registry.set(stateAtom, { ...registry.get(stateAtom), notified: true });
46
- }
47
- };
48
-
49
- // Ensure errors are tagged with enabled plugins to help with reproductions.
50
- const enabledPlugins = manager.getEnabled();
51
- for (const plugin of enabledPlugins) {
52
- observability?.setTag(`pluginEnabled-${plugin}`, 'true', 'errors');
53
- }
54
-
55
- yield* Effect.tryPromise(() =>
56
- invokePromise(ObservabilityOperation.SendEvent, {
57
- name: 'page.load',
58
- properties: {
59
- // TODO(wittjosiah): These apis are deprecated. Is there a better way to find this information?
60
- loadDuration: window.performance.timing.loadEventEnd - window.performance.timing.loadEventStart,
61
- },
62
- }),
63
- );
64
-
65
- // Start client observability (i.e. not running as shared worker)
66
- // TODO(nf): how to prevent multiple instances for single shared worker?
67
- const cleanup = setupTelemetryListeners(namespace, client, observability);
68
-
69
- yield* Effect.tryPromise(() =>
70
- Promise.all([
71
- observability.setIdentityTags(client.services.services),
72
- observability.startRuntimeMetrics(client),
73
- observability.startNetworkMetrics(client.services.services),
74
- observability.startSpacesMetrics(client, namespace),
75
- ]),
76
- );
77
-
78
- if (client.halo.identity.get()) {
79
- yield* Effect.tryPromise(() => sendPrivacyNotice());
80
- } else {
81
- const subscription = client.halo.identity.subscribe(async (identity) => {
82
- if (identity && observability) {
83
- await sendPrivacyNotice();
84
- await observability.setIdentityTags(client.services.services);
85
- subscription.unsubscribe();
86
- }
87
- });
88
- }
89
-
90
- return Capability.contributes(ObservabilityCapabilities.Observability, observability, () =>
91
- Effect.tryPromise(async () => {
92
- cleanup();
93
- await observability.close();
94
- }),
95
- );
96
- }),
97
- );
@@ -1,7 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capability } from '@dxos/app-framework';
6
-
7
- export const ClientReady = Capability.lazy('ClientReady', () => import('./client-ready'));
@@ -1,7 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capability } from '@dxos/app-framework';
6
-
7
- export const OperationResolver = Capability.lazy('OperationResolver', () => import('./operation-resolver'));
@@ -1,82 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Effect from 'effect/Effect';
6
-
7
- import { Capability, Common } from '@dxos/app-framework';
8
- import { getTelemetryIdentity, storeObservabilityDisabled } from '@dxos/observability';
9
- import { OperationResolver } from '@dxos/operation';
10
-
11
- import { type ObservabilitySettingsProps } from '../../components';
12
- import { meta } from '../../meta';
13
- import { ClientCapability, ObservabilityCapabilities, ObservabilityOperation } from '../../types';
14
-
15
- export default Capability.makeModule(
16
- Effect.fnUntraced(function* (props?: { namespace: string }) {
17
- const { namespace } = props!;
18
- const capabilities = yield* Capability.Service;
19
-
20
- return Capability.contributes(Common.Capability.OperationResolver, [
21
- //
22
- // Toggle
23
- //
24
- OperationResolver.make({
25
- operation: ObservabilityOperation.Toggle,
26
- handler: Effect.fnUntraced(function* (input) {
27
- const client = yield* Capability.get(ClientCapability);
28
- const observability = yield* Capability.get(ObservabilityCapabilities.Observability);
29
- const registry = capabilities.get(Common.Capability.AtomRegistry);
30
- const allSettings = capabilities.getAll(Common.Capability.Settings);
31
- const settingsObj = allSettings.find((s: Common.Capability.Settings) => s.prefix === meta.id);
32
- if (!settingsObj) {
33
- return false;
34
- }
35
- const settings = registry.get(settingsObj.atom) as ObservabilitySettingsProps;
36
- const newEnabled = input.state ?? !settings.enabled;
37
- registry.set(settingsObj.atom, { ...settings, enabled: newEnabled });
38
- observability.track({
39
- ...getTelemetryIdentity(client),
40
- action: 'observability.toggle',
41
- properties: {
42
- enabled: newEnabled,
43
- },
44
- });
45
- observability.setMode(newEnabled ? 'basic' : 'disabled');
46
- yield* Effect.promise(() => storeObservabilityDisabled(namespace, !newEnabled));
47
- return newEnabled;
48
- }),
49
- }),
50
-
51
- //
52
- // SendEvent
53
- //
54
- OperationResolver.make({
55
- operation: ObservabilityOperation.SendEvent,
56
- handler: Effect.fnUntraced(function* (input) {
57
- // NOTE: This is to ensure that events fired before observability is ready are still sent.
58
- const observability = yield* Capability.waitFor(ObservabilityCapabilities.Observability);
59
- const client = yield* Capability.get(ClientCapability);
60
- const properties = input.properties ?? {};
61
-
62
- observability.track({
63
- ...getTelemetryIdentity(client),
64
- action: input.name,
65
- properties,
66
- });
67
- }),
68
- }),
69
-
70
- //
71
- // CaptureUserFeedback
72
- //
73
- OperationResolver.make({
74
- operation: ObservabilityOperation.CaptureUserFeedback,
75
- handler: Effect.fnUntraced(function* (input) {
76
- const observability = yield* Capability.get(ObservabilityCapabilities.Observability);
77
- observability.captureUserFeedback(input.message);
78
- }),
79
- }),
80
- ]);
81
- }),
82
- );
@@ -1,7 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capability } from '@dxos/app-framework';
6
-
7
- export const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));
@@ -1,34 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Effect from 'effect/Effect';
6
- import React from 'react';
7
-
8
- import { Capability, Common } from '@dxos/app-framework';
9
- import { useSettingsState } from '@dxos/app-framework/react';
10
-
11
- import { HelpContainer, ObservabilitySettings, type ObservabilitySettingsProps } from '../../components';
12
- import { meta } from '../../meta';
13
-
14
- export default Capability.makeModule(() =>
15
- Effect.succeed(
16
- Capability.contributes(Common.Capability.ReactSurface, [
17
- Common.createSurface({
18
- id: meta.id,
19
- role: 'article',
20
- filter: (data): data is { subject: Common.Capability.Settings } =>
21
- Common.Capability.isSettings(data.subject) && data.subject.prefix === meta.id,
22
- component: ({ data: { subject } }) => {
23
- const { settings, updateSettings } = useSettingsState<ObservabilitySettingsProps>(subject.atom);
24
- return <ObservabilitySettings settings={settings} onSettingsChange={updateSettings} />;
25
- },
26
- }),
27
- Common.createSurface({
28
- id: `${meta.id}/help`,
29
- role: 'deck-companion--help',
30
- component: () => <HelpContainer />,
31
- }),
32
- ]),
33
- ),
34
- );
@@ -1,7 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capability } from '@dxos/app-framework';
6
-
7
- export const ObservabilitySettings = Capability.lazy('ObservabilitySettings', () => import('./settings'));