@dxos/plugin-observability 0.8.4-main.fd6878d → 0.8.4-main.fffef41

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 (106) hide show
  1. package/dist/lib/browser/{app-graph-builder-2SLFJVUL.mjs → app-graph-builder-3I6HZ5AR.mjs} +11 -10
  2. package/dist/lib/browser/app-graph-builder-3I6HZ5AR.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-EAA6E4FU.mjs → chunk-ABSWYPOR.mjs} +28 -22
  4. package/dist/lib/browser/chunk-ABSWYPOR.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-UUOBAWT2.mjs → chunk-EC7HTFA5.mjs} +5 -5
  6. package/dist/lib/browser/chunk-EC7HTFA5.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-AL5RST75.mjs → chunk-IFPEPNGO.mjs} +5 -5
  8. package/dist/lib/browser/chunk-IFPEPNGO.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-W7QWKVS3.mjs +16 -0
  10. package/dist/lib/browser/chunk-W7QWKVS3.mjs.map +7 -0
  11. package/dist/lib/browser/{client-ready-NBJRF7OJ.mjs → client-ready-4RGNCIGS.mjs} +14 -14
  12. package/dist/lib/browser/client-ready-4RGNCIGS.mjs.map +7 -0
  13. package/dist/lib/browser/index.mjs +18 -20
  14. package/dist/lib/browser/index.mjs.map +3 -3
  15. package/dist/lib/browser/{intent-resolver-NPEP5KJQ.mjs → intent-resolver-3TZAFHGG.mjs} +8 -8
  16. package/dist/lib/browser/intent-resolver-3TZAFHGG.mjs.map +7 -0
  17. package/dist/lib/browser/meta.json +1 -1
  18. package/dist/lib/browser/{react-surface-245UEKB5.mjs → react-surface-NC5OS6RK.mjs} +10 -10
  19. package/dist/lib/browser/react-surface-NC5OS6RK.mjs.map +7 -0
  20. package/dist/lib/browser/{settings-4WW5E4VA.mjs → settings-SVUCKD7J.mjs} +6 -6
  21. package/dist/lib/browser/{settings-4WW5E4VA.mjs.map → settings-SVUCKD7J.mjs.map} +1 -1
  22. package/dist/lib/browser/{state-N7RLB477.mjs → state-FJD6K3ZZ.mjs} +7 -7
  23. package/dist/lib/browser/state-FJD6K3ZZ.mjs.map +7 -0
  24. package/dist/lib/browser/types/index.mjs +2 -2
  25. package/dist/lib/node-esm/{app-graph-builder-MMH6BVY4.mjs → app-graph-builder-KH2GA6G7.mjs} +11 -10
  26. package/dist/lib/node-esm/app-graph-builder-KH2GA6G7.mjs.map +7 -0
  27. package/dist/lib/node-esm/chunk-AVJTLRX5.mjs +18 -0
  28. package/dist/lib/node-esm/chunk-AVJTLRX5.mjs.map +7 -0
  29. package/dist/lib/node-esm/{chunk-D6QRS2CR.mjs → chunk-DUZESLKB.mjs} +28 -22
  30. package/dist/lib/node-esm/chunk-DUZESLKB.mjs.map +7 -0
  31. package/dist/lib/node-esm/{chunk-JTKEM7PT.mjs → chunk-HACSZKXD.mjs} +5 -5
  32. package/dist/lib/node-esm/chunk-HACSZKXD.mjs.map +7 -0
  33. package/dist/lib/node-esm/{chunk-5W5V4TVX.mjs → chunk-TXFKNLDI.mjs} +5 -5
  34. package/dist/lib/node-esm/chunk-TXFKNLDI.mjs.map +7 -0
  35. package/dist/lib/node-esm/{client-ready-XDI3JWUY.mjs → client-ready-4IKY5KJC.mjs} +14 -14
  36. package/dist/lib/node-esm/client-ready-4IKY5KJC.mjs.map +7 -0
  37. package/dist/lib/node-esm/index.mjs +18 -20
  38. package/dist/lib/node-esm/index.mjs.map +3 -3
  39. package/dist/lib/node-esm/{intent-resolver-OH4MMH5I.mjs → intent-resolver-5D5SXGKQ.mjs} +8 -8
  40. package/dist/lib/node-esm/intent-resolver-5D5SXGKQ.mjs.map +7 -0
  41. package/dist/lib/node-esm/meta.json +1 -1
  42. package/dist/lib/node-esm/{react-surface-ZR3IU2ZM.mjs → react-surface-DZWHHB3R.mjs} +10 -10
  43. package/dist/lib/node-esm/react-surface-DZWHHB3R.mjs.map +7 -0
  44. package/dist/lib/node-esm/{settings-BKKLNOFT.mjs → settings-E6TJOR36.mjs} +6 -6
  45. package/dist/lib/node-esm/{settings-BKKLNOFT.mjs.map → settings-E6TJOR36.mjs.map} +1 -1
  46. package/dist/lib/node-esm/{state-LKANNCJJ.mjs → state-XNBMNLB7.mjs} +7 -7
  47. package/dist/lib/node-esm/state-XNBMNLB7.mjs.map +7 -0
  48. package/dist/lib/node-esm/types/index.mjs +2 -2
  49. package/dist/types/src/ObservabilityPlugin.d.ts +3 -2
  50. package/dist/types/src/ObservabilityPlugin.d.ts.map +1 -1
  51. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
  52. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  53. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  54. package/dist/types/src/capabilities/client-ready.d.ts +1 -1
  55. package/dist/types/src/capabilities/index.d.ts +6 -6
  56. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  57. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  58. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  59. package/dist/types/src/capabilities/settings.d.ts +1 -1
  60. package/dist/types/src/capabilities/state.d.ts +1 -1
  61. package/dist/types/src/components/HelpContainer.d.ts.map +1 -1
  62. package/dist/types/src/components/ObservabilitySettings.d.ts +1 -1
  63. package/dist/types/src/components/ObservabilitySettings.d.ts.map +1 -1
  64. package/dist/types/src/events.d.ts.map +1 -1
  65. package/dist/types/src/meta.d.ts +0 -1
  66. package/dist/types/src/meta.d.ts.map +1 -1
  67. package/dist/types/src/translations.d.ts +1 -0
  68. package/dist/types/src/translations.d.ts.map +1 -1
  69. package/dist/types/src/types/schema.d.ts +1 -1
  70. package/dist/types/src/types/schema.d.ts.map +1 -1
  71. package/dist/types/tsconfig.tsbuildinfo +1 -1
  72. package/package.json +31 -32
  73. package/src/ObservabilityPlugin.ts +50 -47
  74. package/src/capabilities/app-graph-builder.ts +10 -8
  75. package/src/capabilities/capabilities.ts +4 -3
  76. package/src/capabilities/client-ready.ts +8 -8
  77. package/src/capabilities/intent-resolver.ts +2 -2
  78. package/src/capabilities/react-surface.tsx +4 -4
  79. package/src/capabilities/state.ts +2 -2
  80. package/src/components/FeedbackForm.tsx +3 -3
  81. package/src/components/HelpContainer.tsx +8 -7
  82. package/src/components/ObservabilitySettings.tsx +21 -20
  83. package/src/events.ts +2 -2
  84. package/src/meta.ts +6 -3
  85. package/src/translations.ts +1 -0
  86. package/src/types/schema.ts +1 -1
  87. package/dist/lib/browser/app-graph-builder-2SLFJVUL.mjs.map +0 -7
  88. package/dist/lib/browser/chunk-57RVSKYP.mjs +0 -13
  89. package/dist/lib/browser/chunk-57RVSKYP.mjs.map +0 -7
  90. package/dist/lib/browser/chunk-AL5RST75.mjs.map +0 -7
  91. package/dist/lib/browser/chunk-EAA6E4FU.mjs.map +0 -7
  92. package/dist/lib/browser/chunk-UUOBAWT2.mjs.map +0 -7
  93. package/dist/lib/browser/client-ready-NBJRF7OJ.mjs.map +0 -7
  94. package/dist/lib/browser/intent-resolver-NPEP5KJQ.mjs.map +0 -7
  95. package/dist/lib/browser/react-surface-245UEKB5.mjs.map +0 -7
  96. package/dist/lib/browser/state-N7RLB477.mjs.map +0 -7
  97. package/dist/lib/node-esm/app-graph-builder-MMH6BVY4.mjs.map +0 -7
  98. package/dist/lib/node-esm/chunk-5W5V4TVX.mjs.map +0 -7
  99. package/dist/lib/node-esm/chunk-7XR7KMAA.mjs +0 -15
  100. package/dist/lib/node-esm/chunk-7XR7KMAA.mjs.map +0 -7
  101. package/dist/lib/node-esm/chunk-D6QRS2CR.mjs.map +0 -7
  102. package/dist/lib/node-esm/chunk-JTKEM7PT.mjs.map +0 -7
  103. package/dist/lib/node-esm/client-ready-XDI3JWUY.mjs.map +0 -7
  104. package/dist/lib/node-esm/intent-resolver-OH4MMH5I.mjs.map +0 -7
  105. package/dist/lib/node-esm/react-surface-ZR3IU2ZM.mjs.map +0 -7
  106. package/dist/lib/node-esm/state-LKANNCJJ.mjs.map +0 -7
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-observability",
3
- "version": "0.8.4-main.fd6878d",
3
+ "version": "0.8.4-main.fffef41",
4
4
  "description": "DXOS app framework plugin for hooking up app observability",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -36,44 +36,43 @@
