@iteraai/react-component-inspector 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +168 -0
  2. package/dist/adapters/base/baseAdapter.d.ts +24 -0
  3. package/dist/adapters/base/createReactInspectorAdapter.d.ts +6 -0
  4. package/dist/adapters/base/index.d.ts +4 -0
  5. package/dist/adapters/base/runtimeConfig.d.ts +4 -0
  6. package/dist/adapters/base/sourceMetadata.d.ts +3 -0
  7. package/dist/adapters/base/types.d.ts +23 -0
  8. package/dist/adapters/cra/craAdapter.d.ts +6 -0
  9. package/dist/adapters/cra/index.d.ts +3 -0
  10. package/dist/adapters/fiber/fiberAdapter.d.ts +9 -0
  11. package/dist/adapters/fiber/highlightTarget.d.ts +2 -0
  12. package/dist/adapters/fiber/index.d.ts +3 -0
  13. package/dist/adapters/fiber/nodeIdentity.d.ts +14 -0
  14. package/dist/adapters/fiber/nodeLookup.d.ts +23 -0
  15. package/dist/adapters/fiber/props.d.ts +2 -0
  16. package/dist/adapters/fiber/rootDiscovery.d.ts +2 -0
  17. package/dist/adapters/fiber/source.d.ts +2 -0
  18. package/dist/adapters/fiber/spike/devtoolsProbe.d.ts +2 -0
  19. package/dist/adapters/fiber/spike/displayName.d.ts +1 -0
  20. package/dist/adapters/fiber/spike/fallbackDecision.d.ts +26 -0
  21. package/dist/adapters/fiber/spike/fiberTraversal.d.ts +12 -0
  22. package/dist/adapters/fiber/spike/types.d.ts +35 -0
  23. package/dist/adapters/fiber/traversal.d.ts +31 -0
  24. package/dist/adapters/fiber/treeMapping.d.ts +8 -0
  25. package/dist/adapters/fiber/types.d.ts +35 -0
  26. package/dist/adapters/next/index.d.ts +3 -0
  27. package/dist/adapters/next/nextAdapter.d.ts +6 -0
  28. package/dist/adapters/vite/index.d.ts +3 -0
  29. package/dist/adapters/vite/viteAdapter.d.ts +6 -0
  30. package/dist/bridgeRuntime.d.ts +37 -0
  31. package/dist/bridgeRuntime.js +7 -0
  32. package/dist/bridgeRuntime.js.map +1 -0
  33. package/dist/chunks/bridgeRuntime-Da4khSK2.js +2278 -0
  34. package/dist/chunks/bridgeRuntime-Da4khSK2.js.map +1 -0
  35. package/dist/chunks/embeddedBootstrap-v-MS8cPB.js +358 -0
  36. package/dist/chunks/embeddedBootstrap-v-MS8cPB.js.map +1 -0
  37. package/dist/devtoolsInlineBackendHook.d.ts +5 -0
  38. package/dist/embeddedBootstrap.d.ts +24 -0
  39. package/dist/embeddedBootstrap.js +7 -0
  40. package/dist/embeddedBootstrap.js.map +1 -0
  41. package/dist/embeddedRuntimeTelemetry.d.ts +34 -0
  42. package/dist/highlighter.d.ts +6 -0
  43. package/dist/index.d.ts +13 -0
  44. package/dist/index.js +49 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/iterationInspector/index.d.ts +2 -0
  47. package/dist/iterationInspector/runtime.d.ts +23 -0
  48. package/dist/iterationInspector/types.d.ts +74 -0
  49. package/dist/iterationInspector.js +708 -0
  50. package/dist/iterationInspector.js.map +1 -0
  51. package/dist/reactDevtoolsInlineBackend.d.ts +7 -0
  52. package/dist/reactTreeAdapter.d.ts +3 -0
  53. package/dist/security/bridgeTelemetry.d.ts +50 -0
  54. package/dist/security/inspectorSecurityEvents.d.ts +18 -0
  55. package/dist/security/messageSizePolicy.d.ts +19 -0
  56. package/dist/security/redactionPolicy.d.ts +2 -0
  57. package/dist/security/tokenValidation.d.ts +15 -0
  58. package/dist/serializer.d.ts +10 -0
  59. package/package.json +77 -0
