@dxos/plugin-observability 0.8.4-main.ae835ea → 0.8.4-main.bc2380dfbc

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 (202) 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/neutral/ObservabilityPlugin.node.mjs +22 -0
  6. package/dist/lib/neutral/ObservabilityPlugin.node.mjs.map +7 -0
  7. package/dist/lib/neutral/ObservabilityPlugin.workerd.mjs +22 -0
  8. package/dist/lib/neutral/ObservabilityPlugin.workerd.mjs.map +7 -0
  9. package/dist/lib/neutral/ObservabilitySettings-H6UKYDDT.mjs +27 -0
  10. package/dist/lib/neutral/ObservabilitySettings-H6UKYDDT.mjs.map +7 -0
  11. package/dist/lib/neutral/app-graph-builder-PTVHNKQY.mjs +37 -0
  12. package/dist/lib/neutral/app-graph-builder-PTVHNKQY.mjs.map +7 -0
  13. package/dist/lib/neutral/capabilities/index.mjs +19 -0
  14. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  15. package/dist/lib/{browser/chunk-W7QWKVS3.mjs → neutral/chunk-ANCT53Y3.mjs} +6 -3
  16. package/dist/lib/neutral/chunk-ANCT53Y3.mjs.map +7 -0
  17. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  18. package/dist/lib/neutral/chunk-TQA4K4HH.mjs +106 -0
  19. package/dist/lib/neutral/chunk-TQA4K4HH.mjs.map +7 -0
  20. package/dist/lib/neutral/chunk-U3O7BYGC.mjs +8 -0
  21. package/dist/lib/neutral/chunk-U3O7BYGC.mjs.map +7 -0
  22. package/dist/lib/neutral/client-ready-TM7VE6CH.mjs +116 -0
  23. package/dist/lib/neutral/client-ready-TM7VE6CH.mjs.map +7 -0
  24. package/dist/lib/neutral/components/index.mjs +9 -0
  25. package/dist/lib/neutral/components/index.mjs.map +7 -0
  26. package/dist/lib/neutral/index.mjs +18 -0
  27. package/dist/lib/neutral/meta.json +1 -0
  28. package/dist/lib/neutral/meta.mjs +8 -0
  29. package/dist/lib/neutral/meta.mjs.map +7 -0
  30. package/dist/lib/neutral/operation-handler-4WWRXOHR.mjs +13 -0
  31. package/dist/lib/neutral/operation-handler-4WWRXOHR.mjs.map +7 -0
  32. package/dist/lib/neutral/operations/index.mjs +8 -0
  33. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  34. package/dist/lib/neutral/plugin.mjs +16 -0
  35. package/dist/lib/neutral/plugin.mjs.map +7 -0
  36. package/dist/lib/neutral/react-surface-SHB2SLRK.mjs +35 -0
  37. package/dist/lib/neutral/react-surface-SHB2SLRK.mjs.map +7 -0
  38. package/dist/lib/neutral/send-event-AUVYZHS2.mjs +20 -0
  39. package/dist/lib/neutral/send-event-AUVYZHS2.mjs.map +7 -0
  40. package/dist/lib/neutral/settings-MZYK2WQR.mjs +30 -0
  41. package/dist/lib/neutral/settings-MZYK2WQR.mjs.map +7 -0
  42. package/dist/lib/neutral/state-5COCK3KV.mjs +27 -0
  43. package/dist/lib/neutral/state-5COCK3KV.mjs.map +7 -0
  44. package/dist/lib/neutral/toggle-6WX7G476.mjs +45 -0
  45. package/dist/lib/neutral/toggle-6WX7G476.mjs.map +7 -0
  46. package/dist/lib/neutral/translations.mjs +25 -0
  47. package/dist/lib/neutral/translations.mjs.map +7 -0
  48. package/dist/lib/neutral/types/index.mjs +14 -0
  49. package/dist/lib/neutral/types/index.mjs.map +7 -0
  50. package/dist/types/src/ObservabilityPlugin.d.ts +9 -2
  51. package/dist/types/src/ObservabilityPlugin.d.ts.map +1 -1
  52. package/dist/types/src/ObservabilityPlugin.node.d.ts +4 -0
  53. package/dist/types/src/ObservabilityPlugin.node.d.ts.map +1 -0
  54. package/dist/types/src/ObservabilityPlugin.test.d.ts +2 -0
  55. package/dist/types/src/ObservabilityPlugin.test.d.ts.map +1 -0
  56. package/dist/types/src/ObservabilityPlugin.workerd.d.ts +4 -0
  57. package/dist/types/src/ObservabilityPlugin.workerd.d.ts.map +1 -0
  58. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  59. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  60. package/dist/types/src/capabilities/client-ready.d.ts +5 -5
  61. package/dist/types/src/capabilities/client-ready.d.ts.map +1 -1
  62. package/dist/types/src/capabilities/index.d.ts +16 -15
  63. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  64. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  65. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  66. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  67. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  68. package/dist/types/src/capabilities/settings.d.ts +5 -2
  69. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  70. package/dist/types/src/capabilities/state.d.ts +10 -3
  71. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  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 +28 -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 +2 -0
  77. package/dist/types/src/components/ObservabilitySettings/index.d.ts.map +1 -0
  78. package/dist/types/src/components/index.d.ts +2 -3
  79. package/dist/types/src/components/index.d.ts.map +1 -1
  80. package/dist/types/src/index.d.ts +1 -4
  81. package/dist/types/src/index.d.ts.map +1 -1
  82. package/dist/types/src/meta.d.ts +2 -2
  83. package/dist/types/src/meta.d.ts.map +1 -1
  84. package/dist/types/src/operations/index.d.ts +3 -0
  85. package/dist/types/src/operations/index.d.ts.map +1 -0
  86. package/dist/types/src/operations/send-event.d.ts +5 -0
  87. package/dist/types/src/operations/send-event.d.ts.map +1 -0
  88. package/dist/types/src/operations/toggle.d.ts +5 -0
  89. package/dist/types/src/operations/toggle.d.ts.map +1 -0
  90. package/dist/types/src/plugin.d.ts +4 -0
  91. package/dist/types/src/plugin.d.ts.map +1 -0
  92. package/dist/types/src/translations.d.ts +9 -17
  93. package/dist/types/src/translations.d.ts.map +1 -1
  94. package/dist/types/src/types/ObservabilityCapabilities.d.ts +28 -0
  95. package/dist/types/src/types/ObservabilityCapabilities.d.ts.map +1 -0
  96. package/dist/types/src/types/ObservabilityEvents.d.ts +4 -0
  97. package/dist/types/src/types/ObservabilityEvents.d.ts.map +1 -0
  98. package/dist/types/src/types/ObservabilityOperation.d.ts +10 -0
  99. package/dist/types/src/types/ObservabilityOperation.d.ts.map +1 -0
  100. package/dist/types/src/types/Settings.d.ts +7 -0
  101. package/dist/types/src/types/Settings.d.ts.map +1 -0
  102. package/dist/types/src/types/index.d.ts +4 -1
  103. package/dist/types/src/types/index.d.ts.map +1 -1
  104. package/dist/types/tsconfig.tsbuildinfo +1 -1
  105. package/package.json +97 -52
  106. package/src/ObservabilityPlugin.node.ts +33 -0
  107. package/src/ObservabilityPlugin.test.ts +25 -0
  108. package/src/ObservabilityPlugin.ts +66 -50
  109. package/src/ObservabilityPlugin.workerd.ts +32 -0
  110. package/src/capabilities/app-graph-builder.ts +28 -39
  111. package/src/capabilities/client-ready.ts +87 -79
  112. package/src/capabilities/index.ts +12 -8
  113. package/src/capabilities/operation-handler.ts +16 -0
  114. package/src/capabilities/react-surface.tsx +27 -19
  115. package/src/capabilities/settings.ts +26 -14
  116. package/src/capabilities/state.ts +20 -13
  117. package/src/components/ObservabilitySettings/ObservabilitySettings.stories.tsx +34 -0
  118. package/src/components/ObservabilitySettings/ObservabilitySettings.tsx +34 -0
  119. package/src/components/ObservabilitySettings/index.ts +5 -0
  120. package/src/components/index.ts +3 -3
  121. package/src/index.ts +1 -4
  122. package/src/meta.ts +4 -3
  123. package/src/operations/index.ts +10 -0
  124. package/src/operations/send-event.ts +23 -0
  125. package/src/operations/toggle.ts +46 -0
  126. package/src/plugin.ts +11 -0
  127. package/src/translations.ts +9 -17
  128. package/src/types/ObservabilityCapabilities.ts +42 -0
  129. package/src/types/ObservabilityEvents.ts +15 -0
  130. package/src/types/ObservabilityOperation.ts +41 -0
  131. package/src/types/Settings.ts +22 -0
  132. package/src/types/index.ts +4 -1
  133. package/dist/lib/browser/app-graph-builder-4VCXIPB7.mjs +0 -44
  134. package/dist/lib/browser/app-graph-builder-4VCXIPB7.mjs.map +0 -7
  135. package/dist/lib/browser/chunk-EC7HTFA5.mjs +0 -18
  136. package/dist/lib/browser/chunk-EC7HTFA5.mjs.map +0 -7
  137. package/dist/lib/browser/chunk-GJWFKBKM.mjs +0 -179
  138. package/dist/lib/browser/chunk-GJWFKBKM.mjs.map +0 -7
  139. package/dist/lib/browser/chunk-IFPEPNGO.mjs +0 -191
  140. package/dist/lib/browser/chunk-IFPEPNGO.mjs.map +0 -7
  141. package/dist/lib/browser/chunk-W7QWKVS3.mjs.map +0 -7
  142. package/dist/lib/browser/client-ready-4RGNCIGS.mjs +0 -102
  143. package/dist/lib/browser/client-ready-4RGNCIGS.mjs.map +0 -7
  144. package/dist/lib/browser/index.mjs +0 -128
  145. package/dist/lib/browser/index.mjs.map +0 -7
  146. package/dist/lib/browser/intent-resolver-3TZAFHGG.mjs +0 -77
  147. package/dist/lib/browser/intent-resolver-3TZAFHGG.mjs.map +0 -7
  148. package/dist/lib/browser/meta.json +0 -1
  149. package/dist/lib/browser/react-surface-NLKDFJBB.mjs +0 -32
  150. package/dist/lib/browser/react-surface-NLKDFJBB.mjs.map +0 -7
  151. package/dist/lib/browser/settings-27DLWAXK.mjs +0 -25
  152. package/dist/lib/browser/settings-27DLWAXK.mjs.map +0 -7
  153. package/dist/lib/browser/state-FJD6K3ZZ.mjs +0 -26
  154. package/dist/lib/browser/state-FJD6K3ZZ.mjs.map +0 -7
  155. package/dist/lib/browser/types/index.mjs +0 -10
  156. package/dist/lib/node-esm/app-graph-builder-C4UWA6OD.mjs +0 -45
  157. package/dist/lib/node-esm/app-graph-builder-C4UWA6OD.mjs.map +0 -7
  158. package/dist/lib/node-esm/chunk-AVJTLRX5.mjs +0 -18
  159. package/dist/lib/node-esm/chunk-AVJTLRX5.mjs.map +0 -7
  160. package/dist/lib/node-esm/chunk-HACSZKXD.mjs +0 -19
  161. package/dist/lib/node-esm/chunk-HACSZKXD.mjs.map +0 -7
  162. package/dist/lib/node-esm/chunk-JNYBWNIA.mjs +0 -180
  163. package/dist/lib/node-esm/chunk-JNYBWNIA.mjs.map +0 -7
  164. package/dist/lib/node-esm/chunk-TXFKNLDI.mjs +0 -192
  165. package/dist/lib/node-esm/chunk-TXFKNLDI.mjs.map +0 -7
  166. package/dist/lib/node-esm/client-ready-4IKY5KJC.mjs +0 -103
  167. package/dist/lib/node-esm/client-ready-4IKY5KJC.mjs.map +0 -7
  168. package/dist/lib/node-esm/index.mjs +0 -129
  169. package/dist/lib/node-esm/index.mjs.map +0 -7
  170. package/dist/lib/node-esm/intent-resolver-5D5SXGKQ.mjs +0 -78
  171. package/dist/lib/node-esm/intent-resolver-5D5SXGKQ.mjs.map +0 -7
  172. package/dist/lib/node-esm/meta.json +0 -1
  173. package/dist/lib/node-esm/react-surface-SGL7HXM3.mjs +0 -33
  174. package/dist/lib/node-esm/react-surface-SGL7HXM3.mjs.map +0 -7
  175. package/dist/lib/node-esm/settings-P4EHRXYR.mjs +0 -26
  176. package/dist/lib/node-esm/settings-P4EHRXYR.mjs.map +0 -7
  177. package/dist/lib/node-esm/state-XNBMNLB7.mjs +0 -27
  178. package/dist/lib/node-esm/state-XNBMNLB7.mjs.map +0 -7
  179. package/dist/lib/node-esm/types/index.mjs +0 -11
  180. package/dist/types/src/capabilities/capabilities.d.ts +0 -12
  181. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  182. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -7
  183. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  184. package/dist/types/src/components/FeedbackForm.d.ts +0 -6
  185. package/dist/types/src/components/FeedbackForm.d.ts.map +0 -1
  186. package/dist/types/src/components/HelpContainer.d.ts +0 -3
  187. package/dist/types/src/components/HelpContainer.d.ts.map +0 -1
  188. package/dist/types/src/components/ObservabilitySettings.d.ts +0 -10
  189. package/dist/types/src/components/ObservabilitySettings.d.ts.map +0 -1
  190. package/dist/types/src/events.d.ts +0 -5
  191. package/dist/types/src/events.d.ts.map +0 -1
  192. package/dist/types/src/types/schema.d.ts +0 -313
  193. package/dist/types/src/types/schema.d.ts.map +0 -1
  194. package/src/capabilities/capabilities.ts +0 -23
  195. package/src/capabilities/intent-resolver.ts +0 -69
  196. package/src/components/FeedbackForm.tsx +0 -82
  197. package/src/components/HelpContainer.tsx +0 -41
  198. package/src/components/ObservabilitySettings.tsx +0 -48
  199. package/src/events.ts +0 -14
  200. package/src/types/schema.ts +0 -216
  201. /package/dist/lib/{browser/types/index.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  202. /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: PluginMeta = {\n id: 'dxos.org/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"],
5
- "mappings": ";AAKA,SAASA,YAAY;AAEd,IAAMC,OAAmB;EAC9BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;AACR;",
6
- "names": ["trim", "meta", "id", "name", "description", "trim", "icon"]
7
- }
@@ -1,102 +0,0 @@
1
- import {
2
- ObservabilityAction
3
- } from "./chunk-IFPEPNGO.mjs";
4
- import {
5
- ClientCapability,
6
- ObservabilityCapabilities
7
- } from "./chunk-EC7HTFA5.mjs";
8
- import {
9
- meta
10
- } from "./chunk-W7QWKVS3.mjs";
11
-
12
- // src/capabilities/client-ready.ts
13
- import { Capabilities, LayoutAction, SettingsAction, contributes, createIntent } from "@dxos/app-framework";
14
- import { setupTelemetryListeners } from "@dxos/observability";
15
- var client_ready_default = (async ({ context, namespace, observability }) => {
16
- const manager = context.getCapability(Capabilities.PluginManager);
17
- const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
18
- const state = context.getCapability(ObservabilityCapabilities.State);
19
- const client = context.getCapability(ClientCapability);
20
- const sendPrivacyNotice = async () => {
21
- const environment = client?.config?.values.runtime?.app?.env?.DX_ENVIRONMENT;
22
- const notify = environment && environment !== "ci" && !environment.endsWith(".local") && !environment.endsWith(".lan");
23
- if (!state.notified && notify) {
24
- await dispatch(createIntent(LayoutAction.AddToast, {
25
- part: "toast",
26
- subject: {
27
- id: `${meta.id}/notice`,
28
- title: [
29
- "observability toast label",
30
- {
31
- ns: meta.id
32
- }
33
- ],
34
- description: [
35
- "observability toast description",
36
- {
37
- ns: meta.id
38
- }
39
- ],
40
- duration: Infinity,
41
- icon: "ph--info--regular",
42
- actionLabel: [
43
- "observability toast action label",
44
- {
45
- ns: meta.id
46
- }
47
- ],
48
- actionAlt: [
49
- "observability toast action alt",
50
- {
51
- ns: meta.id
52
- }
53
- ],
54
- closeLabel: [
55
- "observability toast close label",
56
- {
57
- ns: meta.id
58
- }
59
- ],
60
- onAction: () => dispatch(createIntent(SettingsAction.Open, {
61
- plugin: meta.id
62
- }))
63
- }
64
- }));
65
- state.notified = true;
66
- }
67
- };
68
- manager.enabled.map((plugin) => observability?.setTag(`pluginEnabled-${plugin}`, "true", "errors"));
69
- await dispatch(createIntent(ObservabilityAction.SendEvent, {
70
- name: "page.load",
71
- properties: {
72
- // TODO(wittjosiah): These apis are deprecated. Is there a better way to find this information?
73
- loadDuration: window.performance.timing.loadEventEnd - window.performance.timing.loadEventStart
74
- }
75
- }));
76
- const cleanup = setupTelemetryListeners(namespace, client, observability);
77
- await Promise.all([
78
- observability.setIdentityTags(client.services.services),
79
- observability.startRuntimeMetrics(client),
80
- observability.startNetworkMetrics(client.services.services),
81
- observability.startSpacesMetrics(client, namespace)
82
- ]);
83
- if (client.halo.identity.get()) {
84
- await sendPrivacyNotice();
85
- } else {
86
- const subscription = client.halo.identity.subscribe(async (identity) => {
87
- if (identity && observability) {
88
- await sendPrivacyNotice();
89
- await observability.setIdentityTags(client.services.services);
90
- subscription.unsubscribe();
91
- }
92
- });
93
- }
94
- return contributes(ObservabilityCapabilities.Observability, observability, async () => {
95
- cleanup();
96
- await observability.close();
97
- });
98
- });
99
- export {
100
- client_ready_default as default
101
- };
102
- //# sourceMappingURL=client-ready-4RGNCIGS.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/client-ready.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport {\n Capabilities,\n LayoutAction,\n type PluginContext,\n SettingsAction,\n contributes,\n createIntent,\n} from '@dxos/app-framework';\nimport { type Observability, setupTelemetryListeners } from '@dxos/observability';\n\nimport { meta } from '../meta';\nimport { ObservabilityAction } from '../types';\n\nimport { ClientCapability, ObservabilityCapabilities } from './capabilities';\n\ntype ClientReadyOptions = {\n context: PluginContext;\n namespace: string;\n observability: Observability;\n};\n\nexport default async ({ context, namespace, observability }: ClientReadyOptions) => {\n const manager = context.getCapability(Capabilities.PluginManager);\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const state = context.getCapability(ObservabilityCapabilities.State);\n const client = context.getCapability(ClientCapability);\n\n const sendPrivacyNotice = async () => {\n const environment = client?.config?.values.runtime?.app?.env?.DX_ENVIRONMENT;\n const notify =\n environment && environment !== 'ci' && !environment.endsWith('.local') && !environment.endsWith('.lan');\n if (!state.notified && notify) {\n await dispatch(\n createIntent(LayoutAction.AddToast, {\n part: 'toast',\n subject: {\n id: `${meta.id}/notice`,\n title: ['observability toast label', { ns: meta.id }],\n description: ['observability toast description', { ns: meta.id }],\n duration: Infinity,\n icon: 'ph--info--regular',\n actionLabel: ['observability toast action label', { ns: meta.id }],\n actionAlt: ['observability toast action alt', { ns: meta.id }],\n closeLabel: ['observability toast close label', { ns: meta.id }],\n onAction: () => dispatch(createIntent(SettingsAction.Open, { plugin: meta.id })),\n },\n }),\n );\n\n state.notified = true;\n }\n };\n\n // Ensure errors are tagged with enabled plugins to help with reproductions.\n manager.enabled.map((plugin) => observability?.setTag(`pluginEnabled-${plugin}`, 'true', 'errors'));\n\n await dispatch(\n createIntent(ObservabilityAction.SendEvent, {\n name: 'page.load',\n properties: {\n // TODO(wittjosiah): These apis are deprecated. Is there a better way to find this information?\n loadDuration: window.performance.timing.loadEventEnd - window.performance.timing.loadEventStart,\n },\n }),\n );\n\n // Start client observability (i.e. not running as shared worker)\n // TODO(nf): how to prevent multiple instances for single shared worker?\n const cleanup = setupTelemetryListeners(namespace, client, observability);\n\n await Promise.all([\n observability.setIdentityTags(client.services.services),\n observability.startRuntimeMetrics(client),\n observability.startNetworkMetrics(client.services.services),\n observability.startSpacesMetrics(client, namespace),\n ]);\n\n if (client.halo.identity.get()) {\n await sendPrivacyNotice();\n } else {\n const subscription = client.halo.identity.subscribe(async (identity) => {\n if (identity && observability) {\n await sendPrivacyNotice();\n await observability.setIdentityTags(client.services.services);\n subscription.unsubscribe();\n }\n });\n }\n\n return contributes(ObservabilityCapabilities.Observability, observability, async () => {\n cleanup();\n await observability.close();\n });\n};\n"],
5
- "mappings": ";;;;;;;;;;;;AAIA,SACEA,cACAC,cAEAC,gBACAC,aACAC,oBACK;AACP,SAA6BC,+BAA+B;AAa5D,IAAA,wBAAe,OAAO,EAAEC,SAASC,WAAWC,cAAa,MAAsB;AAC7E,QAAMC,UAAUH,QAAQI,cAAcC,aAAaC,aAAa;AAChE,QAAM,EAAEC,iBAAiBC,SAAQ,IAAKR,QAAQI,cAAcC,aAAaI,gBAAgB;AACzF,QAAMC,QAAQV,QAAQI,cAAcO,0BAA0BC,KAAK;AACnE,QAAMC,SAASb,QAAQI,cAAcU,gBAAAA;AAErC,QAAMC,oBAAoB,YAAA;AACxB,UAAMC,cAAcH,QAAQI,QAAQC,OAAOC,SAASC,KAAKC,KAAKC;AAC9D,UAAMC,SACJP,eAAeA,gBAAgB,QAAQ,CAACA,YAAYQ,SAAS,QAAA,KAAa,CAACR,YAAYQ,SAAS,MAAA;AAClG,QAAI,CAACd,MAAMe,YAAYF,QAAQ;AAC7B,YAAMf,SACJkB,aAAaC,aAAaC,UAAU;QAClCC,MAAM;QACNC,SAAS;UACPC,IAAI,GAAGC,KAAKD,EAAE;UACdE,OAAO;YAAC;YAA6B;cAAEC,IAAIF,KAAKD;YAAG;;UACnDI,aAAa;YAAC;YAAmC;cAAED,IAAIF,KAAKD;YAAG;;UAC/DK,UAAUC;UACVC,MAAM;UACNC,aAAa;YAAC;YAAoC;cAAEL,IAAIF,KAAKD;YAAG;;UAChES,WAAW;YAAC;YAAkC;cAAEN,IAAIF,KAAKD;YAAG;;UAC5DU,YAAY;YAAC;YAAmC;cAAEP,IAAIF,KAAKD;YAAG;;UAC9DW,UAAU,MAAMlC,SAASkB,aAAaiB,eAAeC,MAAM;YAAEC,QAAQb,KAAKD;UAAG,CAAA,CAAA;QAC/E;MACF,CAAA,CAAA;AAGFrB,YAAMe,WAAW;IACnB;EACF;AAGAtB,UAAQ2C,QAAQC,IAAI,CAACF,WAAW3C,eAAe8C,OAAO,iBAAiBH,MAAAA,IAAU,QAAQ,QAAA,CAAA;AAEzF,QAAMrC,SACJkB,aAAauB,oBAAoBC,WAAW;IAC1CC,MAAM;IACNC,YAAY;;MAEVC,cAAcC,OAAOC,YAAYC,OAAOC,eAAeH,OAAOC,YAAYC,OAAOE;IACnF;EACF,CAAA,CAAA;AAKF,QAAMC,UAAUC,wBAAwB3D,WAAWY,QAAQX,aAAAA;AAE3D,QAAM2D,QAAQC,IAAI;IAChB5D,cAAc6D,gBAAgBlD,OAAOmD,SAASA,QAAQ;IACtD9D,cAAc+D,oBAAoBpD,MAAAA;IAClCX,cAAcgE,oBAAoBrD,OAAOmD,SAASA,QAAQ;IAC1D9D,cAAciE,mBAAmBtD,QAAQZ,SAAAA;GAC1C;AAED,MAAIY,OAAOuD,KAAKC,SAASC,IAAG,GAAI;AAC9B,UAAMvD,kBAAAA;EACR,OAAO;AACL,UAAMwD,eAAe1D,OAAOuD,KAAKC,SAASG,UAAU,OAAOH,aAAAA;AACzD,UAAIA,YAAYnE,eAAe;AAC7B,cAAMa,kBAAAA;AACN,cAAMb,cAAc6D,gBAAgBlD,OAAOmD,SAASA,QAAQ;AAC5DO,qBAAaE,YAAW;MAC1B;IACF,CAAA;EACF;AAEA,SAAOC,YAAY/D,0BAA0BgE,eAAezE,eAAe,YAAA;AACzEyD,YAAAA;AACA,UAAMzD,cAAc0E,MAAK;EAC3B,CAAA;AACF;",
6
- "names": ["Capabilities", "LayoutAction", "SettingsAction", "contributes", "createIntent", "setupTelemetryListeners", "context", "namespace", "observability", "manager", "getCapability", "Capabilities", "PluginManager", "dispatchPromise", "dispatch", "IntentDispatcher", "state", "ObservabilityCapabilities", "State", "client", "ClientCapability", "sendPrivacyNotice", "environment", "config", "values", "runtime", "app", "env", "DX_ENVIRONMENT", "notify", "endsWith", "notified", "createIntent", "LayoutAction", "AddToast", "part", "subject", "id", "meta", "title", "ns", "description", "duration", "Infinity", "icon", "actionLabel", "actionAlt", "closeLabel", "onAction", "SettingsAction", "Open", "plugin", "enabled", "map", "setTag", "ObservabilityAction", "SendEvent", "name", "properties", "loadDuration", "window", "performance", "timing", "loadEventEnd", "loadEventStart", "cleanup", "setupTelemetryListeners", "Promise", "all", "setIdentityTags", "services", "startRuntimeMetrics", "startNetworkMetrics", "startSpacesMetrics", "halo", "identity", "get", "subscription", "subscribe", "unsubscribe", "contributes", "Observability", "close"]
7
- }
@@ -1,128 +0,0 @@
1
- import {
2
- FeedbackForm,
3
- HelpContainer,
4
- ObservabilitySettings,
5
- ObservabilitySettingsSchema
6
- } from "./chunk-GJWFKBKM.mjs";
7
- import "./chunk-IFPEPNGO.mjs";
8
- import {
9
- ObservabilityCapabilities
10
- } from "./chunk-EC7HTFA5.mjs";
11
- import {
12
- meta
13
- } from "./chunk-W7QWKVS3.mjs";
14
-
15
- // src/capabilities/index.ts
16
- import { lazy } from "@dxos/app-framework";
17
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-4VCXIPB7.mjs"));
18
- var ClientReady = lazy(() => import("./client-ready-4RGNCIGS.mjs"));
19
- var IntentResolver = lazy(() => import("./intent-resolver-3TZAFHGG.mjs"));
20
- var ReactSurface = lazy(() => import("./react-surface-NLKDFJBB.mjs"));
21
- var ObservabilitySettings2 = lazy(() => import("./settings-27DLWAXK.mjs"));
22
- var ObservabilityState = lazy(() => import("./state-FJD6K3ZZ.mjs"));
23
-
24
- // src/events.ts
25
- import { Events, defineEvent } from "@dxos/app-framework";
26
- (function(ObservabilityEvents2) {
27
- ObservabilityEvents2.StateReady = Events.createStateEvent(meta.id);
28
- })(ObservabilityEvents || (ObservabilityEvents = {}));
29
- var ClientReadyEvent = defineEvent("dxos.org/plugin/client/event/client-ready");
30
- var ObservabilityEvents;
31
-
32
- // src/ObservabilityPlugin.ts
33
- import { Capabilities, Events as Events2, allOf, contributes, defineModule, definePlugin } from "@dxos/app-framework";
34
-
35
- // src/translations.ts
36
- var translations = [
37
- {
38
- "en-US": {
39
- [meta.id]: {
40
- "plugin name": "Telemetry",
41
- "settings title": "Telemetry settings",
42
- "observability toast label": "Privacy Notice",
43
- "observability toast description": "Composer collects usage and performance metrics to improve the product. No user data is collected.",
44
- "observability toast action label": "Settings",
45
- "observability toast action alt": "Open settings to learn more or to disable.",
46
- "observability toast close label": "Okay",
47
- "observability enabled label": "Enable telemetry",
48
- // TODO: Add link about telemetry privacy. Make it clearer that user data is not collected.
49
- "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.",
50
- "help label": "Feedback & Support",
51
- "feedback text area label": "Feedback",
52
- "feedback text area placeholder": "Please enter your feedback, technical issue, or feature request.",
53
- "send feedback label": "Send Feedback",
54
- "feedback toast label": "Thank you for your feedback!",
55
- "feedback toast description": "We will review your feedback and get back to you as soon as possible."
56
- }
57
- }
58
- }
59
- ];
60
-
61
- // src/ObservabilityPlugin.ts
62
- var ObservabilityPlugin = definePlugin(meta, ({ namespace, observability }) => [
63
- defineModule({
64
- id: `${meta.id}/module/observability`,
65
- activatesOn: Events2.Startup,
66
- activate: async () => contributes(ObservabilityCapabilities.Observability, await observability())
67
- }),
68
- defineModule({
69
- id: `${meta.id}/module/settings`,
70
- activatesOn: Events2.SetupSettings,
71
- activate: ObservabilitySettings2
72
- }),
73
- defineModule({
74
- id: `${meta.id}/module/state`,
75
- activatesOn: Events2.Startup,
76
- activatesAfter: [
77
- ObservabilityEvents.StateReady
78
- ],
79
- activate: () => ObservabilityState({
80
- namespace
81
- })
82
- }),
83
- defineModule({
84
- id: `${meta.id}/module/translations`,
85
- activatesOn: Events2.SetupTranslations,
86
- activate: () => contributes(Capabilities.Translations, translations)
87
- }),
88
- defineModule({
89
- id: `${meta.id}/module/intent-resolver`,
90
- activatesOn: Events2.SetupIntentResolver,
91
- activate: (context) => IntentResolver({
92
- context,
93
- namespace
94
- })
95
- }),
96
- defineModule({
97
- id: `${meta.id}/module/react-surface`,
98
- activatesOn: Events2.SetupReactSurface,
99
- activate: ReactSurface
100
- }),
101
- defineModule({
102
- id: `${meta.id}/module/app-graph-builder`,
103
- activatesOn: Events2.SetupAppGraph,
104
- activate: AppGraphBuilder
105
- }),
106
- defineModule({
107
- id: `${meta.id}/module/client-ready`,
108
- activatesOn: allOf(Events2.DispatcherReady, ObservabilityEvents.StateReady, ClientReadyEvent),
109
- activate: async (context) => {
110
- return ClientReady({
111
- context,
112
- observability: await observability(),
113
- namespace
114
- });
115
- }
116
- })
117
- ]);
118
- export {
119
- FeedbackForm,
120
- HelpContainer,
121
- ObservabilityCapabilities,
122
- ObservabilityEvents,
123
- ObservabilityPlugin,
124
- ObservabilitySettings,
125
- ObservabilitySettingsSchema,
126
- meta
127
- };
128
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/index.ts", "../../../src/events.ts", "../../../src/ObservabilityPlugin.ts", "../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const ClientReady = lazy(() => import('./client-ready'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const ObservabilitySettings = lazy(() => import('./settings'));\nexport const ObservabilityState = lazy(() => import('./state'));\n\nexport * from './capabilities';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events, defineEvent } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport namespace ObservabilityEvents {\n export const StateReady = Events.createStateEvent(meta.id);\n}\n\n// NOTE: This is cloned from the client plugin to avoid circular dependencies.\nexport const ClientReadyEvent = defineEvent('dxos.org/plugin/client/event/client-ready');\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, Events, allOf, contributes, defineModule, definePlugin } from '@dxos/app-framework';\nimport { type Observability } from '@dxos/observability';\n\nimport {\n AppGraphBuilder,\n ClientReady,\n IntentResolver,\n ObservabilityCapabilities,\n ObservabilitySettings,\n ObservabilityState,\n ReactSurface,\n} from './capabilities';\nimport { ClientReadyEvent, ObservabilityEvents } from './events';\nimport { meta } from './meta';\nimport { translations } from './translations';\n\nexport type ObservabilityPluginOptions = {\n namespace: string;\n observability: () => Promise<Observability>;\n};\n\nexport const ObservabilityPlugin = definePlugin<ObservabilityPluginOptions>(meta, ({ namespace, observability }) => [\n defineModule({\n id: `${meta.id}/module/observability`,\n activatesOn: Events.Startup,\n activate: async () => contributes(ObservabilityCapabilities.Observability, await observability()),\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: ObservabilitySettings,\n }),\n defineModule({\n id: `${meta.id}/module/state`,\n activatesOn: Events.Startup,\n activatesAfter: [ObservabilityEvents.StateReady],\n activate: () => ObservabilityState({ namespace }),\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: (context) => IntentResolver({ context, namespace }),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n defineModule({\n id: `${meta.id}/module/client-ready`,\n activatesOn: allOf(Events.DispatcherReady, ObservabilityEvents.StateReady, ClientReadyEvent),\n activate: async (context) => {\n return ClientReady({ context, observability: await observability(), namespace });\n },\n }),\n]);\n", "//\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 // 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\n 'help label': 'Feedback & Support',\n 'feedback text area label': 'Feedback',\n 'feedback text area placeholder': 'Please enter your feedback, technical issue, or feature request.',\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": ";;;;;;;;;;;;;;;AAIA,SAASA,YAAY;AAEd,IAAMC,kBAAkBC,KAAK,MAAM,OAAO,kCAAA,CAAA;AAC1C,IAAMC,cAAcD,KAAK,MAAM,OAAO,6BAAA,CAAA;AACtC,IAAME,iBAAiBF,KAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAMG,eAAeH,KAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAMI,yBAAwBJ,KAAK,MAAM,OAAO,yBAAA,CAAA;AAChD,IAAMK,qBAAqBL,KAAK,MAAM,OAAO,sBAAA,CAAA;;;ACPpD,SAASM,QAAQC,mBAAmB;UAInBC,sBAAAA;uBACFC,aAAaC,OAAOC,iBAAiBC,KAAKC,EAAE;AAC3D,GAFiBL,wBAAAA,sBAAAA,CAAAA,EAAAA;AAKV,IAAMM,mBAAmBC,YAAY,2CAAA;;;;ACT5C,SAASC,cAAcC,UAAAA,SAAQC,OAAOC,aAAaC,cAAcC,oBAAoB;;;ACI9E,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;;QAE/B,6BACE;QAEF,cAAc;QACd,4BAA4B;QAC5B,kCAAkC;QAClC,uBAAuB;QACvB,wBAAwB;QACxB,8BAA8B;MAChC;IACF;EACF;;;;ADRK,IAAMC,sBAAsBC,aAAyCC,MAAM,CAAC,EAAEC,WAAWC,cAAa,MAAO;EAClHC,aAAa;IACXC,IAAI,GAAGJ,KAAKI,EAAE;IACdC,aAAaC,QAAOC;IACpBC,UAAU,YAAYC,YAAYC,0BAA0BC,eAAe,MAAMT,cAAAA,CAAAA;EACnF,CAAA;EACAC,aAAa;IACXC,IAAI,GAAGJ,KAAKI,EAAE;IACdC,aAAaC,QAAOM;IACpBJ,UAAUK;EACZ,CAAA;EACAV,aAAa;IACXC,IAAI,GAAGJ,KAAKI,EAAE;IACdC,aAAaC,QAAOC;IACpBO,gBAAgB;MAACC,oBAAoBC;;IACrCR,UAAU,MAAMS,mBAAmB;MAAEhB;IAAU,CAAA;EACjD,CAAA;EACAE,aAAa;IACXC,IAAI,GAAGJ,KAAKI,EAAE;IACdC,aAAaC,QAAOY;IACpBV,UAAU,MAAMC,YAAYU,aAAaC,cAAcC,YAAAA;EACzD,CAAA;EACAlB,aAAa;IACXC,IAAI,GAAGJ,KAAKI,EAAE;IACdC,aAAaC,QAAOgB;IACpBd,UAAU,CAACe,YAAYC,eAAe;MAAED;MAAStB;IAAU,CAAA;EAC7D,CAAA;EACAE,aAAa;IACXC,IAAI,GAAGJ,KAAKI,EAAE;IACdC,aAAaC,QAAOmB;IACpBjB,UAAUkB;EACZ,CAAA;EACAvB,aAAa;IACXC,IAAI,GAAGJ,KAAKI,EAAE;IACdC,aAAaC,QAAOqB;IACpBnB,UAAUoB;EACZ,CAAA;EACAzB,aAAa;IACXC,IAAI,GAAGJ,KAAKI,EAAE;IACdC,aAAawB,MAAMvB,QAAOwB,iBAAiBf,oBAAoBC,YAAYe,gBAAAA;IAC3EvB,UAAU,OAAOe,YAAAA;AACf,aAAOS,YAAY;QAAET;QAASrB,eAAe,MAAMA,cAAAA;QAAiBD;MAAU,CAAA;IAChF;EACF,CAAA;CACD;",
6
- "names": ["lazy", "AppGraphBuilder", "lazy", "ClientReady", "IntentResolver", "ReactSurface", "ObservabilitySettings", "ObservabilityState", "Events", "defineEvent", "ObservabilityEvents", "StateReady", "Events", "createStateEvent", "meta", "id", "ClientReadyEvent", "defineEvent", "Capabilities", "Events", "allOf", "contributes", "defineModule", "definePlugin", "translations", "meta", "id", "ObservabilityPlugin", "definePlugin", "meta", "namespace", "observability", "defineModule", "id", "activatesOn", "Events", "Startup", "activate", "contributes", "ObservabilityCapabilities", "Observability", "SetupSettings", "ObservabilitySettings", "activatesAfter", "ObservabilityEvents", "StateReady", "ObservabilityState", "SetupTranslations", "Capabilities", "Translations", "translations", "SetupIntentResolver", "context", "IntentResolver", "SetupReactSurface", "ReactSurface", "SetupAppGraph", "AppGraphBuilder", "allOf", "DispatcherReady", "ClientReadyEvent", "ClientReady"]
7
- }
@@ -1,77 +0,0 @@
1
- import {
2
- ObservabilityAction
3
- } from "./chunk-IFPEPNGO.mjs";
4
- import {
5
- ClientCapability,
6
- ObservabilityCapabilities
7
- } from "./chunk-EC7HTFA5.mjs";
8
- import {
9
- meta
10
- } from "./chunk-W7QWKVS3.mjs";
11
-
12
- // src/capabilities/intent-resolver.ts
13
- import { Capabilities, IntentAction, contributes, createResolver } from "@dxos/app-framework";
14
- import { log } from "@dxos/log";
15
- import { getTelemetryIdentity, storeObservabilityDisabled } from "@dxos/observability";
16
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-observability/src/capabilities/intent-resolver.ts";
17
- var intent_resolver_default = (({ context, namespace }) => contributes(Capabilities.IntentResolver, [
18
- createResolver({
19
- intent: IntentAction.Track,
20
- resolve: (intent) => {
21
- log.info("intent", {
22
- intent
23
- }, {
24
- F: __dxlog_file,
25
- L: 20,
26
- S: void 0,
27
- C: (f, a) => f(...a)
28
- });
29
- }
30
- }),
31
- createResolver({
32
- intent: ObservabilityAction.Toggle,
33
- resolve: async ({ state }) => {
34
- const client = context.getCapability(ClientCapability);
35
- const observability = context.getCapability(ObservabilityCapabilities.Observability);
36
- const settings = context.getCapability(Capabilities.SettingsStore).getStore(meta.id).value;
37
- settings.enabled = state ?? !settings.enabled;
38
- observability.track({
39
- ...getTelemetryIdentity(client),
40
- action: "observability.toggle",
41
- properties: {
42
- enabled: settings.enabled
43
- }
44
- });
45
- observability.setMode(settings.enabled ? "basic" : "disabled");
46
- await storeObservabilityDisabled(namespace, !settings.enabled);
47
- return {
48
- data: settings.enabled
49
- };
50
- }
51
- }),
52
- createResolver({
53
- intent: ObservabilityAction.SendEvent,
54
- resolve: (data) => {
55
- const client = context.getCapability(ClientCapability);
56
- const properties = "properties" in data ? data.properties : {};
57
- void context.waitForCapability(ObservabilityCapabilities.Observability).then((observability) => {
58
- observability.track({
59
- ...getTelemetryIdentity(client),
60
- action: data.name,
61
- properties
62
- });
63
- });
64
- }
65
- }),
66
- createResolver({
67
- intent: ObservabilityAction.CaptureUserFeedback,
68
- resolve: async (data) => {
69
- const observability = context.getCapability(ObservabilityCapabilities.Observability);
70
- observability.captureUserFeedback(data.message);
71
- }
72
- })
73
- ]));
74
- export {
75
- intent_resolver_default as default
76
- };
77
- //# sourceMappingURL=intent-resolver-3TZAFHGG.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, IntentAction, type PluginContext, contributes, createResolver } from '@dxos/app-framework';\nimport { log } from '@dxos/log';\nimport { getTelemetryIdentity, storeObservabilityDisabled } from '@dxos/observability';\n\nimport { type ObservabilitySettingsProps } from '../components';\nimport { meta } from '../meta';\nimport { ObservabilityAction } from '../types';\n\nimport { ClientCapability, ObservabilityCapabilities } from './capabilities';\n\nexport default ({ context, namespace }: { context: PluginContext; namespace: string }) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: IntentAction.Track,\n resolve: (intent) => {\n log.info('intent', { intent });\n },\n }),\n createResolver({\n intent: ObservabilityAction.Toggle,\n resolve: async ({ state }) => {\n const client = context.getCapability(ClientCapability);\n const observability = context.getCapability(ObservabilityCapabilities.Observability);\n const settings = context\n .getCapability(Capabilities.SettingsStore)\n .getStore<ObservabilitySettingsProps>(meta.id)!.value;\n settings.enabled = state ?? !settings.enabled;\n observability.track({\n ...getTelemetryIdentity(client),\n action: 'observability.toggle',\n properties: {\n enabled: settings.enabled,\n },\n });\n observability.setMode(settings.enabled ? 'basic' : 'disabled');\n await storeObservabilityDisabled(namespace, !settings.enabled);\n return { data: settings.enabled };\n },\n }),\n createResolver({\n intent: ObservabilityAction.SendEvent,\n resolve: (data) => {\n const client = context.getCapability(ClientCapability);\n const properties = 'properties' in data ? data.properties : {};\n\n // NOTE: This is to ensure that events fired before observability is ready are still sent.\n // TODO(wittjosiah): If the intent dispatcher supports concurrent actions in the future,\n // then this could be awaited still rather than voiding.\n void context.waitForCapability(ObservabilityCapabilities.Observability).then((observability) => {\n observability.track({\n ...getTelemetryIdentity(client),\n action: data.name,\n properties,\n });\n });\n },\n }),\n createResolver({\n intent: ObservabilityAction.CaptureUserFeedback,\n resolve: async (data) => {\n const observability = context.getCapability(ObservabilityCapabilities.Observability);\n observability.captureUserFeedback(data.message);\n },\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;;AAIA,SAASA,cAAcC,cAAkCC,aAAaC,sBAAsB;AAC5F,SAASC,WAAW;AACpB,SAASC,sBAAsBC,kCAAkC;;AAQjE,IAAA,2BAAe,CAAC,EAAEC,SAASC,UAAS,MAClCC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,aAAaC;IACrBC,SAAS,CAACH,WAAAA;AACRI,UAAIC,KAAK,UAAU;QAAEL;MAAO,GAAA;;;;;;IAC9B;EACF,CAAA;EACAD,eAAe;IACbC,QAAQM,oBAAoBC;IAC5BJ,SAAS,OAAO,EAAEK,MAAK,MAAE;AACvB,YAAMC,SAASf,QAAQgB,cAAcC,gBAAAA;AACrC,YAAMC,gBAAgBlB,QAAQgB,cAAcG,0BAA0BC,aAAa;AACnF,YAAMC,WAAWrB,QACdgB,cAAcb,aAAamB,aAAa,EACxCC,SAAqCC,KAAKC,EAAE,EAAGC;AAClDL,eAASM,UAAUb,SAAS,CAACO,SAASM;AACtCT,oBAAcU,MAAM;QAClB,GAAGC,qBAAqBd,MAAAA;QACxBe,QAAQ;QACRC,YAAY;UACVJ,SAASN,SAASM;QACpB;MACF,CAAA;AACAT,oBAAcc,QAAQX,SAASM,UAAU,UAAU,UAAA;AACnD,YAAMM,2BAA2BhC,WAAW,CAACoB,SAASM,OAAO;AAC7D,aAAO;QAAEO,MAAMb,SAASM;MAAQ;IAClC;EACF,CAAA;EACAtB,eAAe;IACbC,QAAQM,oBAAoBuB;IAC5B1B,SAAS,CAACyB,SAAAA;AACR,YAAMnB,SAASf,QAAQgB,cAAcC,gBAAAA;AACrC,YAAMc,aAAa,gBAAgBG,OAAOA,KAAKH,aAAa,CAAC;AAK7D,WAAK/B,QAAQoC,kBAAkBjB,0BAA0BC,aAAa,EAAEiB,KAAK,CAACnB,kBAAAA;AAC5EA,sBAAcU,MAAM;UAClB,GAAGC,qBAAqBd,MAAAA;UACxBe,QAAQI,KAAKI;UACbP;QACF,CAAA;MACF,CAAA;IACF;EACF,CAAA;EACA1B,eAAe;IACbC,QAAQM,oBAAoB2B;IAC5B9B,SAAS,OAAOyB,SAAAA;AACd,YAAMhB,gBAAgBlB,QAAQgB,cAAcG,0BAA0BC,aAAa;AACnFF,oBAAcsB,oBAAoBN,KAAKO,OAAO;IAChD;EACF,CAAA;CACD;",
6
- "names": ["Capabilities", "IntentAction", "contributes", "createResolver", "log", "getTelemetryIdentity", "storeObservabilityDisabled", "context", "namespace", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "IntentAction", "Track", "resolve", "log", "info", "ObservabilityAction", "Toggle", "state", "client", "getCapability", "ClientCapability", "observability", "ObservabilityCapabilities", "Observability", "settings", "SettingsStore", "getStore", "meta", "id", "value", "enabled", "track", "getTelemetryIdentity", "action", "properties", "setMode", "storeObservabilityDisabled", "data", "SendEvent", "waitForCapability", "then", "name", "CaptureUserFeedback", "captureUserFeedback", "message"]
7
- }
@@ -1 +0,0 @@
1
- {"inputs":{"src/meta.ts":{"bytes":1527,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/capabilities.ts":{"bytes":2522,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/capabilities/app-graph-builder.ts":{"bytes":5727,"imports":[{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/types/schema.ts":{"bytes":22713,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/types/index.ts":{"bytes":468,"imports":[{"path":"src/types/schema.ts","kind":"import-statement","original":"./schema"}],"format":"esm"},"src/capabilities/client-ready.ts":{"bytes":13392,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/observability","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"src/capabilities/intent-resolver.ts":{"bytes":9854,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/observability","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"src/components/FeedbackForm.tsx":{"bytes":10044,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","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":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/components/HelpContainer.tsx":{"bytes":5629,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"src/components/FeedbackForm.tsx","kind":"import-statement","original":"./FeedbackForm"}],"format":"esm"},"src/components/ObservabilitySettings.tsx":{"bytes":6132,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","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":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/components/index.ts":{"bytes":713,"imports":[{"path":"src/components/FeedbackForm.tsx","kind":"import-statement","original":"./FeedbackForm"},{"path":"src/components/HelpContainer.tsx","kind":"import-statement","original":"./HelpContainer"},{"path":"src/components/ObservabilitySettings.tsx","kind":"import-statement","original":"./ObservabilitySettings"}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":3466,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/capabilities/settings.ts":{"bytes":2050,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/capabilities/state.ts":{"bytes":3023,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"@dxos/observability","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":2158,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"src/capabilities/client-ready.ts","kind":"dynamic-import","original":"./client-ready"},{"path":"src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"src/capabilities/settings.ts","kind":"dynamic-import","original":"./settings"},{"path":"src/capabilities/state.ts","kind":"dynamic-import","original":"./state"}],"format":"esm"},"src/events.ts":{"bytes":1719,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/translations.ts":{"bytes":4697,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/ObservabilityPlugin.ts":{"bytes":8577,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/events.ts","kind":"import-statement","original":"./events"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"src/index.ts":{"bytes":1065,"imports":[{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/events.ts","kind":"import-statement","original":"./events"},{"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"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7907},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-GJWFKBKM.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-IFPEPNGO.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-EC7HTFA5.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-W7QWKVS3.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/browser/app-graph-builder-4VCXIPB7.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/client-ready-4RGNCIGS.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/intent-resolver-3TZAFHGG.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/react-surface-NLKDFJBB.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/settings-27DLWAXK.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/state-FJD6K3ZZ.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["FeedbackForm","HelpContainer","ObservabilityCapabilities","ObservabilityEvents","ObservabilityPlugin","ObservabilitySettings","ObservabilitySettingsSchema","meta"],"entryPoint":"src/index.ts","inputs":{"src/capabilities/index.ts":{"bytesInOutput":482},"src/index.ts":{"bytesInOutput":0},"src/events.ts":{"bytesInOutput":324},"src/ObservabilityPlugin.ts":{"bytesInOutput":1743},"src/translations.ts":{"bytesInOutput":1454}},"bytes":4629},"dist/lib/browser/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/types/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-IFPEPNGO.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-W7QWKVS3.mjs","kind":"import-statement"}],"exports":["ObservabilityAction","UserFeedback"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":196},"dist/lib/browser/app-graph-builder-4VCXIPB7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2729},"dist/lib/browser/app-graph-builder-4VCXIPB7.mjs":{"imports":[{"path":"dist/lib/browser/chunk-W7QWKVS3.mjs","kind":"import-statement"},{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/app-graph-builder.ts","inputs":{"src/capabilities/app-graph-builder.ts":{"bytesInOutput":1193}},"bytes":1389},"dist/lib/browser/client-ready-4RGNCIGS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6631},"dist/lib/browser/client-ready-4RGNCIGS.mjs":{"imports":[{"path":"dist/lib/browser/chunk-IFPEPNGO.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-EC7HTFA5.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-W7QWKVS3.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/observability","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/client-ready.ts","inputs":{"src/capabilities/client-ready.ts":{"bytesInOutput":3150}},"bytes":3481},"dist/lib/browser/intent-resolver-3TZAFHGG.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4873},"dist/lib/browser/intent-resolver-3TZAFHGG.mjs":{"imports":[{"path":"dist/lib/browser/chunk-IFPEPNGO.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-EC7HTFA5.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-W7QWKVS3.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/observability","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/intent-resolver.ts","inputs":{"src/capabilities/intent-resolver.ts":{"bytesInOutput":2210}},"bytes":2550},"dist/lib/browser/react-surface-NLKDFJBB.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1761},"dist/lib/browser/react-surface-NLKDFJBB.mjs":{"imports":[{"path":"dist/lib/browser/chunk-GJWFKBKM.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-IFPEPNGO.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-W7QWKVS3.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":701}},"bytes":998},"dist/lib/browser/settings-27DLWAXK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1053},"dist/lib/browser/settings-27DLWAXK.mjs":{"imports":[{"path":"dist/lib/browser/chunk-GJWFKBKM.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-IFPEPNGO.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-W7QWKVS3.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/settings.ts","inputs":{"src/capabilities/settings.ts":{"bytesInOutput":327}},"bytes":597},"dist/lib/browser/chunk-GJWFKBKM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10900},"dist/lib/browser/chunk-GJWFKBKM.mjs":{"imports":[{"path":"dist/lib/browser/chunk-IFPEPNGO.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-W7QWKVS3.mjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","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":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true}],"exports":["FeedbackForm","HelpContainer","ObservabilitySettings","ObservabilitySettingsSchema"],"inputs":{"src/components/FeedbackForm.tsx":{"bytesInOutput":2770},"src/components/HelpContainer.tsx":{"bytesInOutput":1374},"src/components/ObservabilitySettings.tsx":{"bytesInOutput":1611},"src/components/index.ts":{"bytesInOutput":0}},"bytes":6143},"dist/lib/browser/chunk-IFPEPNGO.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10751},"dist/lib/browser/chunk-IFPEPNGO.mjs":{"imports":[{"path":"dist/lib/browser/chunk-W7QWKVS3.mjs","kind":"import-statement"},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true}],"exports":["ObservabilityAction","UserFeedback"],"inputs":{"src/types/schema.ts":{"bytesInOutput":5679},"src/types/index.ts":{"bytesInOutput":0}},"bytes":5845},"dist/lib/browser/state-FJD6K3ZZ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1553},"dist/lib/browser/state-FJD6K3ZZ.mjs":{"imports":[{"path":"dist/lib/browser/chunk-EC7HTFA5.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-W7QWKVS3.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"@dxos/observability","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/state.ts","inputs":{"src/capabilities/state.ts":{"bytesInOutput":533}},"bytes":761},"dist/lib/browser/chunk-EC7HTFA5.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1246},"dist/lib/browser/chunk-EC7HTFA5.mjs":{"imports":[{"path":"dist/lib/browser/chunk-W7QWKVS3.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ClientCapability","ObservabilityCapabilities"],"inputs":{"src/capabilities/capabilities.ts":{"bytesInOutput":467}},"bytes":656},"dist/lib/browser/chunk-W7QWKVS3.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":727},"dist/lib/browser/chunk-W7QWKVS3.mjs":{"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["meta"],"inputs":{"src/meta.ts":{"bytesInOutput":335}},"bytes":414}}}
@@ -1,32 +0,0 @@
1
- import {
2
- HelpContainer,
3
- ObservabilitySettings
4
- } from "./chunk-GJWFKBKM.mjs";
5
- import "./chunk-IFPEPNGO.mjs";
6
- import {
7
- meta
8
- } from "./chunk-W7QWKVS3.mjs";
9
-
10
- // src/capabilities/react-surface.tsx
11
- import React from "react";
12
- import { Capabilities, contributes, createSurface } from "@dxos/app-framework";
13
- import { SettingsStore } from "@dxos/local-storage";
14
- var react_surface_default = (() => contributes(Capabilities.ReactSurface, [
15
- createSurface({
16
- id: meta.id,
17
- role: "article",
18
- filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === meta.id,
19
- component: ({ data: { subject } }) => /* @__PURE__ */ React.createElement(ObservabilitySettings, {
20
- settings: subject.value
21
- })
22
- }),
23
- createSurface({
24
- id: `${meta.id}/help`,
25
- role: "deck-companion--help",
26
- component: () => /* @__PURE__ */ React.createElement(HelpContainer, null)
27
- })
28
- ]));
29
- export {
30
- react_surface_default as default
31
- };
32
- //# sourceMappingURL=react-surface-NLKDFJBB.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { SettingsStore } from '@dxos/local-storage';\n\nimport { HelpContainer, ObservabilitySettings, type ObservabilitySettingsProps } from '../components';\nimport { meta } from '../meta';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: meta.id,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<ObservabilitySettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === meta.id,\n component: ({ data: { subject } }) => <ObservabilitySettings settings={subject.value} />,\n }),\n createSurface({\n id: `${meta.id}/help`,\n role: 'deck-companion--help',\n component: () => <HelpContainer />,\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;AACzD,SAASC,qBAAqB;AAK9B,IAAA,yBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAIC,KAAKD;IACTE,MAAM;IACNC,QAAQ,CAACC,SACPA,KAAKC,mBAAmBC,iBAAiBF,KAAKC,QAAQE,WAAWN,KAAKD;IACxEQ,WAAW,CAAC,EAAEJ,MAAM,EAAEC,QAAO,EAAE,MAAO,sBAAA,cAACI,uBAAAA;MAAsBC,UAAUL,QAAQM;;EACjF,CAAA;EACAZ,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNM,WAAW,MAAM,sBAAA,cAACI,eAAAA,IAAAA;EACpB,CAAA;CACD;",
6
- "names": ["React", "Capabilities", "contributes", "createSurface", "SettingsStore", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "subject", "SettingsStore", "prefix", "component", "ObservabilitySettings", "settings", "value", "HelpContainer"]
7
- }
@@ -1,25 +0,0 @@
1
- import {
2
- ObservabilitySettingsSchema
3
- } from "./chunk-GJWFKBKM.mjs";
4
- import "./chunk-IFPEPNGO.mjs";
5
- import {
6
- meta
7
- } from "./chunk-W7QWKVS3.mjs";
8
-
9
- // src/capabilities/settings.ts
10
- import { Capabilities, contributes } from "@dxos/app-framework";
11
- import { live } from "@dxos/live-object";
12
- var settings_default = (() => {
13
- const settings = live({
14
- enabled: true
15
- });
16
- return contributes(Capabilities.Settings, {
17
- prefix: meta.id,
18
- schema: ObservabilitySettingsSchema,
19
- value: settings
20
- });
21
- });
22
- export {
23
- settings_default as default
24
- };
25
- //# sourceMappingURL=settings-27DLWAXK.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/settings.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { live } from '@dxos/live-object';\n\nimport { type ObservabilitySettingsProps, ObservabilitySettingsSchema } from '../components';\nimport { meta } from '../meta';\n\nexport default () => {\n const settings = live<ObservabilitySettingsProps>({\n enabled: true,\n });\n\n return contributes(Capabilities.Settings, {\n prefix: meta.id,\n schema: ObservabilitySettingsSchema,\n value: settings,\n });\n};\n"],
5
- "mappings": ";;;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,oBAAe,MAAA;AACb,QAAMC,WAAWC,KAAiC;IAChDC,SAAS;EACX,CAAA;AAEA,SAAOC,YAAYC,aAAaC,UAAU;IACxCC,QAAQC,KAAKC;IACbC,QAAQC;IACRC,OAAOX;EACT,CAAA;AACF;",
6
- "names": ["Capabilities", "contributes", "live", "settings", "live", "enabled", "contributes", "Capabilities", "Settings", "prefix", "meta", "id", "schema", "ObservabilitySettingsSchema", "value"]
7
- }
@@ -1,26 +0,0 @@
1
- import {
2
- ObservabilityCapabilities
3
- } from "./chunk-EC7HTFA5.mjs";
4
- import {
5
- meta
6
- } from "./chunk-W7QWKVS3.mjs";
7
-
8
- // src/capabilities/state.ts
9
- import { contributes } from "@dxos/app-framework";
10
- import { LocalStorageStore } from "@dxos/local-storage";
11
- import { getObservabilityGroup } from "@dxos/observability";
12
- var state_default = (async ({ namespace }) => {
13
- const state = new LocalStorageStore(meta.id);
14
- state.prop({
15
- key: "notified",
16
- type: LocalStorageStore.bool({
17
- allowUndefined: true
18
- })
19
- });
20
- state.values.group = await getObservabilityGroup(namespace);
21
- return contributes(ObservabilityCapabilities.State, state.values, () => state.close());
22
- });
23
- export {
24
- state_default as default
25
- };
26
- //# sourceMappingURL=state-FJD6K3ZZ.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/state.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes } from '@dxos/app-framework';\nimport { LocalStorageStore } from '@dxos/local-storage';\nimport { getObservabilityGroup } from '@dxos/observability';\n\nimport { meta } from '../meta';\n\nimport { ObservabilityCapabilities } from './capabilities';\n\nexport default async ({ namespace }: { namespace: string }) => {\n const state = new LocalStorageStore<ObservabilityCapabilities.State>(meta.id);\n\n state.prop({ key: 'notified', type: LocalStorageStore.bool({ allowUndefined: true }) });\n\n // NOTE: This is not stored in local storage such that it can be accessed by workers.\n state.values.group = await getObservabilityGroup(namespace);\n\n return contributes(ObservabilityCapabilities.State, state.values, () => state.close());\n};\n"],
5
- "mappings": ";;;;;;;;AAIA,SAASA,mBAAmB;AAC5B,SAASC,yBAAyB;AAClC,SAASC,6BAA6B;AAMtC,IAAA,iBAAe,OAAO,EAAEC,UAAS,MAAyB;AACxD,QAAMC,QAAQ,IAAIC,kBAAmDC,KAAKC,EAAE;AAE5EH,QAAMI,KAAK;IAAEC,KAAK;IAAYC,MAAML,kBAAkBM,KAAK;MAAEC,gBAAgB;IAAK,CAAA;EAAG,CAAA;AAGrFR,QAAMS,OAAOC,QAAQ,MAAMC,sBAAsBZ,SAAAA;AAEjD,SAAOa,YAAYC,0BAA0BC,OAAOd,MAAMS,QAAQ,MAAMT,MAAMe,MAAK,CAAA;AACrF;",
6
- "names": ["contributes", "LocalStorageStore", "getObservabilityGroup", "namespace", "state", "LocalStorageStore", "meta", "id", "prop", "key", "type", "bool", "allowUndefined", "values", "group", "getObservabilityGroup", "contributes", "ObservabilityCapabilities", "State", "close"]
7
- }
@@ -1,10 +0,0 @@
1
- import {
2
- ObservabilityAction,
3
- UserFeedback
4
- } from "../chunk-IFPEPNGO.mjs";
5
- import "../chunk-W7QWKVS3.mjs";
6
- export {
7
- ObservabilityAction,
8
- UserFeedback
9
- };
10
- //# sourceMappingURL=index.mjs.map
@@ -1,45 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- meta
4
- } from "./chunk-AVJTLRX5.mjs";
5
-
6
- // src/capabilities/app-graph-builder.ts
7
- import { Rx } from "@effect-rx/rx-react";
8
- import * as Function from "effect/Function";
9
- import * as Option from "effect/Option";
10
- import { Capabilities, contributes } from "@dxos/app-framework";
11
- import { ROOT_ID, createExtension } from "@dxos/plugin-graph";
12
- var ATTENDABLE_PATH_SEPARATOR = "~";
13
- var DECK_COMPANION_TYPE = "dxos.org/plugin/deck/deck-companion";
14
- var app_graph_builder_default = ((_context) => contributes(Capabilities.AppGraphBuilder, [
15
- createExtension({
16
- id: `${meta.id}/help`,
17
- connector: (node) => Rx.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map((node2) => {
18
- return [
19
- {
20
- id: [
21
- node2.id,
22
- "help"
23
- ].join(ATTENDABLE_PATH_SEPARATOR),
24
- type: DECK_COMPANION_TYPE,
25
- data: null,
26
- properties: {
27
- label: [
28
- "help label",
29
- {
30
- ns: meta.id
31
- }
32
- ],
33
- icon: "ph--question--regular",
34
- disposition: "hidden",
35
- position: "hoist"
36
- }
37
- }
38
- ];
39
- }), Option.getOrElse(() => [])))
40
- })
41
- ]));
42
- export {
43
- app_graph_builder_default as default
44
- };
45
- //# sourceMappingURL=app-graph-builder-C4UWA6OD.mjs.map