36
36
  ],
37
37
  "dependencies": {
38
38
  "@preact-signals/safe-react": "^0.9.0",
39
- "@preact/signals-core": "^1.9.0",
40
- "effect": "3.17.7",
39
+ "@preact/signals-core": "^1.12.1",
40
+ "effect": "3.18.3",
41
41
  "localforage": "^1.10.0",
42
- "@dxos/async": "0.8.4-main.fd6878d",
43
- "@dxos/context": "0.8.4-main.fd6878d",
44
- "@dxos/echo-schema": "0.8.4-main.fd6878d",
45
- "@dxos/app-framework": "0.8.4-main.fd6878d",
46
- "@dxos/echo": "0.8.4-main.fd6878d",
47
- "@dxos/live-object": "0.8.4-main.fd6878d",
48
- "@dxos/local-storage": "0.8.4-main.fd6878d",
49
- "@dxos/invariant": "0.8.4-main.fd6878d",
50
- "@dxos/log": "0.8.4-main.fd6878d",
51
- "@dxos/observability": "0.8.4-main.fd6878d",
52
- "@dxos/plugin-graph": "0.8.4-main.fd6878d",
53
- "@dxos/protocols": "0.8.4-main.fd6878d",
54
- "@dxos/react-client": "0.8.4-main.fd6878d",
55
- "@dxos/react-ui-form": "0.8.4-main.fd6878d",
56
- "@dxos/util": "0.8.4-main.fd6878d",
57
- "@dxos/react-ui-stack": "0.8.4-main.fd6878d"
42
+ "@dxos/async": "0.8.4-main.fffef41",
43
+ "@dxos/context": "0.8.4-main.fffef41",
44
+ "@dxos/echo": "0.8.4-main.fffef41",
45
+ "@dxos/local-storage": "0.8.4-main.fffef41",
46
+ "@dxos/invariant": "0.8.4-main.fffef41",
47
+ "@dxos/log": "0.8.4-main.fffef41",
48
+ "@dxos/live-object": "0.8.4-main.fffef41",
49
+ "@dxos/app-framework": "0.8.4-main.fffef41",
50
+ "@dxos/observability": "0.8.4-main.fffef41",
51
+ "@dxos/plugin-graph": "0.8.4-main.fffef41",
52
+ "@dxos/react-client": "0.8.4-main.fffef41",
53
+ "@dxos/protocols": "0.8.4-main.fffef41",
54
+ "@dxos/react-ui-form": "0.8.4-main.fffef41",
55
+ "@dxos/react-ui-stack": "0.8.4-main.fffef41",
56
+ "@dxos/util": "0.8.4-main.fffef41"
58
57
  },
