@dxos/plugin-observability 0.8.2-main.f11618f → 0.8.2-staging.42af850

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 (110) hide show
  1. package/dist/lib/browser/app-graph-builder-3ROXVPV2.mjs +43 -0
  2. package/dist/lib/browser/app-graph-builder-3ROXVPV2.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-A7FGEPI3.mjs +175 -0
  4. package/dist/lib/{node-esm/chunk-Z22V3GLC.mjs.map → browser/chunk-A7FGEPI3.mjs.map} +3 -3
  5. package/dist/lib/browser/{chunk-ECWB7E2O.mjs → chunk-BJ2ZWVOH.mjs} +4 -4
  6. package/dist/lib/{node-esm/chunk-U3JYGK3O.mjs.map → browser/chunk-BJ2ZWVOH.mjs.map} +1 -1
  7. package/dist/lib/browser/chunk-P7VVCZOC.mjs +179 -0
  8. package/dist/lib/browser/chunk-P7VVCZOC.mjs.map +7 -0
  9. package/dist/lib/browser/{client-ready-LRY24QM5.mjs → client-ready-LP3YSSAH.mjs} +7 -7
  10. package/dist/lib/browser/client-ready-LP3YSSAH.mjs.map +7 -0
  11. package/dist/lib/browser/index.mjs +10 -10
  12. package/dist/lib/browser/index.mjs.map +1 -1
  13. package/dist/lib/browser/{intent-resolver-ZKNJCLDV.mjs → intent-resolver-JESDDMKB.mjs} +8 -8
  14. package/dist/lib/browser/intent-resolver-JESDDMKB.mjs.map +7 -0
  15. package/dist/lib/browser/meta.json +1 -1
  16. package/dist/lib/browser/{react-surface-QMP4YECT.mjs → react-surface-6RWNGDFA.mjs} +3 -3
  17. package/dist/lib/browser/{settings-V5C5V5EJ.mjs → settings-5UNGZSKH.mjs} +3 -3
  18. package/dist/lib/browser/{state-GHBXMIQI.mjs → state-LG4FXJD2.mjs} +2 -2
  19. package/dist/lib/browser/types.mjs +1 -1
  20. package/dist/lib/node/{app-graph-builder-JPUTX4LQ.cjs → app-graph-builder-EXZP366Q.cjs} +28 -25
  21. package/dist/lib/node/app-graph-builder-EXZP366Q.cjs.map +7 -0
  22. package/dist/lib/node/chunk-6UA74KDI.cjs +200 -0
  23. package/dist/lib/node/chunk-6UA74KDI.cjs.map +7 -0
  24. package/dist/lib/node/{chunk-WJQ2MG7S.cjs → chunk-HAIMXBCH.cjs} +5 -5
  25. package/dist/lib/node/{chunk-WJQ2MG7S.cjs.map → chunk-HAIMXBCH.cjs.map} +1 -1
  26. package/dist/lib/node/chunk-UMH4JAVS.cjs +199 -0
  27. package/dist/lib/node/chunk-UMH4JAVS.cjs.map +7 -0
  28. package/dist/lib/node/{client-ready-KHGLQOQZ.cjs → client-ready-CTPKWHMP.cjs} +12 -12
  29. package/dist/lib/node/client-ready-CTPKWHMP.cjs.map +7 -0
  30. package/dist/lib/node/index.cjs +16 -16
  31. package/dist/lib/node/index.cjs.map +1 -1
  32. package/dist/lib/node/{intent-resolver-5SANBSGX.cjs → intent-resolver-7G4GEUOA.cjs} +15 -15
  33. package/dist/lib/node/intent-resolver-7G4GEUOA.cjs.map +7 -0
  34. package/dist/lib/node/meta.json +1 -1
  35. package/dist/lib/node/{react-surface-O6M5TFVP.cjs → react-surface-VZQ7EWYP.cjs} +8 -8
  36. package/dist/lib/node/{settings-CWIX7OVJ.cjs → settings-PMUXB3WF.cjs} +7 -7
  37. package/dist/lib/node/{state-5GZLUTX7.cjs → state-NXRP3P5D.cjs} +6 -6
  38. package/dist/lib/node/types.cjs +3 -3
  39. package/dist/lib/node/types.cjs.map +1 -1
  40. package/dist/lib/node-esm/app-graph-builder-T7J46NSQ.mjs +44 -0
  41. package/dist/lib/node-esm/app-graph-builder-T7J46NSQ.mjs.map +7 -0
  42. package/dist/lib/node-esm/chunk-OWGL3ALC.mjs +176 -0
  43. package/dist/lib/{browser/chunk-DWLES54T.mjs.map → node-esm/chunk-OWGL3ALC.mjs.map} +3 -3
  44. package/dist/lib/node-esm/chunk-S2MXYKCI.mjs +180 -0
  45. package/dist/lib/node-esm/chunk-S2MXYKCI.mjs.map +7 -0
  46. package/dist/lib/node-esm/{chunk-U3JYGK3O.mjs → chunk-X2U2ZHWX.mjs} +4 -4
  47. package/dist/lib/{browser/chunk-ECWB7E2O.mjs.map → node-esm/chunk-X2U2ZHWX.mjs.map} +1 -1
  48. package/dist/lib/node-esm/{client-ready-4BUMAISA.mjs → client-ready-FS62YRSD.mjs} +7 -7
  49. package/dist/lib/node-esm/client-ready-FS62YRSD.mjs.map +7 -0
  50. package/dist/lib/node-esm/index.mjs +10 -10
  51. package/dist/lib/node-esm/index.mjs.map +1 -1
  52. package/dist/lib/node-esm/{intent-resolver-5EFEXLWX.mjs → intent-resolver-MREOBMHB.mjs} +8 -8
  53. package/dist/lib/node-esm/intent-resolver-MREOBMHB.mjs.map +7 -0
  54. package/dist/lib/node-esm/meta.json +1 -1
  55. package/dist/lib/node-esm/{react-surface-JP4SJGWP.mjs → react-surface-ZHMNRVFJ.mjs} +3 -3
  56. package/dist/lib/node-esm/{settings-ZOKCFJET.mjs → settings-YF4AO2PI.mjs} +3 -3
  57. package/dist/lib/node-esm/{state-R2UVEG7B.mjs → state-IZNXQ5RA.mjs} +2 -2
  58. package/dist/lib/node-esm/types.mjs +1 -1
  59. package/dist/types/src/ObservabilityPlugin.d.ts.map +1 -1
  60. package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -179
  61. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  62. package/dist/types/src/capabilities/client-ready.d.ts +2 -2
  63. package/dist/types/src/capabilities/client-ready.d.ts.map +1 -1
  64. package/dist/types/src/capabilities/index.d.ts +3 -179
  65. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  66. package/dist/types/src/capabilities/intent-resolver.d.ts +2 -2
  67. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  68. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  69. package/dist/types/src/components/FeedbackForm.d.ts.map +1 -1
  70. package/dist/types/src/components/ObservabilitySettings.d.ts +4 -4
  71. package/dist/types/src/components/ObservabilitySettings.d.ts.map +1 -1
  72. package/dist/types/src/types.d.ts +258 -145
  73. package/dist/types/src/types.d.ts.map +1 -1
  74. package/dist/types/tsconfig.tsbuildinfo +1 -1
  75. package/package.json +31 -24
  76. package/src/capabilities/app-graph-builder.ts +29 -17
  77. package/src/capabilities/client-ready.ts +6 -6
  78. package/src/capabilities/intent-resolver.ts +7 -7
  79. package/src/components/ObservabilitySettings.tsx +5 -5
  80. package/src/types.ts +128 -126
  81. package/dist/lib/browser/app-graph-builder-OCAR3KUZ.mjs +0 -40
  82. package/dist/lib/browser/app-graph-builder-OCAR3KUZ.mjs.map +0 -7
  83. package/dist/lib/browser/chunk-DWLES54T.mjs +0 -152
  84. package/dist/lib/browser/chunk-RI4RE346.mjs +0 -178
  85. package/dist/lib/browser/chunk-RI4RE346.mjs.map +0 -7
  86. package/dist/lib/browser/client-ready-LRY24QM5.mjs.map +0 -7
  87. package/dist/lib/browser/intent-resolver-ZKNJCLDV.mjs.map +0 -7
  88. package/dist/lib/node/app-graph-builder-JPUTX4LQ.cjs.map +0 -7
  89. package/dist/lib/node/chunk-HF4SL56O.cjs +0 -177
  90. package/dist/lib/node/chunk-HF4SL56O.cjs.map +0 -7
  91. package/dist/lib/node/chunk-V4ZLLL5M.cjs +0 -198
  92. package/dist/lib/node/chunk-V4ZLLL5M.cjs.map +0 -7
  93. package/dist/lib/node/client-ready-KHGLQOQZ.cjs.map +0 -7
  94. package/dist/lib/node/intent-resolver-5SANBSGX.cjs.map +0 -7
  95. package/dist/lib/node-esm/app-graph-builder-RKURIIFT.mjs +0 -41
  96. package/dist/lib/node-esm/app-graph-builder-RKURIIFT.mjs.map +0 -7
  97. package/dist/lib/node-esm/chunk-M3MGU3DN.mjs +0 -179
  98. package/dist/lib/node-esm/chunk-M3MGU3DN.mjs.map +0 -7
  99. package/dist/lib/node-esm/chunk-Z22V3GLC.mjs +0 -153
  100. package/dist/lib/node-esm/client-ready-4BUMAISA.mjs.map +0 -7
  101. package/dist/lib/node-esm/intent-resolver-5EFEXLWX.mjs.map +0 -7
  102. /package/dist/lib/browser/{react-surface-QMP4YECT.mjs.map → react-surface-6RWNGDFA.mjs.map} +0 -0
  103. /package/dist/lib/browser/{settings-V5C5V5EJ.mjs.map → settings-5UNGZSKH.mjs.map} +0 -0
  104. /package/dist/lib/browser/{state-GHBXMIQI.mjs.map → state-LG4FXJD2.mjs.map} +0 -0
  105. /package/dist/lib/node/{react-surface-O6M5TFVP.cjs.map → react-surface-VZQ7EWYP.cjs.map} +0 -0
  106. /package/dist/lib/node/{settings-CWIX7OVJ.cjs.map → settings-PMUXB3WF.cjs.map} +0 -0
  107. /package/dist/lib/node/{state-5GZLUTX7.cjs.map → state-NXRP3P5D.cjs.map} +0 -0
  108. /package/dist/lib/node-esm/{react-surface-JP4SJGWP.mjs.map → react-surface-ZHMNRVFJ.mjs.map} +0 -0
  109. /package/dist/lib/node-esm/{settings-ZOKCFJET.mjs.map → settings-YF4AO2PI.mjs.map} +0 -0
  110. /package/dist/lib/node-esm/{state-R2UVEG7B.mjs.map → state-IZNXQ5RA.mjs.map} +0 -0
