@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
package/rtl/index.js
ADDED
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { c as z } from "../chunks/render-CsuV8xqo.js";
|
|
2
|
+
import { vi as i } from "vitest";
|
|
3
|
+
function O(r = {}) {
|
|
4
|
+
const { width: e = 0, height: t = 0 } = r;
|
|
5
|
+
return {
|
|
6
|
+
bottom: t,
|
|
7
|
+
height: t,
|
|
8
|
+
left: 0,
|
|
9
|
+
right: e,
|
|
10
|
+
toJSON: () => ({}),
|
|
11
|
+
top: 0,
|
|
12
|
+
width: e,
|
|
13
|
+
x: 0,
|
|
14
|
+
y: 0
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function v(r, e = {}) {
|
|
18
|
+
return {
|
|
19
|
+
borderBoxSize: [],
|
|
20
|
+
contentBoxSize: [],
|
|
21
|
+
contentRect: O(e),
|
|
22
|
+
devicePixelContentBoxSize: [],
|
|
23
|
+
target: r
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function h(r = {}) {
|
|
27
|
+
const { autoTriggerOnObserve: e = !1, createEntries: t } = r, l = globalThis.ResizeObserver, u = typeof window < "u" ? window.ResizeObserver : void 0;
|
|
28
|
+
let o = null, a = null, s = null;
|
|
29
|
+
const b = i.fn((n) => {
|
|
30
|
+
a = n, e && o && o(
|
|
31
|
+
t?.(n) ?? [v(n)],
|
|
32
|
+
s
|
|
33
|
+
);
|
|
34
|
+
}), f = i.fn((n) => n), w = i.fn();
|
|
35
|
+
class p {
|
|
36
|
+
observe(g) {
|
|
37
|
+
b(g);
|
|
38
|
+
}
|
|
39
|
+
unobserve(g) {
|
|
40
|
+
f(g);
|
|
41
|
+
}
|
|
42
|
+
disconnect() {
|
|
43
|
+
w();
|
|
44
|
+
}
|
|
45
|
+
constructor(g) {
|
|
46
|
+
o = g, s = this;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return Object.defineProperty(globalThis, "ResizeObserver", {
|
|
50
|
+
configurable: !0,
|
|
51
|
+
value: p,
|
|
52
|
+
writable: !0
|
|
53
|
+
}), typeof window < "u" && Object.defineProperty(window, "ResizeObserver", {
|
|
54
|
+
configurable: !0,
|
|
55
|
+
value: p,
|
|
56
|
+
writable: !0
|
|
57
|
+
}), {
|
|
58
|
+
disconnect: w,
|
|
59
|
+
observe: b,
|
|
60
|
+
restore: () => {
|
|
61
|
+
typeof l > "u" ? delete globalThis.ResizeObserver : Object.defineProperty(globalThis, "ResizeObserver", {
|
|
62
|
+
configurable: !0,
|
|
63
|
+
value: l,
|
|
64
|
+
writable: !0
|
|
65
|
+
}), typeof window < "u" && (typeof u > "u" ? delete window.ResizeObserver : Object.defineProperty(window, "ResizeObserver", {
|
|
66
|
+
configurable: !0,
|
|
67
|
+
value: u,
|
|
68
|
+
writable: !0
|
|
69
|
+
})), o = null, a = null, s = null;
|
|
70
|
+
},
|
|
71
|
+
trigger: (n) => {
|
|
72
|
+
o && o(
|
|
73
|
+
n ?? (a ? [v(a)] : []),
|
|
74
|
+
s
|
|
75
|
+
);
|
|
76
|
+
},
|
|
77
|
+
unobserve: f
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function y(r = {}) {
|
|
81
|
+
const { matches: e = !1 } = r, t = window.matchMedia;
|
|
82
|
+
beforeAll(() => {
|
|
83
|
+
Object.defineProperty(window, "matchMedia", {
|
|
84
|
+
configurable: !0,
|
|
85
|
+
value: i.fn().mockImplementation((l) => ({
|
|
86
|
+
matches: e,
|
|
87
|
+
media: l,
|
|
88
|
+
onchange: null,
|
|
89
|
+
addListener: i.fn(),
|
|
90
|
+
removeListener: i.fn(),
|
|
91
|
+
addEventListener: i.fn(),
|
|
92
|
+
removeEventListener: i.fn(),
|
|
93
|
+
dispatchEvent: i.fn()
|
|
94
|
+
})),
|
|
95
|
+
writable: !0
|
|
96
|
+
});
|
|
97
|
+
}), afterAll(() => {
|
|
98
|
+
if (typeof t > "u") {
|
|
99
|
+
Reflect.deleteProperty(window, "matchMedia");
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
Object.defineProperty(window, "matchMedia", {
|
|
103
|
+
configurable: !0,
|
|
104
|
+
value: t,
|
|
105
|
+
writable: !0
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
class d {
|
|
110
|
+
storage = /* @__PURE__ */ new Map();
|
|
111
|
+
get length() {
|
|
112
|
+
return this.storage.size;
|
|
113
|
+
}
|
|
114
|
+
clear() {
|
|
115
|
+
this.storage.clear();
|
|
116
|
+
}
|
|
117
|
+
getItem(e) {
|
|
118
|
+
return this.storage.get(e) ?? null;
|
|
119
|
+
}
|
|
120
|
+
key(e) {
|
|
121
|
+
return Array.from(this.storage.keys())[e] ?? null;
|
|
122
|
+
}
|
|
123
|
+
removeItem(e) {
|
|
124
|
+
this.storage.delete(e);
|
|
125
|
+
}
|
|
126
|
+
setItem(e, t) {
|
|
127
|
+
this.storage.set(e, String(t));
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
function c(r, e, t) {
|
|
131
|
+
if (typeof t > "u") {
|
|
132
|
+
Reflect.deleteProperty(r, e);
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
Object.defineProperty(r, e, t);
|
|
136
|
+
}
|
|
137
|
+
function P() {
|
|
138
|
+
const r = new d(), e = new d(), t = Object.getOwnPropertyDescriptor(globalThis, "Storage"), l = Object.getOwnPropertyDescriptor(globalThis, "localStorage"), u = Object.getOwnPropertyDescriptor(globalThis, "sessionStorage"), o = typeof window < "u", a = o ? Object.getOwnPropertyDescriptor(window, "Storage") : void 0, s = o ? Object.getOwnPropertyDescriptor(window, "localStorage") : void 0, b = o ? Object.getOwnPropertyDescriptor(window, "sessionStorage") : void 0;
|
|
139
|
+
return Object.defineProperty(globalThis, "Storage", {
|
|
140
|
+
configurable: !0,
|
|
141
|
+
value: d,
|
|
142
|
+
writable: !0
|
|
143
|
+
}), Object.defineProperty(globalThis, "localStorage", {
|
|
144
|
+
configurable: !0,
|
|
145
|
+
value: r,
|
|
146
|
+
writable: !0
|
|
147
|
+
}), Object.defineProperty(globalThis, "sessionStorage", {
|
|
148
|
+
configurable: !0,
|
|
149
|
+
value: e,
|
|
150
|
+
writable: !0
|
|
151
|
+
}), o && (Object.defineProperty(window, "Storage", {
|
|
152
|
+
configurable: !0,
|
|
153
|
+
value: d,
|
|
154
|
+
writable: !0
|
|
155
|
+
}), Object.defineProperty(window, "localStorage", {
|
|
156
|
+
configurable: !0,
|
|
157
|
+
value: r,
|
|
158
|
+
writable: !0
|
|
159
|
+
}), Object.defineProperty(window, "sessionStorage", {
|
|
160
|
+
configurable: !0,
|
|
161
|
+
value: e,
|
|
162
|
+
writable: !0
|
|
163
|
+
})), {
|
|
164
|
+
clear: () => {
|
|
165
|
+
r.clear(), e.clear();
|
|
166
|
+
},
|
|
167
|
+
localStorage: r,
|
|
168
|
+
restore: () => {
|
|
169
|
+
c(globalThis, "Storage", t), c(globalThis, "localStorage", l), c(globalThis, "sessionStorage", u), o && (c(window, "Storage", a), c(window, "localStorage", s), c(window, "sessionStorage", b));
|
|
170
|
+
},
|
|
171
|
+
sessionStorage: e
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
export {
|
|
175
|
+
v as createResizeObserverEntry,
|
|
176
|
+
y as installMatchMediaMock,
|
|
177
|
+
h as installResizeObserverMock,
|
|
178
|
+
P as installStorageMock,
|
|
179
|
+
z as render
|
|
180
|
+
};
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
export declare const browserRuntimeHandleKinds: readonly ["symbol-bridge", "global-registry", "window-tool", "test-driver"];
|
|
2
|
+
export declare const browserRuntimeHandleCarriers: readonly ["symbol", "globalThis", "window"];
|
|
3
|
+
export declare const browserRuntimeHandleLifecycles: readonly ["production", "preview-dev", "test-only", "storybook"];
|
|
4
|
+
export declare const browserRuntimeHandleNamingStatuses: readonly ["canonical", "legacy-exception"];
|
|
5
|
+
export declare const browserRuntimeHandleStabilities: readonly ["internal", "operator-facing", "test-only"];
|
|
6
|
+
export declare const browserRuntimeHandleCleanupModes: readonly ["none", "on-unmount", "manual"];
|
|
7
|
+
export type BrowserRuntimeHandleKind = typeof browserRuntimeHandleKinds[number];
|
|
8
|
+
export type BrowserRuntimeHandleCarrier = typeof browserRuntimeHandleCarriers[number];
|
|
9
|
+
export type BrowserRuntimeHandleLifecycle = typeof browserRuntimeHandleLifecycles[number];
|
|
10
|
+
export type BrowserRuntimeHandleNamingStatus = typeof browserRuntimeHandleNamingStatuses[number];
|
|
11
|
+
export type BrowserRuntimeHandleStability = typeof browserRuntimeHandleStabilities[number];
|
|
12
|
+
export type BrowserRuntimeHandleCleanup = typeof browserRuntimeHandleCleanupModes[number];
|
|
13
|
+
/**
|
|
14
|
+
* Shared metadata for one governed browser runtime handle.
|
|
15
|
+
*
|
|
16
|
+
* `id` is the stable catalog name used by docs, validation, and cross-module
|
|
17
|
+
* references. It is intentionally distinct from the concrete runtime lookup
|
|
18
|
+
* path because a handle may keep the same logical purpose even if its browser
|
|
19
|
+
* storage mechanism changes over time.
|
|
20
|
+
*/
|
|
21
|
+
interface BrowserRuntimeHandleBaseDefinition {
|
|
22
|
+
active: boolean;
|
|
23
|
+
cleanup: BrowserRuntimeHandleCleanup;
|
|
24
|
+
codeRefs: string[];
|
|
25
|
+
docsPath?: string;
|
|
26
|
+
/** Stable catalog identifier. This is the governance name, not the JS lookup path. */
|
|
27
|
+
id: string;
|
|
28
|
+
introducedBy?: string;
|
|
29
|
+
introducedOn: string;
|
|
30
|
+
kind: BrowserRuntimeHandleKind;
|
|
31
|
+
lifecycle: BrowserRuntimeHandleLifecycle;
|
|
32
|
+
namingException?: string;
|
|
33
|
+
namingStatus: BrowserRuntimeHandleNamingStatus;
|
|
34
|
+
objective: string;
|
|
35
|
+
ownerProject: string;
|
|
36
|
+
purpose: string;
|
|
37
|
+
stability: BrowserRuntimeHandleStability;
|
|
38
|
+
}
|
|
39
|
+
export interface BrowserRuntimeSymbolHandleDefinition<TSymbolId extends string = string> extends BrowserRuntimeHandleBaseDefinition {
|
|
40
|
+
/** Browser-owned container that stores the live handle. */
|
|
41
|
+
carrier: 'symbol';
|
|
42
|
+
/** Exact runtime lookup address derived from the carrier-specific token. */
|
|
43
|
+
key: `Symbol.for('${TSymbolId}')`;
|
|
44
|
+
symbol: symbol;
|
|
45
|
+
/** Carrier-specific token used to recreate the shared `Symbol.for(...)` entry. */
|
|
46
|
+
symbolId: TSymbolId;
|
|
47
|
+
}
|
|
48
|
+
export interface BrowserRuntimeGlobalThisHandleDefinition<TProperty extends string = string> extends BrowserRuntimeHandleBaseDefinition {
|
|
49
|
+
/** Browser-owned container that stores the live handle. */
|
|
50
|
+
carrier: 'globalThis';
|
|
51
|
+
/** Exact runtime lookup address derived from the carrier-specific property name. */
|
|
52
|
+
key: `globalThis.${TProperty}`;
|
|
53
|
+
/** Carrier-specific property name published on `globalThis`. */
|
|
54
|
+
property: TProperty;
|
|
55
|
+
}
|
|
56
|
+
export interface BrowserRuntimeWindowHandleDefinition<TProperty extends string = string> extends BrowserRuntimeHandleBaseDefinition {
|
|
57
|
+
/** Browser-owned container that stores the live handle. */
|
|
58
|
+
carrier: 'window';
|
|
59
|
+
/** Exact runtime lookup address derived from the carrier-specific property name. */
|
|
60
|
+
key: `window.${TProperty}`;
|
|
61
|
+
/** Carrier-specific property name published on `window`. */
|
|
62
|
+
property: TProperty;
|
|
63
|
+
}
|
|
64
|
+
export type BrowserRuntimeHandleDefinition = BrowserRuntimeSymbolHandleDefinition | BrowserRuntimeGlobalThisHandleDefinition | BrowserRuntimeWindowHandleDefinition;
|
|
65
|
+
export declare const layoutsMfRuntimeErrorsHandle: Readonly<BrowserRuntimeSymbolHandleDefinition<"m4l.layouts.mfRuntimeErrors">>;
|
|
66
|
+
export declare const realtimeRuntimeRegistryHandle: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_REALTIME_RUNTIMES__">>;
|
|
67
|
+
export declare const realtimePerformanceDebugHandle: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_REALTIME_PERFORMANCE__">>;
|
|
68
|
+
export declare const realtimeTransportDebugHandle: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_REALTIME_TRANSPORT_DEBUG__">>;
|
|
69
|
+
export declare const observabilitySmokeToolsHandle: Readonly<BrowserRuntimeWindowHandleDefinition<"__m4lObservabilitySmoke">>;
|
|
70
|
+
export declare const hostAlarmSmokeToolsHandle: Readonly<BrowserRuntimeWindowHandleDefinition<"__m4lHostAlarmSmoke">>;
|
|
71
|
+
export declare const gpsDevicesClusterPolicyDebugHandle: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_GPS_DEVICES_CLUSTER_POLICY__">>;
|
|
72
|
+
export declare const gpsDevicesViewportTraceHandle: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_GPS_DEVICES_VIEWPORT_TRACE__">>;
|
|
73
|
+
export declare const gpsDevicesViewportTraceEnabledHandle: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_GPS_DEVICES_VIEWPORT_TRACE_ENABLED__">>;
|
|
74
|
+
export declare const gpsDevicesDevicePanelHydrationDriverHandle: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_TEST_DEVICE_PANEL_HYDRATION_DRIVER__">>;
|
|
75
|
+
export declare const gpsDevicesDocumentVisibilityDriverHandle: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_TEST_DOCUMENT_VISIBILITY_DRIVER__">>;
|
|
76
|
+
export declare const gpsDevicesHiddenTabVisibilityShimHandle: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_TEST_VISIBILITY_SHIM__">>;
|
|
77
|
+
export declare const gpsDevicesHiddenTabDummyPlaybackShimHandle: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_TEST_DUMMY_PLAYBACK_SHIM__">>;
|
|
78
|
+
export declare const gpsDevicesNonSelectedViewportGateZoomSettleHandle: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_NON_SELECTED_VIEWPORT_GATE_ZOOM_SETTLE__">>;
|
|
79
|
+
export declare const gpsDevicesSparseRotationStationaryWaitHandle: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_SPARSE_ROTATION_STATIONARY_WAIT__">>;
|
|
80
|
+
export declare const gclickRealtimeDummyPlaybackDriverHandle: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_TEST_DUMMY_PLAYBACK_DRIVER__">>;
|
|
81
|
+
export declare const gclickGoogleMapsLoaderStateHandle: Readonly<BrowserRuntimeWindowHandleDefinition<"__m4lGoogleMapsLoaderState__">>;
|
|
82
|
+
export declare const browserRuntimeHandles: Readonly<{
|
|
83
|
+
gclickGoogleMapsLoaderState: Readonly<BrowserRuntimeWindowHandleDefinition<"__m4lGoogleMapsLoaderState__">>;
|
|
84
|
+
gclickRealtimeDummyPlaybackDriver: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_TEST_DUMMY_PLAYBACK_DRIVER__">>;
|
|
85
|
+
gpsDevicesClusterPolicyDebug: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_GPS_DEVICES_CLUSTER_POLICY__">>;
|
|
86
|
+
gpsDevicesDevicePanelHydrationDriver: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_TEST_DEVICE_PANEL_HYDRATION_DRIVER__">>;
|
|
87
|
+
gpsDevicesDocumentVisibilityDriver: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_TEST_DOCUMENT_VISIBILITY_DRIVER__">>;
|
|
88
|
+
gpsDevicesHiddenTabDummyPlaybackShim: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_TEST_DUMMY_PLAYBACK_SHIM__">>;
|
|
89
|
+
gpsDevicesHiddenTabVisibilityShim: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_TEST_VISIBILITY_SHIM__">>;
|
|
90
|
+
gpsDevicesNonSelectedViewportGateZoomSettle: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_NON_SELECTED_VIEWPORT_GATE_ZOOM_SETTLE__">>;
|
|
91
|
+
gpsDevicesSparseRotationStationaryWait: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_SPARSE_ROTATION_STATIONARY_WAIT__">>;
|
|
92
|
+
gpsDevicesViewportTrace: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_GPS_DEVICES_VIEWPORT_TRACE__">>;
|
|
93
|
+
gpsDevicesViewportTraceEnabled: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_GPS_DEVICES_VIEWPORT_TRACE_ENABLED__">>;
|
|
94
|
+
hostAlarmSmokeTools: Readonly<BrowserRuntimeWindowHandleDefinition<"__m4lHostAlarmSmoke">>;
|
|
95
|
+
layoutsMfRuntimeErrors: Readonly<BrowserRuntimeSymbolHandleDefinition<"m4l.layouts.mfRuntimeErrors">>;
|
|
96
|
+
observabilitySmokeTools: Readonly<BrowserRuntimeWindowHandleDefinition<"__m4lObservabilitySmoke">>;
|
|
97
|
+
realtimePerformanceDebug: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_REALTIME_PERFORMANCE__">>;
|
|
98
|
+
realtimeTransportDebug: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_REALTIME_TRANSPORT_DEBUG__">>;
|
|
99
|
+
realtimeRuntimeRegistry: Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_REALTIME_RUNTIMES__">>;
|
|
100
|
+
}>;
|
|
101
|
+
export declare const browserRuntimeHandleCatalogEntries: readonly [Readonly<BrowserRuntimeSymbolHandleDefinition<"m4l.layouts.mfRuntimeErrors">>, Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_REALTIME_RUNTIMES__">>, Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_REALTIME_PERFORMANCE__">>, Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_REALTIME_TRANSPORT_DEBUG__">>, Readonly<BrowserRuntimeWindowHandleDefinition<"__m4lObservabilitySmoke">>, Readonly<BrowserRuntimeWindowHandleDefinition<"__m4lHostAlarmSmoke">>, Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_GPS_DEVICES_CLUSTER_POLICY__">>, Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_GPS_DEVICES_VIEWPORT_TRACE__">>, Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_GPS_DEVICES_VIEWPORT_TRACE_ENABLED__">>, Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_TEST_DEVICE_PANEL_HYDRATION_DRIVER__">>, Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_TEST_DOCUMENT_VISIBILITY_DRIVER__">>, Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_TEST_VISIBILITY_SHIM__">>, Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_TEST_DUMMY_PLAYBACK_SHIM__">>, Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_NON_SELECTED_VIEWPORT_GATE_ZOOM_SETTLE__">>, Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_SPARSE_ROTATION_STATIONARY_WAIT__">>, Readonly<BrowserRuntimeGlobalThisHandleDefinition<"__M4L_TEST_DUMMY_PLAYBACK_DRIVER__">>, Readonly<BrowserRuntimeWindowHandleDefinition<"__m4lGoogleMapsLoaderState__">>];
|
|
102
|
+
export type BrowserRuntimeHandleId = typeof browserRuntimeHandleCatalogEntries[number]['id'];
|
|
103
|
+
export type BrowserRuntimeHandleKey = typeof browserRuntimeHandleCatalogEntries[number]['key'];
|
|
104
|
+
/**
|
|
105
|
+
* Canonical lookup by the stable catalog id used in docs and governance.
|
|
106
|
+
*/
|
|
107
|
+
export declare const browserRuntimeHandleCatalog: Readonly<Readonly<Record<string, BrowserRuntimeHandleDefinition>>>;
|
|
108
|
+
/**
|
|
109
|
+
* Reverse lookup by the concrete browser runtime address used at execution time.
|
|
110
|
+
*/
|
|
111
|
+
export declare const browserRuntimeHandleCatalogByKey: Readonly<Readonly<Record<"globalThis.__M4L_REALTIME_RUNTIMES__" | "globalThis.__M4L_TEST_DUMMY_PLAYBACK_DRIVER__" | "Symbol.for('m4l.layouts.mfRuntimeErrors')" | "globalThis.__M4L_REALTIME_PERFORMANCE__" | "globalThis.__M4L_REALTIME_TRANSPORT_DEBUG__" | "window.__m4lObservabilitySmoke" | "window.__m4lHostAlarmSmoke" | "globalThis.__M4L_GPS_DEVICES_CLUSTER_POLICY__" | "globalThis.__M4L_GPS_DEVICES_VIEWPORT_TRACE__" | "globalThis.__M4L_GPS_DEVICES_VIEWPORT_TRACE_ENABLED__" | "globalThis.__M4L_TEST_DEVICE_PANEL_HYDRATION_DRIVER__" | "globalThis.__M4L_TEST_DOCUMENT_VISIBILITY_DRIVER__" | "globalThis.__M4L_TEST_VISIBILITY_SHIM__" | "globalThis.__M4L_TEST_DUMMY_PLAYBACK_SHIM__" | "globalThis.__M4L_NON_SELECTED_VIEWPORT_GATE_ZOOM_SETTLE__" | "globalThis.__M4L_SPARSE_ROTATION_STATIONARY_WAIT__" | "window.__m4lGoogleMapsLoaderState__", BrowserRuntimeHandleDefinition>>>;
|
|
112
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export type { DiagnosticAttributeValue, DiagnosticLogActivationMode, DiagnosticLogKind, DiagnosticLogLevel, DiagnosticLogRecord, DiagnosticPolicy, DiagnosticPolicyScope, DiagnosticPolicySource, DiagnosticPolicyTarget, DiagnosticPolicyTargetId, DiagnosticPolicyTransport, MFObservabilityService, ObservabilityService, } from '@m4l/observability/shared';
|
|
2
|
+
export { noopMFObservabilityService, noopObservabilityService, } from '@m4l/observability/shared';
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
import type { DiagnosticPolicyCatalogEntry } from './contracts';
|
|
2
|
+
/**
|
|
3
|
+
* Flat diagnostic policy inventory used for audits, documentation, and future UI surfaces.
|
|
4
|
+
*/
|
|
5
|
+
export declare const diagnosticPolicyCatalogEntries: readonly ({
|
|
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 active: true;
|
|
28
|
+
readonly codePaths: readonly ["apps/gclick/gclick_host/src/observability/host/realtime.ts"];
|
|
29
|
+
readonly controlPlane: "remote-policy";
|
|
30
|
+
readonly createdAt: "2026-06-05";
|
|
31
|
+
readonly id: "gclickHostRealtimeConnectionRecovery";
|
|
32
|
+
readonly key: "gclick_host.realtime.connection-recovery";
|
|
33
|
+
readonly owner: {
|
|
34
|
+
readonly app: "gclick_host";
|
|
35
|
+
readonly runtime: "web";
|
|
36
|
+
readonly surface: "host";
|
|
37
|
+
};
|
|
38
|
+
readonly purpose: "Capture host websocket transport recovery evidence without waiting for a broader outage investigation.";
|
|
39
|
+
readonly summary: "Host realtime reconnect recovery breadcrumbs.";
|
|
40
|
+
readonly remoteRule: {
|
|
41
|
+
readonly featureKey: "gclick-frontend-diagnostic-policies";
|
|
42
|
+
readonly payloadKey: "gclick_host.realtime.connection-recovery";
|
|
43
|
+
readonly provider: "growthbook";
|
|
44
|
+
readonly supportedLayers: readonly ["moduleDefault", "accountOverride"];
|
|
45
|
+
};
|
|
46
|
+
} | {
|
|
47
|
+
readonly active: true;
|
|
48
|
+
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"];
|
|
49
|
+
readonly controlPlane: "remote-policy";
|
|
50
|
+
readonly createdAt: "2026-08-20";
|
|
51
|
+
readonly id: "gclickHostRealtimeTransportLifecycle";
|
|
52
|
+
readonly key: "gclick_host.realtime.transport-lifecycle";
|
|
53
|
+
readonly owner: {
|
|
54
|
+
readonly app: "gclick_host";
|
|
55
|
+
readonly runtime: "web";
|
|
56
|
+
readonly surface: "host";
|
|
57
|
+
};
|
|
58
|
+
readonly purpose: "Capture host Atmosphere lifecycle breadcrumbs during temporary support investigations of reconnect storms and browser sleep recovery.";
|
|
59
|
+
readonly summary: "Host Atmosphere transport lifecycle breadcrumbs.";
|
|
60
|
+
readonly remoteRule: {
|
|
61
|
+
readonly featureKey: "gclick-frontend-diagnostic-policies";
|
|
62
|
+
readonly payloadKey: "gclick_host.realtime.transport-lifecycle";
|
|
63
|
+
readonly provider: "growthbook";
|
|
64
|
+
readonly supportedLayers: readonly ["moduleDefault", "accountOverride"];
|
|
65
|
+
};
|
|
66
|
+
} | {
|
|
67
|
+
readonly active: true;
|
|
68
|
+
readonly codePaths: readonly ["apps/gclick/gclick_host/src/observability/diagnostic/diagnosticFeatureFlags.ts"];
|
|
69
|
+
readonly controlPlane: "always-on";
|
|
70
|
+
readonly createdAt: "2026-06-08";
|
|
71
|
+
readonly id: "gclickHostRemoteDiagnosticProviderHealth";
|
|
72
|
+
readonly key: "gclick_host.feature-flags.remote-diagnostic-provider-health";
|
|
73
|
+
readonly notes: readonly ["This family is intentionally always-on because provider outages are recoverable anomalies, not optional debug breadcrumbs."];
|
|
74
|
+
readonly owner: {
|
|
75
|
+
readonly app: "gclick_host";
|
|
76
|
+
readonly runtime: "web";
|
|
77
|
+
readonly surface: "host";
|
|
78
|
+
};
|
|
79
|
+
readonly purpose: "Report the first failure in a remote diagnostic-provider outage streak even when no support capture is active.";
|
|
80
|
+
readonly summary: "Host remote diagnostic-provider outage anomaly.";
|
|
81
|
+
} | {
|
|
82
|
+
readonly active: true;
|
|
83
|
+
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"];
|
|
84
|
+
readonly controlPlane: "always-on";
|
|
85
|
+
readonly createdAt: "2026-06-16";
|
|
86
|
+
readonly id: "gclickHostTracesRelayDisabled";
|
|
87
|
+
readonly key: "gclick_host.observability.traces-relay-disabled";
|
|
88
|
+
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."];
|
|
89
|
+
readonly owner: {
|
|
90
|
+
readonly app: "gclick_host";
|
|
91
|
+
readonly runtime: "web";
|
|
92
|
+
readonly surface: "host";
|
|
93
|
+
};
|
|
94
|
+
readonly purpose: "Report the first permanent browser traces-relay shutdown together with the failure metadata that caused the relay to stop exporting.";
|
|
95
|
+
readonly summary: "Host browser traces-relay shutdown anomaly.";
|
|
96
|
+
} | {
|
|
97
|
+
readonly active: true;
|
|
98
|
+
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"];
|
|
99
|
+
readonly controlPlane: "always-on";
|
|
100
|
+
readonly createdAt: "2026-06-14";
|
|
101
|
+
readonly id: "gclickHostRuntimeBoundaryCrash";
|
|
102
|
+
readonly key: "gclick_host.runtime-errors.boundary-crash";
|
|
103
|
+
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."];
|
|
104
|
+
readonly owner: {
|
|
105
|
+
readonly app: "gclick_host";
|
|
106
|
+
readonly runtime: "web";
|
|
107
|
+
readonly surface: "host";
|
|
108
|
+
};
|
|
109
|
+
readonly purpose: "Report contained host-shell and host-loaded MF boundary crashes as structured always-on diagnostic logs for dashboarding and alerting.";
|
|
110
|
+
readonly summary: "Host boundary crash anomaly for host shell and host-loaded MFs.";
|
|
111
|
+
} | {
|
|
112
|
+
readonly active: true;
|
|
113
|
+
readonly codePaths: readonly ["apps/gclick/gclick_host/src/observability/diagnostic/diagnosticFeatureFlags.ts"];
|
|
114
|
+
readonly controlPlane: "remote-policy";
|
|
115
|
+
readonly createdAt: "2026-06-11";
|
|
116
|
+
readonly id: "gclickHostRefreshDebug";
|
|
117
|
+
readonly key: "gclick_host.feature-flags.refresh-debug";
|
|
118
|
+
readonly notes: readonly ["Use this family when support needs to understand why the browser refreshed, queued, or applied one remote diagnostic payload."];
|
|
119
|
+
readonly owner: {
|
|
120
|
+
readonly app: "gclick_host";
|
|
121
|
+
readonly runtime: "web";
|
|
122
|
+
readonly surface: "host";
|
|
123
|
+
};
|
|
124
|
+
readonly purpose: "Expose host-owned GrowthBook refresh breadcrumbs such as bootstrap, context, focus, visibility, poll, and queued refreshes.";
|
|
125
|
+
readonly summary: "Host remote diagnostic-provider refresh debug breadcrumbs.";
|
|
126
|
+
readonly remoteRule: {
|
|
127
|
+
readonly featureKey: "gclick-frontend-diagnostic-policies";
|
|
128
|
+
readonly payloadKey: "gclick_host.feature-flags.refresh-debug";
|
|
129
|
+
readonly provider: "growthbook";
|
|
130
|
+
readonly supportedLayers: readonly ["moduleDefault", "accountOverride"];
|
|
131
|
+
};
|
|
132
|
+
} | {
|
|
133
|
+
readonly active: true;
|
|
134
|
+
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"];
|
|
135
|
+
readonly controlPlane: "remote-policy";
|
|
136
|
+
readonly createdAt: "2026-06-05";
|
|
137
|
+
readonly id: "operativeMyGpsDevicesDeviceSelectionMissingPosition";
|
|
138
|
+
readonly key: "operative_my_gps_devices.device-selection.missing-position";
|
|
139
|
+
readonly owner: {
|
|
140
|
+
readonly app: "operative_my_gps_devices";
|
|
141
|
+
readonly moduleId: "operative_my_gps_devices";
|
|
142
|
+
readonly runtime: "web";
|
|
143
|
+
readonly surface: "mf";
|
|
144
|
+
};
|
|
145
|
+
readonly purpose: "Capture the user-visible branch where one selected device has no finite GNSS position and the map must skip focus safely.";
|
|
146
|
+
readonly summary: "MF selection branch for devices without finite GNSS position.";
|
|
147
|
+
readonly remoteRule: {
|
|
148
|
+
readonly featureKey: "gclick-frontend-diagnostic-policies";
|
|
149
|
+
readonly payloadKey: "operative_my_gps_devices.device-selection.missing-position";
|
|
150
|
+
readonly provider: "growthbook";
|
|
151
|
+
readonly supportedLayers: readonly ["moduleDefault", "accountOverride"];
|
|
152
|
+
};
|
|
153
|
+
} | {
|
|
154
|
+
readonly active: true;
|
|
155
|
+
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"];
|
|
156
|
+
readonly controlPlane: "remote-policy";
|
|
157
|
+
readonly createdAt: "2026-06-06";
|
|
158
|
+
readonly id: "operativeMyGpsDevicesMotionCapture";
|
|
159
|
+
readonly key: "operative_my_gps_devices.motion.capture";
|
|
160
|
+
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."];
|
|
161
|
+
readonly owner: {
|
|
162
|
+
readonly app: "operative_my_gps_devices";
|
|
163
|
+
readonly moduleId: "operative_my_gps_devices";
|
|
164
|
+
readonly runtime: "web";
|
|
165
|
+
readonly surface: "mf";
|
|
166
|
+
};
|
|
167
|
+
readonly purpose: "Capture selected-device realtime ingress, motion-segment, and camera-follow evidence for support investigations.";
|
|
168
|
+
readonly summary: "MF targeted motion-capture diagnostic family.";
|
|
169
|
+
readonly remoteRule: {
|
|
170
|
+
readonly featureKey: "gclick-frontend-diagnostic-policies";
|
|
171
|
+
readonly payloadKey: "operative_my_gps_devices.motion.capture";
|
|
172
|
+
readonly provider: "growthbook";
|
|
173
|
+
readonly supportedLayers: readonly ["moduleDefault", "accountOverride"];
|
|
174
|
+
};
|
|
175
|
+
} | {
|
|
176
|
+
readonly active: true;
|
|
177
|
+
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"];
|
|
178
|
+
readonly controlPlane: "remote-policy";
|
|
179
|
+
readonly createdAt: "2026-08-20";
|
|
180
|
+
readonly id: "operativeMyGpsDevicesRealtimeTransportLifecycle";
|
|
181
|
+
readonly key: "operative_my_gps_devices.realtime.transport-lifecycle";
|
|
182
|
+
readonly owner: {
|
|
183
|
+
readonly app: "operative_my_gps_devices";
|
|
184
|
+
readonly moduleId: "operative_my_gps_devices";
|
|
185
|
+
readonly runtime: "web";
|
|
186
|
+
readonly surface: "mf";
|
|
187
|
+
};
|
|
188
|
+
readonly purpose: "Capture isolation Atmosphere lifecycle breadcrumbs during temporary support investigations of reconnect storms and browser sleep recovery.";
|
|
189
|
+
readonly summary: "My GPS Devices isolation Atmosphere transport lifecycle breadcrumbs.";
|
|
190
|
+
readonly remoteRule: {
|
|
191
|
+
readonly featureKey: "gclick-frontend-diagnostic-policies";
|
|
192
|
+
readonly payloadKey: "operative_my_gps_devices.realtime.transport-lifecycle";
|
|
193
|
+
readonly provider: "growthbook";
|
|
194
|
+
readonly supportedLayers: readonly ["moduleDefault", "accountOverride"];
|
|
195
|
+
};
|
|
196
|
+
} | {
|
|
197
|
+
readonly active: true;
|
|
198
|
+
readonly codePaths: readonly ["apps/gclick/mfs/operative/operative_my_gps_devices/src/components/App/subcomponents/ModuleMap/subcomponents/MapContent/subcomponents/DeviceMarker/helpers/reportLeafletRuntimeError.ts"];
|
|
199
|
+
readonly controlPlane: "always-on";
|
|
200
|
+
readonly createdAt: "2026-06-05";
|
|
201
|
+
readonly id: "operativeMyGpsDevicesRecoverableLeafletRuntime";
|
|
202
|
+
readonly key: "operative_my_gps_devices.recoverable.leaflet-runtime";
|
|
203
|
+
readonly owner: {
|
|
204
|
+
readonly app: "operative_my_gps_devices";
|
|
205
|
+
readonly moduleId: "operative_my_gps_devices";
|
|
206
|
+
readonly runtime: "web";
|
|
207
|
+
readonly surface: "mf";
|
|
208
|
+
};
|
|
209
|
+
readonly purpose: "Expose recovered Leaflet runtime anomalies that should never stay silent even without one active support capture.";
|
|
210
|
+
readonly summary: "MF always-on recovered Leaflet runtime anomaly.";
|
|
211
|
+
} | {
|
|
212
|
+
readonly active: true;
|
|
213
|
+
readonly codePaths: readonly ["apps/gclick/mfs/operative/operative_my_gps_devices/src/components/app_entries/ByIsolation/observability/diagnosticFeatureFlags.ts"];
|
|
214
|
+
readonly controlPlane: "always-on";
|
|
215
|
+
readonly createdAt: "2026-06-08";
|
|
216
|
+
readonly id: "operativeMyGpsDevicesRemoteDiagnosticProviderHealth";
|
|
217
|
+
readonly key: "operative_my_gps_devices.feature-flags.remote-diagnostic-provider-health";
|
|
218
|
+
readonly owner: {
|
|
219
|
+
readonly app: "operative_my_gps_devices";
|
|
220
|
+
readonly moduleId: "operative_my_gps_devices";
|
|
221
|
+
readonly runtime: "web";
|
|
222
|
+
readonly surface: "mf";
|
|
223
|
+
};
|
|
224
|
+
readonly purpose: "Report isolation remote diagnostic-provider outages even when the active session has no support policy enabled.";
|
|
225
|
+
readonly summary: "MF isolation remote diagnostic-provider outage anomaly.";
|
|
226
|
+
} | {
|
|
227
|
+
readonly active: true;
|
|
228
|
+
readonly codePaths: readonly ["apps/gclick/mfs/shared/shared_reports_list/src/components/App/context/ReportContext"];
|
|
229
|
+
readonly controlPlane: "remote-policy";
|
|
230
|
+
readonly createdAt: "2026-08-22";
|
|
231
|
+
readonly id: "sharedReportsListReportsDebug";
|
|
232
|
+
readonly key: "shared_reports_list.feature-flags.reports-debug";
|
|
233
|
+
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."];
|
|
234
|
+
readonly owner: {
|
|
235
|
+
readonly app: "shared_reports_list";
|
|
236
|
+
readonly moduleId: "shared_reports_list";
|
|
237
|
+
readonly runtime: "web";
|
|
238
|
+
readonly surface: "mf";
|
|
239
|
+
};
|
|
240
|
+
readonly purpose: "Allow support-enabled sessions to remove the reports/types test-worker exclusion filter.";
|
|
241
|
+
readonly summary: "Fallback product gate for the shared reports test report type.";
|
|
242
|
+
readonly remoteRule: {
|
|
243
|
+
readonly featureKey: "gclick-frontend-diagnostic-policies";
|
|
244
|
+
readonly payloadKey: "shared_reports_list.feature-flags.reports-debug";
|
|
245
|
+
readonly provider: "growthbook";
|
|
246
|
+
readonly supportedLayers: readonly ["moduleDefault", "accountOverride"];
|
|
247
|
+
};
|
|
248
|
+
} | {
|
|
249
|
+
readonly active: true;
|
|
250
|
+
readonly codePaths: readonly ["apps/gclick/mfs/shared/shared_reports_list/src/components/appEntries/ByIsolation/observability/diagnosticFeatureFlags.ts"];
|
|
251
|
+
readonly controlPlane: "always-on";
|
|
252
|
+
readonly createdAt: "2026-08-24";
|
|
253
|
+
readonly id: "sharedReportsListRemoteDiagnosticProviderHealth";
|
|
254
|
+
readonly key: "shared_reports_list.feature-flags.remote-diagnostic-provider-health";
|
|
255
|
+
readonly owner: {
|
|
256
|
+
readonly app: "shared_reports_list";
|
|
257
|
+
readonly moduleId: "shared_reports_list";
|
|
258
|
+
readonly runtime: "web";
|
|
259
|
+
readonly surface: "mf";
|
|
260
|
+
};
|
|
261
|
+
readonly purpose: "Report isolation remote diagnostic-provider outages even when report debug is disabled.";
|
|
262
|
+
readonly summary: "MF isolation remote diagnostic-provider outage anomaly.";
|
|
263
|
+
})[];
|
|
264
|
+
/**
|
|
265
|
+
* Key-addressable view of the policy inventory for fast code-to-control-plane comparison.
|
|
266
|
+
*/
|
|
267
|
+
export declare const diagnosticPolicyCatalogByKey: Readonly<Record<string, DiagnosticPolicyCatalogEntry>>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared GrowthBook feature key used by frontend-web diagnostic policy payloads.
|
|
3
|
+
*/
|
|
4
|
+
export declare const diagnosticPolicyWebFeatureKey = "gclick-frontend-diagnostic-policies";
|
|
5
|
+
/**
|
|
6
|
+
* Shared remote payload layers currently supported by the frontend-web catalog.
|
|
7
|
+
*/
|
|
8
|
+
export declare const diagnosticPolicyWebLayers: readonly ["moduleDefault", "accountOverride"];
|
|
9
|
+
export type DiagnosticPolicyCatalogDate = `${number}-${number}-${number}`;
|
|
10
|
+
export type DiagnosticPolicyCatalogControlPlane = 'always-on' | 'remote-policy';
|
|
11
|
+
export type DiagnosticPolicyCatalogRemoteLayer = (typeof diagnosticPolicyWebLayers)[number];
|
|
12
|
+
export type DiagnosticPolicyCatalogRemoteProvider = 'growthbook';
|
|
13
|
+
export type DiagnosticPolicyCatalogSurface = 'host' | 'mf';
|
|
14
|
+
/**
|
|
15
|
+
* Owning runtime surface for one diagnostic policy family.
|
|
16
|
+
*/
|
|
17
|
+
export interface DiagnosticPolicyCatalogOwner {
|
|
18
|
+
app: string;
|
|
19
|
+
moduleId?: string;
|
|
20
|
+
runtime: 'web';
|
|
21
|
+
surface: DiagnosticPolicyCatalogSurface;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Remote-provider contract used to contrast code inventory with the active remote policy rule.
|
|
25
|
+
*/
|
|
26
|
+
export interface DiagnosticPolicyCatalogRemoteRule {
|
|
27
|
+
featureKey: string;
|
|
28
|
+
payloadKey: string;
|
|
29
|
+
provider: DiagnosticPolicyCatalogRemoteProvider;
|
|
30
|
+
supportedLayers: ReadonlyArray<DiagnosticPolicyCatalogRemoteLayer>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Shared metadata required for every durable diagnostic policy inventory record.
|
|
34
|
+
*/
|
|
35
|
+
interface DiagnosticPolicyCatalogEntryBase<PolicyId extends string = string, PolicyKey extends string = string> {
|
|
36
|
+
active: boolean;
|
|
37
|
+
codePaths: ReadonlyArray<string>;
|
|
38
|
+
createdAt: DiagnosticPolicyCatalogDate;
|
|
39
|
+
id: PolicyId;
|
|
40
|
+
key: PolicyKey;
|
|
41
|
+
notes?: ReadonlyArray<string>;
|
|
42
|
+
owner: DiagnosticPolicyCatalogOwner;
|
|
43
|
+
purpose: string;
|
|
44
|
+
summary: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Durable inventory record for one always-on diagnostic policy family.
|
|
48
|
+
*/
|
|
49
|
+
interface DiagnosticPolicyCatalogAlwaysOnEntry<PolicyId extends string = string, PolicyKey extends string = string> extends DiagnosticPolicyCatalogEntryBase<PolicyId, PolicyKey> {
|
|
50
|
+
controlPlane: 'always-on';
|
|
51
|
+
remoteRule?: never;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Durable inventory record for one remotely configurable diagnostic policy family.
|
|
55
|
+
*/
|
|
56
|
+
interface DiagnosticPolicyCatalogRemotePolicyEntry<PolicyId extends string = string, PolicyKey extends string = string> extends DiagnosticPolicyCatalogEntryBase<PolicyId, PolicyKey> {
|
|
57
|
+
controlPlane: 'remote-policy';
|
|
58
|
+
remoteRule: DiagnosticPolicyCatalogRemoteRule;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Durable inventory record for one diagnostic policy family.
|
|
62
|
+
*/
|
|
63
|
+
export type DiagnosticPolicyCatalogEntry<PolicyId extends string = string, PolicyKey extends string = string> = DiagnosticPolicyCatalogAlwaysOnEntry<PolicyId, PolicyKey> | DiagnosticPolicyCatalogRemotePolicyEntry<PolicyId, PolicyKey>;
|
|
64
|
+
export {};
|