@dxos/plugin-observability 0.8.4-main.72ec0f3 → 0.8.4-main.7996785055

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 (271) hide show
  1. package/dist/lib/browser/HelpContainer-2FYDP2J4.mjs +77 -0
  2. package/dist/lib/browser/HelpContainer-2FYDP2J4.mjs.map +7 -0
  3. package/dist/lib/browser/ObservabilitySettings-PV4ZSSDZ.mjs +13 -0
  4. package/dist/lib/browser/ObservabilitySettings-PV4ZSSDZ.mjs.map +7 -0
  5. package/dist/lib/browser/app-graph-builder-FJ7NEONF.mjs +41 -0
  6. package/dist/lib/browser/app-graph-builder-FJ7NEONF.mjs.map +7 -0
  7. package/dist/lib/browser/capture-user-feedback-52OBVQXF.mjs +24 -0
  8. package/dist/lib/browser/capture-user-feedback-52OBVQXF.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-5VA3PEPS.mjs +36 -0
  10. package/dist/lib/browser/chunk-5VA3PEPS.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-AQBCTSG2.mjs +110 -0
  12. package/dist/lib/browser/chunk-AQBCTSG2.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-W7QWKVS3.mjs → chunk-EZN4UVBW.mjs} +9 -2
  14. package/dist/lib/browser/chunk-EZN4UVBW.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-II2Z4NW6.mjs +32 -0
  16. package/dist/lib/browser/chunk-II2Z4NW6.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-JCEPLSD4.mjs +41 -0
  18. package/dist/lib/browser/chunk-JCEPLSD4.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-MYIEIHOB.mjs +8 -0
  20. package/dist/lib/browser/chunk-MYIEIHOB.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-P62HDKTZ.mjs +10 -0
  22. package/dist/lib/browser/chunk-P62HDKTZ.mjs.map +7 -0
  23. package/dist/lib/browser/cli/index.mjs +24 -0
  24. package/dist/lib/browser/cli/index.mjs.map +7 -0
  25. package/dist/lib/browser/client-ready-D7S65A4A.mjs +105 -0
  26. package/dist/lib/browser/client-ready-D7S65A4A.mjs.map +7 -0
  27. package/dist/lib/browser/index.mjs +79 -110
  28. package/dist/lib/browser/index.mjs.map +4 -4
  29. package/dist/lib/browser/meta.json +1 -1
  30. package/dist/lib/browser/operation-handler-BJPXGGUU.mjs +16 -0
  31. package/dist/lib/browser/operation-handler-BJPXGGUU.mjs.map +7 -0
  32. package/dist/lib/browser/operations/index.mjs +14 -0
  33. package/dist/lib/browser/operations/index.mjs.map +7 -0
  34. package/dist/lib/browser/react-surface-H2H42AZN.mjs +40 -0
  35. package/dist/lib/browser/react-surface-H2H42AZN.mjs.map +7 -0
  36. package/dist/lib/browser/send-event-VG4G6GLD.mjs +22 -0
  37. package/dist/lib/browser/send-event-VG4G6GLD.mjs.map +7 -0
  38. package/dist/lib/browser/settings-O35S3EAY.mjs +39 -0
  39. package/dist/lib/browser/settings-O35S3EAY.mjs.map +7 -0
  40. package/dist/lib/browser/state-FH4APQ7D.mjs +30 -0
  41. package/dist/lib/browser/state-FH4APQ7D.mjs.map +7 -0
  42. package/dist/lib/browser/toggle-UYNRZ7AN.mjs +48 -0
  43. package/dist/lib/browser/toggle-UYNRZ7AN.mjs.map +7 -0
  44. package/dist/lib/browser/types/index.mjs +10 -6
  45. package/dist/lib/node-esm/HelpContainer-ZBAPKRWN.mjs +78 -0
  46. package/dist/lib/node-esm/HelpContainer-ZBAPKRWN.mjs.map +7 -0
  47. package/dist/lib/node-esm/ObservabilitySettings-XXE55SI6.mjs +14 -0
  48. package/dist/lib/node-esm/ObservabilitySettings-XXE55SI6.mjs.map +7 -0
  49. package/dist/lib/node-esm/app-graph-builder-6SRZ27F3.mjs +42 -0
  50. package/dist/lib/node-esm/app-graph-builder-6SRZ27F3.mjs.map +7 -0
  51. package/dist/lib/node-esm/capture-user-feedback-KJZBMLCS.mjs +25 -0
  52. package/dist/lib/node-esm/capture-user-feedback-KJZBMLCS.mjs.map +7 -0
  53. package/dist/lib/node-esm/chunk-2FZEWT55.mjs +37 -0
  54. package/dist/lib/node-esm/chunk-2FZEWT55.mjs.map +7 -0
  55. package/dist/lib/node-esm/chunk-EV4RJG4X.mjs +10 -0
  56. package/dist/lib/node-esm/chunk-EV4RJG4X.mjs.map +7 -0
  57. package/dist/lib/node-esm/chunk-J3N65J6S.mjs +12 -0
  58. package/dist/lib/node-esm/chunk-J3N65J6S.mjs.map +7 -0
  59. package/dist/lib/node-esm/chunk-NBZXESR2.mjs +33 -0
  60. package/dist/lib/node-esm/chunk-NBZXESR2.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-AVJTLRX5.mjs → chunk-NRPR7RO6.mjs} +8 -2
  62. package/dist/lib/node-esm/chunk-NRPR7RO6.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-O2FWX3U6.mjs +42 -0
  64. package/dist/lib/node-esm/chunk-O2FWX3U6.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-PFYZRYI5.mjs +111 -0
  66. package/dist/lib/node-esm/chunk-PFYZRYI5.mjs.map +7 -0
  67. package/dist/lib/node-esm/cli/index.mjs +25 -0
  68. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  69. package/dist/lib/node-esm/client-ready-2IDY2LT7.mjs +106 -0
  70. package/dist/lib/node-esm/client-ready-2IDY2LT7.mjs.map +7 -0
  71. package/dist/lib/node-esm/index.mjs +79 -110
  72. package/dist/lib/node-esm/index.mjs.map +4 -4
  73. package/dist/lib/node-esm/meta.json +1 -1
  74. package/dist/lib/node-esm/operation-handler-UAYZDYTH.mjs +17 -0
  75. package/dist/lib/node-esm/operation-handler-UAYZDYTH.mjs.map +7 -0
  76. package/dist/lib/node-esm/operations/index.mjs +15 -0
  77. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  78. package/dist/lib/node-esm/react-surface-5SDD7GHG.mjs +41 -0
  79. package/dist/lib/node-esm/react-surface-5SDD7GHG.mjs.map +7 -0
  80. package/dist/lib/node-esm/send-event-2EOZICTS.mjs +23 -0
  81. package/dist/lib/node-esm/send-event-2EOZICTS.mjs.map +7 -0
  82. package/dist/lib/node-esm/settings-RTRZZI74.mjs +40 -0
  83. package/dist/lib/node-esm/settings-RTRZZI74.mjs.map +7 -0
  84. package/dist/lib/node-esm/state-GTAZ3K25.mjs +31 -0
  85. package/dist/lib/node-esm/state-GTAZ3K25.mjs.map +7 -0
  86. package/dist/lib/node-esm/toggle-YUPWPW6E.mjs +49 -0
  87. package/dist/lib/node-esm/toggle-YUPWPW6E.mjs.map +7 -0
  88. package/dist/lib/node-esm/types/index.mjs +10 -6
  89. package/dist/types/src/ObservabilityPlugin.d.ts +3 -2
  90. package/dist/types/src/ObservabilityPlugin.d.ts.map +1 -1
  91. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  92. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  93. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  94. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  95. package/dist/types/src/capabilities/client-ready/client-ready.d.ts +10 -0
  96. package/dist/types/src/capabilities/client-ready/client-ready.d.ts.map +1 -0
  97. package/dist/types/src/capabilities/client-ready/index.d.ts +4 -0
  98. package/dist/types/src/capabilities/client-ready/index.d.ts.map +1 -0
  99. package/dist/types/src/capabilities/index.d.ts +6 -16
  100. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  101. package/dist/types/src/capabilities/operation-handler/index.d.ts +4 -0
  102. package/dist/types/src/capabilities/operation-handler/index.d.ts.map +1 -0
  103. package/dist/types/src/capabilities/operation-handler/operation-handler.d.ts +6 -0
  104. package/dist/types/src/capabilities/operation-handler/operation-handler.d.ts.map +1 -0
  105. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  106. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  107. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  108. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/settings/index.d.ts +7 -0
  110. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  111. package/dist/types/src/capabilities/settings/settings.d.ts +10 -0
  112. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  113. package/dist/types/src/capabilities/state/index.d.ts +11 -0
  114. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  115. package/dist/types/src/capabilities/state/state.d.ts +13 -0
  116. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  117. package/dist/types/src/cli/index.d.ts +2 -0
  118. package/dist/types/src/cli/index.d.ts.map +1 -0
  119. package/dist/types/src/cli/plugin.d.ts +3 -0
  120. package/dist/types/src/cli/plugin.d.ts.map +1 -0
  121. package/dist/types/src/components/FeedbackForm/FeedbackForm.d.ts +6 -0
  122. package/dist/types/src/components/FeedbackForm/FeedbackForm.d.ts.map +1 -0
  123. package/dist/types/src/components/FeedbackForm/FeedbackForm.stories.d.ts +35 -0
  124. package/dist/types/src/components/FeedbackForm/FeedbackForm.stories.d.ts.map +1 -0
  125. package/dist/types/src/components/FeedbackForm/index.d.ts +2 -0
  126. package/dist/types/src/components/FeedbackForm/index.d.ts.map +1 -0
  127. package/dist/types/src/components/index.d.ts +0 -2
  128. package/dist/types/src/components/index.d.ts.map +1 -1
  129. package/dist/types/src/containers/HelpContainer/HelpContainer.d.ts +4 -0
  130. package/dist/types/src/containers/HelpContainer/HelpContainer.d.ts.map +1 -0
  131. package/dist/types/src/containers/HelpContainer/index.d.ts +3 -0
  132. package/dist/types/src/containers/HelpContainer/index.d.ts.map +1 -0
  133. package/dist/types/src/{components → containers/ObservabilitySettings}/ObservabilitySettings.d.ts +4 -2
  134. package/dist/types/src/containers/ObservabilitySettings/ObservabilitySettings.d.ts.map +1 -0
  135. package/dist/types/src/containers/ObservabilitySettings/index.d.ts +3 -0
  136. package/dist/types/src/containers/ObservabilitySettings/index.d.ts.map +1 -0
  137. package/dist/types/src/containers/index.d.ts +6 -0
  138. package/dist/types/src/containers/index.d.ts.map +1 -0
  139. package/dist/types/src/index.d.ts +2 -2
  140. package/dist/types/src/index.d.ts.map +1 -1
  141. package/dist/types/src/meta.d.ts +2 -2
  142. package/dist/types/src/meta.d.ts.map +1 -1
  143. package/dist/types/src/operations/capture-user-feedback.d.ts +5 -0
  144. package/dist/types/src/operations/capture-user-feedback.d.ts.map +1 -0
  145. package/dist/types/src/operations/definitions.d.ts +23 -0
  146. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  147. package/dist/types/src/operations/index.d.ts +5 -0
  148. package/dist/types/src/operations/index.d.ts.map +1 -0
  149. package/dist/types/src/operations/send-event.d.ts +5 -0
  150. package/dist/types/src/operations/send-event.d.ts.map +1 -0
  151. package/dist/types/src/operations/toggle.d.ts +5 -0
  152. package/dist/types/src/operations/toggle.d.ts.map +1 -0
  153. package/dist/types/src/translations.d.ts +3 -2
  154. package/dist/types/src/translations.d.ts.map +1 -1
  155. package/dist/types/src/types/capabilities.d.ts +28 -0
  156. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  157. package/dist/types/src/types/events.d.ts +6 -0
  158. package/dist/types/src/types/events.d.ts.map +1 -0
  159. package/dist/types/src/types/index.d.ts +2 -1
  160. package/dist/types/src/types/index.d.ts.map +1 -1
  161. package/dist/types/tsconfig.tsbuildinfo +1 -1
  162. package/package.json +55 -34
  163. package/src/ObservabilityPlugin.ts +48 -46
  164. package/src/capabilities/app-graph-builder/app-graph-builder.ts +40 -0
  165. package/src/capabilities/app-graph-builder/index.ts +7 -0
  166. package/src/capabilities/client-ready/client-ready.ts +85 -0
  167. package/src/capabilities/client-ready/index.ts +9 -0
  168. package/src/capabilities/index.ts +6 -10
  169. package/src/capabilities/operation-handler/index.ts +11 -0
  170. package/src/capabilities/operation-handler/operation-handler.ts +16 -0
  171. package/src/capabilities/react-surface/index.ts +7 -0
  172. package/src/capabilities/react-surface/react-surface.tsx +35 -0
  173. package/src/capabilities/settings/index.ts +7 -0
  174. package/src/capabilities/settings/settings.ts +34 -0
  175. package/src/capabilities/state/index.ts +7 -0
  176. package/src/capabilities/state/state.ts +29 -0
  177. package/src/cli/index.ts +5 -0
  178. package/src/cli/plugin.ts +31 -0
  179. package/src/components/FeedbackForm/FeedbackForm.stories.tsx +33 -0
  180. package/src/components/FeedbackForm/FeedbackForm.tsx +33 -0
  181. package/src/components/FeedbackForm/index.ts +5 -0
  182. package/src/components/index.ts +0 -2
  183. package/src/containers/HelpContainer/HelpContainer.tsx +56 -0
  184. package/src/containers/HelpContainer/index.ts +7 -0
  185. package/src/containers/ObservabilitySettings/ObservabilitySettings.tsx +53 -0
  186. package/src/containers/ObservabilitySettings/index.ts +11 -0
  187. package/src/containers/index.ts +11 -0
  188. package/src/index.ts +2 -2
  189. package/src/meta.ts +3 -3
  190. package/src/operations/capture-user-feedback.ts +23 -0
  191. package/src/operations/definitions.ts +76 -0
  192. package/src/operations/index.ts +14 -0
  193. package/src/operations/send-event.ts +25 -0
  194. package/src/operations/toggle.ts +48 -0
  195. package/src/translations.ts +3 -3
  196. package/src/types/capabilities.ts +36 -0
  197. package/src/types/events.ts +15 -0
  198. package/src/types/index.ts +2 -1
  199. package/dist/lib/browser/app-graph-builder-3I6HZ5AR.mjs +0 -44
  200. package/dist/lib/browser/app-graph-builder-3I6HZ5AR.mjs.map +0 -7
  201. package/dist/lib/browser/chunk-ABSWYPOR.mjs +0 -181
  202. package/dist/lib/browser/chunk-ABSWYPOR.mjs.map +0 -7
  203. package/dist/lib/browser/chunk-EC7HTFA5.mjs +0 -18
  204. package/dist/lib/browser/chunk-EC7HTFA5.mjs.map +0 -7
  205. package/dist/lib/browser/chunk-IFPEPNGO.mjs +0 -191
  206. package/dist/lib/browser/chunk-IFPEPNGO.mjs.map +0 -7
  207. package/dist/lib/browser/chunk-W7QWKVS3.mjs.map +0 -7
  208. package/dist/lib/browser/client-ready-4RGNCIGS.mjs +0 -102
  209. package/dist/lib/browser/client-ready-4RGNCIGS.mjs.map +0 -7
  210. package/dist/lib/browser/intent-resolver-3TZAFHGG.mjs +0 -77
  211. package/dist/lib/browser/intent-resolver-3TZAFHGG.mjs.map +0 -7
  212. package/dist/lib/browser/react-surface-NC5OS6RK.mjs +0 -32
  213. package/dist/lib/browser/react-surface-NC5OS6RK.mjs.map +0 -7
  214. package/dist/lib/browser/settings-SVUCKD7J.mjs +0 -25
  215. package/dist/lib/browser/settings-SVUCKD7J.mjs.map +0 -7
  216. package/dist/lib/browser/state-FJD6K3ZZ.mjs +0 -26
  217. package/dist/lib/browser/state-FJD6K3ZZ.mjs.map +0 -7
  218. package/dist/lib/node-esm/app-graph-builder-KH2GA6G7.mjs +0 -45
  219. package/dist/lib/node-esm/app-graph-builder-KH2GA6G7.mjs.map +0 -7
  220. package/dist/lib/node-esm/chunk-AVJTLRX5.mjs.map +0 -7
  221. package/dist/lib/node-esm/chunk-DUZESLKB.mjs +0 -182
  222. package/dist/lib/node-esm/chunk-DUZESLKB.mjs.map +0 -7
  223. package/dist/lib/node-esm/chunk-HACSZKXD.mjs +0 -19
  224. package/dist/lib/node-esm/chunk-HACSZKXD.mjs.map +0 -7
  225. package/dist/lib/node-esm/chunk-TXFKNLDI.mjs +0 -192
  226. package/dist/lib/node-esm/chunk-TXFKNLDI.mjs.map +0 -7
  227. package/dist/lib/node-esm/client-ready-4IKY5KJC.mjs +0 -103
  228. package/dist/lib/node-esm/client-ready-4IKY5KJC.mjs.map +0 -7
  229. package/dist/lib/node-esm/intent-resolver-5D5SXGKQ.mjs +0 -78
  230. package/dist/lib/node-esm/intent-resolver-5D5SXGKQ.mjs.map +0 -7
  231. package/dist/lib/node-esm/react-surface-DZWHHB3R.mjs +0 -33
  232. package/dist/lib/node-esm/react-surface-DZWHHB3R.mjs.map +0 -7
  233. package/dist/lib/node-esm/settings-E6TJOR36.mjs +0 -26
  234. package/dist/lib/node-esm/settings-E6TJOR36.mjs.map +0 -7
  235. package/dist/lib/node-esm/state-XNBMNLB7.mjs +0 -27
  236. package/dist/lib/node-esm/state-XNBMNLB7.mjs.map +0 -7
  237. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  238. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  239. package/dist/types/src/capabilities/capabilities.d.ts +0 -12
  240. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  241. package/dist/types/src/capabilities/client-ready.d.ts +0 -10
  242. package/dist/types/src/capabilities/client-ready.d.ts.map +0 -1
  243. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -7
  244. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  245. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  246. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  247. package/dist/types/src/capabilities/settings.d.ts +0 -4
  248. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  249. package/dist/types/src/capabilities/state.d.ts +0 -6
  250. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  251. package/dist/types/src/components/FeedbackForm.d.ts +0 -6
  252. package/dist/types/src/components/FeedbackForm.d.ts.map +0 -1
  253. package/dist/types/src/components/HelpContainer.d.ts +0 -3
  254. package/dist/types/src/components/HelpContainer.d.ts.map +0 -1
  255. package/dist/types/src/components/ObservabilitySettings.d.ts.map +0 -1
  256. package/dist/types/src/events.d.ts +0 -5
  257. package/dist/types/src/events.d.ts.map +0 -1
  258. package/dist/types/src/types/schema.d.ts +0 -313
  259. package/dist/types/src/types/schema.d.ts.map +0 -1
  260. package/src/capabilities/app-graph-builder.ts +0 -47
  261. package/src/capabilities/capabilities.ts +0 -23
  262. package/src/capabilities/client-ready.ts +0 -98
  263. package/src/capabilities/intent-resolver.ts +0 -69
  264. package/src/capabilities/react-surface.tsx +0 -27
  265. package/src/capabilities/settings.ts +0 -21
  266. package/src/capabilities/state.ts +0 -22
  267. package/src/components/FeedbackForm.tsx +0 -82
  268. package/src/components/HelpContainer.tsx +0 -42
  269. package/src/components/ObservabilitySettings.tsx +0 -49
  270. package/src/events.ts +0 -14
  271. package/src/types/schema.ts +0 -216
