@dxos/plugin-observability 0.8.4-main.74a063c4e0 → 0.8.4-main.765dc60934

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 (192) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  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/neutral/chunk-ANCT53Y3.mjs +19 -0
  14. package/dist/lib/neutral/chunk-ANCT53Y3.mjs.map +7 -0
  15. package/dist/lib/neutral/chunk-TQA4K4HH.mjs +106 -0
  16. package/dist/lib/neutral/chunk-TQA4K4HH.mjs.map +7 -0
  17. package/dist/lib/neutral/chunk-U3O7BYGC.mjs +8 -0
  18. package/dist/lib/neutral/chunk-U3O7BYGC.mjs.map +7 -0
  19. package/dist/lib/neutral/client-ready-TM7VE6CH.mjs +116 -0
  20. package/dist/lib/neutral/client-ready-TM7VE6CH.mjs.map +7 -0
  21. package/dist/lib/neutral/components/index.mjs +9 -0
  22. package/dist/lib/neutral/components/index.mjs.map +7 -0
  23. package/dist/lib/neutral/index.mjs +18 -0
  24. package/dist/lib/neutral/meta.json +1 -0
  25. package/dist/lib/neutral/meta.mjs +8 -0
  26. package/dist/lib/neutral/operation-handler-4WWRXOHR.mjs +13 -0
  27. package/dist/lib/neutral/operation-handler-4WWRXOHR.mjs.map +7 -0
  28. package/dist/lib/neutral/operations/index.mjs +8 -0
  29. package/dist/lib/neutral/plugin.mjs +16 -0
  30. package/dist/lib/neutral/plugin.mjs.map +7 -0
  31. package/dist/lib/neutral/react-surface-SHB2SLRK.mjs +35 -0
  32. package/dist/lib/neutral/react-surface-SHB2SLRK.mjs.map +7 -0
  33. package/dist/lib/{browser/send-event-VV2I6QYY.mjs → neutral/send-event-AUVYZHS2.mjs} +7 -10
  34. package/dist/lib/neutral/send-event-AUVYZHS2.mjs.map +7 -0
  35. package/dist/lib/neutral/settings-MZYK2WQR.mjs +30 -0
  36. package/dist/lib/neutral/settings-MZYK2WQR.mjs.map +7 -0
  37. package/dist/lib/neutral/state-5COCK3KV.mjs +27 -0
  38. package/dist/lib/neutral/state-5COCK3KV.mjs.map +7 -0
  39. package/dist/lib/{browser/toggle-H2GX3A6G.mjs → neutral/toggle-6WX7G476.mjs} +8 -11
  40. package/dist/lib/neutral/toggle-6WX7G476.mjs.map +7 -0
  41. package/dist/lib/{browser/chunk-K33HLC3Z.mjs → neutral/translations.mjs} +4 -12
  42. package/dist/lib/neutral/translations.mjs.map +7 -0
  43. package/dist/lib/neutral/types/index.mjs +14 -0
  44. package/dist/lib/neutral/types/index.mjs.map +7 -0
  45. package/dist/types/src/ObservabilityPlugin.d.ts +6 -0
  46. package/dist/types/src/ObservabilityPlugin.d.ts.map +1 -1
  47. package/dist/types/src/{cli/plugin.d.ts → ObservabilityPlugin.node.d.ts} +2 -1
  48. package/dist/types/src/ObservabilityPlugin.node.d.ts.map +1 -0
  49. package/dist/types/src/ObservabilityPlugin.test.d.ts +2 -0
  50. package/dist/types/src/ObservabilityPlugin.test.d.ts.map +1 -0
  51. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  52. package/dist/types/src/capabilities/client-ready.d.ts.map +1 -1
  53. package/dist/types/src/capabilities/index.d.ts +2 -6
  54. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  55. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  56. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
  57. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  58. package/dist/types/src/capabilities/settings.d.ts +2 -5
  59. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  60. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  61. package/dist/types/src/components/ObservabilitySettings/ObservabilitySettings.d.ts +1 -1
  62. package/dist/types/src/components/ObservabilitySettings/ObservabilitySettings.d.ts.map +1 -1
  63. package/dist/types/src/components/ObservabilitySettings/ObservabilitySettings.stories.d.ts +9 -18
  64. package/dist/types/src/components/ObservabilitySettings/ObservabilitySettings.stories.d.ts.map +1 -1
  65. package/dist/types/src/components/index.d.ts +0 -1
  66. package/dist/types/src/components/index.d.ts.map +1 -1
  67. package/dist/types/src/index.d.ts +1 -4
  68. package/dist/types/src/index.d.ts.map +1 -1
  69. package/dist/types/src/meta.d.ts.map +1 -1
  70. package/dist/types/src/operations/index.d.ts +1 -3
  71. package/dist/types/src/operations/index.d.ts.map +1 -1
  72. package/dist/types/src/operations/send-event.d.ts +3 -3
  73. package/dist/types/src/operations/send-event.d.ts.map +1 -1
  74. package/dist/types/src/operations/toggle.d.ts +3 -3
  75. package/dist/types/src/operations/toggle.d.ts.map +1 -1
  76. package/dist/types/src/plugin.d.ts +4 -0
  77. package/dist/types/src/plugin.d.ts.map +1 -0
  78. package/dist/types/src/translations.d.ts +9 -19
  79. package/dist/types/src/translations.d.ts.map +1 -1
  80. package/dist/types/src/types/ObservabilityCapabilities.d.ts +28 -0
  81. package/dist/types/src/types/ObservabilityCapabilities.d.ts.map +1 -0
  82. package/dist/types/src/types/ObservabilityEvents.d.ts +4 -0
  83. package/dist/types/src/types/ObservabilityEvents.d.ts.map +1 -0
  84. package/dist/types/src/types/ObservabilityOperation.d.ts +10 -0
  85. package/dist/types/src/types/ObservabilityOperation.d.ts.map +1 -0
  86. package/dist/types/src/types/Settings.d.ts +3 -2
  87. package/dist/types/src/types/Settings.d.ts.map +1 -1
  88. package/dist/types/src/types/index.d.ts +3 -2
  89. package/dist/types/src/types/index.d.ts.map +1 -1
  90. package/dist/types/tsconfig.tsbuildinfo +1 -1
  91. package/package.json +75 -62
  92. package/src/{cli/plugin.ts → ObservabilityPlugin.node.ts} +5 -3
  93. package/src/ObservabilityPlugin.test.ts +25 -0
  94. package/src/ObservabilityPlugin.ts +20 -7
  95. package/src/capabilities/app-graph-builder.ts +1 -0
  96. package/src/capabilities/client-ready.ts +25 -4
  97. package/src/capabilities/index.ts +1 -1
  98. package/src/capabilities/operation-handler.ts +1 -1
  99. package/src/capabilities/react-surface.tsx +2 -9
  100. package/src/components/ObservabilitySettings/ObservabilitySettings.stories.tsx +2 -1
  101. package/src/components/ObservabilitySettings/ObservabilitySettings.tsx +8 -12
  102. package/src/components/index.ts +0 -2
  103. package/src/index.ts +1 -4
  104. package/src/meta.ts +1 -0
  105. package/src/operations/index.ts +1 -5
  106. package/src/operations/send-event.ts +3 -4
  107. package/src/operations/toggle.ts +3 -4
  108. package/src/plugin.ts +11 -0
  109. package/src/translations.ts +0 -9
  110. package/src/types/ObservabilityCapabilities.ts +42 -0
  111. package/src/types/{events.ts → ObservabilityEvents.ts} +3 -3
  112. package/src/types/ObservabilityOperation.ts +41 -0
  113. package/src/types/Settings.ts +5 -2
  114. package/src/types/index.ts +3 -2
  115. package/dist/lib/browser/ObservabilitySettings-EM7ABGCA.mjs.map +0 -7
  116. package/dist/lib/browser/capture-user-feedback-4HGXJGJL.mjs +0 -25
  117. package/dist/lib/browser/capture-user-feedback-4HGXJGJL.mjs.map +0 -7
  118. package/dist/lib/browser/chunk-J6DPYEFZ.mjs +0 -49
  119. package/dist/lib/browser/chunk-J6DPYEFZ.mjs.map +0 -7
  120. package/dist/lib/browser/chunk-K33HLC3Z.mjs.map +0 -7
  121. package/dist/lib/browser/chunk-VZR3FNBD.mjs +0 -85
  122. package/dist/lib/browser/chunk-VZR3FNBD.mjs.map +0 -7
  123. package/dist/lib/browser/cli/index.mjs +0 -20
  124. package/dist/lib/browser/cli/index.mjs.map +0 -7
  125. package/dist/lib/browser/index.mjs +0 -110
  126. package/dist/lib/browser/index.mjs.map +0 -7
  127. package/dist/lib/browser/meta.json +0 -1
  128. package/dist/lib/browser/operations/index.mjs +0 -16
  129. package/dist/lib/browser/operations/index.mjs.map +0 -7
  130. package/dist/lib/browser/send-event-VV2I6QYY.mjs.map +0 -7
  131. package/dist/lib/browser/toggle-H2GX3A6G.mjs.map +0 -7
  132. package/dist/lib/browser/types/index.mjs +0 -16
  133. package/dist/lib/node-esm/ObservabilitySettings-VP4A362Z.mjs +0 -32
  134. package/dist/lib/node-esm/ObservabilitySettings-VP4A362Z.mjs.map +0 -7
  135. package/dist/lib/node-esm/capture-user-feedback-SDQA2VYI.mjs +0 -26
  136. package/dist/lib/node-esm/capture-user-feedback-SDQA2VYI.mjs.map +0 -7
  137. package/dist/lib/node-esm/chunk-FZRJBWSE.mjs +0 -86
  138. package/dist/lib/node-esm/chunk-FZRJBWSE.mjs.map +0 -7
  139. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  140. package/dist/lib/node-esm/chunk-JGHMP7UL.mjs +0 -35
  141. package/dist/lib/node-esm/chunk-JGHMP7UL.mjs.map +0 -7
  142. package/dist/lib/node-esm/chunk-K7WZOJZF.mjs +0 -50
  143. package/dist/lib/node-esm/chunk-K7WZOJZF.mjs.map +0 -7
  144. package/dist/lib/node-esm/cli/index.mjs.map +0 -7
  145. package/dist/lib/node-esm/index.mjs +0 -111
  146. package/dist/lib/node-esm/index.mjs.map +0 -7
  147. package/dist/lib/node-esm/meta.json +0 -1
  148. package/dist/lib/node-esm/operations/index.mjs +0 -17
  149. package/dist/lib/node-esm/operations/index.mjs.map +0 -7
  150. package/dist/lib/node-esm/send-event-EMV3VHAA.mjs +0 -24
  151. package/dist/lib/node-esm/send-event-EMV3VHAA.mjs.map +0 -7
  152. package/dist/lib/node-esm/toggle-XRNGEYNP.mjs +0 -49
  153. package/dist/lib/node-esm/toggle-XRNGEYNP.mjs.map +0 -7
  154. package/dist/lib/node-esm/types/index.mjs +0 -17
  155. package/dist/types/src/cli/index.d.ts +0 -2
  156. package/dist/types/src/cli/index.d.ts.map +0 -1
  157. package/dist/types/src/cli/plugin.d.ts.map +0 -1
  158. package/dist/types/src/components/FeedbackForm/FeedbackForm.d.ts +0 -6
  159. package/dist/types/src/components/FeedbackForm/FeedbackForm.d.ts.map +0 -1
  160. package/dist/types/src/components/FeedbackForm/FeedbackForm.stories.d.ts +0 -36
  161. package/dist/types/src/components/FeedbackForm/FeedbackForm.stories.d.ts.map +0 -1
  162. package/dist/types/src/components/FeedbackForm/index.d.ts +0 -2
  163. package/dist/types/src/components/FeedbackForm/index.d.ts.map +0 -1
  164. package/dist/types/src/containers/HelpContainer/HelpContainer.d.ts +0 -4
  165. package/dist/types/src/containers/HelpContainer/HelpContainer.d.ts.map +0 -1
  166. package/dist/types/src/containers/HelpContainer/index.d.ts +0 -2
  167. package/dist/types/src/containers/HelpContainer/index.d.ts.map +0 -1
  168. package/dist/types/src/containers/index.d.ts +0 -3
  169. package/dist/types/src/containers/index.d.ts.map +0 -1
  170. package/dist/types/src/operations/capture-user-feedback.d.ts +0 -5
  171. package/dist/types/src/operations/capture-user-feedback.d.ts.map +0 -1
  172. package/dist/types/src/operations/definitions.d.ts +0 -23
  173. package/dist/types/src/operations/definitions.d.ts.map +0 -1
  174. package/dist/types/src/types/capabilities.d.ts +0 -28
  175. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  176. package/dist/types/src/types/events.d.ts +0 -6
  177. package/dist/types/src/types/events.d.ts.map +0 -1
  178. package/src/cli/index.ts +0 -5
  179. package/src/components/FeedbackForm/FeedbackForm.stories.tsx +0 -32
  180. package/src/components/FeedbackForm/FeedbackForm.tsx +0 -33
  181. package/src/components/FeedbackForm/index.ts +0 -5
  182. package/src/containers/HelpContainer/HelpContainer.tsx +0 -56
  183. package/src/containers/HelpContainer/index.ts +0 -5
  184. package/src/containers/index.ts +0 -7
  185. package/src/operations/capture-user-feedback.ts +0 -22
  186. package/src/operations/definitions.ts +0 -77
  187. package/src/types/capabilities.ts +0 -37
  188. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  189. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs.map +0 -0
  190. /package/dist/lib/{browser/types → neutral}/index.mjs.map +0 -0
  191. /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/meta.mjs.map} +0 -0
  192. /package/dist/lib/{node-esm/types → neutral/operations}/index.mjs.map +0 -0