59
58
  "devDependencies": {
60
- "@effect-rx/rx-react": "0.38.0",
61
- "@effect/platform": "0.90.2",
62
- "@types/react": "~18.2.0",
63
- "react": "~18.2.0",
64
- "vite": "5.4.7",
65
- "@dxos/react-ui": "0.8.4-main.fd6878d",
66
- "@dxos/react-ui-theme": "0.8.4-main.fd6878d",
67
- "@dxos/storybook-utils": "0.8.4-main.fd6878d"
59
+ "@effect-atom/atom-react": "^0.3.4",
60
+ "@effect/platform": "0.92.1",
61
+ "@types/react": "~19.2.2",
62
+ "react": "~19.2.0",
63
+ "vite": "7.1.9",
64
+ "@dxos/react-ui": "0.8.4-main.fffef41",
65
+ "@dxos/storybook-utils": "0.8.4-main.fffef41",
66
+ "@dxos/react-ui-theme": "0.8.4-main.fffef41"
68
67
  },
69
68
  "peerDependencies": {
70
- "@effect-rx/rx-react": "^0.34.1",
69
+ "@effect-atom/atom-react": "^0.3.4",
71
70
  "@effect/platform": "^0.80.12",
72
71
  "effect": "^3.13.3",
73
- "react": "~18.2.0",
74
- "react-dom": "~18.2.0",
75
- "@dxos/react-ui": "0.8.4-main.fd6878d",
76
- "@dxos/react-ui-theme": "0.8.4-main.fd6878d"
72
+ "react": "^19.0.0",
73
+ "react-dom": "^19.0.0",
74
+ "@dxos/react-ui": "0.8.4-main.fffef41",
75
+ "@dxos/react-ui-theme": "0.8.4-main.fffef41"
77
76
  },
78
77
  "publishConfig": {
79
78
  "access": "public"
@@ -18,50 +18,53 @@ import { ClientReadyEvent, ObservabilityEvents } from './events';
18
18
  import { meta } from './meta';
19
19
  import { translations } from './translations';
20
20
 
21
- export const ObservabilityPlugin = (options: { namespace: string; observability: () => Promise<Observability> }) =>
22
- definePlugin(meta, [
23
- defineModule({
24
- id: `${meta.id}/module/observability`,
25
- activatesOn: Events.Startup,
26
- activate: async () => contributes(ObservabilityCapabilities.Observability, await options.observability()),
27
- }),
28
- defineModule({
29
- id: `${meta.id}/module/settings`,
30
- activatesOn: Events.SetupSettings,
31
- activate: ObservabilitySettings,
32
- }),
33
- defineModule({
34
- id: `${meta.id}/module/state`,
35
- activatesOn: Events.Startup,
36
- activatesAfter: [ObservabilityEvents.StateReady],
37
- activate: () => ObservabilityState({ namespace: options.namespace }),
38
- }),
39
- defineModule({
40
- id: `${meta.id}/module/translations`,
41
- activatesOn: Events.SetupTranslations,
42
- activate: () => contributes(Capabilities.Translations, translations),
43
- }),
44
- defineModule({
45
- id: `${meta.id}/module/intent-resolver`,
46
- activatesOn: Events.SetupIntentResolver,
47
- activate: (context) => IntentResolver({ context, namespace: options.namespace }),
48
- }),
49
- defineModule({
50
- id: `${meta.id}/module/react-surface`,
51
- activatesOn: Events.SetupReactSurface,
52
- activate: ReactSurface,
53
- }),
54
- defineModule({
55
- id: `${meta.id}/module/app-graph-builder`,
56
- activatesOn: Events.SetupAppGraph,
57
- activate: AppGraphBuilder,
58
- }),
59
- defineModule({
60
- id: `${meta.id}/module/client-ready`,
61
- activatesOn: allOf(Events.DispatcherReady, ObservabilityEvents.StateReady, ClientReadyEvent),
62
- activate: async (context) => {
63
- const observability = await options.observability();
64
- return ClientReady({ context, observability, namespace: options.namespace });
65
- },
66
- }),
67
- ]);
21
+ export type ObservabilityPluginOptions = {
22
+ namespace: string;
23
+ observability: () => Promise<Observability>;
24
+ };
25
+
26
+ export const ObservabilityPlugin = definePlugin<ObservabilityPluginOptions>(meta, ({ namespace, observability }) => [
27
+ defineModule({
28
+ id: `${meta.id}/module/observability`,
29
+ activatesOn: Events.Startup,
30
+ activate: async () => contributes(ObservabilityCapabilities.Observability, await observability()),
31
+ }),
32
+ defineModule({
33
+ id: `${meta.id}/module/settings`,
34
+ activatesOn: Events.SetupSettings,
35
+ activate: ObservabilitySettings,
36
+ }),
37
+ defineModule({
38
+ id: `${meta.id}/module/state`,
39
+ activatesOn: Events.Startup,
40
+ activatesAfter: [ObservabilityEvents.StateReady],
41
+ activate: () => ObservabilityState({ namespace }),
42
+ }),
43
+ defineModule({
44
+ id: `${meta.id}/module/translations`,
45
+ activatesOn: Events.SetupTranslations,
46
+ activate: () => contributes(Capabilities.Translations, translations),
47
+ }),
48
+ defineModule({
49
+ id: `${meta.id}/module/intent-resolver`,
50
+ activatesOn: Events.SetupIntentResolver,
51
+ activate: (context) => IntentResolver({ context, namespace }),
52
+ }),
53
+ defineModule({
54
+ id: `${meta.id}/module/react-surface`,
55
+ activatesOn: Events.SetupReactSurface,
56
+ activate: ReactSurface,
57
+ }),
58
+ defineModule({
59
+ id: `${meta.id}/module/app-graph-builder`,
60
+ activatesOn: Events.SetupAppGraph,
61
+ activate: AppGraphBuilder,
62
+ }),
63
+ defineModule({
64
+ id: `${meta.id}/module/client-ready`,
65
+ activatesOn: allOf(Events.DispatcherReady, ObservabilityEvents.StateReady, ClientReadyEvent),
66
+ activate: async (context) => {
67
+ return ClientReady({ context, observability: await observability(), namespace });
68
+ },
69
+ }),
70
+ ]);
@@ -2,25 +2,27 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Rx } from '@effect-rx/rx-react';
6
- import { Option, pipe } from 'effect';
5
+ import { Atom } from '@effect-atom/atom-react';
6
+ import * as Function from 'effect/Function';
7
+ import * as Option from 'effect/Option';
7
8
 