@@ -1,22 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { contributes } from '@dxos/app-framework';
6
- import { LocalStorageStore } from '@dxos/local-storage';
7
- import { getObservabilityGroup } from '@dxos/observability';
8
-
9
- import { meta } from '../meta';
10
-
11
- import { ObservabilityCapabilities } from './capabilities';
12
-
13
- export default async ({ namespace }: { namespace: string }) => {
14
- const state = new LocalStorageStore<ObservabilityCapabilities.State>(meta.id);
15
-
16
- state.prop({ key: 'notified', type: LocalStorageStore.bool({ allowUndefined: true }) });
17
-
18
- // NOTE: This is not stored in local storage such that it can be accessed by workers.
19
- state.values.group = await getObservabilityGroup(namespace);
20
-
21
- return contributes(ObservabilityCapabilities.State, state.values, () => state.close());
22
- };
@@ -1,82 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import React, { useCallback, useRef, useState } from 'react';
6
-
7
- import { getSnapshot } from '@dxos/echo/internal';
8
- import { IconButton, Input, useTranslation } from '@dxos/react-ui';
9
- import { FormProvider, useFormContext, useInputProps } from '@dxos/react-ui-form';
10
-
11
- import { meta } from '../meta';
12
- import { UserFeedback } from '../types';
13
-
14
- const defaultValues: UserFeedback = { message: '' };
15
-
16
- const FormContent = () => {
17
- const { t } = useTranslation(meta.id);
18
- const { handleSave, canSave } = useFormContext<UserFeedback>();
19
-
20
- const messageProps = useInputProps(['message']);
21
-
22
- return (
23
- <div role='form' className='p-3 flex flex-col gap-2'>
24
- <div role='none' className='space-b-1'>
25
- <Input.Root validationValence={messageProps.getStatus().status}>
26
- <Input.Label>{t('feedback text area label')}</Input.Label>
27
- <Input.TextArea
28
- classNames={'text-sm'}
29
- rows={5}
30
- cols={30}
31
- placeholder={t('feedback text area placeholder')}
32
- value={messageProps.getValue() ?? ''}
33
- onChange={(e) => messageProps.onValueChange('string', e.target.value)}
34
- // TODO(wittjosiah): This aggressively shows validation errors.
35
- onBlur={messageProps.onBlur}
36
- />
37
- <Input.DescriptionAndValidation>
38
- <Input.Validation>{messageProps.getStatus().error}</Input.Validation>
39
- </Input.DescriptionAndValidation>
40
- </Input.Root>
41
- </div>
42
-
43
- <div role='none' className='space-b-2'>
44
- <IconButton
45
- icon='ph--paper-plane-tilt--regular'
46
- label={t('send feedback label')}
47
- variant='primary'
48
- type='submit'
49
- classNames='is-full'
50
- disabled={!canSave}
51
- onClick={handleSave}
52
- />
53
- </div>
54
- </div>
55
- );
56
- };
57
-
58
- // TODO(wittjosiah): Use `Form`?
59
- export const FeedbackForm = ({ onSave }: { onSave: (values: UserFeedback) => void }) => {
60
- const formRef = useRef<HTMLDivElement>(null);
61
- const [_, update] = useState({});
62
- const forceRender = useCallback(() => update({}), [update]);
63
-
64
- const handleSave = useCallback(
65
- (values: UserFeedback) => {
66
- onSave(values);
67
- // TODO(wittjosiah): Force re-render to clear the form.
68
- forceRender();
69
- },
70
- [forceRender, onSave],
71
- );
72
-
73
- const initialValues = getSnapshot(defaultValues);
74
-
75
- return (
76
- <FormProvider formRef={formRef} schema={UserFeedback} initialValues={initialValues} onSave={handleSave}>
77
- <div ref={formRef}>
78
- <FormContent />
79
- </div>
80
- </FormProvider>
81
- );
82
- };
@@ -1,42 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Function from 'effect/Function';
6
- import React, { useCallback } from 'react';
7
-
8
- import { LayoutAction, chain, createIntent } from '@dxos/app-framework';
9
- import { useIntentDispatcher } from '@dxos/app-framework/react';
10
-
11
- import { meta } from '../meta';
12
- import { ObservabilityAction, type UserFeedback } from '../types';
13
-
14
- import { FeedbackForm } from './FeedbackForm';
15
-
16
- export const HelpContainer = () => {
17
- const { dispatchPromise: dispatch } = useIntentDispatcher();
18
-
19
- const handleSave = useCallback(
20
- (values: UserFeedback) =>
21
- dispatch(
22
- Function.pipe(
23
- createIntent(ObservabilityAction.CaptureUserFeedback, values),
24
- chain(LayoutAction.UpdateComplementary, { part: 'complementary', options: { state: 'collapsed' } }),
25
- chain(LayoutAction.AddToast, {
26
- part: 'toast',
27
- subject: {
28
- id: `${meta.id}/feedback-success`,
29
- icon: 'ph--paper-plane-tilt--regular',
30
- duration: 3000,
31
- title: ['feedback toast label', { ns: meta.id }],
32
- description: ['feedback toast description', { ns: meta.id }],
33
- closeLabel: ['close label', { ns: 'os' }],
34
- },
35
- }),
36
- ),
37
- ),
38
- [dispatch],
39
- );
40
-
41
- return <FeedbackForm onSave={handleSave} />;
42
- };
@@ -1,49 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import * as Schema from 'effect/Schema';
6
- import React from 'react';
7
-
8
- import { createIntent } from '@dxos/app-framework';
9
- import { useIntentDispatcher } from '@dxos/app-framework/react';
10
- import { Input, Message, useTranslation } from '@dxos/react-ui';
11
- import { ControlGroup, ControlItemInput, ControlPage, ControlSection } from '@dxos/react-ui-form';
12
-
13
- import { meta } from '../meta';
14
- import { ObservabilityAction } from '../types';
15
-
16
- export const ObservabilitySettingsSchema = Schema.mutable(
17
- Schema.Struct({
18
- enabled: Schema.Boolean,
19
- // TODO(wittjosiah): Separate settings for each observability feature.
20
- // metrics?: boolean;
21
- // telemetry?: boolean;
22
- // errors?: boolean;
23
- }),
24
- );
25
-
26
- export type ObservabilitySettingsProps = Schema.Schema.Type<typeof ObservabilitySettingsSchema>;
27
-
28
- export const ObservabilitySettings = ({ settings }: { settings: ObservabilitySettingsProps }) => {
29
- const { t } = useTranslation(meta.id);
30
- const { dispatchPromise: dispatch } = useIntentDispatcher();
31
-
32
- return (
33
- <ControlPage>
34
- <ControlSection title={t('settings title', { ns: meta.id })}>
35
- <Message.Root valence='info' classNames='container-max-width mbe-cardSpacingBlock'>
36
- <Message.Content>{t('observability description')}</Message.Content>
37
- </Message.Root>
38
- <ControlGroup>
39
- <ControlItemInput title={t('observability enabled label')}>
40
- <Input.Switch
41
- checked={settings.enabled}
42
- onCheckedChange={(checked) => dispatch(createIntent(ObservabilityAction.Toggle, { state: !!checked }))}
43
- />
44
- </ControlItemInput>
45
- </ControlGroup>
46
- </ControlSection>
47
- </ControlPage>
48
- );
49
- };
package/src/events.ts DELETED
@@ -1,14 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Events, defineEvent } from '@dxos/app-framework';
6
-
7
- import { meta } from './meta';
8
-
9
- export namespace ObservabilityEvents {
10
- export const StateReady = Events.createStateEvent(meta.id);
11
- }
12
-
13
- // NOTE: This is cloned from the client plugin to avoid circular dependencies.
14
- export const ClientReadyEvent = defineEvent('dxos.org/plugin/client/event/client-ready');
@@ -1,216 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import * as Schema from 'effect/Schema';
6
-
7
- import { Type } from '@dxos/echo';
8
-
9
- import { meta } from '../meta';
10
-
11
- const nonEmpty = <S extends Schema.Schema.Any>(field: string) =>
12
- Schema.nonEmptyString<S>({ message: () => `Missing field: ${field}` });
13
-
14
- const maxLength = <S extends Schema.Schema.Any>(field: string, length: number) =>
15
- Schema.maxLength<S>(length, { message: () => `Exceeds max length (${length}): ${field}` });
16
-
17
- export const UserFeedback = Schema.Struct({
18
- message: Schema.String.pipe(nonEmpty('Feedback'), maxLength('Feedback', 32_768)),
19
- });
20
-
21
- export type UserFeedback = Schema.Schema.Type<typeof UserFeedback>;
22
-
23
- export namespace ObservabilityAction {
24
- export class Toggle extends Schema.TaggedClass<Toggle>()(`${meta.id}/action/toggle`, {
25
- input: Schema.Struct({
26
- state: Schema.optional(Schema.Boolean),
27
- }),
28
- output: Schema.Boolean,
29
- }) {}
30
-
31
- export class CaptureUserFeedback extends Schema.TaggedClass<CaptureUserFeedback>()(
32
- `${meta.id}/action/capture-feedback`,
33
- {
34
- input: UserFeedback,
35
- output: Schema.Void,
36
- },
37
- ) {}
38
-
39
- /** Base intent for sending events. */
40
- export class BaseSendEvent extends Schema.TaggedClass<BaseSendEvent>()(`${meta.id}/action/send-event`, {
41
- input: Schema.Struct({
42
- name: Schema.String,
43
- properties: Schema.optional(Schema.Object),
44
- }),
45
- output: Schema.Void,
46
- }) {}
47
-
48
- /** Intent with strict types for first-party events. */
49
- export class SendEvent extends Schema.TaggedClass<SendEvent>()(`${meta.id}/action/send-event`, {
50
- // NOTE: Sort alphabetically by name.
51
- input: Schema.Union(
52
- Schema.Struct({
53
- name: Schema.Literal('identity.create'),
54
- }),
55
- Schema.Struct({
56
- name: Schema.Literal('identity.join'),
57
- }),
58
- Schema.Struct({
59
- name: Schema.Literal('identity.recover'),
60
- }),
61
- Schema.Struct({
62
- name: Schema.Literal('identity.share'),
63
- }),
64
- Schema.Struct({
65
- name: Schema.Literal('navigation.activate'),
66
- properties: Schema.Struct({
67
- subjectId: Schema.String,
68
- typename: Schema.optional(Schema.String),
69
- }),
70
- }),
71
- Schema.Struct({
72
- name: Schema.Literal('page.load'),
73
- properties: Schema.Struct({
74
- loadDuration: Schema.Number,
75
- }),
76
- }),
77
- Schema.Struct({
78
- name: Schema.Literal('plugins.toggle'),
79
- properties: Schema.Struct({
80
- plugin: Schema.String,
81
- enabled: Schema.Boolean,
82
- }),
83
- }),
84
- Schema.Struct({
85
- name: Schema.Literal('space.create'),
86
- properties: Schema.Struct({
87
- spaceId: Type.SpaceId,
88
- }),
89
- }),
90
- Schema.Struct({
91
- name: Schema.Literal('space.join'),
92
- properties: Schema.Struct({
93
- spaceId: Type.SpaceId,
94
- }),
95
- }),
96
- Schema.Struct({
97
- name: Schema.Literal('space.limit'),
98
- properties: Schema.Struct({
99
- spaceId: Type.SpaceId,
100
- }),
101
- }),
102
- Schema.Struct({
103
- name: Schema.Literal('space.lock'),
104
- properties: Schema.Struct({
105
- spaceId: Type.SpaceId,
106
- }),
107
- }),
108
- Schema.Struct({
109
- name: Schema.Literal('space.migrate'),
110
- properties: Schema.Struct({
111
- spaceId: Type.SpaceId,
112
- targetVersion: Schema.optional(Schema.String),
113
- version: Schema.optional(Schema.String),
114
- }),
115
- }),
116
- Schema.Struct({
117
- name: Schema.Literal('space.schema.use'),
118
- properties: Schema.Struct({
119
- spaceId: Type.SpaceId,
120
- typename: Schema.String,
121
- }),
122
- }),
123
- Schema.Struct({
124
- name: Schema.Literal('space.schema.add'),
125
- properties: Schema.Struct({
126
- spaceId: Type.SpaceId,
127
- objectId: Schema.String,
128
- typename: Schema.String,
129
- }),
130
- }),
131
- Schema.Struct({
132
- name: Schema.Literal('space.object.add'),
133
- properties: Schema.Struct({
134
- spaceId: Type.SpaceId,
135
- objectId: Schema.String,
136
- typename: Schema.optional(Schema.String),
137
- }),
138
- }),
139
- Schema.Struct({
140
- name: Schema.Literal('space.share'),
141
- properties: Schema.Struct({
142
- spaceId: Type.SpaceId,
143
- }),
144
- }),
145
- Schema.Struct({
146
- name: Schema.Literal('space.unlock'),
147
- properties: Schema.Struct({
148
- spaceId: Type.SpaceId,
149
- }),
150
- }),
151
- Schema.Struct({
152
- name: Schema.Literal('threads.create'),
153
- properties: Schema.Struct({
154
- spaceId: Type.SpaceId,
155
- threadId: Schema.String,
156
- }),
157
- }),
158
- Schema.Struct({
159
- name: Schema.Literal('threads.delete'),
160
- properties: Schema.Struct({
161
- spaceId: Type.SpaceId,
162
- threadId: Schema.String,
163
- }),
164
- }),
165
- Schema.Struct({
166
- name: Schema.Literal('threads.message.add'),
167
- properties: Schema.Struct({
168
- spaceId: Type.SpaceId,
169
- threadId: Schema.String,
170
- threadLength: Schema.Number,
171
- messageId: Schema.String,
172
- messageLength: Schema.Number,
173
- }),
174
- }),
175
- Schema.Struct({
176
- name: Schema.Literal('threads.message.delete'),
177
- properties: Schema.Struct({
178
- spaceId: Type.SpaceId,
179
- threadId: Schema.String,
180
- messageId: Schema.String,
181
- }),
182
- }),
183
- Schema.Struct({
184
- name: Schema.Literal('threads.message.undo-delete'),
185
- properties: Schema.Struct({
186
- spaceId: Type.SpaceId,
187
- threadId: Schema.String,
188
- messageId: Schema.String,
189
- }),
190
- }),
191
- Schema.Struct({
192
- name: Schema.Literal('threads.message.update'),
193
- properties: Schema.Struct({
194
- spaceId: Type.SpaceId,
195
- messageId: Schema.String,
196
- messageLength: Schema.Number,
197
- }),
198
- }),
199
- Schema.Struct({
200
- name: Schema.Literal('threads.toggle-resolved'),
201
- properties: Schema.Struct({
202
- spaceId: Type.SpaceId,
203
- threadId: Schema.String,
204
- }),
205
- }),
206
- Schema.Struct({
207
- name: Schema.Literal('threads.undo-delete'),
208
- properties: Schema.Struct({
209
- spaceId: Type.SpaceId,
210
- threadId: Schema.String,
211
- }),
212
- }),
213
- ),
214
- output: Schema.Void,
215
- }) {}
216
- }