@@ -2,14 +2,14 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
+ // @import-as-namespace
6
+
5
7
  import { ActivationEvent } from '@dxos/app-framework';
6
8
  import { AppActivationEvents } from '@dxos/app-toolkit';
7
9
 
8
10
  import { meta } from '#meta';
9
11
 
10
- export namespace ObservabilityEvents {
11
- export const StateReady: ActivationEvent.ActivationEvent = AppActivationEvents.createStateEvent(meta.id);
12
- }
12
+ export const StateReady: ActivationEvent.ActivationEvent = AppActivationEvents.createStateEvent(meta.id);
13
13
 
14
14
  // NOTE: This is cloned from the client plugin to avoid circular dependencies.
15
15
  export const ClientReadyEvent = ActivationEvent.make('org.dxos.plugin.client.event.client-ready');
@@ -0,0 +1,41 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ // @import-as-namespace
6
+
7
+ import * as Schema from 'effect/Schema';
8
+
9
+ import { Capability } from '@dxos/app-framework';
10
+ import { Operation } from '@dxos/compute';
11
+
12
+ import { meta } from '#meta';
13
+
14
+ const OBSERVABILITY_OPERATION = `${meta.id}.operation`;
15
+
16
+ export const Toggle = Operation.make({
17
+ meta: {
18
+ key: `${OBSERVABILITY_OPERATION}.toggle`,
19
+ name: 'Toggle Observability',
20
+ description: 'Toggle observability on or off.',
21
+ },
22
+ services: [Capability.Service],
23
+ input: Schema.Struct({
24
+ state: Schema.optional(Schema.Boolean),
25
+ }),
26
+ output: Schema.Boolean,
27
+ });
28
+
29
+ export const SendEvent = Operation.make({
30
+ meta: {
31
+ key: `${OBSERVABILITY_OPERATION}.send-event`,
32
+ name: 'Send Event',
33
+ description: 'Send an observability event.',
34
+ },
35
+ services: [Capability.Service],
36
+ input: Schema.Struct({
37
+ name: Schema.String.annotations({ description: 'The name of the event.' }),
38
+ properties: Schema.optional(Schema.Any).annotations({ description: 'Event properties.' }),
39
+ }),
40
+ output: Schema.Void,
41
+ });
@@ -8,7 +8,10 @@ import * as Schema from 'effect/Schema';
8
8
 
