@dxos/plugin-observability 0.8.4-main.bc674ce → 0.8.4-main.c351d160a8
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.
- package/dist/lib/browser/HelpContainer-KTMKZBHY.mjs +74 -0
- package/dist/lib/browser/HelpContainer-KTMKZBHY.mjs.map +7 -0
- package/dist/lib/browser/ObservabilitySettings-ICX2QGCA.mjs +12 -0
- package/dist/lib/browser/ObservabilitySettings-ICX2QGCA.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-6KDHLPUO.mjs → app-graph-builder-367TIDLZ.mjs} +8 -11
- package/dist/lib/browser/app-graph-builder-367TIDLZ.mjs.map +7 -0
- package/dist/lib/browser/{chunk-3XZDP7JS.mjs → chunk-2WPL7OWM.mjs} +2 -2
- package/dist/lib/browser/{chunk-3XZDP7JS.mjs.map → chunk-2WPL7OWM.mjs.map} +1 -1
- package/dist/lib/browser/chunk-D4FKSLUA.mjs +10 -0
- package/dist/lib/browser/chunk-D4FKSLUA.mjs.map +7 -0
- package/dist/lib/browser/{chunk-PYNLPSSZ.mjs → chunk-EHHO2HH2.mjs} +19 -14
- package/dist/lib/browser/chunk-EHHO2HH2.mjs.map +7 -0
- package/dist/lib/browser/chunk-GUYC2TF5.mjs +41 -0
- package/dist/lib/browser/chunk-GUYC2TF5.mjs.map +7 -0
- package/dist/lib/browser/chunk-U5DG3DSQ.mjs +32 -0
- package/dist/lib/browser/chunk-U5DG3DSQ.mjs.map +7 -0
- package/dist/lib/browser/cli/index.mjs +6 -5
- package/dist/lib/browser/cli/index.mjs.map +3 -3
- package/dist/lib/browser/{client-ready-YWKHC5S2.mjs → client-ready-NOYYQV6U.mjs} +20 -25
- package/dist/lib/browser/client-ready-NOYYQV6U.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +27 -32
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{operation-resolver-4ROZET3B.mjs → operation-resolver-VDE6BGUA.mjs} +23 -27
- package/dist/lib/browser/operation-resolver-VDE6BGUA.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-SJTESQAF.mjs → react-surface-EW3DW2JH.mjs} +13 -11
- package/dist/lib/browser/react-surface-EW3DW2JH.mjs.map +7 -0
- package/dist/lib/browser/{settings-SQ4ICR7F.mjs → settings-YCQ67D55.mjs} +8 -6
- package/dist/lib/browser/settings-YCQ67D55.mjs.map +7 -0
- package/dist/lib/browser/{state-IKCFXHYV.mjs → state-I2G23I3G.mjs} +8 -9
- package/dist/lib/browser/state-I2G23I3G.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node-esm/HelpContainer-TF3KOC2E.mjs +75 -0
- package/dist/lib/node-esm/HelpContainer-TF3KOC2E.mjs.map +7 -0
- package/dist/lib/node-esm/ObservabilitySettings-WJ7CWCNV.mjs +13 -0
- package/dist/lib/node-esm/ObservabilitySettings-WJ7CWCNV.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-4YHKY4SP.mjs → app-graph-builder-PJ5PRDPL.mjs} +8 -11
- package/dist/lib/node-esm/app-graph-builder-PJ5PRDPL.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-4T4N2NJZ.mjs → chunk-2AMYV5T4.mjs} +19 -14
- package/dist/lib/node-esm/chunk-2AMYV5T4.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-6OEBM6QE.mjs +42 -0
- package/dist/lib/node-esm/chunk-6OEBM6QE.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HGAUN765.mjs +12 -0
- package/dist/lib/node-esm/chunk-HGAUN765.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-2ECMMPZY.mjs → chunk-LJSRL5PE.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-2ECMMPZY.mjs.map → chunk-LJSRL5PE.mjs.map} +1 -1
- package/dist/lib/node-esm/chunk-POCWWX7Z.mjs +33 -0
- package/dist/lib/node-esm/chunk-POCWWX7Z.mjs.map +7 -0
- package/dist/lib/node-esm/cli/index.mjs +6 -5
- package/dist/lib/node-esm/cli/index.mjs.map +3 -3
- package/dist/lib/node-esm/{client-ready-YLYG6F6H.mjs → client-ready-QDMM2N3K.mjs} +20 -25
- package/dist/lib/node-esm/client-ready-QDMM2N3K.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +27 -32
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{operation-resolver-UI7ZINXR.mjs → operation-resolver-PKDJM72F.mjs} +23 -27
- package/dist/lib/node-esm/operation-resolver-PKDJM72F.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-D53VLGHY.mjs → react-surface-YJATSR4Q.mjs} +13 -11
- package/dist/lib/node-esm/react-surface-YJATSR4Q.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-WIRCHLWE.mjs → settings-2PQK3YZN.mjs} +8 -6
- package/dist/lib/node-esm/settings-2PQK3YZN.mjs.map +7 -0
- package/dist/lib/node-esm/{state-MQR4PNOT.mjs → state-ZVKG6WA6.mjs} +8 -9
- package/dist/lib/node-esm/state-ZVKG6WA6.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +2 -2
- package/dist/types/src/ObservabilityPlugin.d.ts +1 -1
- package/dist/types/src/ObservabilityPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/client-ready/client-ready.d.ts +3 -3
- package/dist/types/src/capabilities/client-ready/client-ready.d.ts.map +1 -1
- package/dist/types/src/capabilities/client-ready/index.d.ts +2 -4
- package/dist/types/src/capabilities/client-ready/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +3 -3
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings/index.d.ts +1 -1
- package/dist/types/src/capabilities/settings/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings/settings.d.ts +4 -3
- package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -1
- package/dist/types/src/capabilities/state/state.d.ts +2 -2
- package/dist/types/src/capabilities/state/state.d.ts.map +1 -1
- package/dist/types/src/cli/plugin.d.ts.map +1 -1
- package/dist/types/src/components/FeedbackForm/FeedbackForm.d.ts +6 -0
- package/dist/types/src/components/FeedbackForm/FeedbackForm.d.ts.map +1 -0
- package/dist/types/src/components/{FeedbackForm.stories.d.ts → FeedbackForm/FeedbackForm.stories.d.ts} +2 -1
- package/dist/types/src/components/FeedbackForm/FeedbackForm.stories.d.ts.map +1 -0
- package/dist/types/src/components/FeedbackForm/index.d.ts +2 -0
- package/dist/types/src/components/FeedbackForm/index.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +0 -2
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/HelpContainer/HelpContainer.d.ts +4 -0
- package/dist/types/src/containers/HelpContainer/HelpContainer.d.ts.map +1 -0
- package/dist/types/src/containers/HelpContainer/index.d.ts +3 -0
- package/dist/types/src/containers/HelpContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/ObservabilitySettings/ObservabilitySettings.d.ts.map +1 -0
- package/dist/types/src/containers/ObservabilitySettings/index.d.ts +3 -0
- package/dist/types/src/containers/ObservabilitySettings/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +6 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +1 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/capabilities.d.ts +1 -1
- package/dist/types/src/types/capabilities.d.ts.map +1 -1
- package/dist/types/src/types/events.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +5 -3
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +32 -30
- package/src/ObservabilityPlugin.ts +11 -10
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +6 -8
- package/src/capabilities/client-ready/client-ready.ts +18 -31
- package/src/capabilities/client-ready/index.ts +3 -1
- package/src/capabilities/operation-resolver/operation-resolver.ts +21 -27
- package/src/capabilities/react-surface/react-surface.tsx +10 -9
- package/src/capabilities/settings/settings.ts +4 -3
- package/src/capabilities/state/state.ts +5 -6
- package/src/cli/plugin.ts +4 -3
- package/src/components/{FeedbackForm.stories.tsx → FeedbackForm/FeedbackForm.stories.tsx} +3 -3
- package/src/components/FeedbackForm/FeedbackForm.tsx +33 -0
- package/src/components/FeedbackForm/index.ts +5 -0
- package/src/components/index.ts +0 -2
- package/src/containers/HelpContainer/HelpContainer.tsx +55 -0
- package/src/containers/HelpContainer/index.ts +7 -0
- package/src/{components → containers/ObservabilitySettings}/ObservabilitySettings.tsx +13 -13
- package/src/containers/ObservabilitySettings/index.ts +11 -0
- package/src/containers/index.ts +11 -0
- package/src/meta.ts +1 -1
- package/src/translations.ts +1 -1
- package/src/types/capabilities.ts +5 -5
- package/src/types/events.ts +4 -3
- package/src/types/schema.ts +10 -4
- package/dist/lib/browser/app-graph-builder-6KDHLPUO.mjs.map +0 -7
- package/dist/lib/browser/chunk-PYNLPSSZ.mjs.map +0 -7
- package/dist/lib/browser/chunk-SN7DIHQG.mjs +0 -102
- package/dist/lib/browser/chunk-SN7DIHQG.mjs.map +0 -7
- package/dist/lib/browser/client-ready-YWKHC5S2.mjs.map +0 -7
- package/dist/lib/browser/operation-resolver-4ROZET3B.mjs.map +0 -7
- package/dist/lib/browser/react-surface-SJTESQAF.mjs.map +0 -7
- package/dist/lib/browser/settings-SQ4ICR7F.mjs.map +0 -7
- package/dist/lib/browser/state-IKCFXHYV.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-4YHKY4SP.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4T4N2NJZ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HNMV7ZZZ.mjs +0 -103
- package/dist/lib/node-esm/chunk-HNMV7ZZZ.mjs.map +0 -7
- package/dist/lib/node-esm/client-ready-YLYG6F6H.mjs.map +0 -7
- package/dist/lib/node-esm/operation-resolver-UI7ZINXR.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-D53VLGHY.mjs.map +0 -7
- package/dist/lib/node-esm/settings-WIRCHLWE.mjs.map +0 -7
- package/dist/lib/node-esm/state-MQR4PNOT.mjs.map +0 -7
- package/dist/types/src/components/FeedbackForm.d.ts +0 -6
- package/dist/types/src/components/FeedbackForm.d.ts.map +0 -1
- package/dist/types/src/components/FeedbackForm.stories.d.ts.map +0 -1
- package/dist/types/src/components/HelpContainer.d.ts +0 -3
- package/dist/types/src/components/HelpContainer.d.ts.map +0 -1
- package/dist/types/src/components/ObservabilitySettings.d.ts.map +0 -1
- package/src/components/FeedbackForm.tsx +0 -26
- package/src/components/HelpContainer.tsx +0 -36
- /package/dist/types/src/{components → containers/ObservabilitySettings}/ObservabilitySettings.d.ts +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/client-ready/client-ready.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, Common, SettingsOperation } from '@dxos/app-framework';\nimport { type Observability, setupTelemetryListeners } from '@dxos/observability';\n\nimport { meta } from '../../meta';\nimport { ClientCapability, ObservabilityCapabilities, ObservabilityOperation } from '../../types';\n\ntype ClientReadyOptions = {\n namespace: string;\n observability: Observability;\n};\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* (props?: ClientReadyOptions) {\n const { namespace, observability } = props!;\n const manager = yield* Capability.get(Common.Capability.PluginManager);\n const { invokePromise } = yield* Capability.get(Common.Capability.OperationInvoker);\n const registry = yield* Capability.get(Common.Capability.AtomRegistry);\n const stateAtom = yield* Capability.get(ObservabilityCapabilities.State);\n const client = yield* Capability.get(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 const state = registry.get(stateAtom);\n if (!state.notified && notify) {\n await invokePromise(Common.LayoutOperation.AddToast, {\n id: `${meta.id}/notice`,\n title: ['observability toast label', { ns: meta.id }],\n description: ['observability toast description', { ns: meta.id }],\n duration: Infinity,\n icon: 'ph--info--regular',\n actionLabel: ['observability toast action label', { ns: meta.id }],\n actionAlt: ['observability toast action alt', { ns: meta.id }],\n closeLabel: ['observability toast close label', { ns: meta.id }],\n onAction: () => invokePromise(SettingsOperation.Open, { plugin: meta.id }),\n });\n\n registry.set(stateAtom, { ...registry.get(stateAtom), notified: true });\n }\n };\n\n // Ensure errors are tagged with enabled plugins to help with reproductions.\n const enabledPlugins = manager.getEnabled();\n for (const plugin of enabledPlugins) {\n observability?.setTag(`pluginEnabled-${plugin}`, 'true', 'errors');\n }\n\n yield* Effect.tryPromise(() =>\n invokePromise(ObservabilityOperation.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 yield* Effect.tryPromise(() =>\n 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\n if (client.halo.identity.get()) {\n yield* Effect.tryPromise(() => 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 Capability.contributes(ObservabilityCapabilities.Observability, observability, () =>\n Effect.tryPromise(async () => {\n cleanup();\n await observability.close();\n }),\n );\n }),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,YAAYC,QAAQC,yBAAyB;AACtD,SAA6BC,+BAA+B;AAU5D,IAAA,uBAAeC,WAAWC,WACjBC,kBAAW,WAAWC,OAA0B;AACrD,QAAM,EAAEC,WAAWC,cAAa,IAAKF;AACrC,QAAMG,UAAU,OAAON,WAAWO,IAAIC,OAAOR,WAAWS,aAAa;AACrE,QAAM,EAAEC,cAAa,IAAK,OAAOV,WAAWO,IAAIC,OAAOR,WAAWW,gBAAgB;AAClF,QAAMC,WAAW,OAAOZ,WAAWO,IAAIC,OAAOR,WAAWa,YAAY;AACrE,QAAMC,YAAY,OAAOd,WAAWO,IAAIQ,0BAA0BC,KAAK;AACvE,QAAMC,SAAS,OAAOjB,WAAWO,IAAIW,gBAAAA;AAErC,QAAMC,oBAAoB,YAAA;AACxB,UAAMC,cAAcH,QAAQI,QAAQC,OAAOC,SAASC,KAAKC,KAAKC;AAC9D,UAAMC,SACJP,eAAeA,gBAAgB,QAAQ,CAACA,YAAYQ,SAAS,QAAA,KAAa,CAACR,YAAYQ,SAAS,MAAA;AAClG,UAAMC,QAAQjB,SAASL,IAAIO,SAAAA;AAC3B,QAAI,CAACe,MAAMC,YAAYH,QAAQ;AAC7B,YAAMjB,cAAcF,OAAOuB,gBAAgBC,UAAU;QACnDC,IAAI,GAAGC,KAAKD,EAAE;QACdE,OAAO;UAAC;UAA6B;YAAEC,IAAIF,KAAKD;UAAG;;QACnDI,aAAa;UAAC;UAAmC;YAAED,IAAIF,KAAKD;UAAG;;QAC/DK,UAAUC;QACVC,MAAM;QACNC,aAAa;UAAC;UAAoC;YAAEL,IAAIF,KAAKD;UAAG;;QAChES,WAAW;UAAC;UAAkC;YAAEN,IAAIF,KAAKD;UAAG;;QAC5DU,YAAY;UAAC;UAAmC;YAAEP,IAAIF,KAAKD;UAAG;;QAC9DW,UAAU,MAAMlC,cAAcmC,kBAAkBC,MAAM;UAAEC,QAAQb,KAAKD;QAAG,CAAA;MAC1E,CAAA;AAEArB,eAASoC,IAAIlC,WAAW;QAAE,GAAGF,SAASL,IAAIO,SAAAA;QAAYgB,UAAU;MAAK,CAAA;IACvE;EACF;AAGA,QAAMmB,iBAAiB3C,QAAQ4C,WAAU;AACzC,aAAWH,UAAUE,gBAAgB;AACnC5C,mBAAe8C,OAAO,iBAAiBJ,MAAAA,IAAU,QAAQ,QAAA;EAC3D;AAEA,SAAcK,kBAAW,MACvB1C,cAAc2C,uBAAuBC,WAAW;IAC9CC,MAAM;IACNC,YAAY;;MAEVC,cAAcC,OAAOC,YAAYC,OAAOC,eAAeH,OAAOC,YAAYC,OAAOE;IACnF;EACF,CAAA,CAAA;AAKF,QAAMC,UAAUC,wBAAwB5D,WAAWa,QAAQZ,aAAAA;AAE3D,SAAc+C,kBAAW,MACvBa,QAAQC,IAAI;IACV7D,cAAc8D,gBAAgBlD,OAAOmD,SAASA,QAAQ;IACtD/D,cAAcgE,oBAAoBpD,MAAAA;IAClCZ,cAAciE,oBAAoBrD,OAAOmD,SAASA,QAAQ;IAC1D/D,cAAckE,mBAAmBtD,QAAQb,SAAAA;GAC1C,CAAA;AAGH,MAAIa,OAAOuD,KAAKC,SAASlE,IAAG,GAAI;AAC9B,WAAc6C,kBAAW,MAAMjC,kBAAAA,CAAAA;EACjC,OAAO;AACL,UAAMuD,eAAezD,OAAOuD,KAAKC,SAASE,UAAU,OAAOF,aAAAA;AACzD,UAAIA,YAAYpE,eAAe;AAC7B,cAAMc,kBAAAA;AACN,cAAMd,cAAc8D,gBAAgBlD,OAAOmD,SAASA,QAAQ;AAC5DM,qBAAaE,YAAW;MAC1B;IACF,CAAA;EACF;AAEA,SAAO5E,WAAW6E,YAAY9D,0BAA0B+D,eAAezE,eAAe,MAC7E+C,kBAAW,YAAA;AAChBW,YAAAA;AACA,UAAM1D,cAAc0E,MAAK;EAC3B,CAAA,CAAA;AAEJ,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "Capability", "Common", "SettingsOperation", "setupTelemetryListeners", "Capability", "makeModule", "fnUntraced", "props", "namespace", "observability", "manager", "get", "Common", "PluginManager", "invokePromise", "OperationInvoker", "registry", "AtomRegistry", "stateAtom", "ObservabilityCapabilities", "State", "client", "ClientCapability", "sendPrivacyNotice", "environment", "config", "values", "runtime", "app", "env", "DX_ENVIRONMENT", "notify", "endsWith", "state", "notified", "LayoutOperation", "AddToast", "id", "meta", "title", "ns", "description", "duration", "Infinity", "icon", "actionLabel", "actionAlt", "closeLabel", "onAction", "SettingsOperation", "Open", "plugin", "set", "enabledPlugins", "getEnabled", "setTag", "tryPromise", "ObservabilityOperation", "SendEvent", "name", "properties", "loadDuration", "window", "performance", "timing", "loadEventEnd", "loadEventStart", "cleanup", "setupTelemetryListeners", "Promise", "all", "setIdentityTags", "services", "startRuntimeMetrics", "startNetworkMetrics", "startSpacesMetrics", "halo", "identity", "subscription", "subscribe", "unsubscribe", "contributes", "Observability", "close"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/operation-resolver/operation-resolver.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { getTelemetryIdentity, storeObservabilityDisabled } from '@dxos/observability';\nimport { OperationResolver } from '@dxos/operation';\n\nimport { type ObservabilitySettingsProps } from '../../components';\nimport { meta } from '../../meta';\nimport { ClientCapability, ObservabilityCapabilities, ObservabilityOperation } from '../../types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* (props?: { namespace: string }) {\n const { namespace } = props!;\n const capabilities = yield* Capability.Service;\n\n return Capability.contributes(Common.Capability.OperationResolver, [\n //\n // Toggle\n //\n OperationResolver.make({\n operation: ObservabilityOperation.Toggle,\n handler: Effect.fnUntraced(function* (input) {\n const client = yield* Capability.get(ClientCapability);\n const observability = yield* Capability.get(ObservabilityCapabilities.Observability);\n const registry = capabilities.get(Common.Capability.AtomRegistry);\n const allSettings = capabilities.getAll(Common.Capability.Settings);\n const settingsObj = allSettings.find((s: Common.Capability.Settings) => s.prefix === meta.id);\n if (!settingsObj) {\n return false;\n }\n const settings = registry.get(settingsObj.atom) as ObservabilitySettingsProps;\n const newEnabled = input.state ?? !settings.enabled;\n registry.set(settingsObj.atom, { ...settings, enabled: newEnabled });\n observability.track({\n ...getTelemetryIdentity(client),\n action: 'observability.toggle',\n properties: {\n enabled: newEnabled,\n },\n });\n observability.setMode(newEnabled ? 'basic' : 'disabled');\n yield* Effect.promise(() => storeObservabilityDisabled(namespace, !newEnabled));\n return newEnabled;\n }),\n }),\n\n //\n // SendEvent\n //\n OperationResolver.make({\n operation: ObservabilityOperation.SendEvent,\n handler: Effect.fnUntraced(function* (input) {\n // NOTE: This is to ensure that events fired before observability is ready are still sent.\n const observability = yield* Capability.waitFor(ObservabilityCapabilities.Observability);\n const client = yield* Capability.get(ClientCapability);\n const properties = input.properties ?? {};\n\n observability.track({\n ...getTelemetryIdentity(client),\n action: input.name,\n properties,\n });\n }),\n }),\n\n //\n // CaptureUserFeedback\n //\n OperationResolver.make({\n operation: ObservabilityOperation.CaptureUserFeedback,\n handler: Effect.fnUntraced(function* (input) {\n const observability = yield* Capability.get(ObservabilityCapabilities.Observability);\n observability.captureUserFeedback(input.message);\n }),\n }),\n ]);\n }),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,YAAYC,cAAc;AACnC,SAASC,sBAAsBC,kCAAkC;AACjE,SAASC,yBAAyB;AAMlC,IAAA,6BAAeC,WAAWC,WACjBC,kBAAW,WAAWC,OAA6B;AACxD,QAAM,EAAEC,UAAS,IAAKD;AACtB,QAAME,eAAe,OAAOL,WAAWM;AAEvC,SAAON,WAAWO,YAAYC,OAAOR,WAAWS,mBAAmB;;;;IAIjEA,kBAAkBC,KAAK;MACrBC,WAAWC,uBAAuBC;MAClCC,SAAgBZ,kBAAW,WAAWa,OAAK;AACzC,cAAMC,SAAS,OAAOhB,WAAWiB,IAAIC,gBAAAA;AACrC,cAAMC,gBAAgB,OAAOnB,WAAWiB,IAAIG,0BAA0BC,aAAa;AACnF,cAAMC,WAAWjB,aAAaY,IAAIT,OAAOR,WAAWuB,YAAY;AAChE,cAAMC,cAAcnB,aAAaoB,OAAOjB,OAAOR,WAAW0B,QAAQ;AAClE,cAAMC,cAAcH,YAAYI,KAAK,CAACC,MAAkCA,EAAEC,WAAWC,KAAKC,EAAE;AAC5F,YAAI,CAACL,aAAa;AAChB,iBAAO;QACT;AACA,cAAMM,WAAWX,SAASL,IAAIU,YAAYO,IAAI;AAC9C,cAAMC,aAAapB,MAAMqB,SAAS,CAACH,SAASI;AAC5Cf,iBAASgB,IAAIX,YAAYO,MAAM;UAAE,GAAGD;UAAUI,SAASF;QAAW,CAAA;AAClEhB,sBAAcoB,MAAM;UAClB,GAAGC,qBAAqBxB,MAAAA;UACxByB,QAAQ;UACRC,YAAY;YACVL,SAASF;UACX;QACF,CAAA;AACAhB,sBAAcwB,QAAQR,aAAa,UAAU,UAAA;AAC7C,eAAcS,eAAQ,MAAMC,2BAA2BzC,WAAW,CAAC+B,UAAAA,CAAAA;AACnE,eAAOA;MACT,CAAA;IACF,CAAA;;;;IAKA1B,kBAAkBC,KAAK;MACrBC,WAAWC,uBAAuBkC;MAClChC,SAAgBZ,kBAAW,WAAWa,OAAK;AAEzC,cAAMI,gBAAgB,OAAOnB,WAAW+C,QAAQ3B,0BAA0BC,aAAa;AACvF,cAAML,SAAS,OAAOhB,WAAWiB,IAAIC,gBAAAA;AACrC,cAAMwB,aAAa3B,MAAM2B,cAAc,CAAC;AAExCvB,sBAAcoB,MAAM;UAClB,GAAGC,qBAAqBxB,MAAAA;UACxByB,QAAQ1B,MAAMiC;UACdN;QACF,CAAA;MACF,CAAA;IACF,CAAA;;;;IAKAjC,kBAAkBC,KAAK;MACrBC,WAAWC,uBAAuBqC;MAClCnC,SAAgBZ,kBAAW,WAAWa,OAAK;AACzC,cAAMI,gBAAgB,OAAOnB,WAAWiB,IAAIG,0BAA0BC,aAAa;AACnFF,sBAAc+B,oBAAoBnC,MAAMoC,OAAO;MACjD,CAAA;IACF,CAAA;GACD;AACH,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "Capability", "Common", "getTelemetryIdentity", "storeObservabilityDisabled", "OperationResolver", "Capability", "makeModule", "fnUntraced", "props", "namespace", "capabilities", "Service", "contributes", "Common", "OperationResolver", "make", "operation", "ObservabilityOperation", "Toggle", "handler", "input", "client", "get", "ClientCapability", "observability", "ObservabilityCapabilities", "Observability", "registry", "AtomRegistry", "allSettings", "getAll", "Settings", "settingsObj", "find", "s", "prefix", "meta", "id", "settings", "atom", "newEnabled", "state", "enabled", "set", "track", "getTelemetryIdentity", "action", "properties", "setMode", "promise", "storeObservabilityDisabled", "SendEvent", "waitFor", "name", "CaptureUserFeedback", "captureUserFeedback", "message"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/react-surface/react-surface.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React from 'react';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { useSettingsState } from '@dxos/app-framework/react';\n\nimport { HelpContainer, ObservabilitySettings, type ObservabilitySettingsProps } from '../../components';\nimport { meta } from '../../meta';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Common.Capability.ReactSurface, [\n Common.createSurface({\n id: meta.id,\n role: 'article',\n filter: (data): data is { subject: Common.Capability.Settings } =>\n Common.Capability.isSettings(data.subject) && data.subject.prefix === meta.id,\n component: ({ data: { subject } }) => {\n const { settings, updateSettings } = useSettingsState<ObservabilitySettingsProps>(subject.atom);\n return <ObservabilitySettings settings={settings} onSettingsChange={updateSettings} />;\n },\n }),\n Common.createSurface({\n id: `${meta.id}/help`,\n role: 'deck-companion--help',\n component: () => <HelpContainer />,\n }),\n ]),\n ),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;AAIA,YAAYA,YAAY;AACxB,OAAOC,WAAW;AAElB,SAASC,YAAYC,cAAc;AACnC,SAASC,wBAAwB;AAKjC,IAAA,wBAAeC,WAAWC,WAAW,MAC5BC,eACLF,WAAWG,YAAYC,OAAOJ,WAAWK,cAAc;EACrDD,OAAOE,cAAc;IACnBC,IAAIC,KAAKD;IACTE,MAAM;IACNC,QAAQ,CAACC,SACPP,OAAOJ,WAAWY,WAAWD,KAAKE,OAAO,KAAKF,KAAKE,QAAQC,WAAWN,KAAKD;IAC7EQ,WAAW,CAAC,EAAEJ,MAAM,EAAEE,QAAO,EAAE,MAAE;AAC/B,YAAM,EAAEG,UAAUC,eAAc,IAAKC,iBAA6CL,QAAQM,IAAI;AAC9F,aAAO,sBAAA,cAACC,uBAAAA;QAAsBJ;QAAoBK,kBAAkBJ;;IACtE;EACF,CAAA;EACAb,OAAOE,cAAc;IACnBC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNM,WAAW,MAAM,sBAAA,cAACO,eAAAA,IAAAA;EACpB,CAAA;CACD,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "React", "Capability", "Common", "useSettingsState", "Capability", "makeModule", "succeed", "contributes", "Common", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "isSettings", "subject", "prefix", "component", "settings", "updateSettings", "useSettingsState", "atom", "ObservabilitySettings", "onSettingsChange", "HelpContainer"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/settings/settings.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { createKvsStore } from '@dxos/effect';\n\nimport { ObservabilitySettingsSchema } from '../../components';\nimport { meta } from '../../meta';\nimport { ObservabilityCapabilities } from '../../types';\n\nexport default Capability.makeModule(() =>\n Effect.sync(() => {\n const settingsAtom = createKvsStore({\n key: meta.id,\n schema: ObservabilitySettingsSchema,\n defaultValue: () => ({\n enabled: true,\n }),\n });\n\n return [\n Capability.contributes(ObservabilityCapabilities.Settings, settingsAtom),\n Capability.contributes(Common.Capability.Settings, {\n prefix: meta.id,\n schema: ObservabilitySettingsSchema,\n atom: settingsAtom,\n }),\n ];\n }),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,YAAYC,cAAc;AACnC,SAASC,sBAAsB;AAM/B,IAAA,mBAAeC,WAAWC,WAAW,MAC5BC,YAAK,MAAA;AACV,QAAMC,eAAeC,eAAe;IAClCC,KAAKC,KAAKC;IACVC,QAAQC;IACRC,cAAc,OAAO;MACnBC,SAAS;IACX;EACF,CAAA;AAEA,SAAO;IACLX,WAAWY,YAAYC,0BAA0BC,UAAUX,YAAAA;IAC3DH,WAAWY,YAAYG,OAAOf,WAAWc,UAAU;MACjDE,QAAQV,KAAKC;MACbC,QAAQC;MACRQ,MAAMd;IACR,CAAA;;AAEJ,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "Capability", "Common", "createKvsStore", "Capability", "makeModule", "sync", "settingsAtom", "createKvsStore", "key", "meta", "id", "schema", "ObservabilitySettingsSchema", "defaultValue", "enabled", "contributes", "ObservabilityCapabilities", "Settings", "Common", "prefix", "atom"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/state/state.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport { createKvsStore } from '@dxos/effect';\nimport { getObservabilityGroup } from '@dxos/observability';\n\nimport { meta } from '../../meta';\nimport { ObservabilityCapabilities } from '../../types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* (props?: { namespace: string }) {\n const { namespace } = props!;\n const stateAtom = createKvsStore({\n key: meta.id,\n schema: ObservabilityCapabilities.StateSchema,\n defaultValue: () => ({}),\n });\n\n // NOTE: Group is set at runtime, not persisted.\n const group = yield* Effect.tryPromise(() => getObservabilityGroup(namespace));\n const registry = yield* Capability.get(Common.Capability.AtomRegistry);\n registry.set(stateAtom, { ...registry.get(stateAtom), group });\n\n return Capability.contributes(ObservabilityCapabilities.State, stateAtom);\n }),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,YAAYC,cAAc;AACnC,SAASC,sBAAsB;AAC/B,SAASC,6BAA6B;AAKtC,IAAA,gBAAeC,WAAWC,WACjBC,kBAAW,WAAWC,OAA6B;AACxD,QAAM,EAAEC,UAAS,IAAKD;AACtB,QAAME,YAAYC,eAAe;IAC/BC,KAAKC,KAAKC;IACVC,QAAQC,0BAA0BC;IAClCC,cAAc,OAAO,CAAC;EACxB,CAAA;AAGA,QAAMC,QAAQ,OAAcC,kBAAW,MAAMC,sBAAsBZ,SAAAA,CAAAA;AACnE,QAAMa,WAAW,OAAOjB,WAAWkB,IAAIC,OAAOnB,WAAWoB,YAAY;AACrEH,WAASI,IAAIhB,WAAW;IAAE,GAAGY,SAASC,IAAIb,SAAAA;IAAYS;EAAM,CAAA;AAE5D,SAAOd,WAAWsB,YAAYX,0BAA0BY,OAAOlB,SAAAA;AACjE,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "Capability", "Common", "createKvsStore", "getObservabilityGroup", "Capability", "makeModule", "fnUntraced", "props", "namespace", "stateAtom", "createKvsStore", "key", "meta", "id", "schema", "ObservabilityCapabilities", "StateSchema", "defaultValue", "group", "tryPromise", "getObservabilityGroup", "registry", "get", "Common", "AtomRegistry", "set", "contributes", "State"]
|
|
7
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { type FormRootProps } from '@dxos/react-ui-form';
|
|
3
|
-
import { UserFeedback } from '../types';
|
|
4
|
-
export type FeedbackFormProps = Pick<FormRootProps<UserFeedback>, 'onSave'>;
|
|
5
|
-
export declare const FeedbackForm: ({ onSave }: FeedbackFormProps) => React.JSX.Element;
|
|
6
|
-
//# sourceMappingURL=FeedbackForm.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FeedbackForm.d.ts","sourceRoot":"","sources":["../../../../src/components/FeedbackForm.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG/D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;AAE5E,eAAO,MAAM,YAAY,GAAI,YAAY,iBAAiB,sBAWzD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FeedbackForm.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/FeedbackForm.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAQjE,QAAA,MAAM,IAAI;;;;;;;;yBANoD,CAEzD,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;CAYwB,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HelpContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/HelpContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAW3C,eAAO,MAAM,aAAa,yBAoBzB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ObservabilitySettings.d.ts","sourceRoot":"","sources":["../../../../src/components/ObservabilitySettings.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,eAAO,MAAM,2BAA2B;;GAQvC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhG,MAAM,MAAM,mCAAmC,GAAG;IAChD,QAAQ,EAAE,0BAA0B,CAAC;IACrC,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,0BAA0B,KAAK,0BAA0B,KAAK,IAAI,CAAC;CACrG,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,cAAc,mCAAmC,sBAqBtF,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2024 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import React from 'react';
|
|
6
|
-
|
|
7
|
-
import { useTranslation } from '@dxos/react-ui';
|
|
8
|
-
import { Form, type FormRootProps } from '@dxos/react-ui-form';
|
|
9
|
-
|
|
10
|
-
import { meta } from '../meta';
|
|
11
|
-
import { UserFeedback } from '../types';
|
|
12
|
-
|
|
13
|
-
export type FeedbackFormProps = Pick<FormRootProps<UserFeedback>, 'onSave'>;
|
|
14
|
-
|
|
15
|
-
export const FeedbackForm = ({ onSave }: FeedbackFormProps) => {
|
|
16
|
-
const { t } = useTranslation(meta.id);
|
|
17
|
-
|
|
18
|
-
return (
|
|
19
|
-
<Form.Root schema={UserFeedback} onSave={onSave}>
|
|
20
|
-
<Form.Content>
|
|
21
|
-
<Form.FieldSet />
|
|
22
|
-
<Form.Submit icon='ph--paper-plane-tilt--regular' label={t('send feedback label')} />
|
|
23
|
-
</Form.Content>
|
|
24
|
-
</Form.Root>
|
|
25
|
-
);
|
|
26
|
-
};
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2025 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import React, { useCallback } from 'react';
|
|
6
|
-
|
|
7
|
-
import { Common } from '@dxos/app-framework';
|
|
8
|
-
import { useOperationInvoker } from '@dxos/app-framework/react';
|
|
9
|
-
import { osTranslations } from '@dxos/ui-theme';
|
|
10
|
-
|
|
11
|
-
import { meta } from '../meta';
|
|
12
|
-
import { ObservabilityOperation, type UserFeedback } from '../types';
|
|
13
|
-
|
|
14
|
-
import { FeedbackForm } from './FeedbackForm';
|
|
15
|
-
|
|
16
|
-
export const HelpContainer = () => {
|
|
17
|
-
const { invokePromise } = useOperationInvoker();
|
|
18
|
-
|
|
19
|
-
const handleSave = useCallback(
|
|
20
|
-
async (values: UserFeedback) => {
|
|
21
|
-
await invokePromise(ObservabilityOperation.CaptureUserFeedback, values);
|
|
22
|
-
await invokePromise(Common.LayoutOperation.UpdateComplementary, { state: 'collapsed' });
|
|
23
|
-
await invokePromise(Common.LayoutOperation.AddToast, {
|
|
24
|
-
id: `${meta.id}/feedback-success`,
|
|
25
|
-
icon: 'ph--paper-plane-tilt--regular',
|
|
26
|
-
duration: 3000,
|
|
27
|
-
title: ['feedback toast label', { ns: meta.id }],
|
|
28
|
-
description: ['feedback toast description', { ns: meta.id }],
|
|
29
|
-
closeLabel: ['close label', { ns: osTranslations }],
|
|
30
|
-
});
|
|
31
|
-
},
|
|
32
|
-
[invokePromise],
|
|
33
|
-
);
|
|
34
|
-
|
|
35
|
-
return <FeedbackForm onSave={handleSave} />;
|
|
36
|
-
};
|
/package/dist/types/src/{components → containers/ObservabilitySettings}/ObservabilitySettings.d.ts
RENAMED
|
File without changes
|