@@ -0,0 +1,358 @@
1
+ import { i as F } from "./bridgeRuntime-Da4khSK2.js";
2
+ import O from "react-devtools-inline/backend.js";
3
+ const A = "ara:embedded-runtime-telemetry", h = 2e3, _ = 500, M = 4e3, v = 5, B = 500;
4
+ let u;
5
+ const L = (e) => typeof e == "object" && e !== null, k = (e, t) => e.length <= t ? e : t <= 3 ? e.slice(0, t) : `${e.slice(0, t - 3)}...`, y = (e, t) => {
6
+ if (typeof e != "string")
7
+ return;
8
+ const n = e.trim().replaceAll(/\s+/g, " ");
9
+ if (n.length !== 0)
10
+ return k(n, t);
11
+ }, E = (e, t) => {
12
+ if (typeof e != "string")
13
+ return;
14
+ const n = e.trim();
15
+ if (n.length !== 0)
16
+ return k(n, t);
17
+ }, f = (e) => typeof e == "object" && e !== null, m = (e) => {
18
+ if (e === void 0)
19
+ return;
20
+ const t = typeof e.name == "string" ? e.name.trim() : "", n = typeof e.message == "string" ? e.message.trim() : "";
21
+ return t.length > 0 && n.length > 0 ? n.startsWith(`${t}:`) ? n : `${t}: ${n}` : n.length > 0 ? n : t.length > 0 ? t : void 0;
22
+ }, R = (e) => {
23
+ if (!(e === void 0 || typeof e.stack != "string"))
24
+ return E(e.stack, M);
25
+ }, N = () => {
26
+ const e = /* @__PURE__ */ new WeakSet();
27
+ return (t, n) => {
28
+ if (typeof n == "bigint")
29
+ return `${n}n`;
30
+ if (typeof n == "function")
31
+ return `[Function ${n.name || "anonymous"}]`;
32
+ if (typeof n == "symbol")
33
+ return n.toString();
34
+ if (typeof n == "object" && n !== null) {
35
+ if (e.has(n))
36
+ return "[Circular]";
37
+ e.add(n);
38
+ }
39
+ return n;
40
+ };
41
+ }, g = (e) => {
42
+ if (typeof e == "string")
43
+ return e;
44
+ const t = f(e) ? m(e) : void 0;
45
+ if (t !== void 0)
46
+ return t;
47
+ if (e === null)
48
+ return "null";
49
+ if (e === void 0)
50
+ return "undefined";
51
+ if (typeof e == "number" || typeof e == "boolean" || typeof e == "bigint")
52
+ return String(e);
53
+ if (typeof e == "symbol")
54
+ return e.toString();
55
+ if (typeof e == "function")
56
+ return `[Function ${e.name || "anonymous"}]`;
57
+ try {
58
+ const n = JSON.stringify(e, N());
59
+ if (typeof n == "string")
60
+ return n;
61
+ } catch {
62
+ }
63
+ try {
64
+ return String(e);
65
+ } catch {
66
+ return Object.prototype.toString.call(e);
67
+ }
68
+ }, I = (e) => {
69
+ if (!(typeof e != "number" || !Number.isFinite(e) || !Number.isInteger(e) || e < 0))
70
+ return e;
71
+ }, C = () => {
72
+ try {
73
+ return window.location.href;
74
+ } catch {
75
+ return;
76
+ }
77
+ }, S = () => {
78
+ if (!(typeof document > "u"))
79
+ return document.referrer;
80
+ }, p = (e, t) => {
81
+ const n = E(C(), h);
82
+ return {
83
+ type: "runtime_telemetry",
84
+ event: e,
85
+ message: t,
86
+ ...n !== void 0 && {
87
+ page_url: n
88
+ },
89
+ client_timestamp_ms: Date.now()
90
+ };
91
+ }, U = (e) => {
92
+ const t = e.find((i) => f(i)), n = e[0], r = e.map((i) => g(i)).find((i) => i.trim().length > 0), o = y(
93
+ typeof n == "string" ? n : m(
94
+ f(n) ? n : void 0
95
+ ) ?? m(t) ?? r,
96
+ _
97
+ );
98
+ if (o === void 0)
99
+ return;
100
+ const s = e.map(
101
+ (i) => y(g(i), B)
102
+ ).filter((i) => i !== void 0).filter((i, d) => !(d === 0 && i === o)).slice(0, v), c = R(t);
103
+ return {
104
+ ...p("console.error", o),
105
+ ...c !== void 0 && {
106
+ stack: c
107
+ },
108
+ ...s.length > 0 && {
109
+ details: s
110
+ }
111
+ };
112
+ }, K = (e) => {
113
+ const t = e, n = f(t.error) ? t.error : void 0, r = y(
114
+ typeof t.message == "string" ? t.message : m(n),
115
+ _
116
+ );
117
+ if (r === void 0)
118
+ return;
119
+ const o = E(
120
+ typeof t.filename == "string" ? t.filename : void 0,
121
+ h
122
+ ), s = R(n), c = I(t.lineno), i = I(t.colno);
123
+ return {
124
+ ...p("window.onerror", r),
125
+ ...o !== void 0 && {
126
+ source_url: o
127
+ },
128
+ ...c !== void 0 && {
129
+ line_number: c
130
+ },
131
+ ...i !== void 0 && {
132
+ column_number: i
133
+ },
134
+ ...s !== void 0 && {
135
+ stack: s
136
+ }
137
+ };
138
+ }, G = (e) => {
139
+ const t = e.reason, n = f(t) ? t : void 0, r = y(
140
+ typeof t == "string" ? t : m(n) ?? g(t),
141
+ _
142
+ );
143
+ if (r === void 0)
144
+ return;
145
+ const o = R(n);
146
+ return {
147
+ ...p("unhandledrejection", r),
148
+ ...o !== void 0 && {
149
+ stack: o
150
+ }
151
+ };
152
+ }, D = (e, t) => {
153
+ if (e !== void 0)
154
+ try {
155
+ e(t);
156
+ } catch {
157
+ }
158
+ }, z = (e, t) => {
159
+ const n = t ?? "http://localhost/";
160
+ try {
161
+ return new URL(e, n).origin;
162
+ } catch {
163
+ return;
164
+ }
165
+ }, V = (e, t = S()) => {
166
+ const n = e == null ? void 0 : e.trim();
167
+ if (n !== void 0 && n.length > 0)
168
+ return z(n, t) ?? "*";
169
+ if (t === void 0 || t.length === 0)
170
+ return "*";
171
+ try {
172
+ return new URL(t).origin;
173
+ } catch {
174
+ return "*";
175
+ }
176
+ }, j = (e) => ({
177
+ channel: A,
178
+ payload: e
179
+ }), le = (e) => {
180
+ if (!L(e) || e.channel !== A)
181
+ return !1;
182
+ const t = e.payload;
183
+ return L(t) ? t.type === "runtime_telemetry" : !1;
184
+ }, $ = (e) => {
185
+ if (u !== void 0 && u.destroy(), typeof window > "u" || !e.enabled)
186
+ return u = {
187
+ destroy: () => {
188
+ u = void 0;
189
+ }
190
+ }, u;
191
+ const t = V(
192
+ e.targetOrigin
193
+ ), n = console.error, r = (d) => {
194
+ var l;
195
+ const a = j(d);
196
+ try {
197
+ window.parent.postMessage(a, t), D((l = e.hooks) == null ? void 0 : l.onTelemetryPosted, a);
198
+ } catch {
199
+ }
200
+ }, o = (d) => {
201
+ var a;
202
+ d !== void 0 && (D((a = e.hooks) == null ? void 0 : a.onTelemetryCaptured, d), r(d));
203
+ }, s = (...d) => {
204
+ try {
205
+ n.apply(console, d);
206
+ } finally {
207
+ o(U(d));
208
+ }
209
+ }, c = (d) => {
210
+ o(K(d));
211
+ }, i = (d) => {
212
+ o(G(d));
213
+ };
214
+ return console.error = s, window.addEventListener("error", c), window.addEventListener(
215
+ "unhandledrejection",
216
+ i
217
+ ), u = {
218
+ destroy: () => {
219
+ window.removeEventListener("error", c), window.removeEventListener(
220
+ "unhandledrejection",
221
+ i
222
+ ), console.error === s && (console.error = n), u = void 0;
223
+ }
224
+ }, u;
225
+ }, { initialize: W } = O, Y = "__araDevtoolsInlineBackendHookInitialized", w = (e) => typeof e == "object" && e !== null, P = (e) => w(e), X = (e) => {
226
+ const t = Object.getOwnPropertyDescriptor(
227
+ e,
228
+ "__REACT_DEVTOOLS_GLOBAL_HOOK__"
229
+ );
230
+ if (!(t === void 0 || t.configurable !== !0) && typeof t.get != "function")
231
+ try {
232
+ delete e.__REACT_DEVTOOLS_GLOBAL_HOOK__;
233
+ } catch {
234
+ }
235
+ }, x = (e) => {
236
+ if (w(e))
237
+ return e;
238
+ }, Z = (e) => {
239
+ if (typeof e.getFiberRoots == "function")
240
+ return !0;
241
+ if (typeof e.onCommitFiberRoot != "function")
242
+ return !1;
243
+ const t = /* @__PURE__ */ new Map(), n = e.onCommitFiberRoot.bind(e), r = (o) => {
244
+ const s = t.get(o);
245
+ if (s !== void 0)
246
+ return s;
247
+ const c = /* @__PURE__ */ new Set();
248
+ return t.set(o, c), c;
249
+ };
250
+ return e.getFiberRoots = r, e.onCommitFiberRoot = (o, s, c) => {
251
+ const i = r(o), d = x(s), a = d == null ? void 0 : d.current, l = a == null ? void 0 : a.memoizedState, b = l === null || (l == null ? void 0 : l.element) === void 0 || (l == null ? void 0 : l.element) === null, T = i.has(s);
252
+ !T && !b ? i.add(s) : T && b && i.delete(s), n(o, s, c);
253
+ }, !0;
254
+ }, J = (e = {}) => {
255
+ if (typeof window > "u" || e.enabled === !1)
256
+ return !1;
257
+ const t = e.initializedFlagKey ?? Y, n = window;
258
+ if (n[t] === !0)
259
+ return !0;
260
+ try {
261
+ X(n), W(window);
262
+ const r = n.__REACT_DEVTOOLS_GLOBAL_HOOK__;
263
+ return !P(r) || !Z(
264
+ r
265
+ ) ? !1 : (n[t] = !0, !0);
266
+ } catch {
267
+ return !1;
268
+ }
269
+ }, q = "__araInlineMenuReadyHandlerRegistered", H = ["tree", "props", "highlight"], Q = !0, ee = !1, te = ["https://app.iteraapp.com"], ne = "__iteraDevtoolsInlineBackendHookInitialized", re = "__iteraRegisteredInlineMenuReadyHandler", oe = (e, t) => {
270
+ if (Array.isArray(e)) {
271
+ const n = e.map((r) => r.trim()).filter((r) => r.length > 0);
272
+ return n.length > 0 ? n : [...t];
273
+ }
274
+ if (typeof e == "string" && e.length > 0) {
275
+ const n = e.split(",").map((r) => r.trim()).filter((r) => r.length > 0);
276
+ return n.length > 0 ? n : [...t];
277
+ }
278
+ return [...t];
279
+ }, ie = (e) => {
280
+ if (typeof window > "u")
281
+ return;
282
+ const t = window;
283
+ if (t[e] === !0)
284
+ return;
285
+ const n = t.__REACT_DEVTOOLS_GLOBAL_HOOK__;
286
+ if (typeof (n == null ? void 0 : n.on) == "function")
287
+ try {
288
+ n.on("inline-menu-ready", () => {
289
+ }), t[e] = !0;
290
+ } catch {
291
+ }
292
+ }, se = (e) => {
293
+ const t = e.killSwitchActive === !0;
294
+ e.installInlineBackendHook !== !1 && e.enabled && !t && (J({
295
+ enabled: !0,
296
+ initializedFlagKey: e.inlineBackendHookInitializedFlagKey
297
+ }), ie(
298
+ e.inlineMenuReadyHandlerRegisteredFlagKey ?? q
299
+ ));
300
+ const r = oe(
301
+ e.hostOrigins,
302
+ e.defaultHostOrigins ?? []
303
+ ), o = F({
304
+ hostOrigins: r,
305
+ enabled: e.enabled,
306
+ killSwitchActive: t,
307
+ mode: e.mode ?? "development",
308
+ capabilities: e.capabilities ?? [...H],
309
+ runtimeConfig: e.runtimeConfig ?? {
310
+ adapter: "fiber"
311
+ },
312
+ ...e.adapterFactory !== void 0 && {
313
+ adapterFactory: e.adapterFactory
314
+ },
315
+ ...e.telemetry !== void 0 && {
316
+ telemetry: e.telemetry
317
+ }
318
+ }), s = $({
319
+ enabled: e.enabled && !t,
320
+ ...e.runtimeTelemetry
321
+ });
322
+ return {
323
+ destroy: () => {
324
+ s.destroy(), o.destroy();
325
+ }
326
+ };
327
+ }, ae = (e = {}) => {
328
+ const t = e.killSwitchActive ?? ee;
329
+ return t && console.warn(
330
+ "[component-inspector] Embedded kill switch is active. Bridge is disabled."
331
+ ), se({
332
+ hostOrigins: e.hostOrigins,
333
+ defaultHostOrigins: e.defaultHostOrigins ?? te,
334
+ enabled: e.enabled ?? Q,
335
+ killSwitchActive: t,
336
+ installInlineBackendHook: e.installInlineBackendHook,
337
+ inlineBackendHookInitializedFlagKey: e.inlineBackendHookInitializedFlagKey ?? ne,
338
+ inlineMenuReadyHandlerRegisteredFlagKey: e.inlineMenuReadyHandlerRegisteredFlagKey ?? re,
339
+ adapterFactory: e.adapterFactory,
340
+ telemetry: e.telemetry,
341
+ runtimeTelemetry: e.runtimeTelemetry,
342
+ mode: "development",
343
+ capabilities: [...H],
344
+ runtimeConfig: {
345
+ adapter: "fiber"
346
+ }
347
+ });
348
+ };
349
+ export {
350
+ A as E,
351
+ $ as a,
352
+ se as b,
353
+ J as c,
354
+ le as d,
355
+ ae as i,
356
+ V as r
357
+ };
358
+ //# sourceMappingURL=embeddedBootstrap-v-MS8cPB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embeddedBootstrap-v-MS8cPB.js","sources":["../../src/embeddedRuntimeTelemetry.ts","../../src/devtoolsInlineBackendHook.ts","../../src/embeddedBootstrap.ts"],"sourcesContent":["export type RuntimeTelemetryEvent =\n | 'console.error'\n | 'window.onerror'\n | 'unhandledrejection';\n\nexport type RuntimeTelemetryMessage = {\n type: 'runtime_telemetry';\n event: RuntimeTelemetryEvent;\n message: string;\n page_url?: string;\n source_url?: string;\n line_number?: number;\n column_number?: number;\n stack?: string;\n details?: string[];\n client_timestamp_ms: number;\n};\n\nexport const EMBEDDED_RUNTIME_TELEMETRY_CHANNEL =\n 'ara:embedded-runtime-telemetry';\n\nexport type EmbeddedRuntimeTelemetryHostMessage = {\n channel: typeof EMBEDDED_RUNTIME_TELEMETRY_CHANNEL;\n payload: RuntimeTelemetryMessage;\n};\n\nexport type EmbeddedRuntimeTelemetryHooks = {\n onTelemetryCaptured?: (message: RuntimeTelemetryMessage) => void;\n onTelemetryPosted?: (message: EmbeddedRuntimeTelemetryHostMessage) => void;\n};\n\nexport type InitEmbeddedRuntimeTelemetryOptions = {\n enabled: boolean;\n targetOrigin?: string;\n hooks?: EmbeddedRuntimeTelemetryHooks;\n};\n\ntype EmbeddedRuntimeTelemetry = {\n destroy: () => void;\n};\n\ntype ErrorLike = {\n name?: unknown;\n message?: unknown;\n stack?: unknown;\n};\n\nconst MAX_URL_LENGTH = 2_000;\nconst MAX_MESSAGE_LENGTH = 500;\nconst MAX_STACK_LENGTH = 4_000;\nconst MAX_DETAIL_COUNT = 5;\nconst MAX_DETAIL_LENGTH = 500;\n\nlet activeEmbeddedRuntimeTelemetry: EmbeddedRuntimeTelemetry | undefined;\n\nconst isRecord = (value: unknown): value is Record<string, unknown> => {\n return typeof value === 'object' && value !== null;\n};\n\nconst truncateText = (value: string, maxLength: number) => {\n if (value.length <= maxLength) {\n return value;\n }\n\n if (maxLength <= 3) {\n return value.slice(0, maxLength);\n }\n\n return `${value.slice(0, maxLength - 3)}...`;\n};\n\nconst toBoundedInlineText = (value: string | undefined, maxLength: number) => {\n if (typeof value !== 'string') {\n return undefined;\n }\n\n const normalizedValue = value.trim().replaceAll(/\\s+/g, ' ');\n\n if (normalizedValue.length === 0) {\n return undefined;\n }\n\n return truncateText(normalizedValue, maxLength);\n};\n\nconst toBoundedMultilineText = (\n value: string | undefined,\n maxLength: number,\n) => {\n if (typeof value !== 'string') {\n return undefined;\n }\n\n const normalizedValue = value.trim();\n\n if (normalizedValue.length === 0) {\n return undefined;\n }\n\n return truncateText(normalizedValue, maxLength);\n};\n\nconst isErrorLike = (value: unknown): value is ErrorLike => {\n return typeof value === 'object' && value !== null;\n};\n\nconst toErrorLikeMessage = (value: ErrorLike | undefined) => {\n if (value === undefined) {\n return undefined;\n }\n\n const name = typeof value.name === 'string' ? value.name.trim() : '';\n const message = typeof value.message === 'string' ? value.message.trim() : '';\n\n if (name.length > 0 && message.length > 0) {\n return message.startsWith(`${name}:`) ? message : `${name}: ${message}`;\n }\n\n if (message.length > 0) {\n return message;\n }\n\n return name.length > 0 ? name : undefined;\n};\n\nconst toErrorLikeStack = (value: ErrorLike | undefined) => {\n if (value === undefined || typeof value.stack !== 'string') {\n return undefined;\n }\n\n return toBoundedMultilineText(value.stack, MAX_STACK_LENGTH);\n};\n\nconst createCircularReplacer = () => {\n const seen = new WeakSet<object>();\n\n return (_key: string, value: unknown) => {\n if (typeof value === 'bigint') {\n return `${value}n`;\n }\n\n if (typeof value === 'function') {\n return `[Function ${value.name || 'anonymous'}]`;\n }\n\n if (typeof value === 'symbol') {\n return value.toString();\n }\n\n if (typeof value === 'object' && value !== null) {\n if (seen.has(value)) {\n return '[Circular]';\n }\n\n seen.add(value);\n }\n\n return value;\n };\n};\n\nconst serializeRuntimeValue = (value: unknown): string => {\n if (typeof value === 'string') {\n return value;\n }\n\n const errorLikeMessage = isErrorLike(value)\n ? toErrorLikeMessage(value)\n : undefined;\n\n if (errorLikeMessage !== undefined) {\n return errorLikeMessage;\n }\n\n if (value === null) {\n return 'null';\n }\n\n if (value === undefined) {\n return 'undefined';\n }\n\n if (\n typeof value === 'number' ||\n typeof value === 'boolean' ||\n typeof value === 'bigint'\n ) {\n return String(value);\n }\n\n if (typeof value === 'symbol') {\n return value.toString();\n }\n\n if (typeof value === 'function') {\n return `[Function ${value.name || 'anonymous'}]`;\n }\n\n try {\n const serializedValue = JSON.stringify(value, createCircularReplacer());\n\n if (typeof serializedValue === 'string') {\n return serializedValue;\n }\n } catch {\n // Fall through to String() so telemetry capture stays non-throwing.\n }\n\n try {\n return String(value);\n } catch {\n return Object.prototype.toString.call(value);\n }\n};\n\nconst toNonNegativeInteger = (value: unknown) => {\n if (\n typeof value !== 'number' ||\n !Number.isFinite(value) ||\n !Number.isInteger(value) ||\n value < 0\n ) {\n return undefined;\n }\n\n return value;\n};\n\nconst readCurrentPageUrl = () => {\n try {\n return window.location.href;\n } catch {\n return undefined;\n }\n};\n\nconst readDocumentReferrer = () => {\n if (typeof document === 'undefined') {\n return undefined;\n }\n\n return document.referrer;\n};\n\nconst createRuntimeTelemetryMessage = (\n event: RuntimeTelemetryEvent,\n message: string,\n): RuntimeTelemetryMessage => {\n const pageUrl = toBoundedMultilineText(readCurrentPageUrl(), MAX_URL_LENGTH);\n\n return {\n type: 'runtime_telemetry',\n event,\n message,\n ...(pageUrl !== undefined && {\n page_url: pageUrl,\n }),\n client_timestamp_ms: Date.now(),\n };\n};\n\nconst toConsoleErrorTelemetryMessage = (\n args: unknown[],\n): RuntimeTelemetryMessage | undefined => {\n const errorLikeArgument = args.find((entry) => isErrorLike(entry));\n const primaryArgument = args[0];\n const fallbackMessage = args\n .map((entry) => serializeRuntimeValue(entry))\n .find((entry) => entry.trim().length > 0);\n const primaryMessage = toBoundedInlineText(\n typeof primaryArgument === 'string'\n ? primaryArgument\n : (toErrorLikeMessage(\n isErrorLike(primaryArgument) ? primaryArgument : undefined,\n ) ??\n toErrorLikeMessage(errorLikeArgument) ??\n fallbackMessage),\n MAX_MESSAGE_LENGTH,\n );\n\n if (primaryMessage === undefined) {\n return undefined;\n }\n\n const details = args\n .map((entry) =>\n toBoundedInlineText(serializeRuntimeValue(entry), MAX_DETAIL_LENGTH),\n )\n .filter((entry): entry is string => entry !== undefined)\n .filter((entry, index) => {\n return !(index === 0 && entry === primaryMessage);\n })\n .slice(0, MAX_DETAIL_COUNT);\n\n const stack = toErrorLikeStack(errorLikeArgument);\n\n return {\n ...createRuntimeTelemetryMessage('console.error', primaryMessage),\n ...(stack !== undefined && {\n stack,\n }),\n ...(details.length > 0 && {\n details,\n }),\n };\n};\n\nconst toWindowErrorTelemetryMessage = (\n event: Event,\n): RuntimeTelemetryMessage | undefined => {\n const errorEvent = event as ErrorEvent & {\n error?: unknown;\n };\n const errorLikeValue = isErrorLike(errorEvent.error)\n ? errorEvent.error\n : undefined;\n const message = toBoundedInlineText(\n typeof errorEvent.message === 'string'\n ? errorEvent.message\n : toErrorLikeMessage(errorLikeValue),\n MAX_MESSAGE_LENGTH,\n );\n\n if (message === undefined) {\n return undefined;\n }\n\n const sourceUrl = toBoundedMultilineText(\n typeof errorEvent.filename === 'string' ? errorEvent.filename : undefined,\n MAX_URL_LENGTH,\n );\n const stack = toErrorLikeStack(errorLikeValue);\n const lineNumber = toNonNegativeInteger(errorEvent.lineno);\n const columnNumber = toNonNegativeInteger(errorEvent.colno);\n\n return {\n ...createRuntimeTelemetryMessage('window.onerror', message),\n ...(sourceUrl !== undefined && {\n source_url: sourceUrl,\n }),\n ...(lineNumber !== undefined && {\n line_number: lineNumber,\n }),\n ...(columnNumber !== undefined && {\n column_number: columnNumber,\n }),\n ...(stack !== undefined && {\n stack,\n }),\n };\n};\n\nconst toUnhandledRejectionTelemetryMessage = (\n event: PromiseRejectionEvent | (Event & { reason?: unknown }),\n): RuntimeTelemetryMessage | undefined => {\n const reason = event.reason;\n const errorLikeReason = isErrorLike(reason) ? reason : undefined;\n const message = toBoundedInlineText(\n typeof reason === 'string'\n ? reason\n : (toErrorLikeMessage(errorLikeReason) ?? serializeRuntimeValue(reason)),\n MAX_MESSAGE_LENGTH,\n );\n\n if (message === undefined) {\n return undefined;\n }\n\n const stack = toErrorLikeStack(errorLikeReason);\n\n return {\n ...createRuntimeTelemetryMessage('unhandledrejection', message),\n ...(stack !== undefined && {\n stack,\n }),\n };\n};\n\nconst invokeHook = <T>(\n callback: ((value: T) => void) | undefined,\n value: T,\n) => {\n if (callback === undefined) {\n return;\n }\n\n try {\n callback(value);\n } catch {\n // Keep runtime telemetry side effects isolated from hook consumers.\n }\n};\n\nconst toResolvedTargetOrigin = (\n rawTargetOrigin: string,\n referrer: string | undefined,\n) => {\n const baseUrl = referrer ?? 'http://localhost/';\n\n try {\n return new URL(rawTargetOrigin, baseUrl).origin;\n } catch {\n return undefined;\n }\n};\n\nexport const resolveEmbeddedRuntimeTelemetryTargetOrigin = (\n targetOrigin?: string,\n referrer = readDocumentReferrer(),\n) => {\n const normalizedTargetOrigin = targetOrigin?.trim();\n\n if (\n normalizedTargetOrigin !== undefined &&\n normalizedTargetOrigin.length > 0\n ) {\n return toResolvedTargetOrigin(normalizedTargetOrigin, referrer) ?? '*';\n }\n\n if (referrer === undefined || referrer.length === 0) {\n return '*';\n }\n\n try {\n return new URL(referrer).origin;\n } catch {\n return '*';\n }\n};\n\nconst toEmbeddedRuntimeTelemetryHostMessage = (\n payload: RuntimeTelemetryMessage,\n): EmbeddedRuntimeTelemetryHostMessage => {\n return {\n channel: EMBEDDED_RUNTIME_TELEMETRY_CHANNEL,\n payload,\n };\n};\n\nexport const isEmbeddedRuntimeTelemetryHostMessage = (\n value: unknown,\n): value is EmbeddedRuntimeTelemetryHostMessage => {\n if (!isRecord(value)) {\n return false;\n }\n\n if (value.channel !== EMBEDDED_RUNTIME_TELEMETRY_CHANNEL) {\n return false;\n }\n\n const payload = value.payload;\n\n if (!isRecord(payload)) {\n return false;\n }\n\n return payload.type === 'runtime_telemetry';\n};\n\nexport const initEmbeddedRuntimeTelemetry = (\n options: InitEmbeddedRuntimeTelemetryOptions,\n): EmbeddedRuntimeTelemetry => {\n if (activeEmbeddedRuntimeTelemetry !== undefined) {\n activeEmbeddedRuntimeTelemetry.destroy();\n }\n\n if (typeof window === 'undefined' || !options.enabled) {\n activeEmbeddedRuntimeTelemetry = {\n destroy: () => {\n activeEmbeddedRuntimeTelemetry = undefined;\n },\n };\n\n return activeEmbeddedRuntimeTelemetry;\n }\n\n const resolvedTargetOrigin = resolveEmbeddedRuntimeTelemetryTargetOrigin(\n options.targetOrigin,\n );\n const originalConsoleError = console.error;\n\n const postTelemetryToParent = (message: RuntimeTelemetryMessage) => {\n const parentMessage = toEmbeddedRuntimeTelemetryHostMessage(message);\n\n try {\n window.parent.postMessage(parentMessage, resolvedTargetOrigin);\n invokeHook(options.hooks?.onTelemetryPosted, parentMessage);\n } catch {\n // Keep telemetry capture best-effort and non-throwing.\n }\n };\n\n const captureMessage = (message: RuntimeTelemetryMessage | undefined) => {\n if (message === undefined) {\n return;\n }\n\n invokeHook(options.hooks?.onTelemetryCaptured, message);\n postTelemetryToParent(message);\n };\n\n const wrappedConsoleError: typeof console.error = (...args) => {\n try {\n originalConsoleError.apply(console, args);\n } finally {\n captureMessage(toConsoleErrorTelemetryMessage(args));\n }\n };\n\n const handleWindowError = (event: Event) => {\n captureMessage(toWindowErrorTelemetryMessage(event));\n };\n\n const handleUnhandledRejection = (\n event: PromiseRejectionEvent | (Event & { reason?: unknown }),\n ) => {\n captureMessage(toUnhandledRejectionTelemetryMessage(event));\n };\n\n console.error = wrappedConsoleError;\n window.addEventListener('error', handleWindowError);\n window.addEventListener(\n 'unhandledrejection',\n handleUnhandledRejection as EventListener,\n );\n\n activeEmbeddedRuntimeTelemetry = {\n destroy: () => {\n window.removeEventListener('error', handleWindowError);\n window.removeEventListener(\n 'unhandledrejection',\n handleUnhandledRejection as EventListener,\n );\n\n if (console.error === wrappedConsoleError) {\n console.error = originalConsoleError;\n }\n\n activeEmbeddedRuntimeTelemetry = undefined;\n },\n };\n\n return activeEmbeddedRuntimeTelemetry;\n};\n","// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path=\"./reactDevtoolsInlineBackend.d.ts\" />\n\nimport reactDevtoolsInlineBackend from 'react-devtools-inline/backend.js';\n\nconst { initialize: initializeDevtoolsInlineBackend } =\n reactDevtoolsInlineBackend;\n\ntype WindowWithDevtoolsInlineBackendHook = Window & {\n __REACT_DEVTOOLS_GLOBAL_HOOK__?: unknown;\n};\n\ntype DevtoolsHookLike = {\n getFiberRoots?: ((rendererId: number) => Set<unknown>) | undefined;\n onCommitFiberRoot?:\n | ((rendererId: number, root: unknown, priorityLevel?: unknown) => void)\n | undefined;\n};\n\ntype FiberRootLike = {\n current?: {\n memoizedState?: {\n element?: unknown;\n } | null;\n } | null;\n};\n\nexport type InstallDevtoolsInlineBackendHookOptions = {\n enabled?: boolean;\n initializedFlagKey?: string;\n};\n\nconst DEFAULT_INITIALIZED_FLAG_KEY =\n '__araDevtoolsInlineBackendHookInitialized';\n\nconst isRecord = (value: unknown): value is Record<string, unknown> => {\n return typeof value === 'object' && value !== null;\n};\n\nconst isDevtoolsHookLike = (value: unknown): value is DevtoolsHookLike => {\n return isRecord(value);\n};\n\nconst tryResetPreexistingDevtoolsHook = (\n windowWithHook: WindowWithDevtoolsInlineBackendHook,\n) => {\n const hookDescriptor = Object.getOwnPropertyDescriptor(\n windowWithHook,\n '__REACT_DEVTOOLS_GLOBAL_HOOK__',\n );\n\n if (hookDescriptor === undefined || hookDescriptor.configurable !== true) {\n return;\n }\n\n if (typeof hookDescriptor.get === 'function') {\n return;\n }\n\n try {\n delete windowWithHook.__REACT_DEVTOOLS_GLOBAL_HOOK__;\n } catch {\n // Keep hook install resilient when deletion is blocked.\n }\n};\n\nconst toFiberRootLike = (value: unknown): FiberRootLike | undefined => {\n if (!isRecord(value)) {\n return undefined;\n }\n\n return value as FiberRootLike;\n};\n\nconst ensureFiberRootReaderOnHook = (hook: DevtoolsHookLike) => {\n if (typeof hook.getFiberRoots === 'function') {\n return true;\n }\n\n if (typeof hook.onCommitFiberRoot !== 'function') {\n return false;\n }\n\n const fiberRootsByRendererId = new Map<number, Set<unknown>>();\n const originalOnCommitFiberRoot = hook.onCommitFiberRoot.bind(hook);\n\n const getFiberRoots = (rendererId: number) => {\n const existingRoots = fiberRootsByRendererId.get(rendererId);\n\n if (existingRoots !== undefined) {\n return existingRoots;\n }\n\n const nextRoots = new Set<unknown>();\n fiberRootsByRendererId.set(rendererId, nextRoots);\n return nextRoots;\n };\n\n hook.getFiberRoots = getFiberRoots;\n hook.onCommitFiberRoot = (rendererId, root, priorityLevel) => {\n const roots = getFiberRoots(rendererId);\n const rootLike = toFiberRootLike(root);\n const current = rootLike?.current;\n const memoizedState = current?.memoizedState;\n const isUnmounting =\n memoizedState === null ||\n memoizedState?.element === undefined ||\n memoizedState?.element === null;\n const isKnownRoot = roots.has(root);\n\n if (!isKnownRoot && !isUnmounting) {\n roots.add(root);\n } else if (isKnownRoot && isUnmounting) {\n roots.delete(root);\n }\n\n originalOnCommitFiberRoot(rendererId, root, priorityLevel);\n };\n\n return true;\n};\n\nexport const installDevtoolsInlineBackendHook = (\n options: InstallDevtoolsInlineBackendHookOptions = {},\n) => {\n if (typeof window === 'undefined') {\n return false;\n }\n\n if (options.enabled === false) {\n return false;\n }\n\n const initializedFlagKey =\n options.initializedFlagKey ?? DEFAULT_INITIALIZED_FLAG_KEY;\n const windowWithHook =\n window as unknown as WindowWithDevtoolsInlineBackendHook &\n Record<string, unknown>;\n\n if (windowWithHook[initializedFlagKey] === true) {\n return true;\n }\n\n try {\n tryResetPreexistingDevtoolsHook(windowWithHook);\n initializeDevtoolsInlineBackend(window);\n\n const devtoolsHookCandidate = windowWithHook.__REACT_DEVTOOLS_GLOBAL_HOOK__;\n\n if (!isDevtoolsHookLike(devtoolsHookCandidate)) {\n return false;\n }\n\n const hasFiberRootReader = ensureFiberRootReaderOnHook(\n devtoolsHookCandidate,\n );\n\n if (!hasFiberRootReader) {\n return false;\n }\n\n windowWithHook[initializedFlagKey] = true;\n return true;\n } catch {\n return false;\n }\n};\n","import {\n initEmbeddedRuntimeTelemetry,\n type InitEmbeddedRuntimeTelemetryOptions,\n} from './embeddedRuntimeTelemetry';\nimport {\n initInspectorBridge,\n type InitInspectorBridgeOptions,\n} from './bridgeRuntime';\nimport { installDevtoolsInlineBackendHook } from './devtoolsInlineBackendHook';\n\ntype WindowWithDevtoolsInlineMenuHook = Window & {\n __REACT_DEVTOOLS_GLOBAL_HOOK__?: {\n on?: (event: string, handler: () => void) => void;\n };\n};\n\nexport type BootstrapEmbeddedInspectorBridgeOptions = {\n enabled: boolean;\n killSwitchActive?: boolean;\n hostOrigins?: readonly string[] | string;\n defaultHostOrigins?: readonly string[];\n mode?: InitInspectorBridgeOptions['mode'];\n capabilities?: InitInspectorBridgeOptions['capabilities'];\n runtimeConfig?: InitInspectorBridgeOptions['runtimeConfig'];\n installInlineBackendHook?: boolean;\n inlineBackendHookInitializedFlagKey?: string;\n inlineMenuReadyHandlerRegisteredFlagKey?: string;\n adapterFactory?: InitInspectorBridgeOptions['adapterFactory'];\n telemetry?: InitInspectorBridgeOptions['telemetry'];\n runtimeTelemetry?: Omit<\n Partial<InitEmbeddedRuntimeTelemetryOptions>,\n 'enabled'\n >;\n};\n\nexport type InitDevEmbeddedInspectorBridgeOptions = Omit<\n Partial<BootstrapEmbeddedInspectorBridgeOptions>,\n 'mode' | 'capabilities' | 'runtimeConfig'\n>;\n\nconst DEFAULT_INLINE_MENU_READY_HANDLER_REGISTERED_FLAG_KEY =\n '__araInlineMenuReadyHandlerRegistered';\nconst DEFAULT_BRIDGE_CAPABILITIES = ['tree', 'props', 'highlight'];\nconst DEFAULT_DEV_EMBEDDED_BRIDGE_ENABLED = true;\nconst DEFAULT_DEV_EMBEDDED_BRIDGE_KILL_SWITCH_ACTIVE = false;\nconst DEFAULT_DEV_ALLOWED_HOST_ORIGINS = ['https://app.iteraapp.com'] as const;\nconst DEFAULT_DEV_INLINE_BACKEND_HOOK_INITIALIZED_FLAG_KEY =\n '__iteraDevtoolsInlineBackendHookInitialized';\nconst DEFAULT_DEV_INLINE_MENU_READY_HANDLER_REGISTERED_FLAG_KEY =\n '__iteraRegisteredInlineMenuReadyHandler';\n\nconst toResolvedHostOrigins = (\n hostOrigins: BootstrapEmbeddedInspectorBridgeOptions['hostOrigins'],\n defaultHostOrigins: readonly string[],\n) => {\n if (Array.isArray(hostOrigins)) {\n const resolvedHostOrigins = hostOrigins\n .map((origin) => origin.trim())\n .filter((origin) => origin.length > 0);\n\n return resolvedHostOrigins.length > 0\n ? resolvedHostOrigins\n : [...defaultHostOrigins];\n }\n\n if (typeof hostOrigins === 'string' && hostOrigins.length > 0) {\n const resolvedHostOrigins = hostOrigins\n .split(',')\n .map((origin) => origin.trim())\n .filter((origin) => origin.length > 0);\n\n return resolvedHostOrigins.length > 0\n ? resolvedHostOrigins\n : [...defaultHostOrigins];\n }\n\n return [...defaultHostOrigins];\n};\n\nconst registerInlineMenuReadyNoopHandler = (flagKey: string) => {\n if (typeof window === 'undefined') {\n return;\n }\n\n const windowWithHook = window as unknown as WindowWithDevtoolsInlineMenuHook &\n Record<string, unknown>;\n\n if (windowWithHook[flagKey] === true) {\n return;\n }\n\n const devtoolsHook = windowWithHook.__REACT_DEVTOOLS_GLOBAL_HOOK__;\n\n if (typeof devtoolsHook?.on !== 'function') {\n return;\n }\n\n try {\n devtoolsHook.on('inline-menu-ready', () => undefined);\n windowWithHook[flagKey] = true;\n } catch {\n // Keep bootstrap resilient if hook event registration changes.\n }\n};\n\nexport const bootstrapEmbeddedInspectorBridge = (\n options: BootstrapEmbeddedInspectorBridgeOptions,\n) => {\n const killSwitchActive = options.killSwitchActive === true;\n const shouldInitializeInlineHook =\n options.installInlineBackendHook !== false &&\n options.enabled &&\n !killSwitchActive;\n\n if (shouldInitializeInlineHook) {\n installDevtoolsInlineBackendHook({\n enabled: true,\n initializedFlagKey: options.inlineBackendHookInitializedFlagKey,\n });\n\n registerInlineMenuReadyNoopHandler(\n options.inlineMenuReadyHandlerRegisteredFlagKey ??\n DEFAULT_INLINE_MENU_READY_HANDLER_REGISTERED_FLAG_KEY,\n );\n }\n\n const resolvedHostOrigins = toResolvedHostOrigins(\n options.hostOrigins,\n options.defaultHostOrigins ?? [],\n );\n\n const bridge = initInspectorBridge({\n hostOrigins: resolvedHostOrigins,\n enabled: options.enabled,\n killSwitchActive,\n mode: options.mode ?? 'development',\n capabilities: options.capabilities ?? [...DEFAULT_BRIDGE_CAPABILITIES],\n runtimeConfig: options.runtimeConfig ?? {\n adapter: 'fiber',\n },\n ...(options.adapterFactory !== undefined && {\n adapterFactory: options.adapterFactory,\n }),\n ...(options.telemetry !== undefined && {\n telemetry: options.telemetry,\n }),\n });\n const runtimeTelemetry = initEmbeddedRuntimeTelemetry({\n enabled: options.enabled && !killSwitchActive,\n ...options.runtimeTelemetry,\n });\n\n return {\n destroy: () => {\n runtimeTelemetry.destroy();\n bridge.destroy();\n },\n };\n};\n\nexport const initDevEmbeddedInspectorBridge = (\n options: InitDevEmbeddedInspectorBridgeOptions = {},\n) => {\n const killSwitchActive =\n options.killSwitchActive ?? DEFAULT_DEV_EMBEDDED_BRIDGE_KILL_SWITCH_ACTIVE;\n\n if (killSwitchActive) {\n console.warn(\n '[component-inspector] Embedded kill switch is active. Bridge is disabled.',\n );\n }\n\n return bootstrapEmbeddedInspectorBridge({\n hostOrigins: options.hostOrigins,\n defaultHostOrigins:\n options.defaultHostOrigins ?? DEFAULT_DEV_ALLOWED_HOST_ORIGINS,\n enabled: options.enabled ?? DEFAULT_DEV_EMBEDDED_BRIDGE_ENABLED,\n killSwitchActive,\n installInlineBackendHook: options.installInlineBackendHook,\n inlineBackendHookInitializedFlagKey:\n options.inlineBackendHookInitializedFlagKey ??\n DEFAULT_DEV_INLINE_BACKEND_HOOK_INITIALIZED_FLAG_KEY,\n inlineMenuReadyHandlerRegisteredFlagKey:\n options.inlineMenuReadyHandlerRegisteredFlagKey ??\n DEFAULT_DEV_INLINE_MENU_READY_HANDLER_REGISTERED_FLAG_KEY,\n adapterFactory: options.adapterFactory,\n telemetry: options.telemetry,\n runtimeTelemetry: options.runtimeTelemetry,\n mode: 'development',\n capabilities: [...DEFAULT_BRIDGE_CAPABILITIES],\n runtimeConfig: {\n adapter: 'fiber',\n },\n });\n};\n"],"names":["EMBEDDED_RUNTIME_TELEMETRY_CHANNEL","MAX_URL_LENGTH","MAX_MESSAGE_LENGTH","MAX_STACK_LENGTH","MAX_DETAIL_COUNT","MAX_DETAIL_LENGTH","activeEmbeddedRuntimeTelemetry","isRecord","value","truncateText","maxLength","toBoundedInlineText","normalizedValue","toBoundedMultilineText","isErrorLike","toErrorLikeMessage","name","message","toErrorLikeStack","createCircularReplacer","seen","_key","serializeRuntimeValue","errorLikeMessage","serializedValue","toNonNegativeInteger","readCurrentPageUrl","readDocumentReferrer","createRuntimeTelemetryMessage","event","pageUrl","toConsoleErrorTelemetryMessage","args","errorLikeArgument","entry","primaryArgument","fallbackMessage","primaryMessage","details","index","stack","toWindowErrorTelemetryMessage","errorEvent","errorLikeValue","sourceUrl","lineNumber","columnNumber","toUnhandledRejectionTelemetryMessage","reason","errorLikeReason","invokeHook","callback","toResolvedTargetOrigin","rawTargetOrigin","referrer","baseUrl","resolveEmbeddedRuntimeTelemetryTargetOrigin","targetOrigin","normalizedTargetOrigin","toEmbeddedRuntimeTelemetryHostMessage","payload","isEmbeddedRuntimeTelemetryHostMessage","initEmbeddedRuntimeTelemetry","options","resolvedTargetOrigin","originalConsoleError","postTelemetryToParent","parentMessage","_a","captureMessage","wrappedConsoleError","handleWindowError","handleUnhandledRejection","initializeDevtoolsInlineBackend","reactDevtoolsInlineBackend","DEFAULT_INITIALIZED_FLAG_KEY","isDevtoolsHookLike","tryResetPreexistingDevtoolsHook","windowWithHook","hookDescriptor","toFiberRootLike","ensureFiberRootReaderOnHook","hook","fiberRootsByRendererId","originalOnCommitFiberRoot","getFiberRoots","rendererId","existingRoots","nextRoots","root","priorityLevel","roots","rootLike","current","memoizedState","isUnmounting","isKnownRoot","installDevtoolsInlineBackendHook","initializedFlagKey","devtoolsHookCandidate","DEFAULT_INLINE_MENU_READY_HANDLER_REGISTERED_FLAG_KEY","DEFAULT_BRIDGE_CAPABILITIES","DEFAULT_DEV_EMBEDDED_BRIDGE_ENABLED","DEFAULT_DEV_EMBEDDED_BRIDGE_KILL_SWITCH_ACTIVE","DEFAULT_DEV_ALLOWED_HOST_ORIGINS","DEFAULT_DEV_INLINE_BACKEND_HOOK_INITIALIZED_FLAG_KEY","DEFAULT_DEV_INLINE_MENU_READY_HANDLER_REGISTERED_FLAG_KEY","toResolvedHostOrigins","hostOrigins","defaultHostOrigins","resolvedHostOrigins","origin","registerInlineMenuReadyNoopHandler","flagKey","devtoolsHook","bootstrapEmbeddedInspectorBridge","killSwitchActive","bridge","initInspectorBridge","runtimeTelemetry","initDevEmbeddedInspectorBridge"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export type InstallDevtoolsInlineBackendHookOptions = {
2
+ enabled?: boolean;
3
+ initializedFlagKey?: string;
4
+ };
5
+ export declare const installDevtoolsInlineBackendHook: (options?: InstallDevtoolsInlineBackendHookOptions) => boolean;
@@ -0,0 +1,24 @@
1
+ import { InitEmbeddedRuntimeTelemetryOptions } from './embeddedRuntimeTelemetry';
2
+ import { InitInspectorBridgeOptions } from './bridgeRuntime';
3
+ export type BootstrapEmbeddedInspectorBridgeOptions = {
4
+ enabled: boolean;
5
+ killSwitchActive?: boolean;
6
+ hostOrigins?: readonly string[] | string;
7
+ defaultHostOrigins?: readonly string[];
8
+ mode?: InitInspectorBridgeOptions['mode'];
9
+ capabilities?: InitInspectorBridgeOptions['capabilities'];
10
+ runtimeConfig?: InitInspectorBridgeOptions['runtimeConfig'];
11
+ installInlineBackendHook?: boolean;
12
+ inlineBackendHookInitializedFlagKey?: string;
13
+ inlineMenuReadyHandlerRegisteredFlagKey?: string;
14
+ adapterFactory?: InitInspectorBridgeOptions['adapterFactory'];
15
+ telemetry?: InitInspectorBridgeOptions['telemetry'];
16
+ runtimeTelemetry?: Omit<Partial<InitEmbeddedRuntimeTelemetryOptions>, 'enabled'>;
17
+ };
18
+ export type InitDevEmbeddedInspectorBridgeOptions = Omit<Partial<BootstrapEmbeddedInspectorBridgeOptions>, 'mode' | 'capabilities' | 'runtimeConfig'>;
19
+ export declare const bootstrapEmbeddedInspectorBridge: (options: BootstrapEmbeddedInspectorBridgeOptions) => {
20
+ destroy: () => void;
21
+ };
22
+ export declare const initDevEmbeddedInspectorBridge: (options?: InitDevEmbeddedInspectorBridgeOptions) => {
23
+ destroy: () => void;
24
+ };
@@ -0,0 +1,7 @@
1
+ import { b as o, i as t } from "./chunks/embeddedBootstrap-v-MS8cPB.js";
2
+ import "./chunks/bridgeRuntime-Da4khSK2.js";
3
+ export {
4
+ o as bootstrapEmbeddedInspectorBridge,
5
+ t as initDevEmbeddedInspectorBridge
6
+ };
7
+ //# sourceMappingURL=embeddedBootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embeddedBootstrap.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,34 @@
1
+ export type RuntimeTelemetryEvent = 'console.error' | 'window.onerror' | 'unhandledrejection';
2
+ export type RuntimeTelemetryMessage = {
3
+ type: 'runtime_telemetry';
4
+ event: RuntimeTelemetryEvent;
5
+ message: string;
6
+ page_url?: string;
7
+ source_url?: string;
8
+ line_number?: number;
9
+ column_number?: number;
10
+ stack?: string;
11
+ details?: string[];
12
+ client_timestamp_ms: number;
13
+ };
14
+ export declare const EMBEDDED_RUNTIME_TELEMETRY_CHANNEL = "ara:embedded-runtime-telemetry";
15
+ export type EmbeddedRuntimeTelemetryHostMessage = {
16
+ channel: typeof EMBEDDED_RUNTIME_TELEMETRY_CHANNEL;
17
+ payload: RuntimeTelemetryMessage;
18
+ };
19
+ export type EmbeddedRuntimeTelemetryHooks = {
20
+ onTelemetryCaptured?: (message: RuntimeTelemetryMessage) => void;
21
+ onTelemetryPosted?: (message: EmbeddedRuntimeTelemetryHostMessage) => void;
22
+ };
23
+ export type InitEmbeddedRuntimeTelemetryOptions = {
24
+ enabled: boolean;
25
+ targetOrigin?: string;
26
+ hooks?: EmbeddedRuntimeTelemetryHooks;
27
+ };
28
+ type EmbeddedRuntimeTelemetry = {
29
+ destroy: () => void;
30
+ };
31
+ export declare const resolveEmbeddedRuntimeTelemetryTargetOrigin: (targetOrigin?: string, referrer?: string | undefined) => string;
32
+ export declare const isEmbeddedRuntimeTelemetryHostMessage: (value: unknown) => value is EmbeddedRuntimeTelemetryHostMessage;
33
+ export declare const initEmbeddedRuntimeTelemetry: (options: InitEmbeddedRuntimeTelemetryOptions) => EmbeddedRuntimeTelemetry;
34
+ export {};
@@ -0,0 +1,6 @@
1
+ export declare const createInspectorHighlighter: () => {
2
+ clearHighlight: () => void;
3
+ highlightElement: (element: Element) => void;
4
+ destroy: () => void;
5
+ };
6
+ export declare const inspectorHighlightOverlaySelector = "[data-itera-inspector-highlight=\"true\"]";
@@ -0,0 +1,13 @@
1
+ export { createReactInspectorAdapter, defaultReactInspectorAdapterCapabilities, defaultReactInspectorRuntimeConfig, reactInspectorRuntimeAdapterTargets, resolveReactInspectorRuntimeConfig, type ReactInspectorAdapterCapabilities, type ReactInspectorAdapterContract, type ReactInspectorRuntimeAdapterTarget, type ReactInspectorRuntimeConfig, type ResolvedReactInspectorRuntimeConfig, } from './adapters/base';
2
+ export { reactInspectorCraAdapterTarget } from './adapters/cra';
3
+ export { reactInspectorNextAdapterTarget } from './adapters/next';
4
+ export { reactInspectorViteAdapterTarget } from './adapters/vite';
5
+ export { destroyInspectorBridge, initInspectorBridge, type InitInspectorBridgeOptions, type InspectorBridgeRequestHandlers, } from './bridgeRuntime';
6
+ export { bootstrapEmbeddedInspectorBridge, initDevEmbeddedInspectorBridge, type BootstrapEmbeddedInspectorBridgeOptions, type InitDevEmbeddedInspectorBridgeOptions, } from './embeddedBootstrap';
7
+ export { EMBEDDED_RUNTIME_TELEMETRY_CHANNEL, initEmbeddedRuntimeTelemetry, isEmbeddedRuntimeTelemetryHostMessage, resolveEmbeddedRuntimeTelemetryTargetOrigin, type EmbeddedRuntimeTelemetryHooks, type EmbeddedRuntimeTelemetryHostMessage, type InitEmbeddedRuntimeTelemetryOptions, type RuntimeTelemetryEvent, type RuntimeTelemetryMessage, } from './embeddedRuntimeTelemetry';
8
+ export { installDevtoolsInlineBackendHook, type InstallDevtoolsInlineBackendHookOptions, } from './devtoolsInlineBackendHook';
9
+ export type { ReactTreeAdapter, ReactTreeSnapshot } from './reactTreeAdapter';
10
+ export { EMBEDDED_BRIDGE_TELEMETRY_METRIC_NAME_FIBER_FALLBACK, EMBEDDED_BRIDGE_TELEMETRY_METRIC_NAME_LIFECYCLE, EMBEDDED_BRIDGE_TELEMETRY_METRIC_NAME_REJECTION, EMBEDDED_BRIDGE_TELEMETRY_SCHEMA_VERSION, embeddedBridgeFiberFallbackAdapterTargets, embeddedBridgeFiberFallbackReasonCodes, embeddedBridgeLifecycleStages, embeddedBridgeRejectionReasonCodes, embeddedBridgeTelemetryMetricNames, emitEmbeddedBridgeFiberFallbackMetric, emitEmbeddedBridgeLifecycleMetric, emitEmbeddedBridgeRejectionMetric, } from './security/bridgeTelemetry';
11
+ export type { EmbeddedBridgeFiberFallbackAdapterTarget, EmbeddedBridgeFiberFallbackReasonCode, EmbeddedBridgeFiberFallbackTelemetryMetric, EmbeddedBridgeLifecycleStage, EmbeddedBridgeLifecycleTelemetryMetric, EmbeddedBridgeRejectionReasonCode, EmbeddedBridgeRejectionTelemetryMetric, EmbeddedBridgeTelemetryHooks, } from './security/bridgeTelemetry';
12
+ export { validateHelloSessionToken, type InspectorBridgeSecurityOptions, type InspectorSessionTokenRejectionReason, type InspectorSessionTokenValidationResult, type InspectorSessionTokenValidator, } from './security/tokenValidation';
13
+ export { bootIterationInspectorRuntime, buildIterationElementSelection, createIterationInspectorRuntime, ITERATION_INSPECTOR_CHANNEL, isIterationInspectorParentMessage, isIterationInspectorRuntimeMessage, type IterationElementBounds, type IterationElementLocator, type IterationElementSelection, type IterationInspectorDebugDetails, type IterationInspectorInvalidationReason, type IterationInspectorParentMessage, type IterationInspectorRuntime, type IterationInspectorRuntimeMessage, type IterationInspectorSelectionMode, type IterationScrollOffset, } from './iterationInspector';
package/dist/index.js ADDED
@@ -0,0 +1,49 @@
1
+ import { E as i, a as E, b as o, c as n, d as c, e as I, f as m, g as R, h as p, j as T, k as l, l as b, m as g, n as M, o as _, p as B, i as D, r as C, v as A } from "./chunks/bridgeRuntime-Da4khSK2.js";
2
+ import { E as u, b as L, i as f, a as F, c as v, d as k, r as x } from "./chunks/embeddedBootstrap-v-MS8cPB.js";
3
+ import { ITERATION_INSPECTOR_CHANNEL as H, bootIterationInspectorRuntime as S, buildIterationElementSelection as Y, createIterationInspectorRuntime as O, isIterationInspectorParentMessage as G, isIterationInspectorRuntimeMessage as j } from "./iterationInspector.js";
4
+ const e = [
5
+ "auto",
6
+ "vite",
7
+ "next",
8
+ "cra",
9
+ "fiber"
10
+ ], t = "cra", a = "next", r = "vite";
11
+ export {
12
+ i as EMBEDDED_BRIDGE_TELEMETRY_METRIC_NAME_FIBER_FALLBACK,
13
+ E as EMBEDDED_BRIDGE_TELEMETRY_METRIC_NAME_LIFECYCLE,
14
+ o as EMBEDDED_BRIDGE_TELEMETRY_METRIC_NAME_REJECTION,
15
+ n as EMBEDDED_BRIDGE_TELEMETRY_SCHEMA_VERSION,
16
+ u as EMBEDDED_RUNTIME_TELEMETRY_CHANNEL,
17
+ H as ITERATION_INSPECTOR_CHANNEL,
18
+ S as bootIterationInspectorRuntime,
19
+ L as bootstrapEmbeddedInspectorBridge,
20
+ Y as buildIterationElementSelection,
21
+ O as createIterationInspectorRuntime,
22
+ c as createReactInspectorAdapter,
23
+ I as defaultReactInspectorAdapterCapabilities,
24
+ m as defaultReactInspectorRuntimeConfig,
25
+ R as destroyInspectorBridge,
26
+ p as embeddedBridgeFiberFallbackAdapterTargets,
27
+ T as embeddedBridgeFiberFallbackReasonCodes,
28
+ l as embeddedBridgeLifecycleStages,
29
+ b as embeddedBridgeRejectionReasonCodes,
30
+ g as embeddedBridgeTelemetryMetricNames,
31
+ M as emitEmbeddedBridgeFiberFallbackMetric,
32
+ _ as emitEmbeddedBridgeLifecycleMetric,
33
+ B as emitEmbeddedBridgeRejectionMetric,
34
+ f as initDevEmbeddedInspectorBridge,
35
+ F as initEmbeddedRuntimeTelemetry,
36
+ D as initInspectorBridge,
37
+ v as installDevtoolsInlineBackendHook,
38
+ k as isEmbeddedRuntimeTelemetryHostMessage,
39
+ G as isIterationInspectorParentMessage,
40
+ j as isIterationInspectorRuntimeMessage,
41
+ t as reactInspectorCraAdapterTarget,
42
+ a as reactInspectorNextAdapterTarget,
43
+ e as reactInspectorRuntimeAdapterTargets,
44
+ r as reactInspectorViteAdapterTarget,
45
+ x as resolveEmbeddedRuntimeTelemetryTargetOrigin,
46
+ C as resolveReactInspectorRuntimeConfig,
47
+ A as validateHelloSessionToken
48
+ };
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/adapters/base/types.ts","../src/adapters/cra/index.ts","../src/adapters/next/index.ts","../src/adapters/vite/index.ts"],"sourcesContent":["import type { ReactTreeSnapshot } from './baseAdapter';\n\nexport const reactInspectorRuntimeAdapterTargets = [\n 'auto',\n 'vite',\n 'next',\n 'cra',\n 'fiber',\n] as const;\n\nexport type ReactInspectorRuntimeAdapterTarget =\n (typeof reactInspectorRuntimeAdapterTargets)[number];\n\nexport type ReactInspectorAdapterCapabilities = Readonly<{\n tree: boolean;\n props: boolean;\n highlight: boolean;\n}>;\n\nexport type ReactInspectorComponentPath = ReadonlyArray<string>;\n\nexport type ReactInspectorAdapterContract = {\n getTreeSnapshot: () => ReactTreeSnapshot;\n getNodeProps: (nodeId: string) => unknown | undefined;\n getDomElement: (nodeId: string) => Element | null;\n getReactComponentPathForElement?: (\n element: Element,\n ) => ReactInspectorComponentPath | undefined;\n};\n\nexport type ReactInspectorRuntimeConfig = {\n adapter?: ReactInspectorRuntimeAdapterTarget;\n capabilities?: Partial<ReactInspectorAdapterCapabilities>;\n};\n\nexport type ResolvedReactInspectorRuntimeConfig = {\n adapter: ReactInspectorRuntimeAdapterTarget;\n capabilities: ReactInspectorAdapterCapabilities;\n};\n","import type { ReactInspectorRuntimeAdapterTarget } from '../base/types';\nexport { createCraReactInspectorAdapter } from './craAdapter';\n\nexport const reactInspectorCraAdapterTarget: ReactInspectorRuntimeAdapterTarget =\n 'cra';\n","import type { ReactInspectorRuntimeAdapterTarget } from '../base/types';\nexport { createNextReactInspectorAdapter } from './nextAdapter';\n\nexport const reactInspectorNextAdapterTarget: ReactInspectorRuntimeAdapterTarget =\n 'next';\n","import type { ReactInspectorRuntimeAdapterTarget } from '../base/types';\nexport { createViteReactInspectorAdapter } from './viteAdapter';\n\nexport const reactInspectorViteAdapterTarget: ReactInspectorRuntimeAdapterTarget =\n 'vite';\n"],"names":["reactInspectorRuntimeAdapterTargets","reactInspectorCraAdapterTarget","reactInspectorNextAdapterTarget","reactInspectorViteAdapterTarget"],"mappings":";;;AAEO,MAAMA,IAAsC;AAAA,EACjD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GCLaC,IACX,OCDWC,IACX,QCDWC,IACX;"}
@@ -0,0 +1,2 @@
1
+ export { bootIterationInspectorRuntime, buildIterationElementSelection, createIterationInspectorRuntime, type IterationInspectorRuntime, } from './runtime';
2
+ export { ITERATION_INSPECTOR_CHANNEL, isIterationInspectorParentMessage, isIterationInspectorRuntimeMessage, type IterationElementBounds, type IterationElementLocator, type IterationElementSelection, type IterationInspectorDebugDetails, type IterationInspectorInvalidationReason, type IterationInspectorParentMessage, type IterationInspectorRuntimeMessage, type IterationInspectorSelectionMode, type IterationScrollOffset, } from './types';
@@ -0,0 +1,23 @@
1
+ import { IterationElementSelection } from './types';
2
+ type CreateIterationInspectorRuntimeArgs = {
3
+ allowSelfMessaging?: boolean;
4
+ win?: Window;
5
+ doc?: Document;
6
+ };
7
+ export type IterationInspectorRuntime = {
8
+ start: () => void;
9
+ stop: () => void;
10
+ isActive: () => boolean;
11
+ };
12
+ declare global {
13
+ interface Window {
14
+ __ITERA_ITERATION_INSPECTOR_RUNTIME__?: IterationInspectorRuntime;
15
+ __ARA_EMBEDDED_REACT_INSPECTOR_SELECTION__?: {
16
+ getReactComponentPathForElement: (element: Element) => ReadonlyArray<string> | undefined;
17
+ };
18
+ }
19
+ }
20
+ export declare const buildIterationElementSelection: (element: Element, win?: Window, doc?: Document) => IterationElementSelection;
21
+ export declare const createIterationInspectorRuntime: ({ allowSelfMessaging, win, doc, }?: CreateIterationInspectorRuntimeArgs) => IterationInspectorRuntime;
22
+ export declare const bootIterationInspectorRuntime: (args?: Omit<CreateIterationInspectorRuntimeArgs, "win" | "doc">) => IterationInspectorRuntime | null;
23
+ export {};