9
9
  export const Settings = Schema.mutable(
10
10
  Schema.Struct({
11
- enabled: Schema.Boolean,
11
+ enabled: Schema.Boolean.annotations({
12
+ title: 'Enable telemetry',
13
+ description: 'Send anonymous usage and performance data to help improve the product.',
14
+ }),
12
15
  // TODO(wittjosiah): Separate settings for each observability feature.
13
16
  // metrics?: boolean;
14
17
  // telemetry?: boolean;
@@ -16,4 +19,4 @@ export const Settings = Schema.mutable(
16
19
  }),
17
20
  );
18
21
 
19
- export type Settings = Schema.Schema.Type<typeof Settings>;
22
+ export interface Settings extends Schema.Schema.Type<typeof Settings> {}
@@ -2,6 +2,7 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- export * from './capabilities';
6
- export * from './events';
5
+ export * as ObservabilityCapabilities from './ObservabilityCapabilities';
6
+ export * as ObservabilityEvents from './ObservabilityEvents';
7
+ export * as ObservabilityOperation from './ObservabilityOperation';
7
8
  export * as Settings from './Settings';
@@ -1,7 +0,0 @@
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 { Input, Message, useTranslation } from '@dxos/react-ui';\nimport { Settings as SettingsForm } from '@dxos/react-ui-form';\n\nimport { meta } from '#meta';\nimport { type 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.Item\n title={t('observability-enabled.label')}\n description={t('observability-enabled.description')}\n >\n <Input.Switch\n disabled={!onSettingsChange}\n checked={settings.enabled}\n onCheckedChange={(checked) => onSettingsChange?.((s) => ({ ...s, enabled: !!checked }))}\n />\n </SettingsForm.Item>\n </SettingsForm.Section>\n </SettingsForm.Viewport>\n );\n};\n"],
5
- "mappings": ";;;AAIA,OAAOA,WAAW;AAGlB,SAASC,OAAOC,SAASC,sBAAsB;AAC/C,SAASC,YAAYC,oBAAoB;AAEzC,SAASC,YAAY;AAKd,IAAMC,wBAAwB,CAAC,EAAEC,UAAUC,iBAAgB,MAA8B;AAC9F,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AAEpC,SACE,sBAAA,cAACC,aAAaC,UAAQ,MACpB,sBAAA,cAACD,aAAaE,SAAO;IAACC,OAAOP,EAAE,kBAAkB;MAAEQ,IAAIN,KAAKC;IAAG,CAAA;KAC7D,sBAAA,cAACM,QAAQC,MAAI;IAACC,SAAQ;KACpB,sBAAA,cAACF,QAAQG,SAAO,MAAEZ,EAAE,2BAAA,CAAA,CAAA,GAEtB,sBAAA,cAACI,aAAaS,MAAI;IAChBN,OAAOP,EAAE,6BAAA;IACTc,aAAad,EAAE,mCAAA;KAEf,sBAAA,cAACe,MAAMC,QAAM;IACXC,UAAU,CAAClB;IACXmB,SAASpB,SAASqB;IAClBC,iBAAiB,CAACF,YAAYnB,mBAAmB,CAACsB,OAAO;MAAE,GAAGA;MAAGF,SAAS,CAAC,CAACD;IAAQ,EAAA;;AAMhG;",
6
- "names": ["React", "Input", "Message", "useTranslation", "Settings", "SettingsForm", "meta", "ObservabilitySettings", "settings", "onSettingsChange", "t", "useTranslation", "meta", "id", "SettingsForm", "Viewport", "Section", "title", "ns", "Message", "Root", "valence", "Content", "Item", "description", "Input", "Switch", "disabled", "checked", "enabled", "onCheckedChange", "s"]
7
- }
@@ -1,25 +0,0 @@
1
- import {
2
- ObservabilityCapabilities
3
- } from "./chunk-J6DPYEFZ.mjs";
4
- import {
5
- CaptureUserFeedback
6
- } from "./chunk-VZR3FNBD.mjs";
7
- import "./chunk-K33HLC3Z.mjs";
8
- import "./chunk-J5LGTIGS.mjs";
9
-
10
- // src/operations/capture-user-feedback.ts
11
- import * as Effect from "effect/Effect";
12
- 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);
16
- observability.feedback.captureUserFeedback({
17
- message: input.message,
18
- includeLogs: input.includeLogs
19
- });
20
- })));
21
- var capture_user_feedback_default = handler;
22
- export {
23
- capture_user_feedback_default as default
24
- };
25
- //# sourceMappingURL=capture-user-feedback-4HGXJGJL.mjs.map
@@ -1,7 +0,0 @@
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/operation';\n\nimport { ObservabilityCapabilities } from '../types';\nimport { CaptureUserFeedback } from './definitions';\n\nconst handler: Operation.WithHandler<typeof CaptureUserFeedback> = 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;AAK1B,IAAMC,UAA6DC,oBAAoBC,KACrFC,UAAUC,YACDC,kBAAW,WAAWC,OAAK;AAChC,QAAMC,gBAAgB,OAAOC,WAAWC,IAAIC,0BAA0BC,aAAa;AACnFJ,gBAAcK,SAASC,oBAAoB;IAAEC,SAASR,MAAMQ;IAASC,aAAaT,MAAMS;EAAY,CAAA;AACtG,CAAA,CAAA,CAAA;AAIJ,IAAA,gCAAef;",
6
- "names": ["Effect", "Capability", "Operation", "handler", "CaptureUserFeedback", "pipe", "Operation", "withHandler", "fnUntraced", "input", "observability", "Capability", "get", "ObservabilityCapabilities", "Observability", "feedback", "captureUserFeedback", "message", "includeLogs"]
7
- }
@@ -1,49 +0,0 @@
1
- import {
2
- __export
3
- } from "./chunk-J5LGTIGS.mjs";
4
-
5
- // src/types/capabilities.ts
6
- import * as Schema from "effect/Schema";
7
- import { Capability } from "@dxos/app-framework";
8
- import { meta } from "#meta";
9
- (function(ObservabilityCapabilities2) {
10
- ObservabilityCapabilities2.Namespace = Capability.make(`${meta.id}.capability.namespace`);
11
- ObservabilityCapabilities2.Settings = Capability.make(`${meta.id}.capability.settings`);
12
- ObservabilityCapabilities2.StateSchema = Schema.mutable(Schema.Struct({
13
- group: Schema.optional(Schema.String),
14
- notified: Schema.optional(Schema.Boolean)
15
- }));
16
- ObservabilityCapabilities2.State = Capability.make(`${meta.id}.capability.state`);
17
- ObservabilityCapabilities2.Observability = Capability.make(`${meta.id}.capability.observability`);
18
- })(ObservabilityCapabilities || (ObservabilityCapabilities = {}));
19
- var ClientCapability = Capability.make("org.dxos.plugin.client.capability.client");
20
- var ObservabilityCapabilities;
21
-
22
- // src/types/events.ts
23
- import { ActivationEvent } from "@dxos/app-framework";
24
- import { AppActivationEvents } from "@dxos/app-toolkit";
25
- import { meta as meta2 } from "#meta";
26
- (function(ObservabilityEvents2) {
27
- ObservabilityEvents2.StateReady = AppActivationEvents.createStateEvent(meta2.id);
28
- })(ObservabilityEvents || (ObservabilityEvents = {}));
29
- var ClientReadyEvent = ActivationEvent.make("org.dxos.plugin.client.event.client-ready");
30
- var ObservabilityEvents;
31
-
32
- // src/types/Settings.ts
33
- var Settings_exports = {};
34
- __export(Settings_exports, {
35
- Settings: () => Settings
36
- });
37
- import * as Schema2 from "effect/Schema";
38
- var Settings = Schema2.mutable(Schema2.Struct({
39
- enabled: Schema2.Boolean
40
- }));
41
-
42
- export {
43
- ClientCapability,
44
- ObservabilityCapabilities,
45
- ClientReadyEvent,
46
- ObservabilityEvents,
47
- Settings_exports
48
- };
49
- //# sourceMappingURL=chunk-J6DPYEFZ.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/capabilities.ts", "../../../src/types/events.ts", "../../../src/types/Settings.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\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 } from '@dxos/observability';\n\nimport { meta } from '#meta';\n\nimport * as Settings from './Settings';\n\nexport namespace ObservabilityCapabilities {\n export const Namespace = Capability.make<string>(`${meta.id}.capability.namespace`);\n\n export const Settings = Capability.make<Atom.Writable<Settings.Settings>>(`${meta.id}.capability.settings`);\n\n export const StateSchema = Schema.mutable(\n Schema.Struct({\n group: Schema.optional(Schema.String),\n notified: Schema.optional(Schema.Boolean),\n }),\n );\n\n export type State = Schema.Schema.Type<typeof StateSchema>;\n\n export const State = Capability.make<Atom.Writable<State>>(`${meta.id}.capability.state`);\n\n export const Observability = Capability.make<Observability.Observability>(`${meta.id}.capability.observability`);\n}\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\nimport { ActivationEvent } from '@dxos/app-framework';\nimport { AppActivationEvents } from '@dxos/app-toolkit';\n\nimport { meta } from '#meta';\n\nexport namespace ObservabilityEvents {\n export const StateReady: ActivationEvent.ActivationEvent = AppActivationEvents.createStateEvent(meta.id);\n}\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 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,\n // TODO(wittjosiah): Separate settings for each observability feature.\n // metrics?: boolean;\n // telemetry?: boolean;\n // errors?: boolean;\n }),\n);\n\nexport type Settings = Schema.Schema.Type<typeof Settings>;\n"],
5
- "mappings": ";;;;;AAKA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAI3B,SAASC,YAAY;UAIJC,4BAAAA;6BACFC,YAAYC,WAAWC,KAAa,GAAGC,KAAKC,EAAE,uBAAuB;6BAErEC,WAAWJ,WAAWC,KAAuC,GAAGC,KAAKC,EAAE,sBAAsB;6BAE7FE,cAAqBC,eACzBC,cAAO;IACZC,OAAcC,gBAAgBC,aAAM;IACpCC,UAAiBF,gBAAgBG,cAAO;EAC1C,CAAA,CAAA;6BAKWC,QAAQb,WAAWC,KAA2B,GAAGC,KAAKC,EAAE,mBAAmB;6BAE3EW,gBAAgBd,WAAWC,KAAkC,GAAGC,KAAKC,EAAE,2BAA2B;AACjH,GAjBiBL,8BAAAA,4BAAAA,CAAAA,EAAAA;AAqBV,IAAMiB,mBAAmBf,WAAWC,KAAa,0CAAA;;;;AChCxD,SAASe,uBAAuB;AAChC,SAASC,2BAA2B;AAEpC,SAASC,QAAAA,aAAY;UAEJC,sBAAAA;uBACFC,aAA8CC,oBAAoBC,iBAAiBC,MAAKC,EAAE;AACzG,GAFiBL,wBAAAA,sBAAAA,CAAAA,EAAAA;AAKV,IAAMM,mBAAmBC,gBAAgBC,KAAK,2CAAA;;;;ACdrD;;;;AAMA,YAAYC,aAAY;AAEjB,IAAMC,WAAkBC,gBACtBC,eAAO;EACZC,SAAgBC;AAKlB,CAAA,CAAA;",
6
- "names": ["Schema", "Capability", "meta", "ObservabilityCapabilities", "Namespace", "Capability", "make", "meta", "id", "Settings", "StateSchema", "mutable", "Struct", "group", "optional", "String", "notified", "Boolean", "State", "Observability", "ClientCapability", "ActivationEvent", "AppActivationEvents", "meta", "ObservabilityEvents", "StateReady", "AppActivationEvents", "createStateEvent", "meta", "id", "ClientReadyEvent", "ActivationEvent", "make", "Schema", "Settings", "mutable", "Struct", "enabled", "Boolean"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from '#meta';\n\nexport const translations = [\n {\n 'en-US': {\n [meta.id]: {\n 'plugin.name': 'Telemetry',\n 'settings.title': 'Telemetry settings',\n 'observability-toast.label': 'Privacy Notice',\n 'observability-toast.description':\n 'Composer collects usage and performance metrics to improve the product. No user data is collected.',\n 'observability-toast-action.label': 'Settings',\n 'observability-toast-action.alt': 'Open settings to learn more or to disable.',\n 'observability-toast-close.label': 'Okay',\n 'observability-enabled.label': 'Enable telemetry',\n 'observability-enabled.description': 'Send anonymous usage and performance data to help improve the product.',\n // TODO: Add link about telemetry privacy. Make it clearer that user data is not collected.\n 'observability.description':\n '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.',\n 'help.label': 'Feedback & Support',\n 'feedback-textarea.label': 'Feedback',\n 'feedback-textarea.placeholder': 'Please enter your feedback, technical issue, or feature request.',\n 'include-debug-logs.label': 'Include debug logs',\n 'send-feedback.label': 'Send Feedback',\n 'feedback-toast.label': 'Thank you for your feedback!',\n 'feedback-toast.description': 'We will review your feedback and get back to you as soon as possible.',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
- "mappings": ";AAMA,SAASA,YAAY;AAEd,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,KAAKC,EAAE,GAAG;QACT,eAAe;QACf,kBAAkB;QAClB,6BAA6B;QAC7B,mCACE;QACF,oCAAoC;QACpC,kCAAkC;QAClC,mCAAmC;QACnC,+BAA+B;QAC/B,qCAAqC;;QAErC,6BACE;QACF,cAAc;QACd,2BAA2B;QAC3B,iCAAiC;QACjC,4BAA4B;QAC5B,uBAAuB;QACvB,wBAAwB;QACxB,8BAA8B;MAChC;IACF;EACF;;",
6
- "names": ["meta", "translations", "meta", "id"]
7
- }
@@ -1,85 +0,0 @@
1
- import {
2
- translations
3
- } from "./chunk-K33HLC3Z.mjs";
4
- import {
5
- __export
6
- } from "./chunk-J5LGTIGS.mjs";
7
-
8
- // src/operations/definitions.ts
9
- var definitions_exports = {};
10
- __export(definitions_exports, {
11
- CaptureUserFeedback: () => CaptureUserFeedback,
12
- SendEvent: () => SendEvent,
13
- Toggle: () => Toggle,
14
- UserFeedback: () => UserFeedback
15
- });
16
- import * as Schema from "effect/Schema";
17
- import { Capability } from "@dxos/app-framework";
18
- import { Format } from "@dxos/echo";
19
- import { Operation } from "@dxos/operation";
20
- import { meta } from "#meta";
21
- var t = translations[0]["en-US"][meta.id];
22
- var UserFeedback = Schema.Struct({
23
- message: Format.Text.pipe(Schema.nonEmptyString(), Schema.maxLength(4096), Schema.annotations({
24
- title: t["feedback-textarea.label"],
25
- description: t["feedback-textarea.placeholder"]
26
- })),
27
- includeLogs: Schema.Boolean.pipe(Schema.annotations({
28
- title: t["include-debug-logs.label"]
29
- }), Schema.optional)
30
- });
31
- var OBSERVABILITY_OPERATION = `${meta.id}.operation`;
32
- var Toggle = Operation.make({
33
- meta: {
34
- key: `${OBSERVABILITY_OPERATION}.toggle`,
35
- name: "Toggle Observability",
36
- description: "Toggle observability on or off."
37
- },
38
- services: [
39
- Capability.Service
40
- ],
41
- input: Schema.Struct({
42
- state: Schema.optional(Schema.Boolean)
43
- }),
44
- output: Schema.Boolean
45
- });
46
- var CaptureUserFeedback = Operation.make({
47
- meta: {
48
- key: `${OBSERVABILITY_OPERATION}.capture-feedback`,
49
- name: "Capture User Feedback",
50
- description: "Capture user feedback."
51
- },
52
- services: [
53
- Capability.Service
54
- ],
55
- input: UserFeedback,
56
- output: Schema.Void
57
- });
58
- var SendEvent = Operation.make({
59
- meta: {
60
- key: `${OBSERVABILITY_OPERATION}.send-event`,
61
- name: "Send Event",
62
- description: "Send an observability event."
63
- },
64
- services: [
65
- Capability.Service
66
- ],
67
- input: Schema.Struct({
68
- name: Schema.String.annotations({
69
- description: "The name of the event."
70
- }),
71
- properties: Schema.optional(Schema.Any).annotations({
72
- description: "Event properties."
73
- })
74
- }),
75
- output: Schema.Void
76
- });
77
-
78
- export {
79
- UserFeedback,
80
- Toggle,
81
- CaptureUserFeedback,
82
- SendEvent,
83
- definitions_exports
84
- };
85
- //# sourceMappingURL=chunk-VZR3FNBD.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/operations/definitions.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Format } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\n\nimport { meta } from '#meta';\n\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\n/**\n * Operations for the Observability plugin.\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"],
5
- "mappings": ";;;;;;;;AAAA;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,cAAc;AACvB,SAASC,iBAAiB;AAE1B,SAASC,YAAY;AAIrB,IAAMC,IAAIC,aAAa,CAAA,EAAG,OAAA,EAASC,KAAKC,EAAE;AAEnC,IAAMC,eAAsBC,cAAO;EACxCC,SAASC,OAAOC,KAAKC,KACZC,sBAAc,GACdC,iBAAU,IAAA,GACVC,mBAAY;IACjBC,OAAOb,EAAE,yBAAA;IACTc,aAAad,EAAE,+BAAA;EACjB,CAAA,CAAA;EAEFe,aAAoBC,eAAQP,KACnBG,mBAAY;IACjBC,OAAOb,EAAE,0BAAA;EACX,CAAA,GACOiB,eAAQ;AAEnB,CAAA;AAIA,IAAMC,0BAA0B,GAAGhB,KAAKC,EAAE;AAKnC,IAAMgB,SAASC,UAAUC,KAAK;EACnCnB,MAAM;IACJoB,KAAK,GAAGJ,uBAAAA;IACRK,MAAM;IACNT,aAAa;EACf;EACAU,UAAU;IAACC,WAAWC;;EACtBC,OAActB,cAAO;IACnBuB,OAAcX,gBAAgBD,cAAO;EACvC,CAAA;EACAa,QAAeb;AACjB,CAAA;AAEO,IAAMc,sBAAsBV,UAAUC,KAAK;EAChDnB,MAAM;IACJoB,KAAK,GAAGJ,uBAAAA;IACRK,MAAM;IACNT,aAAa;EACf;EACAU,UAAU;IAACC,WAAWC;;EACtBC,OAAOvB;EACPyB,QAAeE;AACjB,CAAA;AAEO,IAAMC,YAAYZ,UAAUC,KAAK;EACtCnB,MAAM;IACJoB,KAAK,GAAGJ,uBAAAA;IACRK,MAAM;IACNT,aAAa;EACf;EACAU,UAAU;IAACC,WAAWC;;EACtBC,OAActB,cAAO;IACnBkB,MAAaU,cAAOrB,YAAY;MAAEE,aAAa;IAAyB,CAAA;IACxEoB,YAAmBjB,gBAAgBkB,UAAG,EAAEvB,YAAY;MAAEE,aAAa;IAAoB,CAAA;EACzF,CAAA;EACAe,QAAeE;AACjB,CAAA;",
6
- "names": ["Schema", "Capability", "Format", "Operation", "meta", "t", "translations", "meta", "id", "UserFeedback", "Struct", "message", "Format", "Text", "pipe", "nonEmptyString", "maxLength", "annotations", "title", "description", "includeLogs", "Boolean", "optional", "OBSERVABILITY_OPERATION", "Toggle", "Operation", "make", "key", "name", "services", "Capability", "Service", "input", "state", "output", "CaptureUserFeedback", "Void", "SendEvent", "String", "properties", "Any"]
7
- }
@@ -1,20 +0,0 @@
1
- import "../chunk-J5LGTIGS.mjs";
2
-
3
- // src/cli/plugin.ts
4
- import * as Effect from "effect/Effect";
5
- import { Capabilities, Capability, Plugin } from "@dxos/app-framework";
6
- import { AppPlugin } from "@dxos/app-toolkit";
7
- import { Operation, OperationHandlerSet } from "@dxos/operation";
8
- import { meta } from "#meta";
9
- import { ObservabilityOperation } from "#operations";
10
- var ObservabilityPlugin = Plugin.define(meta).pipe(AppPlugin.addOperationHandlerModule({
11
- activate: Capability.lazy("OperationHandler", () => Promise.resolve({
12
- default: Capability.makeModule(Effect.fnUntraced(function* () {
13
- return Capability.contributes(Capabilities.OperationHandler, OperationHandlerSet.make(Operation.withHandler(ObservabilityOperation.SendEvent, () => Effect.void)));
14
- }))
15
- }))
16
- }), Plugin.make);
17
- export {
18
- ObservabilityPlugin
19
- };
20
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/cli/plugin.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 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/operation';\n\nimport { meta } from '#meta';\nimport { ObservabilityOperation } from '#operations';\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"],
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,sBAAsBC,OAAOC,OAAOC,IAAAA,EAAMC,KACrDC,UAAUC,0BAA0B;EAClCC,UAAUC,WAAWC,KAAK,oBAAoB,MAC5CC,QAAQC,QAAQ;IACdC,SAASJ,WAAWK,WACXC,kBAAW,aAAA;AAChB,aAAON,WAAWO,YAChBC,aAAaC,kBACbC,oBAAoBC,KAAKC,UAAUC,YAAYC,uBAAuBC,WAAW,MAAaC,WAAI,CAAA,CAAA;IAEtG,CAAA,CAAA;EAEJ,CAAA,CAAA;AAEJ,CAAA,GACAvB,OAAOkB,IAAI;",
6
- "names": ["Effect", "Capabilities", "Capability", "Plugin", "AppPlugin", "Operation", "OperationHandlerSet", "meta", "ObservabilityOperation", "ObservabilityPlugin", "Plugin", "define", "meta", "pipe", "AppPlugin", "addOperationHandlerModule", "activate", "Capability", "lazy", "Promise", "resolve", "default", "makeModule", "fnUntraced", "contributes", "Capabilities", "OperationHandler", "OperationHandlerSet", "make", "Operation", "withHandler", "ObservabilityOperation", "SendEvent", "void"]
7
- }
@@ -1,110 +0,0 @@
1
- import {
2
- ObservabilityCapabilities,
3
- ObservabilityEvents
4
- } from "./chunk-J6DPYEFZ.mjs";
5
- import {
6
- translations
7
- } from "./chunk-K33HLC3Z.mjs";
8
- import "./chunk-J5LGTIGS.mjs";
9
-
10
- // src/components/index.ts
11
- import { lazy } from "react";
12
-
13
- // src/components/FeedbackForm/FeedbackForm.tsx
14
- import React from "react";
15
- import { useTranslation } from "@dxos/react-ui";
16
- import { Form } from "@dxos/react-ui-form";
17
- import { meta } from "#meta";
18
- import { UserFeedback } from "#operations";
19
- var defaultValues = {
20
- message: "",
21
- includeLogs: true
22
- };
23
- var FeedbackForm = ({ onSave, disabled }) => {
24
- const { t } = useTranslation(meta.id);
25
- return /* @__PURE__ */ React.createElement(Form.Root, {
26
- schema: UserFeedback,
27
- defaultValues,
28
- onSave
29
- }, /* @__PURE__ */ React.createElement(Form.Viewport, null, /* @__PURE__ */ React.createElement(Form.Content, null, /* @__PURE__ */ React.createElement(Form.FieldSet, null), /* @__PURE__ */ React.createElement(Form.Submit, {
30
- icon: "ph--paper-plane-tilt--regular",
31
- label: t("send-feedback.label"),
32
- disabled
33
- }))));
34
- };
35
-
36
- // src/components/index.ts
37
- var ObservabilitySettings = lazy(() => import("./ObservabilitySettings-EM7ABGCA.mjs"));
38
-
39
- // src/meta.ts
40
- import { trim } from "@dxos/util";
41
- var meta2 = {
42
- id: "org.dxos.plugin.observability",
43
- name: "Telemetry",
44
- description: trim`
45
- Application observability and telemetry collection for monitoring performance and usage patterns.
46
- Track metrics, logs, and traces for system health and analytics.
47
- `,
48
- icon: "ph--eye--regular"
49
- };
50
-
51
- // src/ObservabilityPlugin.ts
52
- import * as Effect from "effect/Effect";
53
- import { ActivationEvent, ActivationEvents, Capability, Plugin } from "@dxos/app-framework";
54
- import { AppActivationEvents, AppPlugin } from "@dxos/app-toolkit";
55
- import { AppGraphBuilder, ClientReady, ObservabilitySettings as ObservabilitySettings2, ObservabilityState, OperationHandler, ReactSurface } from "#capabilities";
56
- import { meta as meta3 } from "#meta";
57
- import { ClientReadyEvent, ObservabilityEvents as ObservabilityEvents2 } from "#types";
58
- import { ObservabilityCapabilities as ObservabilityCapabilities2 } from "#types";
59
- var ObservabilityPlugin = Plugin.define(meta3).pipe(AppPlugin.addAppGraphModule({
60
- activate: AppGraphBuilder
61
- }), AppPlugin.addSurfaceModule({
62
- activate: ReactSurface
63
- }), AppPlugin.addTranslationsModule({
64
- translations
65
- }), Plugin.addModule(({ namespace, observability }) => ({
66
- id: "observability",
67
- activatesOn: ActivationEvents.Startup,
68
- activate: () => Effect.gen(function* () {
69
- const obs = yield* Effect.tryPromise(() => observability());
70
- return Capability.contributes(ObservabilityCapabilities2.Observability, obs);
71
- })
72
- })), Plugin.addModule({
73
- activatesOn: AppActivationEvents.SetupSettings,
74
- activate: ObservabilitySettings2
75
- }), Plugin.addModule(({ namespace }) => ({
76
- id: Capability.getModuleTag(ObservabilityState),
77
- activatesOn: ActivationEvents.Startup,
78
- activatesAfter: [
79
- ObservabilityEvents2.StateReady
80
- ],
81
- activate: () => ObservabilityState({
82
- namespace
83
- })
84
- })), Plugin.addModule(({ namespace }) => ({
85
- id: "namespace",
86
- activatesOn: ActivationEvents.Startup,
87
- activate: () => Effect.succeed(Capability.contributes(ObservabilityCapabilities2.Namespace, namespace))
88
- })), AppPlugin.addOperationHandlerModule({
89
- activate: OperationHandler
90
- }), Plugin.addModule(({ namespace, observability }) => ({
91
- id: Capability.getModuleTag(ClientReady),
92
- activatesOn: ActivationEvent.allOf(ActivationEvents.OperationInvokerReady, ObservabilityEvents2.StateReady, ClientReadyEvent),
93
- activate: () => Effect.gen(function* () {
94
- const obs = yield* Effect.tryPromise(() => observability());
95
- return yield* ClientReady({
96
- namespace,
97
- observability: obs
98
- });
99
- })
100
- })), Plugin.make);
101
- export {
102
- FeedbackForm,
103
- ObservabilityCapabilities,
104
- ObservabilityEvents,
105
- ObservabilityPlugin,
106
- ObservabilitySettings,
107
- meta2 as meta,
108
- translations as observabilityTranslations
109
- };
110
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/index.ts", "../../../src/components/FeedbackForm/FeedbackForm.tsx", "../../../src/meta.ts", "../../../src/ObservabilityPlugin.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type ComponentType, lazy } from 'react';\n\nexport * from './FeedbackForm';\n\nexport const ObservabilitySettings: ComponentType<any> = lazy(() => import('./ObservabilitySettings'));\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useTranslation } from '@dxos/react-ui';\nimport { Form, type FormRootProps, type FormSubmitProps } from '@dxos/react-ui-form';\n\nimport { meta } from '#meta';\nimport { UserFeedback } from '#operations';\n\nexport type FeedbackFormProps = Pick<FormRootProps<UserFeedback>, 'onSave'> & Pick<FormSubmitProps, 'disabled'>;\n\nconst defaultValues: UserFeedback = {\n message: '',\n includeLogs: true,\n};\n\nexport const FeedbackForm = ({ onSave, disabled }: FeedbackFormProps) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <Form.Root schema={UserFeedback} defaultValues={defaultValues} onSave={onSave}>\n <Form.Viewport>\n <Form.Content>\n <Form.FieldSet />\n <Form.Submit icon='ph--paper-plane-tilt--regular' label={t('send-feedback.label')} disabled={disabled} />\n </Form.Content>\n </Form.Viewport>\n </Form.Root>\n );\n};\n", "//\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};\n", "//\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 { ClientReadyEvent, ObservabilityEvents } from '#types';\nimport { ObservabilityCapabilities } from '#types';\n\nimport { translations } from './translations';\n\nexport type ObservabilityPluginOptions = {\n namespace: string;\n observability: () => Promise<Observability.Observability>;\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(({ namespace, 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 activatesAfter: [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 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 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"],
5
- "mappings": ";;;;;;;;;;AAIA,SAA6BA,YAAY;;;ACAzC,OAAOC,WAAW;AAElB,SAASC,sBAAsB;AAC/B,SAASC,YAAsD;AAE/D,SAASC,YAAY;AACrB,SAASC,oBAAoB;AAI7B,IAAMC,gBAA8B;EAClCC,SAAS;EACTC,aAAa;AACf;AAEO,IAAMC,eAAe,CAAC,EAAEC,QAAQC,SAAQ,MAAqB;AAClE,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AAEpC,SACE,sBAAA,cAACC,KAAKC,MAAI;IAACC,QAAQC;IAAcb;IAA8BI;KAC7D,sBAAA,cAACM,KAAKI,UAAQ,MACZ,sBAAA,cAACJ,KAAKK,SAAO,MACX,sBAAA,cAACL,KAAKM,UAAQ,IAAA,GACd,sBAAA,cAACN,KAAKO,QAAM;IAACC,MAAK;IAAgCC,OAAOb,EAAE,qBAAA;IAAwBD;;AAK7F;;;ADxBO,IAAMe,wBAA4CC,KAAK,MAAM,OAAO,sCAAA,CAAA;;;AEH3E,SAASC,YAAY;AAEd,IAAMC,QAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;AACR;;;ACXA,YAAYC,YAAY;AAExB,SAASC,iBAAiBC,kBAAkBC,YAAYC,cAAc;AACtE,SAASC,qBAAqBC,iBAAiB;AAG/C,SACEC,iBACAC,aACAC,yBAAAA,wBACAC,oBACAC,kBACAC,oBACK;AACP,SAASC,QAAAA,aAAY;AACrB,SAASC,kBAAkBC,uBAAAA,4BAA2B;AACtD,SAASC,6BAAAA,kCAAiC;AASnC,IAAMC,sBAAsBC,OAAOC,OAAmCC,KAAAA,EAAMC,KACjFC,UAAUC,kBAAkB;EAAEC,UAAUC;AAAgB,CAAA,GACxDH,UAAUI,iBAAiB;EAAEF,UAAUG;AAAa,CAAA,GACpDL,UAAUM,sBAAsB;EAAEC;AAAa,CAAA,GAC/CX,OAAOY,UAAU,CAAC,EAAEC,WAAWC,cAAa,OAAQ;EAClDC,IAAI;EACJC,aAAaC,iBAAiBC;EAC9BZ,UAAU,MACDa,WAAI,aAAA;AACT,UAAMC,MAAM,OAAcC,kBAAW,MAAMP,cAAAA,CAAAA;AAC3C,WAAOQ,WAAWC,YAAYC,2BAA0BC,eAAeL,GAAAA;EACzE,CAAA;AACJ,EAAA,GACApB,OAAOY,UAAU;EACfI,aAAaU,oBAAoBC;EACjCrB,UAAUsB;AACZ,CAAA,GACA5B,OAAOY,UAAU,CAAC,EAAEC,UAAS,OAAQ;EACnCE,IAAIO,WAAWO,aAAaC,kBAAAA;EAC5Bd,aAAaC,iBAAiBC;EAC9Ba,gBAAgB;IAACC,qBAAoBC;;EACrC3B,UAAU,MAAMwB,mBAAmB;IAAEjB;EAAU,CAAA;AACjD,EAAA,GACAb,OAAOY,UAAU,CAAC,EAAEC,UAAS,OAAQ;EACnCE,IAAI;EACJC,aAAaC,iBAAiBC;EAC9BZ,UAAU,MAAa4B,eAAQZ,WAAWC,YAAYC,2BAA0BW,WAAWtB,SAAAA,CAAAA;AAC7F,EAAA,GACAT,UAAUgC,0BAA0B;EAAE9B,UAAU+B;AAAiB,CAAA,GACjErC,OAAOY,UAAU,CAAC,EAAEC,WAAWC,cAAa,OAAQ;EAClDC,IAAIO,WAAWO,aAAaS,WAAAA;EAC5BtB,aAAauB,gBAAgBC,MAC3BvB,iBAAiBwB,uBACjBT,qBAAoBC,YACpBS,gBAAAA;EAEFpC,UAAU,MACDa,WAAI,aAAA;AACT,UAAMC,MAAM,OAAcC,kBAAW,MAAMP,cAAAA,CAAAA;AAC3C,WAAO,OAAOwB,YAAY;MAAEzB;MAAWC,eAAeM;IAAI,CAAA;EAC5D,CAAA;AACJ,EAAA,GACApB,OAAO2C,IAAI;",
6
- "names": ["lazy", "React", "useTranslation", "Form", "meta", "UserFeedback", "defaultValues", "message", "includeLogs", "FeedbackForm", "onSave", "disabled", "t", "useTranslation", "meta", "id", "Form", "Root", "schema", "UserFeedback", "Viewport", "Content", "FieldSet", "Submit", "icon", "label", "ObservabilitySettings", "lazy", "trim", "meta", "id", "name", "description", "trim", "icon", "Effect", "ActivationEvent", "ActivationEvents", "Capability", "Plugin", "AppActivationEvents", "AppPlugin", "AppGraphBuilder", "ClientReady", "ObservabilitySettings", "ObservabilityState", "OperationHandler", "ReactSurface", "meta", "ClientReadyEvent", "ObservabilityEvents", "ObservabilityCapabilities", "ObservabilityPlugin", "Plugin", "define", "meta", "pipe", "AppPlugin", "addAppGraphModule", "activate", "AppGraphBuilder", "addSurfaceModule", "ReactSurface", "addTranslationsModule", "translations", "addModule", "namespace", "observability", "id", "activatesOn", "ActivationEvents", "Startup", "gen", "obs", "tryPromise", "Capability", "contributes", "ObservabilityCapabilities", "Observability", "AppActivationEvents", "SetupSettings", "ObservabilitySettings", "getModuleTag", "ObservabilityState", "activatesAfter", "ObservabilityEvents", "StateReady", "succeed", "Namespace", "addOperationHandlerModule", "OperationHandler", "ClientReady", "ActivationEvent", "allOf", "OperationInvokerReady", "ClientReadyEvent", "make"]
7
- }
@@ -1 +0,0 @@
1
- {"inputs":{"src/types/capabilities.ts":{"bytes":4196,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/types/events.ts":{"bytes":2023,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/types/Settings.ts":{"bytes":1314,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true}],"format":"esm"},"src/types/index.ts":{"bytes":716,"imports":[{"path":"src/types/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/types/events.ts","kind":"import-statement","original":"./events"},{"path":"src/types/Settings.ts","kind":"import-statement","original":"./Settings"}],"format":"esm"},"src/components/FeedbackForm/FeedbackForm.tsx":{"bytes":3472,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#operations","kind":"import-statement","external":true}],"format":"esm"},"src/components/FeedbackForm/index.ts":{"bytes":500,"imports":[{"path":"src/components/FeedbackForm/FeedbackForm.tsx","kind":"import-statement","original":"./FeedbackForm"}],"format":"esm"},"src/components/ObservabilitySettings/ObservabilitySettings.tsx":{"bytes":4550,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/components/ObservabilitySettings/index.ts":{"bytes":681,"imports":[{"path":"src/components/ObservabilitySettings/ObservabilitySettings.tsx","kind":"import-statement","original":"./ObservabilitySettings"}],"format":"esm"},"src/components/index.ts":{"bytes":959,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/components/FeedbackForm/index.ts","kind":"import-statement","original":"./FeedbackForm"},{"path":"src/components/ObservabilitySettings/index.ts","kind":"dynamic-import","original":"./ObservabilitySettings"}],"format":"esm"},"src/meta.ts":{"bytes":1523,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/translations.ts":{"bytes":5155,"imports":[{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/ObservabilityPlugin.ts":{"bytes":9319,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"src/index.ts":{"bytes":1247,"imports":[{"path":"src/types/index.ts","kind":"import-statement","original":"./types"},{"path":"src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/ObservabilityPlugin.ts","kind":"import-statement","original":"./ObservabilityPlugin"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"src/cli/plugin.ts":{"bytes":3686,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#operations","kind":"import-statement","external":true}],"format":"esm"},"src/cli/index.ts":{"bytes":466,"imports":[{"path":"src/cli/plugin.ts","kind":"import-statement","original":"./plugin"}],"format":"esm"},"src/operations/definitions.ts":{"bytes":7569,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"src/translations.ts","kind":"import-statement","original":"../translations"}],"format":"esm"},"src/operations/capture-user-feedback.ts":{"bytes":2734,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"},"src/operations/send-event.ts":{"bytes":2864,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"},"src/operations/toggle.ts":{"bytes":6295,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/observability","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"},"src/operations/index.ts":{"bytes":1586,"imports":[{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"},{"path":"src/operations/capture-user-feedback.ts","kind":"dynamic-import","original":"./capture-user-feedback"},{"path":"src/operations/send-event.ts","kind":"dynamic-import","original":"./send-event"},{"path":"src/operations/toggle.ts","kind":"dynamic-import","original":"./toggle"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7899},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J6DPYEFZ.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-K33HLC3Z.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#operations","kind":"import-statement","external":true},{"path":"dist/lib/browser/ObservabilitySettings-EM7ABGCA.mjs","kind":"dynamic-import"},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["FeedbackForm","ObservabilityCapabilities","ObservabilityEvents","ObservabilityPlugin","ObservabilitySettings","meta","observabilityTranslations"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/components/index.ts":{"bytesInOutput":118},"src/components/FeedbackForm/FeedbackForm.tsx":{"bytesInOutput":788},"src/components/FeedbackForm/index.ts":{"bytesInOutput":0},"src/meta.ts":{"bytesInOutput":336},"src/ObservabilityPlugin.ts":{"bytesInOutput":2204}},"bytes":3999},"dist/lib/browser/cli/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2042},"dist/lib/browser/cli/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#operations","kind":"import-statement","external":true}],"exports":["ObservabilityPlugin"],"entryPoint":"src/cli/index.ts","inputs":{"src/cli/plugin.ts":{"bytesInOutput":741},"src/cli/index.ts":{"bytesInOutput":0}},"bytes":864},"dist/lib/browser/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/types/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J6DPYEFZ.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["ClientCapability","ClientReadyEvent","ObservabilityCapabilities","ObservabilityEvents","Settings"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":354},"dist/lib/browser/operations/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":731},"dist/lib/browser/operations/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-VZR3FNBD.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-K33HLC3Z.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"dist/lib/browser/capture-user-feedback-4HGXJGJL.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/send-event-VV2I6QYY.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/toggle-H2GX3A6G.mjs","kind":"dynamic-import"}],"exports":["ObservabilityOperation","ObservabilityOperationHandlerSet","UserFeedback"],"entryPoint":"src/operations/index.ts","inputs":{"src/operations/index.ts":{"bytesInOutput":259}},"bytes":577},"dist/lib/browser/ObservabilitySettings-EM7ABGCA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2487},"dist/lib/browser/ObservabilitySettings-EM7ABGCA.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/components/ObservabilitySettings/index.ts","inputs":{"src/components/ObservabilitySettings/ObservabilitySettings.tsx":{"bytesInOutput":1059},"src/components/ObservabilitySettings/index.ts":{"bytesInOutput":0}},"bytes":1264},"dist/lib/browser/capture-user-feedback-4HGXJGJL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1411},"dist/lib/browser/capture-user-feedback-4HGXJGJL.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J6DPYEFZ.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-VZR3FNBD.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-K33HLC3Z.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/capture-user-feedback.ts","inputs":{"src/operations/capture-user-feedback.ts":{"bytesInOutput":490}},"bytes":841},"dist/lib/browser/send-event-VV2I6QYY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1461},"dist/lib/browser/send-event-VV2I6QYY.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J6DPYEFZ.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-VZR3FNBD.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-K33HLC3Z.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/send-event.ts","inputs":{"src/operations/send-event.ts":{"bytesInOutput":463}},"bytes":771},"dist/lib/browser/toggle-H2GX3A6G.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3392},"dist/lib/browser/toggle-H2GX3A6G.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J6DPYEFZ.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-VZR3FNBD.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-K33HLC3Z.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/observability","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/toggle.ts","inputs":{"src/operations/toggle.ts":{"bytesInOutput":1376}},"bytes":1669},"dist/lib/browser/chunk-J6DPYEFZ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3708},"dist/lib/browser/chunk-J6DPYEFZ.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true}],"exports":["ClientCapability","ClientReadyEvent","ObservabilityCapabilities","ObservabilityEvents","Settings_exports"],"inputs":{"src/types/capabilities.ts":{"bytesInOutput":883},"src/types/index.ts":{"bytesInOutput":0},"src/types/events.ts":{"bytesInOutput":439},"src/types/Settings.ts":{"bytesInOutput":209}},"bytes":1830},"dist/lib/browser/chunk-VZR3FNBD.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3745},"dist/lib/browser/chunk-VZR3FNBD.mjs":{"imports":[{"path":"dist/lib/browser/chunk-K33HLC3Z.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["CaptureUserFeedback","SendEvent","Toggle","UserFeedback","definitions_exports"],"inputs":{"src/operations/definitions.ts":{"bytesInOutput":1928}},"bytes":2209},"dist/lib/browser/chunk-K33HLC3Z.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2307},"dist/lib/browser/chunk-K33HLC3Z.mjs":{"imports":[{"path":"#meta","kind":"import-statement","external":true}],"exports":["translations"],"inputs":{"src/translations.ts":{"bytesInOutput":1659}},"bytes":1754},"dist/lib/browser/chunk-J5LGTIGS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/chunk-J5LGTIGS.mjs":{"imports":[],"exports":["__export"],"inputs":{},"bytes":235}}}
@@ -1,16 +0,0 @@
1
- import {
2
- UserFeedback,
3
- definitions_exports
4
- } from "../chunk-VZR3FNBD.mjs";
5
- import "../chunk-K33HLC3Z.mjs";
6
- import "../chunk-J5LGTIGS.mjs";
7
-
8
- // src/operations/index.ts
9
- import { OperationHandlerSet } from "@dxos/operation";
10
- var ObservabilityOperationHandlerSet = OperationHandlerSet.lazy(() => import("../capture-user-feedback-4HGXJGJL.mjs"), () => import("../send-event-VV2I6QYY.mjs"), () => import("../toggle-H2GX3A6G.mjs"));
11
- export {
12
- definitions_exports as ObservabilityOperation,
13
- ObservabilityOperationHandlerSet,
14
- UserFeedback
15
- };
16
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/operations/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/operation';\n\nexport * as ObservabilityOperation from './definitions';\nexport { UserFeedback } from './definitions';\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;AAK7B,IAAMC,mCAAmCC,oBAAoBC,KAClE,MAAM,OAAO,uCAAA,GACb,MAAM,OAAO,4BAAA,GACb,MAAM,OAAO,wBAAA,CAAA;",
6
- "names": ["OperationHandlerSet", "ObservabilityOperationHandlerSet", "OperationHandlerSet", "lazy"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/operations/send-event.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/operation';\n\nimport { ObservabilityCapabilities } from '../types';\nimport { SendEvent } from './definitions';\n\nconst handler: Operation.WithHandler<typeof SendEvent> = SendEvent.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* (input) {\n // NOTE: This is to ensure that events fired before observability is ready are still sent.\n const observability = yield* Capability.waitFor(ObservabilityCapabilities.Observability);\n const properties = input.properties ?? {};\n observability.events.captureEvent(input.name, properties);\n }),\n ),\n);\n\nexport default handler;\n"],
5
- "mappings": ";;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAK1B,IAAMC,UAAmDC,UAAUC,KACjEC,UAAUC,YACDC,kBAAW,WAAWC,OAAK;AAEhC,QAAMC,gBAAgB,OAAOC,WAAWC,QAAQC,0BAA0BC,aAAa;AACvF,QAAMC,aAAaN,MAAMM,cAAc,CAAC;AACxCL,gBAAcM,OAAOC,aAAaR,MAAMS,MAAMH,UAAAA;AAChD,CAAA,CAAA,CAAA;AAIJ,IAAA,qBAAeZ;",
6
- "names": ["Effect", "Capability", "Operation", "handler", "SendEvent", "pipe", "Operation", "withHandler", "fnUntraced", "input", "observability", "Capability", "waitFor", "ObservabilityCapabilities", "Observability", "properties", "events", "captureEvent", "name"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/operations/toggle.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { Observability } from '@dxos/observability';\nimport { Operation } from '@dxos/operation';\n\nimport { meta } from '#meta';\n\nimport { ObservabilityCapabilities, type Settings } from '../types';\nimport { Toggle } from './definitions';\n\nconst handler: Operation.WithHandler<typeof Toggle> = Toggle.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* (input) {\n const namespace = yield* Capability.get(ObservabilityCapabilities.Namespace);\n const observability = yield* Capability.get(ObservabilityCapabilities.Observability);\n const capabilities = yield* Capability.Service;\n const registry = capabilities.get(Capabilities.AtomRegistry);\n const allSettings = capabilities.getAll(AppCapabilities.Settings);\n const settingsObj = allSettings.find((s: AppCapabilities.Settings) => s.prefix === meta.id);\n if (!settingsObj) {\n return false;\n }\n const settings = registry.get(settingsObj.atom) as Settings.Settings;\n const newEnabled = input.state ?? !settings.enabled;\n registry.set(settingsObj.atom, { ...settings, enabled: newEnabled });\n observability.events.captureEvent('observability.toggle', {\n enabled: newEnabled,\n });\n\n if (newEnabled) {\n yield* observability.enable();\n } else {\n yield* observability.disable();\n }\n yield* Effect.promise(() => Observability.storeObservabilityDisabled(namespace, !newEnabled));\n return newEnabled;\n }),\n ),\n);\n\nexport default handler;\n"],
5
- "mappings": ";;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,uBAAuB;AAChC,SAASC,qBAAqB;AAC9B,SAASC,iBAAiB;AAE1B,SAASC,YAAY;AAKrB,IAAMC,UAAgDC,OAAOC,KAC3DC,UAAUC,YACDC,kBAAW,WAAWC,OAAK;AAChC,QAAMC,YAAY,OAAOC,WAAWC,IAAIC,0BAA0BC,SAAS;AAC3E,QAAMC,gBAAgB,OAAOJ,WAAWC,IAAIC,0BAA0BG,aAAa;AACnF,QAAMC,eAAe,OAAON,WAAWO;AACvC,QAAMC,WAAWF,aAAaL,IAAIQ,aAAaC,YAAY;AAC3D,QAAMC,cAAcL,aAAaM,OAAOC,gBAAgBC,QAAQ;AAChE,QAAMC,cAAcJ,YAAYK,KAAK,CAACC,MAAgCA,EAAEC,WAAWC,KAAKC,EAAE;AAC1F,MAAI,CAACL,aAAa;AAChB,WAAO;EACT;AACA,QAAMM,WAAWb,SAASP,IAAIc,YAAYO,IAAI;AAC9C,QAAMC,aAAazB,MAAM0B,SAAS,CAACH,SAASI;AAC5CjB,WAASkB,IAAIX,YAAYO,MAAM;IAAE,GAAGD;IAAUI,SAASF;EAAW,CAAA;AAClEnB,gBAAcuB,OAAOC,aAAa,wBAAwB;IACxDH,SAASF;EACX,CAAA;AAEA,MAAIA,YAAY;AACd,WAAOnB,cAAcyB,OAAM;EAC7B,OAAO;AACL,WAAOzB,cAAc0B,QAAO;EAC9B;AACA,SAAcC,eAAQ,MAAM1B,cAAc2B,2BAA2BjC,WAAW,CAACwB,UAAAA,CAAAA;AACjF,SAAOA;AACT,CAAA,CAAA,CAAA;AAIJ,IAAA,iBAAe/B;",
6
- "names": ["Effect", "Capabilities", "Capability", "AppCapabilities", "Observability", "Operation", "meta", "handler", "Toggle", "pipe", "Operation", "withHandler", "fnUntraced", "input", "namespace", "Capability", "get", "ObservabilityCapabilities", "Namespace", "observability", "Observability", "capabilities", "Service", "registry", "Capabilities", "AtomRegistry", "allSettings", "getAll", "AppCapabilities", "Settings", "settingsObj", "find", "s", "prefix", "meta", "id", "settings", "atom", "newEnabled", "state", "enabled", "set", "events", "captureEvent", "enable", "disable", "promise", "storeObservabilityDisabled"]
7
- }