@@ -1,153 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- ObservabilityAction,
4
- UserFeedback
5
- } from "./chunk-M3MGU3DN.mjs";
6
- import {
7
- OBSERVABILITY_PLUGIN
8
- } from "./chunk-KT5SDFBU.mjs";
9
-
10
- // packages/plugins/plugin-observability/src/components/FeedbackForm.tsx
11
- import React, { useCallback, useRef, useState } from "react";
12
- import { getSnapshot } from "@dxos/echo-schema";
13
- import { IconButton, Input, useTranslation } from "@dxos/react-ui";
14
- import { FormProvider, useFormContext, useInputProps } from "@dxos/react-ui-form";
15
- var defaultValues = {
16
- message: ""
17
- };
18
- var FormContent = () => {
19
- const { t } = useTranslation(OBSERVABILITY_PLUGIN);
20
- const { handleSave, canSave } = useFormContext();
21
- const messageProps = useInputProps([
22
- "message"
23
- ]);
24
- return /* @__PURE__ */ React.createElement("div", {
25
- role: "form",
26
- className: "p-3 flex flex-col gap-2"
27
- }, /* @__PURE__ */ React.createElement("div", {
28
- role: "none",
29
- className: "space-b-1"
30
- }, /* @__PURE__ */ React.createElement(Input.Root, {
31
- validationValence: messageProps.getStatus().status
32
- }, /* @__PURE__ */ React.createElement(Input.Label, null, t("feedback text area label")), /* @__PURE__ */ React.createElement(Input.TextArea, {
33
- classNames: "text-sm",
34
- rows: 5,
35
- cols: 30,
36
- placeholder: t("feedback text area placeholder"),
37
- value: messageProps.getValue() ?? "",
38
- onChange: (e) => messageProps.onValueChange("string", e.target.value),
39
- // TODO(wittjosiah): This aggressively shows validation errors.
40
- onBlur: messageProps.onBlur
41
- }), /* @__PURE__ */ React.createElement(Input.DescriptionAndValidation, null, /* @__PURE__ */ React.createElement(Input.Validation, null, messageProps.getStatus().error)))), /* @__PURE__ */ React.createElement("div", {
42
- role: "none",
43
- className: "space-b-2"
44
- }, /* @__PURE__ */ React.createElement(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
- };
54
- var FeedbackForm = ({ onSave }) => {
55
- const formRef = useRef(null);
56
- const [_, update] = useState({});
57
- const forceRender = useCallback(() => update({}), [
58
- update
59
- ]);
60
- const handleSave = useCallback((values) => {
61
- onSave(values);
62
- forceRender();
63
- }, [
64
- forceRender,
65
- onSave
66
- ]);
67
- const initialValues = getSnapshot(defaultValues);
68
- return /* @__PURE__ */ React.createElement(FormProvider, {
69
- formRef,
70
- schema: UserFeedback,
71
- initialValues,
72
- onSave: handleSave
73
- }, /* @__PURE__ */ React.createElement("div", {
74
- ref: formRef
75
- }, /* @__PURE__ */ React.createElement(FormContent, null)));
76
- };
77
-
78
- // packages/plugins/plugin-observability/src/components/HelpContainer.tsx
79
- import { pipe } from "effect";
80
- import React2, { useCallback as useCallback2 } from "react";
81
- import { chain, createIntent, LayoutAction, useIntentDispatcher } from "@dxos/app-framework";
82
- var HelpContainer = () => {
83
- const { dispatchPromise: dispatch } = useIntentDispatcher();
84
- const handleSave = useCallback2((values) => dispatch(pipe(createIntent(ObservabilityAction.CaptureUserFeedback, values), chain(LayoutAction.UpdateComplementary, {
85
- part: "complementary",
86
- options: {
87
- state: "collapsed"
88
- }
89
- }), chain(LayoutAction.AddToast, {
90
- part: "toast",
91
- subject: {
92
- id: `${OBSERVABILITY_PLUGIN}/feedback-success`,
93
- icon: "ph--paper-plane-tilt--regular",
94
- duration: 3e3,
95
- title: [
96
- "feedback toast label",
97
- {
98
- ns: OBSERVABILITY_PLUGIN
99
- }
100
- ],
101
- description: [
102
- "feedback toast description",
103
- {
104
- ns: OBSERVABILITY_PLUGIN
105
- }
106
- ],
107
- closeLabel: [
108
- "close label",
109
- {
110
- ns: "os"
111
- }
112
- ]
113
- }
114
- }))), [
115
- dispatch
116
- ]);
117
- return /* @__PURE__ */ React2.createElement(FeedbackForm, {
118
- onSave: handleSave
119
- });
120
- };
121
-
122
- // packages/plugins/plugin-observability/src/components/ObservabilitySettings.tsx
123
- import React3 from "react";
124
- import { createIntent as createIntent2, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
125
- import { S } from "@dxos/echo-schema";
126
- import { Input as Input2, Message, useTranslation as useTranslation2 } from "@dxos/react-ui";
127
- import { DeprecatedFormContainer, DeprecatedFormInput } from "@dxos/react-ui-form";
128
- var ObservabilitySettingsSchema = S.mutable(S.Struct({
129
- enabled: S.Boolean
130
- }));
131
- var ObservabilitySettings = ({ settings }) => {
132
- const { t } = useTranslation2(OBSERVABILITY_PLUGIN);
133
- const { dispatchPromise: dispatch } = useIntentDispatcher2();
134
- return /* @__PURE__ */ React3.createElement(DeprecatedFormContainer, null, /* @__PURE__ */ React3.createElement(DeprecatedFormInput, {
135
- label: t("observability enabled label"),
136
- secondary: /* @__PURE__ */ React3.createElement(Message.Root, {
137
- valence: "info"
138
- }, /* @__PURE__ */ React3.createElement(Message.Body, null, t("observability description")))
139
- }, /* @__PURE__ */ React3.createElement(Input2.Switch, {
140
- checked: settings.enabled,
141
- onCheckedChange: (checked) => dispatch(createIntent2(ObservabilityAction.Toggle, {
142
- state: !!checked
143
- }))
144
- })));
145
- };
146
-
147
- export {
148
- FeedbackForm,
149
- HelpContainer,
150
- ObservabilitySettingsSchema,
151
- ObservabilitySettings
152
- };
153
- //# sourceMappingURL=chunk-Z22V3GLC.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 contributes,\n createIntent,\n LayoutAction,\n SettingsAction,\n type PluginsContext,\n} from '@dxos/app-framework';\nimport { setupTelemetryListeners, type Observability } from '@dxos/observability';\n\nimport { ClientCapability, ObservabilityCapabilities } from './capabilities';\nimport { OBSERVABILITY_PLUGIN } from '../meta';\nimport { ObservabilityAction } from '../types';\n\ntype ClientReadyOptions = {\n context: PluginsContext;\n namespace: string;\n observability: Observability;\n};\n\nexport default async ({ context, namespace, observability }: ClientReadyOptions) => {\n const manager = context.requestCapability(Capabilities.PluginManager);\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const state = context.requestCapability(ObservabilityCapabilities.State);\n const client = context.requestCapability(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: `${OBSERVABILITY_PLUGIN}/notice`,\n title: ['observability toast label', { ns: OBSERVABILITY_PLUGIN }],\n description: ['observability toast description', { ns: OBSERVABILITY_PLUGIN }],\n duration: Infinity,\n icon: 'ph--info--regular',\n actionLabel: ['observability toast action label', { ns: OBSERVABILITY_PLUGIN }],\n actionAlt: ['observability toast action alt', { ns: OBSERVABILITY_PLUGIN }],\n closeLabel: ['observability toast close label', { ns: OBSERVABILITY_PLUGIN }],\n onAction: () => dispatch(createIntent(SettingsAction.Open, { plugin: OBSERVABILITY_PLUGIN })),\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,aACAC,cACAC,cACAC,sBAEK;AACP,SAASC,+BAAmD;AAY5D,IAAA,uBAAe,OAAO,EAAEC,SAASC,WAAWC,cAAa,MAAsB;AAC7E,QAAMC,UAAUH,QAAQI,kBAAkBC,aAAaC,aAAa;AACpE,QAAM,EAAEC,iBAAiBC,SAAQ,IAAKR,QAAQI,kBAAkBC,aAAaI,gBAAgB;AAC7F,QAAMC,QAAQV,QAAQI,kBAAkBO,0BAA0BC,KAAK;AACvE,QAAMC,SAASb,QAAQI,kBAAkBU,gBAAAA;AAEzC,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,oBAAAA;UACPC,OAAO;YAAC;YAA6B;cAAEC,IAAIF;YAAqB;;UAChEG,aAAa;YAAC;YAAmC;cAAED,IAAIF;YAAqB;;UAC5EI,UAAUC;UACVC,MAAM;UACNC,aAAa;YAAC;YAAoC;cAAEL,IAAIF;YAAqB;;UAC7EQ,WAAW;YAAC;YAAkC;cAAEN,IAAIF;YAAqB;;UACzES,YAAY;YAAC;YAAmC;cAAEP,IAAIF;YAAqB;;UAC3EU,UAAU,MAAMlC,SAASkB,aAAaiB,eAAeC,MAAM;YAAEC,QAAQb;UAAqB,CAAA,CAAA;QAC5F;MACF,CAAA,CAAA;AAGFtB,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", "contributes", "createIntent", "LayoutAction", "SettingsAction", "setupTelemetryListeners", "context", "namespace", "observability", "manager", "requestCapability", "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", "OBSERVABILITY_PLUGIN", "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,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, contributes, createResolver, IntentAction, type PluginsContext } from '@dxos/app-framework';\nimport { log } from '@dxos/log';\nimport { getTelemetryIdentity, storeObservabilityDisabled } from '@dxos/observability';\n\nimport { ClientCapability, ObservabilityCapabilities } from './capabilities';\nimport { type ObservabilitySettingsProps } from '../components';\nimport { OBSERVABILITY_PLUGIN } from '../meta';\nimport { ObservabilityAction } from '../types';\n\nexport default ({ context, namespace }: { context: PluginsContext; 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.requestCapability(ClientCapability);\n const observability = context.requestCapability(ObservabilityCapabilities.Observability);\n const settings = context\n .requestCapability(Capabilities.SettingsStore)\n .getStore<ObservabilitySettingsProps>(OBSERVABILITY_PLUGIN)!.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.requestCapability(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.requestCapability(ObservabilityCapabilities.Observability);\n observability.captureUserFeedback(data.message);\n },\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;;;AAIA,SAASA,cAAcC,aAAaC,gBAAgBC,oBAAyC;AAC7F,SAASC,WAAW;AACpB,SAASC,sBAAsBC,kCAAkC;;AAOjE,IAAA,0BAAe,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,kBAAkBC,gBAAAA;AACzC,YAAMC,gBAAgBlB,QAAQgB,kBAAkBG,0BAA0BC,aAAa;AACvF,YAAMC,WAAWrB,QACdgB,kBAAkBb,aAAamB,aAAa,EAC5CC,SAAqCC,oBAAAA,EAAuBC;AAC/DJ,eAASK,UAAUZ,SAAS,CAACO,SAASK;AACtCR,oBAAcS,MAAM;QAClB,GAAGC,qBAAqBb,MAAAA;QACxBc,QAAQ;QACRC,YAAY;UACVJ,SAASL,SAASK;QACpB;MACF,CAAA;AACAR,oBAAca,QAAQV,SAASK,UAAU,UAAU,UAAA;AACnD,YAAMM,2BAA2B/B,WAAW,CAACoB,SAASK,OAAO;AAC7D,aAAO;QAAEO,MAAMZ,SAASK;MAAQ;IAClC;EACF,CAAA;EACArB,eAAe;IACbC,QAAQM,oBAAoBsB;IAC5BzB,SAAS,CAACwB,SAAAA;AACR,YAAMlB,SAASf,QAAQgB,kBAAkBC,gBAAAA;AACzC,YAAMa,aAAa,gBAAgBG,OAAOA,KAAKH,aAAa,CAAC;AAK7D,WAAK9B,QAAQmC,kBAAkBhB,0BAA0BC,aAAa,EAAEgB,KAAK,CAAClB,kBAAAA;AAC5EA,sBAAcS,MAAM;UAClB,GAAGC,qBAAqBb,MAAAA;UACxBc,QAAQI,KAAKI;UACbP;QACF,CAAA;MACF,CAAA;IACF;EACF,CAAA;EACAzB,eAAe;IACbC,QAAQM,oBAAoB0B;IAC5B7B,SAAS,OAAOwB,SAAAA;AACd,YAAMf,gBAAgBlB,QAAQgB,kBAAkBG,0BAA0BC,aAAa;AACvFF,oBAAcqB,oBAAoBN,KAAKO,OAAO;IAChD;EACF,CAAA;CACD;",
6
- "names": ["Capabilities", "contributes", "createResolver", "IntentAction", "log", "getTelemetryIdentity", "storeObservabilityDisabled", "context", "namespace", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "IntentAction", "Track", "resolve", "log", "info", "ObservabilityAction", "Toggle", "state", "client", "requestCapability", "ClientCapability", "observability", "ObservabilityCapabilities", "Observability", "settings", "SettingsStore", "getStore", "OBSERVABILITY_PLUGIN", "value", "enabled", "track", "getTelemetryIdentity", "action", "properties", "setMode", "storeObservabilityDisabled", "data", "SendEvent", "waitForCapability", "then", "name", "CaptureUserFeedback", "captureUserFeedback", "message"]
7
- }