8
9
  import { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';
9
10
  import { ROOT_ID, createExtension } from '@dxos/plugin-graph';
10
11
 
11
- import { OBSERVABILITY_PLUGIN } from '../meta';
12
+ import { meta } from '../meta';
12
13
 
13
14
  // NOTE: Copied from @dxos/plugin-deck to break circular dependency.
14
15
  const ATTENDABLE_PATH_SEPARATOR = '~';
16
+
15
17
  const DECK_COMPANION_TYPE = 'dxos.org/plugin/deck/deck-companion';
16
18
 
17
- export default (context: PluginContext) =>
19
+ export default (_context: PluginContext) =>
18
20
  contributes(Capabilities.AppGraphBuilder, [
19
21
  createExtension({
20
- id: `${OBSERVABILITY_PLUGIN}/help`,
22
+ id: `${meta.id}/help`,
21
23
  connector: (node) =>
22
- Rx.make((get) =>
23
- pipe(
24
+ Atom.make((get) =>
25
+ Function.pipe(
24
26
  get(node),
25
27
  Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),
26
28
  Option.map((node) => {
@@ -30,7 +32,7 @@ export default (context: PluginContext) =>
30
32
  type: DECK_COMPANION_TYPE,
31
33
  data: null,
32
34
  properties: {
33
- label: ['help label', { ns: OBSERVABILITY_PLUGIN }],
35
+ label: ['help label', { ns: meta.id }],
34
36
  icon: 'ph--question--regular',
35
37
  disposition: 'hidden',
36
38
  position: 'hoist',
@@ -6,17 +6,18 @@ import { defineCapability } from '@dxos/app-framework';
6
6
  import { type Client } from '@dxos/client';
7
7
  import { type Observability } from '@dxos/observability';
8
8
 
9
- import { OBSERVABILITY_PLUGIN } from '../meta';
9
+ import { meta } from '../meta';
10
10
 
11
11
  export namespace ObservabilityCapabilities {
12
12
  export type State = {
13
13
  group?: string;
14
14
  notified?: boolean;
15
15
  };
16
- export const State = defineCapability<State>(`${OBSERVABILITY_PLUGIN}/capability/state`);
16
+ export const State = defineCapability<State>(`${meta.id}/capability/state`);
17
17
 
18
- export const Observability = defineCapability<Observability>(`${OBSERVABILITY_PLUGIN}/capability/observability`);
18
+ export const Observability = defineCapability<Observability>(`${meta.id}/capability/observability`);
19
19
  }
20
20
 
21
21
  // NOTE: This is cloned from the client plugin to avoid circular dependencies.
22
+ // TODO(burdon): Figure out how to share defs.
22
23
  export const ClientCapability = defineCapability<Client>('dxos.org/plugin/client/capability/client');
@@ -12,7 +12,7 @@ import {
12
12
  } from '@dxos/app-framework';
13
13
  import { type Observability, setupTelemetryListeners } from '@dxos/observability';
14
14
 
15
- import { OBSERVABILITY_PLUGIN } from '../meta';
15
+ import { meta } from '../meta';
16
16
  import { ObservabilityAction } from '../types';
17
17
 
18
18
  import { ClientCapability, ObservabilityCapabilities } from './capabilities';
@@ -38,15 +38,15 @@ export default async ({ context, namespace, observability }: ClientReadyOptions)
38
38
  createIntent(LayoutAction.AddToast, {
39
39
  part: 'toast',
40
40
  subject: {
41
- id: `${OBSERVABILITY_PLUGIN}/notice`,
42
- title: ['observability toast label', { ns: OBSERVABILITY_PLUGIN }],
43
- description: ['observability toast description', { ns: OBSERVABILITY_PLUGIN }],
41
+ id: `${meta.id}/notice`,
42
+ title: ['observability toast label', { ns: meta.id }],
43
+ description: ['observability toast description', { ns: meta.id }],
44
44
  duration: Infinity,
45
45
  icon: 'ph--info--regular',
46
- actionLabel: ['observability toast action label', { ns: OBSERVABILITY_PLUGIN }],
47
- actionAlt: ['observability toast action alt', { ns: OBSERVABILITY_PLUGIN }],
48
- closeLabel: ['observability toast close label', { ns: OBSERVABILITY_PLUGIN }],
49
- onAction: () => dispatch(createIntent(SettingsAction.Open, { plugin: OBSERVABILITY_PLUGIN })),
46
+ actionLabel: ['observability toast action label', { ns: meta.id }],
47
+ actionAlt: ['observability toast action alt', { ns: meta.id }],
48
+ closeLabel: ['observability toast close label', { ns: meta.id }],
49
+ onAction: () => dispatch(createIntent(SettingsAction.Open, { plugin: meta.id })),
50
50
  },
51
51
  }),
52
52
  );
@@ -7,7 +7,7 @@ import { log } from '@dxos/log';
7
7
  import { getTelemetryIdentity, storeObservabilityDisabled } from '@dxos/observability';
8
8
 
9
9
  import { type ObservabilitySettingsProps } from '../components';
10
- import { OBSERVABILITY_PLUGIN } from '../meta';
10
+ import { meta } from '../meta';
11
11
  import { ObservabilityAction } from '../types';
12
12
 
13
13
  import { ClientCapability, ObservabilityCapabilities } from './capabilities';
@@ -27,7 +27,7 @@ export default ({ context, namespace }: { context: PluginContext; namespace: str
27
27
  const observability = context.getCapability(ObservabilityCapabilities.Observability);
28
28
  const settings = context
29
29
  .getCapability(Capabilities.SettingsStore)
30
- .getStore<ObservabilitySettingsProps>(OBSERVABILITY_PLUGIN)!.value;
30
+ .getStore<ObservabilitySettingsProps>(meta.id)!.value;
31
31
  settings.enabled = state ?? !settings.enabled;
32
32
  observability.track({
33
33
  ...getTelemetryIdentity(client),
@@ -8,19 +8,19 @@ import { Capabilities, contributes, createSurface } from '@dxos/app-framework';
8
8
  import { SettingsStore } from '@dxos/local-storage';
9
9
 
10
10
  import { HelpContainer, ObservabilitySettings, type ObservabilitySettingsProps } from '../components';
11
- import { OBSERVABILITY_PLUGIN } from '../meta';
11
+ import { meta } from '../meta';
12
12
 
13
13
  export default () =>
14
14
  contributes(Capabilities.ReactSurface, [
15
15
  createSurface({
16
- id: OBSERVABILITY_PLUGIN,
16
+ id: meta.id,
17
17
  role: 'article',
18
18
  filter: (data): data is { subject: SettingsStore<ObservabilitySettingsProps> } =>
19
- data.subject instanceof SettingsStore && data.subject.prefix === OBSERVABILITY_PLUGIN,
19
+ data.subject instanceof SettingsStore && data.subject.prefix === meta.id,
20
20
  component: ({ data: { subject } }) => <ObservabilitySettings settings={subject.value} />,
21
21
  }),
22
22
  createSurface({
23
- id: `${OBSERVABILITY_PLUGIN}/help`,
23
+ id: `${meta.id}/help`,
24
24
  role: 'deck-companion--help',
25
25
  component: () => <HelpContainer />,
26
26
  }),
@@ -6,12 +6,12 @@ import { contributes } from '@dxos/app-framework';
6
6
  import { LocalStorageStore } from '@dxos/local-storage';
7
7
  import { getObservabilityGroup } from '@dxos/observability';
8
8
 
9
- import { OBSERVABILITY_PLUGIN } from '../meta';
9
+ import { meta } from '../meta';
10
10
 
11
11
  import { ObservabilityCapabilities } from './capabilities';
12
12
 
13
13
  export default async ({ namespace }: { namespace: string }) => {
14
- const state = new LocalStorageStore<ObservabilityCapabilities.State>(OBSERVABILITY_PLUGIN);
14
+ const state = new LocalStorageStore<ObservabilityCapabilities.State>(meta.id);
15
15
 
16
16
  state.prop({ key: 'notified', type: LocalStorageStore.bool({ allowUndefined: true }) });
17
17
 
@@ -4,17 +4,17 @@
4
4
 
5
5
  import React, { useCallback, useRef, useState } from 'react';
6
6
 
7
- import { getSnapshot } from '@dxos/echo-schema';
7
+ import { getSnapshot } from '@dxos/echo/internal';
8
8
  import { IconButton, Input, useTranslation } from '@dxos/react-ui';
9
9
  import { FormProvider, useFormContext, useInputProps } from '@dxos/react-ui-form';
10
10
 
11
- import { OBSERVABILITY_PLUGIN } from '../meta';
11
+ import { meta } from '../meta';
12
12
  import { UserFeedback } from '../types';
13
13
 
14
14
  const defaultValues: UserFeedback = { message: '' };
15
15
 
16
16
  const FormContent = () => {
17
- const { t } = useTranslation(OBSERVABILITY_PLUGIN);
17
+ const { t } = useTranslation(meta.id);
18
18
  const { handleSave, canSave } = useFormContext<UserFeedback>();
19
19
 
20
20
  const messageProps = useInputProps(['message']);
@@ -2,12 +2,13 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { pipe } from 'effect';
5
+ import * as Function from 'effect/Function';
6
6
  import React, { useCallback } from 'react';
7
7
 
8
- import { LayoutAction, chain, createIntent, useIntentDispatcher } from '@dxos/app-framework';
8
+ import { LayoutAction, chain, createIntent } from '@dxos/app-framework';
9
+ import { useIntentDispatcher } from '@dxos/app-framework/react';
9
10
 
10
- import { OBSERVABILITY_PLUGIN } from '../meta';
11
+ import { meta } from '../meta';
11
12
  import { ObservabilityAction, type UserFeedback } from '../types';
12
13
 
13
14
  import { FeedbackForm } from './FeedbackForm';
@@ -18,17 +19,17 @@ export const HelpContainer = () => {
18
19
  const handleSave = useCallback(
19
20
  (values: UserFeedback) =>
20
21
  dispatch(
21
- pipe(
22
+ Function.pipe(
22
23
  createIntent(ObservabilityAction.CaptureUserFeedback, values),
23
24
  chain(LayoutAction.UpdateComplementary, { part: 'complementary', options: { state: 'collapsed' } }),
24
25
  chain(LayoutAction.AddToast, {
25
26
  part: 'toast',
26
27
  subject: {
27
- id: `${OBSERVABILITY_PLUGIN}/feedback-success`,
28
+ id: `${meta.id}/feedback-success`,
28
29
  icon: 'ph--paper-plane-tilt--regular',
29
30
  duration: 3000,
30
- title: ['feedback toast label', { ns: OBSERVABILITY_PLUGIN }],
31
- description: ['feedback toast description', { ns: OBSERVABILITY_PLUGIN }],
31
+ title: ['feedback toast label', { ns: meta.id }],
32
+ description: ['feedback toast description', { ns: meta.id }],
32
33
  closeLabel: ['close label', { ns: 'os' }],
33
34
  },
34
35
  }),
@@ -2,14 +2,15 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
  import React from 'react';
7
7
 
8
- import { createIntent, useIntentDispatcher } from '@dxos/app-framework';
8
+ import { createIntent } from '@dxos/app-framework';
9
+ import { useIntentDispatcher } from '@dxos/app-framework/react';
9
10
  import { Input, Message, useTranslation } from '@dxos/react-ui';
10
- import { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';
11
+ import { ControlGroup, ControlItemInput, ControlPage, ControlSection } from '@dxos/react-ui-form';
11
12
 
12
- import { OBSERVABILITY_PLUGIN } from '../meta';
13
+ import { meta } from '../meta';
13
14
  import { ObservabilityAction } from '../types';
14
15
 
15
16
  export const ObservabilitySettingsSchema = Schema.mutable(
@@ -25,24 +26,24 @@ export const ObservabilitySettingsSchema = Schema.mutable(
25
26
  export type ObservabilitySettingsProps = Schema.Schema.Type<typeof ObservabilitySettingsSchema>;
26
27
 
27
28
  export const ObservabilitySettings = ({ settings }: { settings: ObservabilitySettingsProps }) => {
28
- const { t } = useTranslation(OBSERVABILITY_PLUGIN);
29
+ const { t } = useTranslation(meta.id);
29
30
  const { dispatchPromise: dispatch } = useIntentDispatcher();
30
31
 
31
32
  return (
32
- <DeprecatedFormContainer>
33
- <DeprecatedFormInput
34
- label={t('observability enabled label')}
35
- secondary={
36
- <Message.Root valence='info'>
37
- <Message.Content>{t('observability description')}</Message.Content>
38
- </Message.Root>
39
- }
40
- >
41
- <Input.Switch
42
- checked={settings.enabled}
43
- onCheckedChange={(checked) => dispatch(createIntent(ObservabilityAction.Toggle, { state: !!checked }))}
44
- />
45
- </DeprecatedFormInput>
46
- </DeprecatedFormContainer>
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>
47
48
  );
48
49
  };
package/src/events.ts CHANGED
@@ -4,10 +4,10 @@
4
4
 
5
5
  import { Events, defineEvent } from '@dxos/app-framework';
6
6
 
7
- import { OBSERVABILITY_PLUGIN } from './meta';
7
+ import { meta } from './meta';
8
8
 
9
9
  export namespace ObservabilityEvents {
10
- export const StateReady = Events.createStateEvent(OBSERVABILITY_PLUGIN);
10
+ export const StateReady = Events.createStateEvent(meta.id);
11
11
  }
12
12
 
13
13
  // NOTE: This is cloned from the client plugin to avoid circular dependencies.
package/src/meta.ts CHANGED
@@ -3,11 +3,14 @@
3
3
  //
4
4
 
5
5
  import { type PluginMeta } from '@dxos/app-framework';
6
-
7
- export const OBSERVABILITY_PLUGIN = 'dxos.org/plugin/observability';
6
+ import { trim } from '@dxos/util';
8
7
 
9
8
  export const meta: PluginMeta = {
10
- id: OBSERVABILITY_PLUGIN,
9
+ id: 'dxos.org/plugin/observability',
11
10
  name: 'Telemetry',
11
+ description: trim`
12
+ Application observability and telemetry collection for monitoring performance and usage patterns.
13
+ Track metrics, logs, and traces for system health and analytics.
14
+ `,
12
15
  icon: 'ph--eye--regular',
13
16
  };
@@ -11,6 +11,7 @@ export const translations = [
11
11
  'en-US': {
12
12
  [meta.id]: {
13
13
  'plugin name': 'Telemetry',
14
+ 'settings title': 'Telemetry settings',
14
15
  'observability toast label': 'Privacy Notice',
15
16
  'observability toast description':
16
17
  'Composer collects usage and performance metrics to improve the product. No user data is collected.',
@@ -2,7 +2,7 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import * as Schema from 'effect/Schema';
6
6
 
7
7
  import { Type } from '@dxos/echo';
8
8
 
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport { Option, pipe } from 'effect';\n\nimport { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';\nimport { ROOT_ID, createExtension } from '@dxos/plugin-graph';\n\nimport { OBSERVABILITY_PLUGIN } from '../meta';\n\n// NOTE: Copied from @dxos/plugin-deck to break circular dependency.\nconst ATTENDABLE_PATH_SEPARATOR = '~';\nconst DECK_COMPANION_TYPE = 'dxos.org/plugin/deck/deck-companion';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${OBSERVABILITY_PLUGIN}/help`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map((node) => {\n return [\n {\n id: [node.id, 'help'].join(ATTENDABLE_PATH_SEPARATOR),\n type: DECK_COMPANION_TYPE,\n data: null,\n properties: {\n label: ['help label', { ns: OBSERVABILITY_PLUGIN }],\n icon: 'ph--question--regular',\n disposition: 'hidden',\n position: 'hoist',\n },\n },\n ];\n }),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n ]);\n"],
5
- "mappings": ";;;;;AAIA,SAASA,UAAU;AACnB,SAASC,QAAQC,YAAY;AAE7B,SAASC,cAAkCC,mBAAmB;AAC9D,SAASC,SAASC,uBAAuB;AAKzC,IAAMC,4BAA4B;AAClC,IAAMC,sBAAsB;AAE5B,IAAA,4BAAe,CAACC,YACdC,YAAYC,aAAaC,iBAAiB;EACxCC,gBAAgB;IACdC,IAAI,GAAGC,oBAAAA;IACPC,WAAW,CAACC,SACVC,GAAGC,KAAK,CAACC,QACPC,KACED,IAAIH,IAAAA,GACJK,OAAOC,QAAQ,CAACN,UAAUA,MAAKH,OAAOU,UAAUF,OAAOG,KAAKR,KAAAA,IAAQK,OAAOI,KAAI,CAAA,GAC/EJ,OAAOK,IAAI,CAACV,UAAAA;AACV,aAAO;QACL;UACEH,IAAI;YAACG,MAAKH;YAAI;YAAQc,KAAKrB,yBAAAA;UAC3BsB,MAAMrB;UACNsB,MAAM;UACNC,YAAY;YACVC,OAAO;cAAC;cAAc;gBAAEC,IAAIlB;cAAqB;;YACjDmB,MAAM;YACNC,aAAa;YACbC,UAAU;UACZ;QACF;;IAEJ,CAAA,GACAd,OAAOe,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;EAGjC,CAAA;CACD;",
6
- "names": ["Rx", "Option", "pipe", "Capabilities", "contributes", "ROOT_ID", "createExtension", "ATTENDABLE_PATH_SEPARATOR", "DECK_COMPANION_TYPE", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "OBSERVABILITY_PLUGIN", "connector", "node", "Rx", "make", "get", "pipe", "Option", "flatMap", "ROOT_ID", "some", "none", "map", "join", "type", "data", "properties", "label", "ns", "icon", "disposition", "position", "getOrElse"]
7
- }
@@ -1,13 +0,0 @@
1
- // src/meta.ts
2
- var OBSERVABILITY_PLUGIN = "dxos.org/plugin/observability";
3
- var meta = {
4
- id: OBSERVABILITY_PLUGIN,
5
- name: "Telemetry",
6
- icon: "ph--eye--regular"
7
- };
8
-
9
- export {
10
- OBSERVABILITY_PLUGIN,
11
- meta
12
- };
13
- //# sourceMappingURL=chunk-57RVSKYP.mjs.map
@@ -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';\n\nexport const OBSERVABILITY_PLUGIN = 'dxos.org/plugin/observability';\n\nexport const meta: PluginMeta = {\n id: OBSERVABILITY_PLUGIN,\n name: 'Telemetry',\n icon: 'ph--eye--regular',\n};\n"],
5
- "mappings": ";AAMO,IAAMA,uBAAuB;AAE7B,IAAMC,OAAmB;EAC9BC,IAAIF;EACJG,MAAM;EACNC,MAAM;AACR;",
6
- "names": ["OBSERVABILITY_PLUGIN", "meta", "id", "name", "icon"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/schema.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Type } from '@dxos/echo';\n\nimport { meta } from '../meta';\n\nconst nonEmpty = <S extends Schema.Schema.Any>(field: string) =>\n Schema.nonEmptyString<S>({ message: () => `Missing field: ${field}` });\n\nconst maxLength = <S extends Schema.Schema.Any>(field: string, length: number) =>\n Schema.maxLength<S>(length, { message: () => `Exceeds max length (${length}): ${field}` });\n\nexport const UserFeedback = Schema.Struct({\n message: Schema.String.pipe(nonEmpty('Feedback'), maxLength('Feedback', 32_768)),\n});\n\nexport type UserFeedback = Schema.Schema.Type<typeof UserFeedback>;\n\nexport namespace ObservabilityAction {\n export class Toggle extends Schema.TaggedClass<Toggle>()(`${meta.id}/action/toggle`, {\n input: Schema.Struct({\n state: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Boolean,\n }) {}\n\n export class CaptureUserFeedback extends Schema.TaggedClass<CaptureUserFeedback>()(\n `${meta.id}/action/capture-feedback`,\n {\n input: UserFeedback,\n output: Schema.Void,\n },\n ) {}\n\n /** Base intent for sending events. */\n export class BaseSendEvent extends Schema.TaggedClass<BaseSendEvent>()(`${meta.id}/action/send-event`, {\n input: Schema.Struct({\n name: Schema.String,\n properties: Schema.optional(Schema.Object),\n }),\n output: Schema.Void,\n }) {}\n\n /** Intent with strict types for first-party events. */\n export class SendEvent extends Schema.TaggedClass<SendEvent>()(`${meta.id}/action/send-event`, {\n // NOTE: Sort alphabetically by name.\n input: Schema.Union(\n Schema.Struct({\n name: Schema.Literal('identity.create'),\n }),\n Schema.Struct({\n name: Schema.Literal('identity.join'),\n }),\n Schema.Struct({\n name: Schema.Literal('identity.recover'),\n }),\n Schema.Struct({\n name: Schema.Literal('identity.share'),\n }),\n Schema.Struct({\n name: Schema.Literal('navigation.activate'),\n properties: Schema.Struct({\n subjectId: Schema.String,\n typename: Schema.optional(Schema.String),\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('page.load'),\n properties: Schema.Struct({\n loadDuration: Schema.Number,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('plugins.toggle'),\n properties: Schema.Struct({\n plugin: Schema.String,\n enabled: Schema.Boolean,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.create'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.join'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.limit'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.lock'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.migrate'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n targetVersion: Schema.optional(Schema.String),\n version: Schema.optional(Schema.String),\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.schema.use'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n typename: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.schema.add'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n objectId: Schema.String,\n typename: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.object.add'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n objectId: Schema.String,\n typename: Schema.optional(Schema.String),\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.share'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('space.unlock'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('threads.create'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n threadId: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('threads.delete'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n threadId: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('threads.message.add'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n threadId: Schema.String,\n threadLength: Schema.Number,\n messageId: Schema.String,\n messageLength: Schema.Number,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('threads.message.delete'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n threadId: Schema.String,\n messageId: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('threads.message.undo-delete'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n threadId: Schema.String,\n messageId: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('threads.message.update'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n messageId: Schema.String,\n messageLength: Schema.Number,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('threads.toggle-resolved'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n threadId: Schema.String,\n }),\n }),\n Schema.Struct({\n name: Schema.Literal('threads.undo-delete'),\n properties: Schema.Struct({\n spaceId: Type.SpaceId,\n threadId: Schema.String,\n }),\n }),\n ),\n output: Schema.Void,\n }) {}\n}\n"],
5
- "mappings": ";;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,YAAY;AAIrB,IAAMC,WAAW,CAA8BC,UAC7CC,OAAOC,eAAkB;EAAEC,SAAS,MAAM,kBAAkBH,KAAAA;AAAQ,CAAA;AAEtE,IAAMI,YAAY,CAA8BJ,OAAeK,WAC7DJ,OAAOG,UAAaC,QAAQ;EAAEF,SAAS,MAAM,uBAAuBE,MAAAA,MAAYL,KAAAA;AAAQ,CAAA;AAEnF,IAAMM,eAAeL,OAAOM,OAAO;EACxCJ,SAASF,OAAOO,OAAOC,KAAKV,SAAS,UAAA,GAAaK,UAAU,YAAY,KAAA,CAAA;AAC1E,CAAA;UAIiBM,sBAAAA;EACR,MAAMC,eAAeV,OAAOW,YAAW,EAAW,GAAGC,KAAKC,EAAE,kBAAkB;IACnFC,OAAOd,OAAOM,OAAO;MACnBS,OAAOf,OAAOgB,SAAShB,OAAOiB,OAAO;IACvC,CAAA;IACAC,QAAQlB,OAAOiB;EACjB,CAAA,EAAA;EAAI;uBALSP,SAAAA;EAON,MAAMS,4BAA4BnB,OAAOW,YAAW,EACzD,GAAGC,KAAKC,EAAE,4BACV;IACEC,OAAOT;IACPa,QAAQlB,OAAOoB;EACjB,CAAA,EAAA;EACC;uBANUD,sBAAAA;EASN,MAAME,sBAAsBrB,OAAOW,YAAW,EAAkB,GAAGC,KAAKC,EAAE,sBAAsB;IACrGC,OAAOd,OAAOM,OAAO;MACnBgB,MAAMtB,OAAOO;MACbgB,YAAYvB,OAAOgB,SAAShB,OAAOwB,MAAM;IAC3C,CAAA;IACAN,QAAQlB,OAAOoB;EACjB,CAAA,EAAA;EAAI;AAPgC,EAAAX,qBACvBY,gBAAAA;EASN,MAAMI,kBAAkBzB,OAAOW,YAAW,EAAc,GAAGC,KAAKC,EAAE,sBAAsB;;IAE7FC,OAAOd,OAAO0B,MACZ1B,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,iBAAA;IACvB,CAAA,GACA3B,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,eAAA;IACvB,CAAA,GACA3B,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,kBAAA;IACvB,CAAA,GACA3B,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,gBAAA;IACvB,CAAA,GACA3B,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,qBAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxBsB,WAAW5B,OAAOO;QAClBsB,UAAU7B,OAAOgB,SAAShB,OAAOO,MAAM;MACzC,CAAA;IACF,CAAA,GACAP,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,WAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxBwB,cAAc9B,OAAO+B;MACvB,CAAA;IACF,CAAA,GACA/B,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,gBAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxB0B,QAAQhC,OAAOO;QACf0B,SAASjC,OAAOiB;MAClB,CAAA;IACF,CAAA,GACAjB,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,cAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxB4B,SAASC,KAAKC;MAChB,CAAA;IACF,CAAA,GACApC,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,YAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxB4B,SAASC,KAAKC;MAChB,CAAA;IACF,CAAA,GACApC,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,aAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxB4B,SAASC,KAAKC;MAChB,CAAA;IACF,CAAA,GACApC,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,YAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxB4B,SAASC,KAAKC;MAChB,CAAA;IACF,CAAA,GACApC,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,eAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxB4B,SAASC,KAAKC;QACdC,eAAerC,OAAOgB,SAAShB,OAAOO,MAAM;QAC5C+B,SAAStC,OAAOgB,SAAShB,OAAOO,MAAM;MACxC,CAAA;IACF,CAAA,GACAP,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,kBAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxB4B,SAASC,KAAKC;QACdP,UAAU7B,OAAOO;MACnB,CAAA;IACF,CAAA,GACAP,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,kBAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxB4B,SAASC,KAAKC;QACdG,UAAUvC,OAAOO;QACjBsB,UAAU7B,OAAOO;MACnB,CAAA;IACF,CAAA,GACAP,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,kBAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxB4B,SAASC,KAAKC;QACdG,UAAUvC,OAAOO;QACjBsB,UAAU7B,OAAOgB,SAAShB,OAAOO,MAAM;MACzC,CAAA;IACF,CAAA,GACAP,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,aAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxB4B,SAASC,KAAKC;MAChB,CAAA;IACF,CAAA,GACApC,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,cAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxB4B,SAASC,KAAKC;MAChB,CAAA;IACF,CAAA,GACApC,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,gBAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxB4B,SAASC,KAAKC;QACdI,UAAUxC,OAAOO;MACnB,CAAA;IACF,CAAA,GACAP,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,gBAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxB4B,SAASC,KAAKC;QACdI,UAAUxC,OAAOO;MACnB,CAAA;IACF,CAAA,GACAP,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,qBAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxB4B,SAASC,KAAKC;QACdI,UAAUxC,OAAOO;QACjBkC,cAAczC,OAAO+B;QACrBW,WAAW1C,OAAOO;QAClBoC,eAAe3C,OAAO+B;MACxB,CAAA;IACF,CAAA,GACA/B,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,wBAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxB4B,SAASC,KAAKC;QACdI,UAAUxC,OAAOO;QACjBmC,WAAW1C,OAAOO;MACpB,CAAA;IACF,CAAA,GACAP,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,6BAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxB4B,SAASC,KAAKC;QACdI,UAAUxC,OAAOO;QACjBmC,WAAW1C,OAAOO;MACpB,CAAA;IACF,CAAA,GACAP,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,wBAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxB4B,SAASC,KAAKC;QACdM,WAAW1C,OAAOO;QAClBoC,eAAe3C,OAAO+B;MACxB,CAAA;IACF,CAAA,GACA/B,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,yBAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxB4B,SAASC,KAAKC;QACdI,UAAUxC,OAAOO;MACnB,CAAA;IACF,CAAA,GACAP,OAAOM,OAAO;MACZgB,MAAMtB,OAAO2B,QAAQ,qBAAA;MACrBJ,YAAYvB,OAAOM,OAAO;QACxB4B,SAASC,KAAKC;QACdI,UAAUxC,OAAOO;MACnB,CAAA;IACF,CAAA,CAAA;IAEFW,QAAQlB,OAAOoB;EACjB,CAAA,EAAA;EAAI;AAvKiD,EAAAX,qBACxCgB,YAAAA;AAuKf,GAjMiBhB,wBAAAA,sBAAAA,CAAAA,EAAAA;;",
6
- "names": ["Schema", "Type", "nonEmpty", "field", "Schema", "nonEmptyString", "message", "maxLength", "length", "UserFeedback", "Struct", "String", "pipe", "ObservabilityAction", "Toggle", "TaggedClass", "meta", "id", "input", "state", "optional", "Boolean", "output", "CaptureUserFeedback", "Void", "BaseSendEvent", "name", "properties", "Object", "SendEvent", "Union", "Literal", "subjectId", "typename", "loadDuration", "Number", "plugin", "enabled", "spaceId", "Type", "SpaceId", "targetVersion", "version", "objectId", "threadId", "threadLength", "messageId", "messageLength"]
7
- }