@m4l/testing 0.0.23 → 1.0.1
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/README.md +679 -0
- package/chunks/reactLeaflet-Cffkauof.js +1846 -0
- package/chunks/render-CsuV8xqo.js +17 -0
- package/chunks/userPreferences-BmOgRaIX.js +493 -0
- package/index.js +76 -25
- package/mocks/index.js +41 -0
- package/package.json +85 -102
- package/playwright/index.js +2041 -0
- package/rtl/index.js +180 -0
- package/types/libs/observability/mf/src/browserRuntimeHandles.d.ts +112 -0
- package/types/libs/observability/mf/src/diagnosticLogging.d.ts +2 -0
- package/types/libs/observability/mf/src/diagnosticPolicies/catalog.d.ts +267 -0
- package/types/libs/observability/mf/src/diagnosticPolicies/contracts.d.ts +64 -0
- package/types/libs/observability/mf/src/diagnosticPolicies/host.d.ts +139 -0
- package/types/libs/observability/mf/src/diagnosticPolicies/index.d.ts +6 -0
- package/types/libs/observability/mf/src/diagnosticPolicies/operativeMyGpsDevices.d.ts +104 -0
- package/types/libs/observability/mf/src/diagnosticPolicies/sharedReportsList.d.ts +44 -0
- package/types/libs/observability/mf/src/diagnosticPolicyKeys.d.ts +34 -0
- package/types/libs/observability/mf/src/index.d.ts +14 -0
- package/types/libs/observability/mf/src/runtimeSmoke.d.ts +13 -0
- package/types/libs/observability/mf/src/telemetry.d.ts +2 -0
- package/types/libs/observability/shared/src/diagnosticLogging.d.ts +97 -0
- package/types/libs/observability/shared/src/index.d.ts +6 -0
- package/types/libs/observability/shared/src/runtimeHandles.d.ts +27 -0
- package/types/libs/observability/shared/src/telemetry.d.ts +179 -0
- package/types/packages/testing/mocks/src/constants.d.ts +10 -0
- package/types/packages/testing/mocks/src/fixtures.d.ts +258 -0
- package/types/packages/testing/mocks/src/helpers/environment.d.ts +44 -0
- package/types/packages/testing/mocks/src/helpers/hostTools.d.ts +10 -0
- package/types/packages/testing/mocks/src/helpers/index.d.ts +5 -0
- package/types/packages/testing/mocks/src/helpers/moduleDictionary.d.ts +9 -0
- package/types/packages/testing/mocks/src/helpers/toaster.d.ts +9 -0
- package/types/packages/testing/mocks/src/helpers/userPreferences.d.ts +17 -0
- package/types/packages/testing/mocks/src/index.d.ts +4 -0
- package/types/packages/testing/mocks/src/types.d.ts +233 -0
- package/types/packages/testing/playwright/src/fixtures/createHostAreaFixture.d.ts +5 -0
- package/types/packages/testing/playwright/src/fixtures/createHostAuthenticatedMfMenuFixture.d.ts +5 -0
- package/types/packages/testing/playwright/src/fixtures/createHostAuthenticatedMfModuleDictionaryFixture.d.ts +5 -0
- package/types/packages/testing/playwright/src/fixtures/createHostAuthenticatedSessionFixture.d.ts +6 -0
- package/types/packages/testing/playwright/src/fixtures/createHostCookieFixture.d.ts +5 -0
- package/types/packages/testing/playwright/src/fixtures/createHostGuestSessionFixture.d.ts +5 -0
- package/types/packages/testing/playwright/src/fixtures/createHostLocaleFixture.d.ts +5 -0
- package/types/packages/testing/playwright/src/fixtures/createHostMfPreviewDynamicParamsFixture.d.ts +5 -0
- package/types/packages/testing/playwright/src/fixtures/createHostModuleDictionaryFixture.d.ts +11 -0
- package/types/packages/testing/playwright/src/fixtures/createHostUiConfigFixture.d.ts +7 -0
- package/types/packages/testing/playwright/src/fixtures/createHostUserPreferencesFixture.d.ts +6 -0
- package/types/packages/testing/playwright/src/fixtures/createListResponseFixture.d.ts +6 -0
- package/types/packages/testing/playwright/src/fixtures/index.d.ts +12 -0
- package/types/packages/testing/playwright/src/helpers/attachJson.d.ts +9 -0
- package/types/packages/testing/playwright/src/helpers/formAccess.d.ts +53 -0
- package/types/packages/testing/playwright/src/helpers/formSelect.d.ts +51 -0
- package/types/packages/testing/playwright/src/helpers/formatFailedChecks.d.ts +18 -0
- package/types/packages/testing/playwright/src/helpers/index.d.ts +16 -0
- package/types/packages/testing/playwright/src/helpers/listDatagrid.d.ts +219 -0
- package/types/packages/testing/playwright/src/helpers/listDetail.d.ts +65 -0
- package/types/packages/testing/playwright/src/helpers/listFilter.d.ts +27 -0
- package/types/packages/testing/playwright/src/helpers/listSort.d.ts +19 -0
- package/types/packages/testing/playwright/src/helpers/listStatePersistence.d.ts +15 -0
- package/types/packages/testing/playwright/src/helpers/openHostAccountMenuModule.d.ts +10 -0
- package/types/packages/testing/playwright/src/helpers/openHostAuthenticatedMfPreviewModule.d.ts +5 -0
- package/types/packages/testing/playwright/src/helpers/openHostMobileSidebarModule.d.ts +15 -0
- package/types/packages/testing/playwright/src/helpers/openHostSidebarModule.d.ts +5 -0
- package/types/packages/testing/playwright/src/helpers/realtimePerformanceBrowser.d.ts +144 -0
- package/types/packages/testing/playwright/src/helpers/viewModeDataGrid.d.ts +67 -0
- package/types/packages/testing/playwright/src/helpers/waitForBrowserCondition.d.ts +38 -0
- package/types/packages/testing/playwright/src/index.d.ts +11 -0
- package/types/packages/testing/playwright/src/installers/index.d.ts +20 -0
- package/types/packages/testing/playwright/src/installers/installHostAlarmsCountRoute.d.ts +5 -0
- package/types/packages/testing/playwright/src/installers/installHostAreasRoute.d.ts +5 -0
- package/types/packages/testing/playwright/src/installers/installHostAuthenticatedBootstrapRoutes.d.ts +6 -0
- package/types/packages/testing/playwright/src/installers/installHostAuthenticatedMfModuleDictionaryRoute.d.ts +5 -0
- package/types/packages/testing/playwright/src/installers/installHostAuthenticatedMfPreviewBootstrap.d.ts +11 -0
- package/types/packages/testing/playwright/src/installers/installHostAuthenticatedSessionRoute.d.ts +6 -0
- package/types/packages/testing/playwright/src/installers/installHostCookiesRoute.d.ts +8 -0
- package/types/packages/testing/playwright/src/installers/installHostGuestBootstrapRoutes.d.ts +7 -0
- package/types/packages/testing/playwright/src/installers/installHostGuestSessionRoute.d.ts +7 -0
- package/types/packages/testing/playwright/src/installers/installHostLocaleRoute.d.ts +5 -0
- package/types/packages/testing/playwright/src/installers/installHostMenusRoute.d.ts +11 -0
- package/types/packages/testing/playwright/src/installers/installHostModuleDictionaryRoute.d.ts +6 -0
- package/types/packages/testing/playwright/src/installers/installHostPasswordNewRoute.d.ts +6 -0
- package/types/packages/testing/playwright/src/installers/installHostPasswordResetRoute.d.ts +6 -0
- package/types/packages/testing/playwright/src/installers/installHostUiConfigAssetRoutes.d.ts +9 -0
- package/types/packages/testing/playwright/src/installers/installHostUiConfigRoute.d.ts +7 -0
- package/types/packages/testing/playwright/src/installers/installHostUserPreferencesRoute.d.ts +6 -0
- package/types/packages/testing/playwright/src/installers/installListEndpointRoute.d.ts +7 -0
- package/types/packages/testing/playwright/src/installers/installMicrofrontendRenderStub.d.ts +9 -0
- package/types/packages/testing/playwright/src/installers/installModulePrivilegesRoute.d.ts +11 -0
- package/types/packages/testing/playwright/src/types.d.ts +598 -0
- package/types/packages/testing/rtl/src/index.d.ts +4 -0
- package/types/packages/testing/rtl/src/matchMedia.d.ts +10 -0
- package/types/packages/testing/rtl/src/render.d.ts +17 -0
- package/types/packages/testing/rtl/src/resizeObserver.d.ts +33 -0
- package/types/packages/testing/rtl/src/storage.d.ts +10 -0
- package/types/packages/testing/src/index.d.ts +6 -0
- package/types/packages/testing/vitest/src/constants.d.ts +24 -0
- package/types/packages/testing/vitest/src/factories/app/index.d.ts +5 -0
- package/types/packages/testing/vitest/src/factories/app/m4lAppBase.d.ts +9 -0
- package/types/packages/testing/vitest/src/factories/app/m4lAppComponents.d.ts +20 -0
- package/types/packages/testing/vitest/src/factories/app/m4lAppCore.d.ts +12 -0
- package/types/packages/testing/vitest/src/factories/app/m4lAppGraphics.d.ts +10 -0
- package/types/packages/testing/vitest/src/factories/app/m4lAppLayouts.d.ts +18 -0
- package/types/packages/testing/vitest/src/factories/base/index.d.ts +1 -0
- package/types/packages/testing/vitest/src/factories/base/m4lBaseComponents.d.ts +13 -0
- package/types/packages/testing/vitest/src/factories/index.d.ts +7 -0
- package/types/packages/testing/vitest/src/factories/leaflet.d.ts +10 -0
- package/types/packages/testing/vitest/src/factories/packages/index.d.ts +7 -0
- package/types/packages/testing/vitest/src/factories/packages/m4lPackageBase.d.ts +11 -0
- package/types/packages/testing/vitest/src/factories/packages/m4lPackageComponents.d.ts +11 -0
- package/types/packages/testing/vitest/src/factories/packages/m4lPackageCore.d.ts +11 -0
- package/types/packages/testing/vitest/src/factories/packages/m4lPackageGclick.d.ts +10 -0
- package/types/packages/testing/vitest/src/factories/packages/m4lPackageGclickRealtime.d.ts +6 -0
- package/types/packages/testing/vitest/src/factories/packages/m4lPackageGraphics.d.ts +9 -0
- package/types/packages/testing/vitest/src/factories/packages/m4lPackageLayouts.d.ts +10 -0
- package/types/packages/testing/vitest/src/factories/reResizable.d.ts +6 -0
- package/types/packages/testing/vitest/src/factories/reactHookForm.d.ts +10 -0
- package/types/packages/testing/vitest/src/factories/reactLeaflet.d.ts +10 -0
- package/types/packages/testing/vitest/src/fixtures.d.ts +71 -0
- package/types/packages/testing/vitest/src/helpers/columnConfigs.d.ts +184 -0
- package/types/packages/testing/vitest/src/helpers/elementMocks.d.ts +166 -0
- package/types/packages/testing/vitest/src/helpers/filterFields.d.ts +37 -0
- package/types/packages/testing/vitest/src/helpers/index.d.ts +9 -0
- package/types/packages/testing/vitest/src/helpers/mapStore.d.ts +9 -0
- package/types/packages/testing/vitest/src/helpers/moduleContract.d.ts +15 -0
- package/types/packages/testing/vitest/src/helpers/rhf.d.ts +8 -0
- package/types/packages/testing/vitest/src/helpers/serialization.d.ts +7 -0
- package/types/packages/testing/vitest/src/helpers/sortFields.d.ts +28 -0
- package/types/packages/testing/vitest/src/helpers/windowSizes.d.ts +1 -0
- package/types/packages/testing/vitest/src/index.d.ts +6 -0
- package/types/packages/testing/vitest/src/installers/consoleError.d.ts +9 -0
- package/types/packages/testing/vitest/src/installers/index.d.ts +2 -0
- package/types/packages/testing/vitest/src/installers/rhfSubmit.d.ts +9 -0
- package/types/packages/testing/vitest/src/types.d.ts +116 -0
- package/vitest/index.js +55 -0
- package/e2e/commands/components/Accordions/commands.d.ts +0 -4
- package/e2e/commands/components/Accordions/commands.js +0 -19
- package/e2e/commands/components/Accordions/types.d.ts +0 -63
- package/e2e/commands/components/CommonActions/commands.d.ts +0 -4
- package/e2e/commands/components/CommonActions/commands.js +0 -11
- package/e2e/commands/components/CommonActions/types.d.ts +0 -20
- package/e2e/commands/components/DataGrid/commands.d.ts +0 -4
- package/e2e/commands/components/DataGrid/commands.js +0 -42
- package/e2e/commands/components/DataGrid/types.d.ts +0 -140
- package/e2e/commands/components/DynamicFilter/commands.d.ts +0 -4
- package/e2e/commands/components/DynamicFilter/commands.js +0 -12
- package/e2e/commands/components/DynamicFilter/types.d.ts +0 -27
- package/e2e/commands/components/DynamicSort/commands.d.ts +0 -4
- package/e2e/commands/components/DynamicSort/commands.js +0 -10
- package/e2e/commands/components/DynamicSort/types.d.ts +0 -26
- package/e2e/commands/components/Filters/commands.d.ts +0 -4
- package/e2e/commands/components/Filters/commands.js +0 -24
- package/e2e/commands/components/Filters/types.d.ts +0 -91
- package/e2e/commands/components/MenuActions/commands.d.ts +0 -4
- package/e2e/commands/components/MenuActions/commands.js +0 -8
- package/e2e/commands/components/MenuActions/types.d.ts +0 -24
- package/e2e/commands/components/Popover/commands.d.ts +0 -4
- package/e2e/commands/components/Popover/commands.js +0 -8
- package/e2e/commands/components/Popover/types.d.ts +0 -15
- package/e2e/commands/components/PropertyValue/commands.d.ts +0 -4
- package/e2e/commands/components/PropertyValue/commands.js +0 -8
- package/e2e/commands/components/PropertyValue/types.d.ts +0 -19
- package/e2e/commands/components/Tab/commands.d.ts +0 -4
- package/e2e/commands/components/Tab/commands.js +0 -9
- package/e2e/commands/components/Tab/types.d.ts +0 -29
- package/e2e/commands/components/WindowBase/commands.d.ts +0 -4
- package/e2e/commands/components/WindowBase/commands.js +0 -20
- package/e2e/commands/components/WindowBase/types.d.ts +0 -84
- package/e2e/commands/components/index.d.ts +0 -11
- package/e2e/commands/components/index.js +0 -1
- package/e2e/commands/index.d.ts +0 -4
- package/e2e/commands/index.js +0 -1
- package/e2e/commands/intercepts/index.d.ts +0 -2
- package/e2e/commands/intercepts/index.js +0 -1
- package/e2e/commands/intercepts/noPrivileges/interceptCommands.d.ts +0 -5
- package/e2e/commands/intercepts/noPrivileges/interceptCommands.js +0 -15
- package/e2e/commands/intercepts/noPrivileges/types.d.ts +0 -8
- package/e2e/commands/intercepts/noPrivileges/types.js +0 -1
- package/e2e/commands/register.d.ts +0 -4
- package/e2e/commands/register.js +0 -18
- package/e2e/cypress.d.js +0 -1
- package/e2e/cypress.d.ts +0 -23
- package/e2e/index.d.ts +0 -1
- package/e2e/types.d.ts +0 -4
- package/index.d.ts +0 -4
- package/index.test.d.ts +0 -1
- package/testComponents/DataGrid/helpers.d.ts +0 -5
- package/testComponents/DataGrid/helpers.js +0 -95
- package/testComponents/DataGrid/index.d.ts +0 -2
- package/testComponents/DataGrid/index.js +0 -1
- package/testComponents/DataGrid/types.d.ts +0 -54
- package/testComponents/DataGrid/types.js +0 -1
- package/testComponents/DynamicFilter/helpers.d.ts +0 -5
- package/testComponents/DynamicFilter/helpers.js +0 -18
- package/testComponents/DynamicFilter/index.d.ts +0 -1
- package/testComponents/DynamicFilter/index.js +0 -1
- package/testComponents/DynamicFilter/types.d.ts +0 -0
- package/testComponents/DynamicSort/helpers.d.ts +0 -5
- package/testComponents/DynamicSort/helpers.js +0 -16
- package/testComponents/DynamicSort/index.d.ts +0 -1
- package/testComponents/DynamicSort/index.js +0 -1
- package/testComponents/index.d.ts +0 -3
- package/testComponents/index.js +0 -1
- package/testTools/constants.d.ts +0 -0
- package/testTools/index.d.ts +0 -1
- package/testTools/index.js +0 -1
- package/testTools/mocks.d.ts +0 -0
- package/testTools/setup.d.ts +0 -0
- package/testTools/setup.js +0 -1
- package/testTools/types.d.ts +0 -0
- package/testTools/utils.d.ts +0 -11
- package/testTools/utils.js +0 -23
- package/vite-env.d.ts +0 -5
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host-owned diagnostic policy inventory.
|
|
3
|
+
*/
|
|
4
|
+
export declare const hostDiagnosticPolicyCatalog: {
|
|
5
|
+
readonly diagnosticSmoke: {
|
|
6
|
+
readonly active: true;
|
|
7
|
+
readonly codePaths: readonly ["apps/gclick/gclick_host/src/observability/dev/smoke.ts"];
|
|
8
|
+
readonly controlPlane: "remote-policy";
|
|
9
|
+
readonly createdAt: "2026-06-05";
|
|
10
|
+
readonly id: "gclickHostDiagnosticSmoke";
|
|
11
|
+
readonly key: "gclick_host.observability.diagnostic-smoke";
|
|
12
|
+
readonly notes: readonly ["This family is primarily exercised through the browser smoke helper and support overrides."];
|
|
13
|
+
readonly owner: {
|
|
14
|
+
readonly app: "gclick_host";
|
|
15
|
+
readonly runtime: "web";
|
|
16
|
+
readonly surface: "host";
|
|
17
|
+
};
|
|
18
|
+
readonly purpose: "Provide one deterministic browser-log smoke signal before support investigates a live issue.";
|
|
19
|
+
readonly summary: "Manual host smoke proof for browser diagnostic-log delivery.";
|
|
20
|
+
readonly remoteRule: {
|
|
21
|
+
readonly featureKey: "gclick-frontend-diagnostic-policies";
|
|
22
|
+
readonly payloadKey: "gclick_host.observability.diagnostic-smoke";
|
|
23
|
+
readonly provider: "growthbook";
|
|
24
|
+
readonly supportedLayers: readonly ["moduleDefault", "accountOverride"];
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
readonly realtimeConnectionRecovery: {
|
|
28
|
+
readonly active: true;
|
|
29
|
+
readonly codePaths: readonly ["apps/gclick/gclick_host/src/observability/host/realtime.ts"];
|
|
30
|
+
readonly controlPlane: "remote-policy";
|
|
31
|
+
readonly createdAt: "2026-06-05";
|
|
32
|
+
readonly id: "gclickHostRealtimeConnectionRecovery";
|
|
33
|
+
readonly key: "gclick_host.realtime.connection-recovery";
|
|
34
|
+
readonly owner: {
|
|
35
|
+
readonly app: "gclick_host";
|
|
36
|
+
readonly runtime: "web";
|
|
37
|
+
readonly surface: "host";
|
|
38
|
+
};
|
|
39
|
+
readonly purpose: "Capture host websocket transport recovery evidence without waiting for a broader outage investigation.";
|
|
40
|
+
readonly summary: "Host realtime reconnect recovery breadcrumbs.";
|
|
41
|
+
readonly remoteRule: {
|
|
42
|
+
readonly featureKey: "gclick-frontend-diagnostic-policies";
|
|
43
|
+
readonly payloadKey: "gclick_host.realtime.connection-recovery";
|
|
44
|
+
readonly provider: "growthbook";
|
|
45
|
+
readonly supportedLayers: readonly ["moduleDefault", "accountOverride"];
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
readonly realtimeTransportLifecycle: {
|
|
49
|
+
readonly active: true;
|
|
50
|
+
readonly codePaths: readonly ["apps/gclick/gclick_host/src/observability/host/realtime.ts", "apps/gclick/gclick_host/src/layouts/PlatformLayout/helpers/createAtmosphereHostRealtimeRuntime.ts", "packages/realtime-runtime/src/transport/atmosphere/web/SourceDataAtmosphereWeb.ts"];
|
|
51
|
+
readonly controlPlane: "remote-policy";
|
|
52
|
+
readonly createdAt: "2026-08-20";
|
|
53
|
+
readonly id: "gclickHostRealtimeTransportLifecycle";
|
|
54
|
+
readonly key: "gclick_host.realtime.transport-lifecycle";
|
|
55
|
+
readonly owner: {
|
|
56
|
+
readonly app: "gclick_host";
|
|
57
|
+
readonly runtime: "web";
|
|
58
|
+
readonly surface: "host";
|
|
59
|
+
};
|
|
60
|
+
readonly purpose: "Capture host Atmosphere lifecycle breadcrumbs during temporary support investigations of reconnect storms and browser sleep recovery.";
|
|
61
|
+
readonly summary: "Host Atmosphere transport lifecycle breadcrumbs.";
|
|
62
|
+
readonly remoteRule: {
|
|
63
|
+
readonly featureKey: "gclick-frontend-diagnostic-policies";
|
|
64
|
+
readonly payloadKey: "gclick_host.realtime.transport-lifecycle";
|
|
65
|
+
readonly provider: "growthbook";
|
|
66
|
+
readonly supportedLayers: readonly ["moduleDefault", "accountOverride"];
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
readonly remoteDiagnosticProviderHealth: {
|
|
70
|
+
readonly active: true;
|
|
71
|
+
readonly codePaths: readonly ["apps/gclick/gclick_host/src/observability/diagnostic/diagnosticFeatureFlags.ts"];
|
|
72
|
+
readonly controlPlane: "always-on";
|
|
73
|
+
readonly createdAt: "2026-06-08";
|
|
74
|
+
readonly id: "gclickHostRemoteDiagnosticProviderHealth";
|
|
75
|
+
readonly key: "gclick_host.feature-flags.remote-diagnostic-provider-health";
|
|
76
|
+
readonly notes: readonly ["This family is intentionally always-on because provider outages are recoverable anomalies, not optional debug breadcrumbs."];
|
|
77
|
+
readonly owner: {
|
|
78
|
+
readonly app: "gclick_host";
|
|
79
|
+
readonly runtime: "web";
|
|
80
|
+
readonly surface: "host";
|
|
81
|
+
};
|
|
82
|
+
readonly purpose: "Report the first failure in a remote diagnostic-provider outage streak even when no support capture is active.";
|
|
83
|
+
readonly summary: "Host remote diagnostic-provider outage anomaly.";
|
|
84
|
+
};
|
|
85
|
+
readonly tracesRelayDisabled: {
|
|
86
|
+
readonly active: true;
|
|
87
|
+
readonly codePaths: readonly ["apps/gclick/gclick_host/src/observability/otlp/client.ts", "apps/gclick/gclick_host/src/observability/otlp/relayDiagnostics.ts", "libs/observability/web/src/browserOtlp.ts"];
|
|
88
|
+
readonly controlPlane: "always-on";
|
|
89
|
+
readonly createdAt: "2026-06-16";
|
|
90
|
+
readonly id: "gclickHostTracesRelayDisabled";
|
|
91
|
+
readonly key: "gclick_host.observability.traces-relay-disabled";
|
|
92
|
+
readonly notes: readonly ["This family is intentionally always-on because once the browser traces relay disables itself, trace traffic becomes silent and support needs one surviving breadcrumb in Grafana logs."];
|
|
93
|
+
readonly owner: {
|
|
94
|
+
readonly app: "gclick_host";
|
|
95
|
+
readonly runtime: "web";
|
|
96
|
+
readonly surface: "host";
|
|
97
|
+
};
|
|
98
|
+
readonly purpose: "Report the first permanent browser traces-relay shutdown together with the failure metadata that caused the relay to stop exporting.";
|
|
99
|
+
readonly summary: "Host browser traces-relay shutdown anomaly.";
|
|
100
|
+
};
|
|
101
|
+
readonly runtimeBoundaryCrash: {
|
|
102
|
+
readonly active: true;
|
|
103
|
+
readonly codePaths: readonly ["apps/gclick/gclick_host/src/observability/host/runtimeErrors.ts", "packages/layouts/src/components/MFHostApp/MFHostAppErrorBoundary.tsx", "packages/layouts/src/components/MFRuntimeErrorWrapper/MFRuntimeErrorWrapper.tsx", "apps/gclick/gclick_host/src/components/HostShellErrorBoundary/HostShellErrorBoundary.tsx"];
|
|
104
|
+
readonly controlPlane: "always-on";
|
|
105
|
+
readonly createdAt: "2026-06-14";
|
|
106
|
+
readonly id: "gclickHostRuntimeBoundaryCrash";
|
|
107
|
+
readonly key: "gclick_host.runtime-errors.boundary-crash";
|
|
108
|
+
readonly notes: readonly ["This family is intentionally always-on because React boundary crashes are rare fatal degradations that should remain countable in Grafana logs, not only in traces.", "Host-loaded MF wrapper boundaries reuse this family with `runtime.boundary_scope=wrapper` and a stable `runtime.wrapper_id` so support can group contained subtree crashes without a separate policy."];
|
|
109
|
+
readonly owner: {
|
|
110
|
+
readonly app: "gclick_host";
|
|
111
|
+
readonly runtime: "web";
|
|
112
|
+
readonly surface: "host";
|
|
113
|
+
};
|
|
114
|
+
readonly purpose: "Report contained host-shell and host-loaded MF boundary crashes as structured always-on diagnostic logs for dashboarding and alerting.";
|
|
115
|
+
readonly summary: "Host boundary crash anomaly for host shell and host-loaded MFs.";
|
|
116
|
+
};
|
|
117
|
+
readonly refreshDebug: {
|
|
118
|
+
readonly active: true;
|
|
119
|
+
readonly codePaths: readonly ["apps/gclick/gclick_host/src/observability/diagnostic/diagnosticFeatureFlags.ts"];
|
|
120
|
+
readonly controlPlane: "remote-policy";
|
|
121
|
+
readonly createdAt: "2026-06-11";
|
|
122
|
+
readonly id: "gclickHostRefreshDebug";
|
|
123
|
+
readonly key: "gclick_host.feature-flags.refresh-debug";
|
|
124
|
+
readonly notes: readonly ["Use this family when support needs to understand why the browser refreshed, queued, or applied one remote diagnostic payload."];
|
|
125
|
+
readonly owner: {
|
|
126
|
+
readonly app: "gclick_host";
|
|
127
|
+
readonly runtime: "web";
|
|
128
|
+
readonly surface: "host";
|
|
129
|
+
};
|
|
130
|
+
readonly purpose: "Expose host-owned GrowthBook refresh breadcrumbs such as bootstrap, context, focus, visibility, poll, and queued refreshes.";
|
|
131
|
+
readonly summary: "Host remote diagnostic-provider refresh debug breadcrumbs.";
|
|
132
|
+
readonly remoteRule: {
|
|
133
|
+
readonly featureKey: "gclick-frontend-diagnostic-policies";
|
|
134
|
+
readonly payloadKey: "gclick_host.feature-flags.refresh-debug";
|
|
135
|
+
readonly provider: "growthbook";
|
|
136
|
+
readonly supportedLayers: readonly ["moduleDefault", "accountOverride"];
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { diagnosticPolicyCatalogByKey, diagnosticPolicyCatalogEntries, } from './catalog';
|
|
2
|
+
export type { DiagnosticPolicyCatalogControlPlane, DiagnosticPolicyCatalogDate, DiagnosticPolicyCatalogEntry, DiagnosticPolicyCatalogOwner, DiagnosticPolicyCatalogRemoteLayer, DiagnosticPolicyCatalogRemoteProvider, DiagnosticPolicyCatalogRemoteRule, DiagnosticPolicyCatalogSurface, } from './contracts';
|
|
3
|
+
export { diagnosticPolicyWebFeatureKey, diagnosticPolicyWebLayers, } from './contracts';
|
|
4
|
+
export { hostDiagnosticPolicyCatalog } from './host';
|
|
5
|
+
export { operativeMyGpsDevicesDiagnosticPolicyCatalog } from './operativeMyGpsDevices';
|
|
6
|
+
export { sharedReportsListDiagnosticPolicyCatalog } from './sharedReportsList';
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `operative_my_gps_devices` diagnostic policy inventory.
|
|
3
|
+
*/
|
|
4
|
+
export declare const operativeMyGpsDevicesDiagnosticPolicyCatalog: {
|
|
5
|
+
readonly deviceSelectionMissingPosition: {
|
|
6
|
+
readonly active: true;
|
|
7
|
+
readonly codePaths: readonly ["apps/gclick/mfs/operative/operative_my_gps_devices/src/components/App/subcomponents/ModuleMap/subcomponents/MapContent/subcomponents/DevicesPanel/subcomponents/DevicesPanelBody/subcomponents/DeviceCard/DeviceCard.tsx"];
|
|
8
|
+
readonly controlPlane: "remote-policy";
|
|
9
|
+
readonly createdAt: "2026-06-05";
|
|
10
|
+
readonly id: "operativeMyGpsDevicesDeviceSelectionMissingPosition";
|
|
11
|
+
readonly key: "operative_my_gps_devices.device-selection.missing-position";
|
|
12
|
+
readonly owner: {
|
|
13
|
+
readonly app: "operative_my_gps_devices";
|
|
14
|
+
readonly moduleId: "operative_my_gps_devices";
|
|
15
|
+
readonly runtime: "web";
|
|
16
|
+
readonly surface: "mf";
|
|
17
|
+
};
|
|
18
|
+
readonly purpose: "Capture the user-visible branch where one selected device has no finite GNSS position and the map must skip focus safely.";
|
|
19
|
+
readonly summary: "MF selection branch for devices without finite GNSS position.";
|
|
20
|
+
readonly remoteRule: {
|
|
21
|
+
readonly featureKey: "gclick-frontend-diagnostic-policies";
|
|
22
|
+
readonly payloadKey: "operative_my_gps_devices.device-selection.missing-position";
|
|
23
|
+
readonly provider: "growthbook";
|
|
24
|
+
readonly supportedLayers: readonly ["moduleDefault", "accountOverride"];
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
readonly motionCapture: {
|
|
28
|
+
readonly active: true;
|
|
29
|
+
readonly codePaths: readonly ["apps/gclick/mfs/operative/operative_my_gps_devices/src/components/App/subcomponents/ModuleMap/subcomponents/MapContent/subcomponents/DeviceMarker/helpers/motionCapture.ts", "apps/gclick/mfs/operative/operative_my_gps_devices/src/components/app_entries/ByIsolation/observability/smoke.ts"];
|
|
30
|
+
readonly controlPlane: "remote-policy";
|
|
31
|
+
readonly createdAt: "2026-06-06";
|
|
32
|
+
readonly id: "operativeMyGpsDevicesMotionCapture";
|
|
33
|
+
readonly key: "operative_my_gps_devices.motion.capture";
|
|
34
|
+
readonly notes: readonly ["The closing session summary is treated as the final record of a policy-authorized capture session, not as a separate always-on anomaly lane."];
|
|
35
|
+
readonly owner: {
|
|
36
|
+
readonly app: "operative_my_gps_devices";
|
|
37
|
+
readonly moduleId: "operative_my_gps_devices";
|
|
38
|
+
readonly runtime: "web";
|
|
39
|
+
readonly surface: "mf";
|
|
40
|
+
};
|
|
41
|
+
readonly purpose: "Capture selected-device realtime ingress, motion-segment, and camera-follow evidence for support investigations.";
|
|
42
|
+
readonly summary: "MF targeted motion-capture diagnostic family.";
|
|
43
|
+
readonly remoteRule: {
|
|
44
|
+
readonly featureKey: "gclick-frontend-diagnostic-policies";
|
|
45
|
+
readonly payloadKey: "operative_my_gps_devices.motion.capture";
|
|
46
|
+
readonly provider: "growthbook";
|
|
47
|
+
readonly supportedLayers: readonly ["moduleDefault", "accountOverride"];
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
readonly realtimeTransportLifecycle: {
|
|
51
|
+
readonly active: true;
|
|
52
|
+
readonly codePaths: readonly ["apps/gclick/mfs/operative/operative_my_gps_devices/src/components/app_entries/ByIsolation/helpers/createIsolationHostRuntime.ts", "apps/gclick/mfs/operative/operative_my_gps_devices/src/components/app_entries/ByIsolation/observability/realtime.ts", "packages/realtime-runtime/src/transport/atmosphere/web/SourceDataAtmosphereWeb.ts"];
|
|
53
|
+
readonly controlPlane: "remote-policy";
|
|
54
|
+
readonly createdAt: "2026-08-20";
|
|
55
|
+
readonly id: "operativeMyGpsDevicesRealtimeTransportLifecycle";
|
|
56
|
+
readonly key: "operative_my_gps_devices.realtime.transport-lifecycle";
|
|
57
|
+
readonly owner: {
|
|
58
|
+
readonly app: "operative_my_gps_devices";
|
|
59
|
+
readonly moduleId: "operative_my_gps_devices";
|
|
60
|
+
readonly runtime: "web";
|
|
61
|
+
readonly surface: "mf";
|
|
62
|
+
};
|
|
63
|
+
readonly purpose: "Capture isolation Atmosphere lifecycle breadcrumbs during temporary support investigations of reconnect storms and browser sleep recovery.";
|
|
64
|
+
readonly summary: "My GPS Devices isolation Atmosphere transport lifecycle breadcrumbs.";
|
|
65
|
+
readonly remoteRule: {
|
|
66
|
+
readonly featureKey: "gclick-frontend-diagnostic-policies";
|
|
67
|
+
readonly payloadKey: "operative_my_gps_devices.realtime.transport-lifecycle";
|
|
68
|
+
readonly provider: "growthbook";
|
|
69
|
+
readonly supportedLayers: readonly ["moduleDefault", "accountOverride"];
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
readonly recoverableLeafletRuntime: {
|
|
73
|
+
readonly active: true;
|
|
74
|
+
readonly codePaths: readonly ["apps/gclick/mfs/operative/operative_my_gps_devices/src/components/App/subcomponents/ModuleMap/subcomponents/MapContent/subcomponents/DeviceMarker/helpers/reportLeafletRuntimeError.ts"];
|
|
75
|
+
readonly controlPlane: "always-on";
|
|
76
|
+
readonly createdAt: "2026-06-05";
|
|
77
|
+
readonly id: "operativeMyGpsDevicesRecoverableLeafletRuntime";
|
|
78
|
+
readonly key: "operative_my_gps_devices.recoverable.leaflet-runtime";
|
|
79
|
+
readonly owner: {
|
|
80
|
+
readonly app: "operative_my_gps_devices";
|
|
81
|
+
readonly moduleId: "operative_my_gps_devices";
|
|
82
|
+
readonly runtime: "web";
|
|
83
|
+
readonly surface: "mf";
|
|
84
|
+
};
|
|
85
|
+
readonly purpose: "Expose recovered Leaflet runtime anomalies that should never stay silent even without one active support capture.";
|
|
86
|
+
readonly summary: "MF always-on recovered Leaflet runtime anomaly.";
|
|
87
|
+
};
|
|
88
|
+
readonly remoteDiagnosticProviderHealth: {
|
|
89
|
+
readonly active: true;
|
|
90
|
+
readonly codePaths: readonly ["apps/gclick/mfs/operative/operative_my_gps_devices/src/components/app_entries/ByIsolation/observability/diagnosticFeatureFlags.ts"];
|
|
91
|
+
readonly controlPlane: "always-on";
|
|
92
|
+
readonly createdAt: "2026-06-08";
|
|
93
|
+
readonly id: "operativeMyGpsDevicesRemoteDiagnosticProviderHealth";
|
|
94
|
+
readonly key: "operative_my_gps_devices.feature-flags.remote-diagnostic-provider-health";
|
|
95
|
+
readonly owner: {
|
|
96
|
+
readonly app: "operative_my_gps_devices";
|
|
97
|
+
readonly moduleId: "operative_my_gps_devices";
|
|
98
|
+
readonly runtime: "web";
|
|
99
|
+
readonly surface: "mf";
|
|
100
|
+
};
|
|
101
|
+
readonly purpose: "Report isolation remote diagnostic-provider outages even when the active session has no support policy enabled.";
|
|
102
|
+
readonly summary: "MF isolation remote diagnostic-provider outage anomaly.";
|
|
103
|
+
};
|
|
104
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `shared_reports_list` diagnostic policy inventory.
|
|
3
|
+
*/
|
|
4
|
+
export declare const sharedReportsListDiagnosticPolicyCatalog: {
|
|
5
|
+
readonly reportsDebug: {
|
|
6
|
+
readonly active: true;
|
|
7
|
+
readonly codePaths: readonly ["apps/gclick/mfs/shared/shared_reports_list/src/components/App/context/ReportContext"];
|
|
8
|
+
readonly controlPlane: "remote-policy";
|
|
9
|
+
readonly createdAt: "2026-08-22";
|
|
10
|
+
readonly id: "sharedReportsListReportsDebug";
|
|
11
|
+
readonly key: "shared_reports_list.feature-flags.reports-debug";
|
|
12
|
+
readonly notes: readonly ["Fallback product gate hosted in observability only because a dedicated product feature-flag library was not approved.", "This policy must not be used to emit diagnostic logs; shared_reports_list reads only isEnabled(key).", "Migrate to a product feature-flag library when that boundary becomes available."];
|
|
13
|
+
readonly owner: {
|
|
14
|
+
readonly app: "shared_reports_list";
|
|
15
|
+
readonly moduleId: "shared_reports_list";
|
|
16
|
+
readonly runtime: "web";
|
|
17
|
+
readonly surface: "mf";
|
|
18
|
+
};
|
|
19
|
+
readonly purpose: "Allow support-enabled sessions to remove the reports/types test-worker exclusion filter.";
|
|
20
|
+
readonly summary: "Fallback product gate for the shared reports test report type.";
|
|
21
|
+
readonly remoteRule: {
|
|
22
|
+
readonly featureKey: "gclick-frontend-diagnostic-policies";
|
|
23
|
+
readonly payloadKey: "shared_reports_list.feature-flags.reports-debug";
|
|
24
|
+
readonly provider: "growthbook";
|
|
25
|
+
readonly supportedLayers: readonly ["moduleDefault", "accountOverride"];
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
readonly remoteDiagnosticProviderHealth: {
|
|
29
|
+
readonly active: true;
|
|
30
|
+
readonly codePaths: readonly ["apps/gclick/mfs/shared/shared_reports_list/src/components/appEntries/ByIsolation/observability/diagnosticFeatureFlags.ts"];
|
|
31
|
+
readonly controlPlane: "always-on";
|
|
32
|
+
readonly createdAt: "2026-08-24";
|
|
33
|
+
readonly id: "sharedReportsListRemoteDiagnosticProviderHealth";
|
|
34
|
+
readonly key: "shared_reports_list.feature-flags.remote-diagnostic-provider-health";
|
|
35
|
+
readonly owner: {
|
|
36
|
+
readonly app: "shared_reports_list";
|
|
37
|
+
readonly moduleId: "shared_reports_list";
|
|
38
|
+
readonly runtime: "web";
|
|
39
|
+
readonly surface: "mf";
|
|
40
|
+
};
|
|
41
|
+
readonly purpose: "Report isolation remote diagnostic-provider outages even when report debug is disabled.";
|
|
42
|
+
readonly summary: "MF isolation remote diagnostic-provider outage anomaly.";
|
|
43
|
+
};
|
|
44
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared host-owned diagnostic policy keys derived from the catalog inventory.
|
|
3
|
+
*/
|
|
4
|
+
export declare const hostDiagnosticPolicyKeys: {
|
|
5
|
+
readonly diagnosticSmoke: "gclick_host.observability.diagnostic-smoke";
|
|
6
|
+
readonly realtimeConnectionRecovery: "gclick_host.realtime.connection-recovery";
|
|
7
|
+
readonly realtimeTransportLifecycle: "gclick_host.realtime.transport-lifecycle";
|
|
8
|
+
readonly remoteDiagnosticProviderHealth: "gclick_host.feature-flags.remote-diagnostic-provider-health";
|
|
9
|
+
readonly tracesRelayDisabled: "gclick_host.observability.traces-relay-disabled";
|
|
10
|
+
readonly runtimeBoundaryCrash: "gclick_host.runtime-errors.boundary-crash";
|
|
11
|
+
readonly refreshDebug: "gclick_host.feature-flags.refresh-debug";
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Shared `operative_my_gps_devices` diagnostic policy keys derived from the catalog inventory.
|
|
15
|
+
*/
|
|
16
|
+
export declare const operativeMyGpsDevicesDiagnosticPolicyKeys: {
|
|
17
|
+
readonly deviceSelectionMissingPosition: "operative_my_gps_devices.device-selection.missing-position";
|
|
18
|
+
readonly motionCapture: "operative_my_gps_devices.motion.capture";
|
|
19
|
+
readonly realtimeTransportLifecycle: "operative_my_gps_devices.realtime.transport-lifecycle";
|
|
20
|
+
readonly recoverableLeafletRuntime: "operative_my_gps_devices.recoverable.leaflet-runtime";
|
|
21
|
+
readonly remoteDiagnosticProviderHealth: "operative_my_gps_devices.feature-flags.remote-diagnostic-provider-health";
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Shared `shared_reports_list` diagnostic policy keys derived from the catalog inventory.
|
|
25
|
+
*/
|
|
26
|
+
export declare const sharedReportsListDiagnosticPolicyKeys: {
|
|
27
|
+
readonly reportsDebug: "shared_reports_list.feature-flags.reports-debug";
|
|
28
|
+
readonly remoteDiagnosticProviderHealth: "shared_reports_list.feature-flags.remote-diagnostic-provider-health";
|
|
29
|
+
};
|
|
30
|
+
type ValueOf<RecordType extends Record<string, string>> = RecordType[keyof RecordType];
|
|
31
|
+
export type HostDiagnosticPolicyKey = ValueOf<typeof hostDiagnosticPolicyKeys>;
|
|
32
|
+
export type OperativeMyGpsDevicesDiagnosticPolicyKey = ValueOf<typeof operativeMyGpsDevicesDiagnosticPolicyKeys>;
|
|
33
|
+
export type SharedReportsListDiagnosticPolicyKey = ValueOf<typeof sharedReportsListDiagnosticPolicyKeys>;
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type { MobileTelemetryContext, MobileTelemetryEvent, MobileTelemetrySurface, ModuleLoadFailureReason, ModuleLoadSource, ModuleUnmountReason, TelemetryContext, TelemetryEvent, TelemetryEventFor, TelemetryRuntimeKind, TelemetrySurface, WebTelemetryContext, WebTelemetryEvent, WebTelemetrySurface, } from './telemetry';
|
|
2
|
+
export { telemetryAttributeKeys } from './telemetry';
|
|
3
|
+
export { browserRuntimeHandles, browserRuntimeHandleCatalog, browserRuntimeHandleCatalogByKey, browserRuntimeHandleCatalogEntries, browserRuntimeHandleCarriers, browserRuntimeHandleCleanupModes, browserRuntimeHandleKinds, browserRuntimeHandleLifecycles, browserRuntimeHandleNamingStatuses, browserRuntimeHandleStabilities, gclickGoogleMapsLoaderStateHandle, gclickRealtimeDummyPlaybackDriverHandle, gpsDevicesClusterPolicyDebugHandle, gpsDevicesDevicePanelHydrationDriverHandle, gpsDevicesDocumentVisibilityDriverHandle, gpsDevicesHiddenTabDummyPlaybackShimHandle, gpsDevicesHiddenTabVisibilityShimHandle, gpsDevicesNonSelectedViewportGateZoomSettleHandle, gpsDevicesSparseRotationStationaryWaitHandle, gpsDevicesViewportTraceEnabledHandle, gpsDevicesViewportTraceHandle, hostAlarmSmokeToolsHandle, layoutsMfRuntimeErrorsHandle, observabilitySmokeToolsHandle, realtimePerformanceDebugHandle, realtimeTransportDebugHandle, realtimeRuntimeRegistryHandle, } from './browserRuntimeHandles';
|
|
4
|
+
export { browserRuntimeHandleCatalog as browserRuntimeHandlesCatalog, } from './browserRuntimeHandles';
|
|
5
|
+
export { dispatchMFRuntimeBoundarySmokeCrashRequest, mfRuntimeBoundarySmokeCrashEventType, } from './runtimeSmoke';
|
|
6
|
+
export { hostDiagnosticPolicyKeys, operativeMyGpsDevicesDiagnosticPolicyKeys, sharedReportsListDiagnosticPolicyKeys, } from './diagnosticPolicyKeys';
|
|
7
|
+
export { diagnosticPolicyCatalogByKey, diagnosticPolicyCatalogEntries, diagnosticPolicyWebFeatureKey, diagnosticPolicyWebLayers, hostDiagnosticPolicyCatalog, operativeMyGpsDevicesDiagnosticPolicyCatalog, sharedReportsListDiagnosticPolicyCatalog, } from './diagnosticPolicies';
|
|
8
|
+
export { hostDiagnosticPolicyCatalog as hostDiagnosticPolicies, operativeMyGpsDevicesDiagnosticPolicyCatalog as operativeMyGpsDevicesDiagnosticPolicies, sharedReportsListDiagnosticPolicyCatalog as sharedReportsListDiagnosticPolicies, } from './diagnosticPolicies';
|
|
9
|
+
export { noopMFObservabilityService } from './diagnosticLogging';
|
|
10
|
+
export type { DiagnosticLogActivationMode, DiagnosticAttributeValue, DiagnosticLogKind, DiagnosticLogLevel, DiagnosticLogRecord, DiagnosticPolicy, DiagnosticPolicyScope, DiagnosticPolicySource, DiagnosticPolicyTarget, DiagnosticPolicyTargetId, DiagnosticPolicyTransport, MFObservabilityService, ObservabilityService, } from './diagnosticLogging';
|
|
11
|
+
export type { HostDiagnosticPolicyKey, OperativeMyGpsDevicesDiagnosticPolicyKey, SharedReportsListDiagnosticPolicyKey, } from './diagnosticPolicyKeys';
|
|
12
|
+
export type { BrowserRuntimeHandleCarrier, BrowserRuntimeHandleCleanup, BrowserRuntimeHandleDefinition, BrowserRuntimeGlobalThisHandleDefinition, BrowserRuntimeHandleId, BrowserRuntimeHandleKind, BrowserRuntimeHandleKey, BrowserRuntimeHandleLifecycle, BrowserRuntimeHandleNamingStatus, BrowserRuntimeSymbolHandleDefinition, BrowserRuntimeHandleStability, BrowserRuntimeWindowHandleDefinition, } from './browserRuntimeHandles';
|
|
13
|
+
export type { MFRuntimeBoundarySmokeCrashDetail, } from './runtimeSmoke';
|
|
14
|
+
export type { DiagnosticPolicyCatalogControlPlane, DiagnosticPolicyCatalogDate, DiagnosticPolicyCatalogEntry, DiagnosticPolicyCatalogOwner, DiagnosticPolicyCatalogRemoteLayer, DiagnosticPolicyCatalogRemoteProvider, DiagnosticPolicyCatalogRemoteRule, DiagnosticPolicyCatalogSurface, } from './diagnosticPolicies';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared browser event used to request one intentional MF boundary crash from
|
|
3
|
+
* a host-loaded microfrontend during preview or local diagnostics.
|
|
4
|
+
*/
|
|
5
|
+
export declare const mfRuntimeBoundarySmokeCrashEventType: "m4l.observability.smoke.mf-runtime-boundary-crash-requested";
|
|
6
|
+
export interface MFRuntimeBoundarySmokeCrashDetail {
|
|
7
|
+
message?: string;
|
|
8
|
+
moduleId?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Dispatch one intentional MF boundary crash request into the current browser window.
|
|
12
|
+
*/
|
|
13
|
+
export declare function dispatchMFRuntimeBoundarySmokeCrashRequest(detail?: MFRuntimeBoundarySmokeCrashDetail): void;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export type { MobileTelemetryContext, MobileTelemetryEvent, MobileTelemetrySurface, ModuleLoadFailureReason, ModuleLoadSource, ModuleUnmountReason, TelemetryContext, TelemetryEvent, TelemetryEventFor, TelemetryRuntimeKind, TelemetrySurface, WebTelemetryContext, WebTelemetryEvent, WebTelemetrySurface, } from '@m4l/observability/shared';
|
|
2
|
+
export { telemetryAttributeKeys } from '@m4l/observability/shared';
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import type { TelemetryContext } from './telemetry';
|
|
2
|
+
/**
|
|
3
|
+
* Supported destinations for diagnostic records.
|
|
4
|
+
*/
|
|
5
|
+
export type DiagnosticPolicyTransport = 'internal' | 'otlp';
|
|
6
|
+
/**
|
|
7
|
+
* Supported structured diagnostic record families.
|
|
8
|
+
*/
|
|
9
|
+
export type DiagnosticLogKind = 'audit' | 'diagnostic' | 'feature-flag' | 'integration' | 'recoverable-error';
|
|
10
|
+
/**
|
|
11
|
+
* Supported diagnostic severities.
|
|
12
|
+
*/
|
|
13
|
+
export type DiagnosticLogLevel = 'debug' | 'info' | 'warn' | 'error';
|
|
14
|
+
/**
|
|
15
|
+
* Supported activation modes for structured diagnostic records.
|
|
16
|
+
*/
|
|
17
|
+
export type DiagnosticLogActivationMode = 'always' | 'policy';
|
|
18
|
+
/**
|
|
19
|
+
* Supported policy sources ordered by host-owned precedence tiers.
|
|
20
|
+
*/
|
|
21
|
+
export type DiagnosticPolicySource = 'account-override' | 'dev-override' | 'kill-switch' | 'module-default' | 'security-block' | 'support-override';
|
|
22
|
+
/**
|
|
23
|
+
* Low-cardinality primitive attribute values allowed in diagnostic records.
|
|
24
|
+
*/
|
|
25
|
+
export type DiagnosticAttributeValue = boolean | number | string;
|
|
26
|
+
/**
|
|
27
|
+
* Scope metadata attached to one resolved diagnostic policy.
|
|
28
|
+
*/
|
|
29
|
+
export interface DiagnosticPolicyScope {
|
|
30
|
+
accountId?: number;
|
|
31
|
+
moduleId?: string;
|
|
32
|
+
sessionId?: string;
|
|
33
|
+
userId?: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* One resource-oriented capture target carried by a diagnostic policy.
|
|
37
|
+
*
|
|
38
|
+
* Keep the shape domain-agnostic so each app can decide whether one target
|
|
39
|
+
* applies to `device`, `vehicle`, `route`, or another resource family it
|
|
40
|
+
* understands locally.
|
|
41
|
+
*/
|
|
42
|
+
export type DiagnosticPolicyTargetId = number | string;
|
|
43
|
+
export interface DiagnosticPolicyTarget {
|
|
44
|
+
ids: DiagnosticPolicyTargetId[];
|
|
45
|
+
resourceType: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Shared diagnostic policy contract resolved by the owning runtime.
|
|
49
|
+
*/
|
|
50
|
+
export interface DiagnosticPolicy {
|
|
51
|
+
categories?: string[];
|
|
52
|
+
enabled: boolean;
|
|
53
|
+
expiresAt?: string;
|
|
54
|
+
level?: DiagnosticLogLevel;
|
|
55
|
+
sampleRate?: number;
|
|
56
|
+
scope?: DiagnosticPolicyScope;
|
|
57
|
+
source?: DiagnosticPolicySource;
|
|
58
|
+
targets?: DiagnosticPolicyTarget[];
|
|
59
|
+
transport?: DiagnosticPolicyTransport;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Structured diagnostic record emitted by one application runtime.
|
|
63
|
+
*/
|
|
64
|
+
export interface DiagnosticLogRecord {
|
|
65
|
+
activationMode?: DiagnosticLogActivationMode;
|
|
66
|
+
attributes?: Record<string, DiagnosticAttributeValue>;
|
|
67
|
+
code: string;
|
|
68
|
+
context: TelemetryContext;
|
|
69
|
+
detail?: Record<string, unknown>;
|
|
70
|
+
kind: DiagnosticLogKind;
|
|
71
|
+
level: DiagnosticLogLevel;
|
|
72
|
+
message: string;
|
|
73
|
+
occurredAtMs?: number;
|
|
74
|
+
policyKey: string;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Runtime-facing observability service injected into application trees.
|
|
78
|
+
*/
|
|
79
|
+
export interface ObservabilityService {
|
|
80
|
+
getPolicyRevision?: () => number;
|
|
81
|
+
getPolicy: (policyKey: string) => DiagnosticPolicy | undefined;
|
|
82
|
+
isEnabled: (policyKey: string) => boolean;
|
|
83
|
+
log: (record: DiagnosticLogRecord) => void;
|
|
84
|
+
subscribePolicyChanges?: (listener: () => void) => () => void;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Backward-compatible service alias for existing MF consumers.
|
|
88
|
+
*/
|
|
89
|
+
export type MFObservabilityService = ObservabilityService;
|
|
90
|
+
/**
|
|
91
|
+
* Keep one silent fallback service so missing wiring never breaks feature code.
|
|
92
|
+
*/
|
|
93
|
+
export declare const noopObservabilityService: ObservabilityService;
|
|
94
|
+
/**
|
|
95
|
+
* Backward-compatible noop alias for existing MF consumers.
|
|
96
|
+
*/
|
|
97
|
+
export declare const noopMFObservabilityService: ObservabilityService;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type { DiagnosticAttributeValue, DiagnosticLogActivationMode, DiagnosticLogKind, DiagnosticLogLevel, DiagnosticLogRecord, DiagnosticPolicy, DiagnosticPolicyScope, DiagnosticPolicySource, DiagnosticPolicyTarget, DiagnosticPolicyTargetId, DiagnosticPolicyTransport, MFObservabilityService, ObservabilityService, } from './diagnosticLogging';
|
|
2
|
+
export { noopMFObservabilityService, noopObservabilityService } from './diagnosticLogging';
|
|
3
|
+
export type { MobileTelemetryContext, MobileTelemetryEvent, MobileTelemetrySurface, ModuleLoadFailureReason, ModuleLoadSource, ModuleUnmountReason, TelemetryContext, TelemetryEvent, TelemetryEventFor, TelemetryRuntimeKind, TelemetrySurface, WebTelemetryContext, WebTelemetryEvent, WebTelemetrySurface, } from './telemetry';
|
|
4
|
+
export { telemetryAttributeKeys } from './telemetry';
|
|
5
|
+
export type { SharedGlobalThisHandleDefinition } from './runtimeHandles';
|
|
6
|
+
export { gclickRealtimeDummyPlaybackDriverHandle, realtimeRuntimeRegistryHandle, } from './runtimeHandles';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Neutral `globalThis` handle definition safe for web and React Native callers.
|
|
3
|
+
*/
|
|
4
|
+
export interface SharedGlobalThisHandleDefinition<TProperty extends `__${string}` = `__${string}`> {
|
|
5
|
+
id: string;
|
|
6
|
+
key: `globalThis.${TProperty}`;
|
|
7
|
+
property: TProperty;
|
|
8
|
+
purpose: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Shared realtime runtime registry handle used by multiplatform runtime packages.
|
|
12
|
+
*/
|
|
13
|
+
export declare const realtimeRuntimeRegistryHandle: Readonly<{
|
|
14
|
+
readonly id: "realtime.runtime-registry";
|
|
15
|
+
readonly key: "globalThis.__M4L_REALTIME_RUNTIMES__";
|
|
16
|
+
readonly property: "__M4L_REALTIME_RUNTIMES__";
|
|
17
|
+
readonly purpose: "Store the shared realtime runtime registry for the current JavaScript runtime.";
|
|
18
|
+
}>;
|
|
19
|
+
/**
|
|
20
|
+
* Shared dummy playback driver handle used by deterministic realtime tests.
|
|
21
|
+
*/
|
|
22
|
+
export declare const gclickRealtimeDummyPlaybackDriverHandle: Readonly<{
|
|
23
|
+
readonly id: "gclick-realtime.dummy-playback-driver";
|
|
24
|
+
readonly key: "globalThis.__M4L_TEST_DUMMY_PLAYBACK_DRIVER__";
|
|
25
|
+
readonly property: "__M4L_TEST_DUMMY_PLAYBACK_DRIVER__";
|
|
26
|
+
readonly purpose: "Expose the dummy realtime playback driver for deterministic probes and tests.";
|
|
27
|
+
}>;
|