@buoy-gg/js-top 7.0.40 → 7.0.42

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 (118) hide show
  1. package/README.md +12 -67
  2. package/lib/commonjs/index.js +1 -97
  3. package/lib/commonjs/js-top/components/BusySparkline.js +1 -56
  4. package/lib/commonjs/js-top/components/JsTopHudOverlay.js +1 -79
  5. package/lib/commonjs/js-top/components/JsTopModal.js +1 -349
  6. package/lib/commonjs/js-top/components/TaskDetailView.js +1 -330
  7. package/lib/commonjs/js-top/components/TaskTable.js +1 -360
  8. package/lib/commonjs/js-top/engine/JsTopController.js +1 -350
  9. package/lib/commonjs/js-top/engine/aggregator.js +1 -148
  10. package/lib/commonjs/js-top/engine/busyProbe.js +1 -101
  11. package/lib/commonjs/js-top/engine/frameStack.js +1 -133
  12. package/lib/commonjs/js-top/engine/longtasks.js +1 -141
  13. package/lib/commonjs/js-top/engine/now.js +1 -38
  14. package/lib/commonjs/js-top/engine/originRegistry.js +1 -402
  15. package/lib/commonjs/js-top/engine/patches/bridge.js +1 -60
  16. package/lib/commonjs/js-top/engine/patches/microtasks.js +1 -27
  17. package/lib/commonjs/js-top/engine/patches/promises.js +1 -65
  18. package/lib/commonjs/js-top/engine/patches/timers.js +1 -66
  19. package/lib/commonjs/js-top/engine/state.js +1 -63
  20. package/lib/commonjs/js-top/engine/symbolicate.js +1 -95
  21. package/lib/commonjs/js-top/sync/jsTopSyncAdapter.js +1 -74
  22. package/lib/commonjs/js-top/types/index.js +1 -46
  23. package/lib/commonjs/js-top/utils/preferences.js +1 -31
  24. package/lib/commonjs/preset.js +1 -75
  25. package/lib/module/index.js +1 -47
  26. package/lib/module/js-top/components/BusySparkline.js +1 -52
  27. package/lib/module/js-top/components/JsTopHudOverlay.js +1 -75
  28. package/lib/module/js-top/components/JsTopModal.js +1 -345
  29. package/lib/module/js-top/components/TaskDetailView.js +1 -326
  30. package/lib/module/js-top/components/TaskTable.js +1 -353
  31. package/lib/module/js-top/engine/JsTopController.js +1 -347
  32. package/lib/module/js-top/engine/aggregator.js +1 -136
  33. package/lib/module/js-top/engine/busyProbe.js +1 -94
  34. package/lib/module/js-top/engine/frameStack.js +1 -126
  35. package/lib/module/js-top/engine/longtasks.js +1 -133
  36. package/lib/module/js-top/engine/now.js +1 -33
  37. package/lib/module/js-top/engine/originRegistry.js +1 -388
  38. package/lib/module/js-top/engine/patches/bridge.js +1 -56
  39. package/lib/module/js-top/engine/patches/microtasks.js +1 -23
  40. package/lib/module/js-top/engine/patches/promises.js +1 -62
  41. package/lib/module/js-top/engine/patches/timers.js +1 -62
  42. package/lib/module/js-top/engine/state.js +1 -54
  43. package/lib/module/js-top/engine/symbolicate.js +1 -91
  44. package/lib/module/js-top/sync/jsTopSyncAdapter.js +1 -70
  45. package/lib/module/js-top/types/index.js +1 -42
  46. package/lib/module/js-top/utils/preferences.js +1 -26
  47. package/lib/module/preset.js +1 -71
  48. package/lib/web/index.mjs +2 -0
  49. package/package.json +39 -5
  50. package/lib/commonjs/index.js.map +0 -1
  51. package/lib/commonjs/js-top/components/BusySparkline.js.map +0 -1
  52. package/lib/commonjs/js-top/components/JsTopHudOverlay.js.map +0 -1
  53. package/lib/commonjs/js-top/components/JsTopModal.js.map +0 -1
  54. package/lib/commonjs/js-top/components/TaskDetailView.js.map +0 -1
  55. package/lib/commonjs/js-top/components/TaskTable.js.map +0 -1
  56. package/lib/commonjs/js-top/engine/JsTopController.js.map +0 -1
  57. package/lib/commonjs/js-top/engine/aggregator.js.map +0 -1
  58. package/lib/commonjs/js-top/engine/busyProbe.js.map +0 -1
  59. package/lib/commonjs/js-top/engine/frameStack.js.map +0 -1
  60. package/lib/commonjs/js-top/engine/longtasks.js.map +0 -1
  61. package/lib/commonjs/js-top/engine/now.js.map +0 -1
  62. package/lib/commonjs/js-top/engine/originRegistry.js.map +0 -1
  63. package/lib/commonjs/js-top/engine/patches/bridge.js.map +0 -1
  64. package/lib/commonjs/js-top/engine/patches/microtasks.js.map +0 -1
  65. package/lib/commonjs/js-top/engine/patches/promises.js.map +0 -1
  66. package/lib/commonjs/js-top/engine/patches/timers.js.map +0 -1
  67. package/lib/commonjs/js-top/engine/state.js.map +0 -1
  68. package/lib/commonjs/js-top/engine/symbolicate.js.map +0 -1
  69. package/lib/commonjs/js-top/sync/jsTopSyncAdapter.js.map +0 -1
  70. package/lib/commonjs/js-top/types/index.js.map +0 -1
  71. package/lib/commonjs/js-top/utils/preferences.js.map +0 -1
  72. package/lib/commonjs/preset.js.map +0 -1
  73. package/lib/module/index.js.map +0 -1
  74. package/lib/module/js-top/components/BusySparkline.js.map +0 -1
  75. package/lib/module/js-top/components/JsTopHudOverlay.js.map +0 -1
  76. package/lib/module/js-top/components/JsTopModal.js.map +0 -1
  77. package/lib/module/js-top/components/TaskDetailView.js.map +0 -1
  78. package/lib/module/js-top/components/TaskTable.js.map +0 -1
  79. package/lib/module/js-top/engine/JsTopController.js.map +0 -1
  80. package/lib/module/js-top/engine/aggregator.js.map +0 -1
  81. package/lib/module/js-top/engine/busyProbe.js.map +0 -1
  82. package/lib/module/js-top/engine/frameStack.js.map +0 -1
  83. package/lib/module/js-top/engine/longtasks.js.map +0 -1
  84. package/lib/module/js-top/engine/now.js.map +0 -1
  85. package/lib/module/js-top/engine/originRegistry.js.map +0 -1
  86. package/lib/module/js-top/engine/patches/bridge.js.map +0 -1
  87. package/lib/module/js-top/engine/patches/microtasks.js.map +0 -1
  88. package/lib/module/js-top/engine/patches/promises.js.map +0 -1
  89. package/lib/module/js-top/engine/patches/timers.js.map +0 -1
  90. package/lib/module/js-top/engine/state.js.map +0 -1
  91. package/lib/module/js-top/engine/symbolicate.js.map +0 -1
  92. package/lib/module/js-top/sync/jsTopSyncAdapter.js.map +0 -1
  93. package/lib/module/js-top/types/index.js.map +0 -1
  94. package/lib/module/js-top/utils/preferences.js.map +0 -1
  95. package/lib/module/preset.js.map +0 -1
  96. package/lib/typescript/index.d.ts.map +0 -1
  97. package/lib/typescript/js-top/components/BusySparkline.d.ts.map +0 -1
  98. package/lib/typescript/js-top/components/JsTopHudOverlay.d.ts.map +0 -1
  99. package/lib/typescript/js-top/components/JsTopModal.d.ts.map +0 -1
  100. package/lib/typescript/js-top/components/TaskDetailView.d.ts.map +0 -1
  101. package/lib/typescript/js-top/components/TaskTable.d.ts.map +0 -1
  102. package/lib/typescript/js-top/engine/JsTopController.d.ts.map +0 -1
  103. package/lib/typescript/js-top/engine/aggregator.d.ts.map +0 -1
  104. package/lib/typescript/js-top/engine/busyProbe.d.ts.map +0 -1
  105. package/lib/typescript/js-top/engine/frameStack.d.ts.map +0 -1
  106. package/lib/typescript/js-top/engine/longtasks.d.ts.map +0 -1
  107. package/lib/typescript/js-top/engine/now.d.ts.map +0 -1
  108. package/lib/typescript/js-top/engine/originRegistry.d.ts.map +0 -1
  109. package/lib/typescript/js-top/engine/patches/bridge.d.ts.map +0 -1
  110. package/lib/typescript/js-top/engine/patches/microtasks.d.ts.map +0 -1
  111. package/lib/typescript/js-top/engine/patches/promises.d.ts.map +0 -1
  112. package/lib/typescript/js-top/engine/patches/timers.d.ts.map +0 -1
  113. package/lib/typescript/js-top/engine/state.d.ts.map +0 -1
  114. package/lib/typescript/js-top/engine/symbolicate.d.ts.map +0 -1
  115. package/lib/typescript/js-top/sync/jsTopSyncAdapter.d.ts.map +0 -1
  116. package/lib/typescript/js-top/types/index.d.ts.map +0 -1
  117. package/lib/typescript/js-top/utils/preferences.d.ts.map +0 -1
  118. package/lib/typescript/preset.d.ts.map +0 -1
@@ -1,91 +1 @@
1
- "use strict";
2
-
3
- /**
4
- * Dev-only origin symbolication via Metro's /symbolicate endpoint (the same
5
- * one LogBox uses). Hermes stacks give function names + bundle offsets; for
6
- * anonymous scheduling sites (the typical `useEffect(() => setInterval(…))`)
7
- * that leaves an unreadable label. Metro maps the offset back to the real
8
- * source file — so a row can say `setInterval ← ChatScreen.tsx:42`, which is
9
- * component-level attribution in practice.
10
- *
11
- * Fire-and-forget with hard caps: one attempt per origin, few in flight,
12
- * silent on any failure (release builds, tunnels, Metro gone). The origin's
13
- * label/file/line are upgraded in place when the answer lands — the table
14
- * re-renders every tick and picks it up.
15
- */
16
-
17
- const MAX_IN_FLIGHT = 3;
18
- let inFlight = 0;
19
- function isDev() {
20
- return typeof __DEV__ !== "undefined" && __DEV__;
21
- }
22
-
23
- /** Last two path segments of a source path — "screens/ChatScreen.tsx". */
24
- function tailPath(file) {
25
- const clean = file.split("?")[0] ?? file;
26
- const parts = clean.split("/").filter(Boolean);
27
- return parts.slice(-2).join("/");
28
- }
29
-
30
- /** True for names like ChatScreen / PokemonScreen — reads as a component. */
31
- function looksLikeComponent(name) {
32
- return /^[A-Z][A-Za-z0-9]*$/.test(name);
33
- }
34
- export function buoyJsTopSymbolicateOrigin(o, apiLabelText) {
35
- if (!isDev()) return;
36
- if (o.symbolicated || !o.frames || o.frames.length === 0) return;
37
- if (inFlight >= MAX_IN_FLIGHT) return; // retried implicitly? no — one shot
38
- o.symbolicated = true;
39
- const top = o.frames[0];
40
- if (!top || !/^https?:\/\//.test(top.file)) return;
41
- let endpoint;
42
- try {
43
- endpoint = `${new URL(top.file).origin}/symbolicate`;
44
- } catch {
45
- return;
46
- }
47
- inFlight++;
48
- const body = JSON.stringify({
49
- stack: o.frames.map(f => ({
50
- file: f.file,
51
- lineNumber: f.line,
52
- column: f.col,
53
- methodName: ""
54
- }))
55
- });
56
- fetch(endpoint, {
57
- method: "POST",
58
- body
59
- }).then(res => res.ok ? res.json() : null).then(data => {
60
- let frame = data?.stack?.find(f => f.file && !f.file.includes("node_modules")) ?? data?.stack?.[0];
61
- // Some Metro configs (serialized source maps) reject full
62
- // symbolication but still NAME the module in the error — that file
63
- // path is exactly the scheduling site, so harvest it.
64
- if (!frame?.file && data?.error) {
65
- const m = /found: (\/.+)$/.exec(data.error);
66
- if (m) frame = {
67
- file: m[1]
68
- };
69
- }
70
- if (!frame?.file) return;
71
- const file = tailPath(frame.file);
72
- const line = frame.lineNumber;
73
- const method = frame.methodName && frame.methodName !== "<unknown>" ? frame.methodName : undefined;
74
- o.file = file;
75
- o.line = line ?? o.line;
76
- // The existing label is name-anchored — append the source site
77
- // once, and promote a component-looking method name.
78
- const site = `${file.split("/").pop()}${line != null ? `:${line}` : ""}`;
79
- if (method && looksLikeComponent(method) && !o.caller) {
80
- o.caller = method;
81
- o.label = `${o.label} ← <${method}> · ${site}`;
82
- } else {
83
- o.label = `${o.label} · ${site}`;
84
- }
85
- }).catch(() => {
86
- // Symbolication is best-effort decoration — never surface failures.
87
- }).finally(() => {
88
- inFlight--;
89
- });
90
- }
91
- //# sourceMappingURL=symbolicate.js.map
1
+ "use strict";const d=3;let o=0;function h(){return typeof __DEV__!=="undefined"&&__DEV__}function p(e){const c=e.split("?")[0]??e;const i=c.split("/").filter(Boolean);return i.slice(-2).join("/")}function b(e){return/^[A-Z][A-Za-z0-9]*$/.test(e)}export function buoyJsTopSymbolicateOrigin(e,c){if(!h())return;if(e.symbolicated||!e.frames||e.frames.length===0)return;if(o>=d)return;e.symbolicated=true;const i=e.frames[0];if(!i||!/^https?:\/\//.test(i.file))return;let f;try{f=`${new URL(i.file).origin}/symbolicate`}catch{return}o++;const m=JSON.stringify({stack:e.frames.map(t=>({file:t.file,lineNumber:t.line,column:t.col,methodName:""}))});fetch(f,{method:"POST",body:m}).then(t=>t.ok?t.json():null).then(t=>{let n=t?.stack?.find(l=>l.file&&!l.file.includes("node_modules"))??t?.stack?.[0];if(!n?.file&&t?.error){const l=/found: (\/.+)$/.exec(t.error);if(l)n={file:l[1]}}if(!n?.file)return;const a=p(n.file);const s=n.lineNumber;const r=n.methodName&&n.methodName!=="<unknown>"?n.methodName:void 0;e.file=a;e.line=s??e.line;const u=`${a.split("/").pop()}${s!=null?`:${s}`:""}`;if(r&&b(r)&&!e.caller){e.caller=r;e.label=`${e.label} \u2190 <${r}> \xB7 ${u}`}else{e.label=`${e.label} \xB7 ${u}`}}).catch(()=>{}).finally(()=>{o--})}
@@ -1,70 +1 @@
1
- "use strict";
2
-
3
- /**
4
- * Sync adapter for the JS TOP tool, consumed by @buoy-gg/external-sync's
5
- * `useExternalSync` (structurally matches its ToolSyncAdapter interface so
6
- * this package doesn't need a dependency on it — same pattern as
7
- * perf-monitor's adapter).
8
- *
9
- * `subscribe` is only called while a dashboard is watching, and subscribing
10
- * to JsTopController is exactly what starts the engine — so a desktop
11
- * watcher auto-starts sampling and closing the desktop tool stops it. The
12
- * snapshot IS the live channel; there is no heavy persisted state.
13
- */
14
-
15
- import { JsTopController } from "../engine/JsTopController";
16
- export const jsTopSyncAdapter = {
17
- version: 1,
18
- getSnapshot: () => ({
19
- live: JsTopController.getSnapshot(),
20
- // "enabled" mirrors perf-monitor semantics: is the device sampling for
21
- // any viewer (its own HUD/modal or a desktop's silent remote sampling).
22
- enabled: JsTopController.isEnabled() || JsTopController.isRemoteSampling()
23
- }),
24
- subscribe: onChange => {
25
- const unsubSnapshot = JsTopController.subscribe(() => onChange());
26
- const unsubEnabled = JsTopController.subscribeEnabled(() => onChange());
27
- return () => {
28
- unsubSnapshot();
29
- unsubEnabled();
30
- };
31
- },
32
- actions: {
33
- /**
34
- * Silent sampling for a desktop viewer: streams snapshots without
35
- * showing the device's own HUD. (Subscribing via `subscribe` already
36
- * runs the engine while watched; this exists so MCP / scripted callers
37
- * can force sampling on without a watch.)
38
- */
39
- setEnabled: params => {
40
- const enabled = params.enabled;
41
- JsTopController.setRemoteSampling(enabled);
42
- },
43
- pause: () => JsTopController.pause(),
44
- resume: () => JsTopController.resume(),
45
- clear: () => JsTopController.clear(),
46
- /** Full detail for one origin (desktop tap-through parity). */
47
- getOriginDetail: params => JsTopController.getOriginDetail(params.key),
48
- /**
49
- * One-shot sample for MCP/automation: ensure the engine is running,
50
- * observe for `durationMs` (default 3s, capped 30s), return the
51
- * resulting snapshot. `clearFirst` resets all stats before sampling so
52
- * the result attributes exactly one interaction/window. Leaves sampling
53
- * in its prior state.
54
- */
55
- sample: async params => {
56
- const p = params;
57
- const durationMs = Math.min(Math.max(p?.durationMs ?? 3000, 250), 30_000);
58
- const wasSampling = JsTopController.isRemoteSampling() || JsTopController.isEnabled();
59
- if (!wasSampling) JsTopController.setRemoteSampling(true);
60
- if (p?.clearFirst) JsTopController.clear();
61
- try {
62
- await new Promise(resolve => setTimeout(resolve, durationMs));
63
- return JsTopController.getSnapshot();
64
- } finally {
65
- if (!wasSampling) JsTopController.setRemoteSampling(false);
66
- }
67
- }
68
- }
69
- };
70
- //# sourceMappingURL=jsTopSyncAdapter.js.map
1
+ "use strict";import{JsTopController as e}from"../engine/JsTopController";export const jsTopSyncAdapter={version:1,getSnapshot:()=>({live:e.getSnapshot(),enabled:e.isEnabled()||e.isRemoteSampling()}),subscribe:s=>{const t=e.subscribe(()=>s());const a=e.subscribeEnabled(()=>s());return()=>{t();a()}},actions:{setEnabled:s=>{const t=s.enabled;e.setRemoteSampling(t)},pause:()=>e.pause(),resume:()=>e.resume(),clear:()=>e.clear(),getOriginDetail:s=>e.getOriginDetail(s.key),sample:async s=>{const t=s;const a=Math.min(Math.max(t?.durationMs??3e3,250),3e4);const n=e.isRemoteSampling()||e.isEnabled();if(!n)e.setRemoteSampling(true);if(t?.clearFirst)e.clear();try{await new Promise(i=>setTimeout(i,a));return e.getSnapshot()}finally{if(!n)e.setRemoteSampling(false)}}}};
@@ -1,42 +1 @@
1
- "use strict";
2
-
3
- /**
4
- * JS TOP — live Task Manager for the React Native JS thread.
5
- *
6
- * Attribution model: the engine wraps every JS-thread entry point it can
7
- * reach (timers, rAF, microtasks, Promise reactions, legacy-bridge call-ins)
8
- * and books EXCLUSIVE time per "origin" (the place a callback was scheduled
9
- * from). A high-frequency probe measures true thread occupancy; the gap
10
- * between measured busy time and attributed time is surfaced honestly as an
11
- * "unattributed" row rather than hidden.
12
- */
13
-
14
- /** Which entry-point API a task came through. */
15
-
16
- /** One captured stack frame from an origin's scheduling site (dev-readable). */
17
-
18
- /**
19
- * Which coverage tiers are live on this device. UIs gray out / banner what a
20
- * runtime can't see (e.g. bridge call-ins don't exist on bridgeless).
21
- */
22
-
23
- /** One row of the live table — a task origin ("process" in Task Manager terms). */
24
-
25
- /** A 50ms+ blocking task reported by the runtime, with our best attribution. */
26
-
27
- /** The JSON-serializable live snapshot (device UI + external-sync payload). */
28
-
29
- /** Everything the engine knows about one origin — the tap-through detail. */
30
-
31
- /** Engine tuning constants — exported for tests. */
32
- export const BUCKET_MS = 250;
33
- /** Rolling "recent" window: 20 buckets = 5s. */
34
- export const WINDOW_BUCKETS = 20;
35
- /** Global busy history ring: 120 buckets = 30s. */
36
- export const HISTORY_BUCKETS = 120;
37
- export const MAX_ORIGINS = 500;
38
- /** Promotion thresholds: capture a scheduling stack once an origin is hot. */
39
- export const PROMOTE_MIN_CALLS = 25;
40
- export const PROMOTE_MIN_TOTAL_MS = 50;
41
- export const SNAPSHOT_ROWS = 30;
42
- //# sourceMappingURL=index.js.map
1
+ "use strict";export const BUCKET_MS=250;export const WINDOW_BUCKETS=20;export const HISTORY_BUCKETS=120;export const MAX_ORIGINS=500;export const PROMOTE_MIN_CALLS=25;export const PROMOTE_MIN_TOTAL_MS=50;export const SNAPSHOT_ROWS=30;
@@ -1,26 +1 @@
1
- "use strict";
2
-
3
- /**
4
- * Persisted JS TOP preferences. Same load-then-save contract as
5
- * perf-monitor's hudPreferences: rehydrate async, and only persist
6
- * user-driven changes after the load resolves so defaults never clobber
7
- * last session's state.
8
- */
9
-
10
- import { definePersistedSetting } from "@buoy-gg/shared-ui";
11
- const KEY = "@react_buoy/js-top/prefs";
12
- const DEFAULTS = {
13
- enabled: false
14
- };
15
- const prefs = definePersistedSetting(KEY, DEFAULTS, {
16
- sanitize: merged => ({
17
- enabled: merged.enabled === true
18
- })
19
- });
20
- export async function loadJsTopPrefs() {
21
- return prefs.load();
22
- }
23
- export async function saveJsTopPrefs(next) {
24
- await prefs.save(next);
25
- }
26
- //# sourceMappingURL=preferences.js.map
1
+ "use strict";import{definePersistedSetting as t}from"@buoy-gg/shared-ui";const n="@react_buoy/js-top/prefs";const o={enabled:false};const s=t(n,o,{sanitize:e=>({enabled:e.enabled===true})});export async function loadJsTopPrefs(){return s.load()}export async function saveJsTopPrefs(e){await s.save(e)}
@@ -1,71 +1 @@
1
- "use strict";
2
-
3
- /**
4
- * Pre-configured JS TOP tools for FloatingDevTools.
5
- *
6
- * Two presets:
7
- * - jsTopPreset: toggle-only chip that turns the floating busy% pill on/off.
8
- * - jsTopModalPreset: opens the Task Manager window (ranked live table).
9
- *
10
- * @example
11
- * ```tsx
12
- * import { jsTopPreset, jsTopModalPreset } from '@buoy-gg/js-top';
13
- *
14
- * <FloatingDevTools apps={[jsTopPreset, jsTopModalPreset]} />
15
- * ```
16
- */
17
-
18
- import { useEffect, useState } from "react";
19
- import { Activity } from "@buoy-gg/shared-ui";
20
- import { JsTopController } from "./js-top/engine/JsTopController";
21
- import { JsTopModal } from "./js-top/components/JsTopModal";
22
- import { jsx as _jsx } from "react/jsx-runtime";
23
- export const JS_TOP_ENABLED_COLOR = "#34D399";
24
- export const JS_TOP_DISABLED_COLOR = "#6B7280";
25
- function JsTopToggleIcon({
26
- size
27
- }) {
28
- const [enabled, setEnabled] = useState(() => JsTopController.isEnabled());
29
- useEffect(() => JsTopController.subscribeEnabled(setEnabled), []);
30
- return /*#__PURE__*/_jsx(Activity, {
31
- size: size,
32
- color: enabled ? JS_TOP_ENABLED_COLOR : JS_TOP_DISABLED_COLOR
33
- });
34
- }
35
- function EmptyComponent() {
36
- return null;
37
- }
38
-
39
- /** Toggle-only preset: show/hide the floating busy% pill. */
40
- export const jsTopPreset = {
41
- id: "js-top",
42
- name: "JS TOP",
43
- description: "Toggle the floating JS-thread busy pill",
44
- slot: "row",
45
- icon: JsTopToggleIcon,
46
- component: EmptyComponent,
47
- props: {},
48
- launchMode: "toggle-only",
49
- onPress: () => {
50
- JsTopController.setEnabled(!JsTopController.isEnabled());
51
- }
52
- };
53
-
54
- /** Modal preset: the live Task Manager window. */
55
- export const jsTopModalPreset = {
56
- id: "js-top-modal",
57
- name: "TASKS",
58
- description: "Live Task Manager for the JS thread",
59
- slot: "both",
60
- icon: ({
61
- size
62
- }) => /*#__PURE__*/_jsx(Activity, {
63
- size: size,
64
- color: JS_TOP_ENABLED_COLOR
65
- }),
66
- component: JsTopModal,
67
- props: {
68
- enableSharedModalDimensions: false
69
- }
70
- };
71
- //# sourceMappingURL=preset.js.map
1
+ "use strict";import{useEffect as i,useState as l}from"react";import{Activity as t}from"@buoy-gg/shared-ui";import{JsTopController as o}from"./js-top/engine/JsTopController";import{JsTopModal as p}from"./js-top/components/JsTopModal";import{jsx as s}from"react/jsx-runtime";export const JS_TOP_ENABLED_COLOR="#34D399";export const JS_TOP_DISABLED_COLOR="#6B7280";function a({size:e}){const[n,r]=l(()=>o.isEnabled());i(()=>o.subscribeEnabled(r),[]);return s(t,{size:e,color:n?JS_TOP_ENABLED_COLOR:JS_TOP_DISABLED_COLOR})}function c(){return null}export const jsTopPreset={id:"js-top",name:"JS TOP",description:"Toggle the floating JS-thread busy pill",slot:"row",icon:a,component:c,props:{},launchMode:"toggle-only",onPress:()=>{o.setEnabled(!o.isEnabled())}};export const jsTopModalPreset={id:"js-top-modal",name:"TASKS",description:"Live Task Manager for the JS thread",slot:"both",icon:({size:e})=>s(t,{size:e,color:JS_TOP_ENABLED_COLOR}),component:p,props:{enableSharedModalDimensions:false}};
@@ -0,0 +1,2 @@
1
+ "use client";var Ve=Object.defineProperty;var Tt=Object.getOwnPropertyDescriptor;var Ct=Object.getOwnPropertyNames;var zt=Object.prototype.hasOwnProperty;var At=(e,t)=>{for(var r in t)Ve(e,r,{get:t[r],enumerable:true})},Ne=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ct(t))!zt.call(e,o)&&o!==r&&Ve(e,o,{get:()=>t[o],enumerable:!(n=Tt(t,o))||n.enumerable});return e},Bt=(e,t,r)=>(Ne(e,t,"default"),r&&Ne(r,t,"default"));var Y=process.env.NODE_ENV!=="production";typeof window<"u"&&typeof globalThis.global>"u"&&(globalThis.global=globalThis);var je={};At(je,{AccessibilityInfo:()=>Ot,ActivityIndicator:()=>zr,Alert:()=>Rr,Animated:()=>It,AppRegistry:()=>$t,AppState:()=>qe,Appearance:()=>Pt,BackHandler:()=>Lt,Button:()=>Ar,CheckBox:()=>Xt,Clipboard:()=>Wt,DeviceEventEmitter:()=>pr,Dimensions:()=>Dt,Easing:()=>Ht,FlatList:()=>er,I18nManager:()=>Vt,Image:()=>tr,ImageBackground:()=>rr,InteractionManager:()=>jt,Keyboard:()=>Nt,KeyboardAvoidingView:()=>nr,LayoutAnimation:()=>qt,Linking:()=>Jt,LogBox:()=>mr,Modal:()=>Tr,NativeEventEmitter:()=>Kt,NativeModules:()=>Ft,PanResponder:()=>Ut,Picker:()=>or,PixelRatio:()=>_t,Platform:()=>Qt,Pressable:()=>kr,ProgressBar:()=>ir,RefreshControl:()=>ar,SafeAreaView:()=>sr,ScrollView:()=>pe,SectionList:()=>lr,Share:()=>Gt,StatusBar:()=>cr,StyleSheet:()=>D,Switch:()=>Cr,Text:()=>c,TextInput:()=>wr,Touchable:()=>ur,TouchableHighlight:()=>Sr,TouchableNativeFeedback:()=>dr,TouchableOpacity:()=>Z,TouchableWithoutFeedback:()=>vr,UIManager:()=>Yt,Vibration:()=>Zt,View:()=>f,VirtualizedList:()=>hr,YellowBox:()=>fr,findNodeHandle:()=>Br,unstable_createElement:()=>Et,useColorScheme:()=>br,useLocaleContext:()=>gr,useWindowDimensions:()=>yr});Bt(je,Rt);import*as Rt from"react-native-web";import{unstable_createElement as Et,NativeModules as Ft,AccessibilityInfo as Ot,Animated as It,Appearance as Pt,AppRegistry as $t,AppState as qe,BackHandler as Lt,Clipboard as Wt,Dimensions as Dt,Easing as Ht,I18nManager as Vt,Keyboard as Nt,InteractionManager as jt,LayoutAnimation as qt,Linking as Jt,NativeEventEmitter as Kt,PanResponder as Ut,PixelRatio as _t,Platform as Qt,Share as Gt,StyleSheet as D,UIManager as Yt,Vibration as Zt,CheckBox as Xt,FlatList as er,Image as tr,ImageBackground as rr,KeyboardAvoidingView as nr,Picker as or,ProgressBar as ir,RefreshControl as ar,SafeAreaView as sr,SectionList as lr,StatusBar as cr,Touchable as ur,TouchableNativeFeedback as dr,VirtualizedList as hr,YellowBox as fr,LogBox as mr,DeviceEventEmitter as pr,useColorScheme as br,useLocaleContext as gr,useWindowDimensions as yr}from"react-native-web";import*as A from"react-native-web";import{createElement as Mr,forwardRef as xr}from"react";function E(e){let t=xr((n,o)=>{let{accessibilityState:i,accessibilityValue:a,...s}=n;for(let l of["busy","checked","disabled","expanded","selected"])i?.[l]!==void 0&&s[`aria-${l}`]===void 0&&(s[`aria-${l}`]=i[l]);for(let[l,u]of Object.entries({min:"valuemin",max:"valuemax",now:"valuenow",text:"valuetext"}))a?.[l]!==void 0&&s[`aria-${u}`]===void 0&&(s[`aria-${u}`]=a[l]);return Mr(e,{...s,ref:o})}),r=e.State;return r&&Object.assign(t,{State:r}),t.displayName=e.displayName??e.name??"NativeWebView",t}var f=E(A.View),c=E(A.Text),wr=E(A.TextInput),Z=E(A.TouchableOpacity),Sr=E(A.TouchableHighlight),vr=E(A.TouchableWithoutFeedback),kr=E(A.Pressable),pe=E(A.ScrollView),Tr=E(A.Modal),Cr=E(A.Switch),zr=E(A.ActivityIndicator),Ar=E(A.Button),Br=A.findNodeHandle,Rr={alert(e,t,r,n){if(typeof document>"u")return;let o=document.createElement("dialog");o.dataset.buoyRoot="",o.setAttribute("aria-label",e),o.style.cssText="position:fixed;inset:0;margin:auto;width:min(440px,90vw);padding:24px;border:1px solid #475569;border-radius:14px;background:#17212e;color:#f1f5f9;font:14px system-ui;box-shadow:0 20px 80px #0008;z-index:2147483647";let i=document.createElement("h2");if(i.textContent=e,i.style.cssText="font-size:18px;margin:0 0 12px",o.appendChild(i),t){let u=document.createElement("p");u.textContent=t,u.style.cssText="line-height:1.5;white-space:pre-wrap;margin:0 0 20px",o.appendChild(u)}let a=document.createElement("div");a.style.cssText="display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px";let s=r?.length?r:[{text:"OK"}],l=()=>{o.close?.(),o.remove()};for(let u of s){let M=document.createElement("button");M.type="button",M.textContent=u.text??"OK",M.style.cssText=`padding:9px 14px;border:1px solid #64748b;border-radius:7px;color:white;background:${u.style==="destructive"?"#a52b38":"#283a4d"};cursor:pointer;font:inherit`,M.onclick=()=>{l(),u.onPress?.()},a.appendChild(M)}o.addEventListener("cancel",u=>{u.preventDefault(),n?.cancelable!==false&&(l(),n?.onDismiss?.())}),o.appendChild(a),document.body.appendChild(o),o.showModal?o.showModal():o.setAttribute("open","")}};var ae=typeof globalThis<"u"?globalThis:void 0,Er=(()=>{if(typeof ae?.nativePerformanceNow=="function"){let e=ae.nativePerformanceNow;return()=>e()}if(typeof ae?.performance?.now=="function"){let e=ae.performance;return()=>e.now()}return()=>Date.now()})(),Fr=Er;function I(){return Fr()}var h=typeof globalThis<"u"?globalThis:{},Je=false;function V(){return Je}function se(e){Je=e}var be=null;function ge(){return be||(be={setTimeout:h.setTimeout?.bind(h),setInterval:h.setInterval?.bind(h),clearInterval:h.clearInterval?.bind(h),clearTimeout:h.clearTimeout?.bind(h),setImmediate:h.setImmediate?.bind(h),requestAnimationFrame:h.requestAnimationFrame?.bind(h),queueMicrotask:h.queueMicrotask?.bind(h)}),be}function le(){return ge()}var S=Symbol.for("buoy.jsTop.patched"),Ke=Symbol.for("buoy.jsTop.wrapped");var q=new Float64Array(120),X=new Float64Array(120),ye=new Float64Array(120),J=new Float64Array(120).fill(-1);function P(e){return Math.floor(e/250)}function Or(e){let t=e%120;return J[t]!==e&&(J[t]=e,q[t]=0,X[t]=0,ye[t]=0),t}function Me(e,t,r){if(!(t>e))return;let n=Math.max(e,t-3e4),o=P(n),i=P(t),a=n;for(;o<=i;){let s=(o+1)*250,l=Math.min(t,s),u=l-a;u>0&&r(Or(o),u),a=l,o++}}function Ir(e,t){Me(e,t,(r,n)=>{q[r]=Math.min(250,q[r]+n)})}function Pr(e,t,r){let n=t-e;if(!(n>0)||!(r>0))return;let o=Math.min(1,r/n);Me(e,t,(i,a)=>{X[i]=Math.min(250,X[i]+a*o)})}function $r(e,t){Me(e,t,(r,n)=>{ye[r]=Math.min(250,ye[r]+n)})}function Ue(e,t,r){let n=P(t),o=0;for(let i=n-r+1;i<=n;i++){let a=i%120;a>=0&&J[a]===i&&(o+=e[a])}return o}function _e(e){return Ue(q,e,20)}function Lr(e){return Ue(X,e,20)}function Wr(e){let t=P(e),r=[];for(let n=t-20+1;n<=t;n++){let o=n%120;o>=0&&J[o]===n?r.push(Math.max(0,Math.round((q[o]-X[o])*10)/10)):r.push(0)}return r}function Dr(e){let t=P(e),r=[];for(let o=t-120+1;o<=t;o++){let i=o%120;i>=0&&J[i]===o?r.push(Math.round(q[i]/250*100)):r.push(0)}let n=0;for(;n<r.length&&r[n]===0;)n++;return r.slice(Math.max(0,Math.min(n,r.length-1)))}function Hr(){J.fill(-1)}var xe=0;function Vr(){return typeof Y<"u"&&Y}function Nr(e){return(e.split("?")[0]??e).split("/").filter(Boolean).slice(-2).join("/")}function jr(e){return/^[A-Z][A-Za-z0-9]*$/.test(e)}function qr(e,t){if(!Vr()||e.symbolicated||!e.frames||e.frames.length===0||xe>=3)return;e.symbolicated=true;let r=e.frames[0];if(!r||!/^https?:\/\//.test(r.file))return;let n;try{n=`${new URL(r.file).origin}/symbolicate`}catch{return}xe++;let o=JSON.stringify({stack:e.frames.map(i=>({file:i.file,lineNumber:i.line,column:i.col,methodName:""}))});fetch(n,{method:"POST",body:o}).then(i=>i.ok?i.json():null).then(i=>{let a=i?.stack?.find(F=>F.file&&!F.file.includes("node_modules"))??i?.stack?.[0];if(!a?.file&&i?.error){let F=/found: (\/.+)$/.exec(i.error);F&&(a={file:F[1]})}if(!a?.file)return;let s=Nr(a.file),l=a.lineNumber,u=a.methodName&&a.methodName!=="<unknown>"?a.methodName:void 0;e.file=s,e.line=l??e.line;let M=`${s.split("/").pop()}${l!=null?`:${l}`:""}`;u&&jr(u)&&!e.caller?(e.caller=u,e.label=`${e.label} \u2190 <${u}> \xB7 ${M}`):e.label=`${e.label} \xB7 ${M}`}).catch(()=>{}).finally(()=>{xe--})}var Jr=500,Kr=20,k=new Map,Qe="other",Ge=0,we=0;function Se(e,t,r){return{key:e,api:t,label:r,calls:0,totalMs:0,maxMs:0,scheduleCount:0,lastSeenAt:0,promoted:false,lastCaptureAt:0,ring:new Float64Array(20),ringStamps:new Float64Array(20).fill(-1)}}function Ye(e,t){let r=P(t),n=0;for(let o=r-20+1;o<=r;o++){let i=o%20;i>=0&&e.ringStamps[i]===o&&(n+=e.ring[i])}return n}function Ze(e){let t=null,r=1/0;for(let o of k.values()){if(o.key===Qe)continue;let i=Ye(o,e)*1e6+o.lastSeenAt;i<r&&(r=i,t=o)}if(!t)return;let n=Ur(Qe,"other","other (evicted origins)");n.calls+=t.calls,n.totalMs+=t.totalMs,n.maxMs=Math.max(n.maxMs,t.maxMs),n.lastSeenAt=Math.max(n.lastSeenAt,t.lastSeenAt),k.delete(t.key)}function Ur(e,t,r){let n=k.get(e);return n||(n=Se(e,t,r),k.set(e,n)),n}function _r(e){let t=[],r,n=e.split(`
2
+ `);for(let o of n){let i=/at\s+(.*?)\s+\((?:address at\s+)?(.*?):(\d+):(\d+)\)/.exec(o)??/at\s+()(.*?):(\d+):(\d+)$/.exec(o.trim());if(!i)continue;let a=i[1]??"";if(a.includes("buoyJsTop")||a==="Error"||i[2]?.includes("/js-top/"))continue;t.push({file:i[2]??"",line:Number(i[3]),col:Number(i[4])});let s=/^(react_stack_bottom_frame|runWithFiberInDEV|commitHookEffectList|flushPassive|performWork|renderWithHooks|safelyCall)/.test(a)||/^(then|catch|finally|resolve|reject|fulfilled|rejected|step|tryCallOne|tryCallTwo|tryCatch|invokeCallback|notify)$/.test(a);if(!r&&a&&a!=="anonymous"&&!s&&(r=a),t.length>=3)break}return{caller:r,frames:t}}function Qr(e,t){return t-e.lastCaptureAt<Jr||(t-Ge>1e3&&(Ge=t,we=0),we>=Kr)?false:(we++,e.lastCaptureAt=t,true)}function ve(e){if(!e)return;let t=(e.split("?")[0]??e).replace(/\/\/&.*$/,""),r=/^[a-z]+:\/\/[^/]+\/(.*)$/.exec(t);return(r?r[1]:t).split("/").slice(-2).join("/")}function Gr(e){return k.has(e)}function ke(e,t,r,n=true){let o=t,i=typeof o.displayName=="string"&&o.displayName||typeof o.name=="string"&&o.name||"anonymous",a=`${e}|${i}`,s=k.get(a);if(s||(k.size>=500&&Ze(r),s=Se(a,e,i==="anonymous"?ee(e):`${ee(e)} ${i}`),k.set(a,s)),s.scheduleCount++,!s.promoted&&(s.scheduleCount>=25||s.totalMs>=50)&&(s.promoted=true),(s.promoted||e==="interval")&&n&&Qr(s,r)){let{caller:l,frames:u}=_r(new Error().stack??""),M=u[0];if(M||l){let F=M?`${ve(M.file)??"?"}:${M.line}`:"?",p=`${a}@${l??"?"}:${F}`,g=k.get(p);if(!g){k.size>=500&&Ze(r);let C=i==="anonymous"?ee(e):`${ee(e)} ${i}`;g=Se(p,e,l?`${C} \u2190 ${l}`:i==="anonymous"?`${C} @ ${ve(M?.file??"")??"?"}`:C),g.caller=l,g.file=M?ve(M.file):void 0,g.line=M?.line,g.frames=u,g.promoted=true,g.calls=s.calls,g.totalMs=s.totalMs,g.maxMs=s.maxMs,g.scheduleCount=s.scheduleCount,g.lastSeenAt=s.lastSeenAt,g.ring.set(s.ring),g.ringStamps.set(s.ringStamps),s.calls=0,s.totalMs=0,s.maxMs=0,s.ring.fill(0),s.ringStamps.fill(-1),k.set(p,g),qr(g,ee(e))}s.activeRefinedKey=p}}return s.activeRefinedKey??a}function ee(e){switch(e){case"timeout":return"setTimeout";case"interval":return"setInterval";case"immediate":return"setImmediate";case"raf":return"requestAnimationFrame";case"microtask":return"queueMicrotask";case"then":return"Promise.then";case"bridge":return"bridge";default:return e}}function Yr(e,t,r,n){let o=k.get(e);if(!o)return;o.calls++,o.totalMs+=t,t>o.maxMs&&(o.maxMs=t),o.lastSeenAt=n,!o.promoted&&o.totalMs>=50&&(o.promoted=true);let i=n-r,a=i>0?Math.min(1,t/i):1,s=Math.max(r,n-5e3),l=P(s),u=P(n),M=s;for(;l<=u;){let F=(l+1)*250,p=Math.min(n,F),g=p-M;if(g>0){let C=l%20;C>=0&&(o.ringStamps[C]!==l&&(o.ringStamps[C]=l,o.ring[C]=0),o.ring[C]+=i>0?g*a:t)}M=p,l++}Pr(r,n,t)}function Zr(e){return k.get(e)?.label??null}function Xr(e,t,r){let n=[];for(let a of k.values()){let s=Ye(a,e);s<=0&&a.totalMs<1||n.push({key:a.key,label:a.label,api:a.api,file:a.file,line:a.line,windowMs:Math.round(s*10)/10,pctOfBusy:t>0?Math.min(100,Math.round(s/t*1e3)/10):0,totalMs:Math.round(a.totalMs*10)/10,calls:a.calls,avgMs:a.calls>0?Math.round(a.totalMs/a.calls*100)/100:0,maxMs:Math.round(a.maxMs*100)/100,lastSeenAgoMs:a.lastSeenAt>0?Math.max(0,e-a.lastSeenAt):0,freezes:0,worstFreezeMs:0})}n.sort((a,s)=>s.windowMs-a.windowMs||s.totalMs-a.totalMs);let o=[],i=[];for(let a of n)(a.windowMs>=1||a.pctOfBusy>=.5||a.freezes>0?o:i).push(a);return i.length>=2?(o.push({key:"minor",label:`${i.length} minor origins (\u22641ms each)`,api:"other",windowMs:Math.round(i.reduce((a,s)=>a+s.windowMs,0)*10)/10,pctOfBusy:Math.round(i.reduce((a,s)=>a+s.pctOfBusy,0)*10)/10,totalMs:Math.round(i.reduce((a,s)=>a+s.totalMs,0)*10)/10,calls:i.reduce((a,s)=>a+s.calls,0),avgMs:0,maxMs:Math.max(0,...i.map(a=>a.maxMs)),lastSeenAgoMs:Math.min(...i.map(a=>a.lastSeenAgoMs)),freezes:0,worstFreezeMs:0}),o.slice(0,r)):n.slice(0,r)}function en(e,t,r){let n=k.get(e);if(!n)return null;let o=P(t),i=[],a=0;for(let s=o-20+1;s<=o;s++){let l=s%20,u=l>=0&&n.ringStamps[l]===s?Math.round(n.ring[l]*10)/10:0;i.push(u),a+=u}return{key:n.key,label:n.label,api:n.api,caller:n.caller,file:n.file,line:n.line,frames:n.frames,promoted:n.promoted,scheduleCount:n.scheduleCount,calls:n.calls,totalMs:Math.round(n.totalMs*10)/10,avgMs:n.calls>0?Math.round(n.totalMs/n.calls*100)/100:0,maxMs:Math.round(n.maxMs*100)/100,windowMs:Math.round(a*10)/10,pctOfBusy:r>0?Math.min(100,Math.round(a/r*1e3)/10):0,lastSeenAgoMs:n.lastSeenAt>0?Math.max(0,t-n.lastSeenAt):0,buckets:i}}function tn(){k.clear()}var rn=32,K=[],nn=20,Xe=64,et=new Array(Xe).fill(null),Te=0;function on(){return et}function tt(e,t){let r=I(),n=K.length>0?K[K.length-1]:null,o=null;K.length<rn&&(o={originKey:e,start:r,childrenMs:0},K.push(o));try{return t()}finally{try{if(o){K.pop();let i=I(),a=i-r,s=Math.max(0,a-o.childrenMs);n&&(n.childrenMs+=a),Yr(e,s,r,i),!n&&a>=nn&&(et[Te]={originKey:e,start:r,end:i},Te=(Te+1)%Xe)}}catch{}}}function U(e,t){if(typeof e!="function"||e[Ke])return e;let r=V()?ke(t,e,I()):null,n=function(...o){return V()?((r===null||!Gr(r))&&(r=ke(t,e,I(),false)),tt(r,()=>e.apply(this,o))):e.apply(this,o)};return n[Ke]=true,n}function rt(e,t,r){if(!V())return r();let n=ke(e,{name:t},I());return tt(n,r)}function nt(){let e=ge();if(typeof h.setTimeout=="function"&&!h.setTimeout[S]){let t=function(r,n,...o){let i=U(r,"timeout");return e.setTimeout(i,n,...o)};t[S]=true,h.setTimeout=t}if(typeof h.setInterval=="function"&&!h.setInterval[S]){let t=function(r,n,...o){let i=U(r,"interval");return e.setInterval(i,n,...o)};t[S]=true,h.setInterval=t}if(typeof h.setImmediate=="function"&&!h.setImmediate[S]&&e.setImmediate){let t=function(r,...n){let o=U(r,"immediate");return e.setImmediate(o,...n)};t[S]=true,h.setImmediate=t}if(typeof h.requestAnimationFrame=="function"&&!h.requestAnimationFrame[S]&&e.requestAnimationFrame){let t=function(r){let n=U(r,"raf");return e.requestAnimationFrame(n)};t[S]=true,h.requestAnimationFrame=t}}function ot(){let e=ge();if(typeof h.queueMicrotask=="function"&&!h.queueMicrotask[S]&&e.queueMicrotask){let t=function(r){let n=U(r,"microtask");return e.queueMicrotask(n)};t[S]=true,h.queueMicrotask=t}}var Ce=16,an=100,sn=3,ln=8,te=null,re=0,ce=false,ne=[],_=1/0,Q=0,ze=Ce;function cn(){let e=I(),t=re>0?e-re:0;if(re=e,ce){ce=false,_=1/0,Q=e;return}if(t<=0)return;t<an&&(t<_&&(_=t),Q===0&&(Q=e),e-Q>=1e3&&(ne.push(_),ne.length>sn&&ne.shift(),ze=Math.max(ln,Math.min(...ne)),_=1/0,Q=e));let r=t-ze;r>1&&Ir(e-r,e)}function it(){if(te!=null)return;let e=le();re=I(),ce=false,ne=[],_=1/0,Q=0,ze=Ce,te=e.setInterval(cn,Ce)}function at(){te!=null&&(le().clearInterval(te),te=null),re=0}function un(){ce=true}import{definePersistedSetting as dn}from"@buoy-gg/shared-ui/web";var hn="@react_buoy/js-top/prefs",fn={enabled:false},st=dn(hn,fn,{sanitize:e=>({enabled:e.enabled===true})});async function mn(){return st.load()}async function pn(e){await st.save(e)}var bn=250,gn=class{constructor(){this.enabled=false;this.enabledLoaded=false;this.paused=false;this.remoteSampling=false;this.engineRunning=false;this.tiers={timers:false,promises:false,bridge:false,longtask:false};this.notifyHandle=null;this.appStateSub=null;this.snapshot=this.buildSnapshot();this.subscribers=new Set;this.enabledSubscribers=new Set;this.tierInstallers=[];this.longtaskProvider=null;this.freezeStatsProvider=null;this.clearHooks=[];mn().then(e=>{this.enabledLoaded=true,e.enabled&&!this.enabled&&this.setEnabled(true)})}subscribe(e){return this.subscribers.add(e),this.syncEngineState(),e(this.snapshot),()=>{this.subscribers.delete(e),this.syncEngineState()}}subscribeEnabled(e){return this.enabledSubscribers.add(e),e(this.enabled),()=>{this.enabledSubscribers.delete(e)}}setEnabled(e){this.enabled!==e&&(this.enabled=e,this.enabledLoaded&&pn({enabled:e}),this.enabledSubscribers.forEach(t=>{try{t(e)}catch(r){Y&&console.error("[js-top] enabled subscriber threw",r)}}),this.syncEngineState())}isEnabled(){return this.enabled}setRemoteSampling(e){this.remoteSampling!==e&&(this.remoteSampling=e,this.syncEngineState())}isRemoteSampling(){return this.remoteSampling}getStatus(){return this.engineRunning?this.paused?"paused":"running":"disabled"}pause(){this.paused||(this.paused=true,se(false),at(),this.emitSnapshot())}resume(){this.paused&&(this.paused=false,this.engineRunning&&(se(true),it()),this.emitSnapshot())}clear(){tn(),Hr();for(let e of this.clearHooks)try{e()}catch{}this.emitSnapshot()}registerClearHook(e){this.clearHooks.push(e)}getSnapshot(){return this.snapshot}getOriginDetail(e){let t=I(),r=_e(t),n=this.freezeStatsProvider?.(Date.now())?.byOrigin[e];if(e==="unattributed"){let i=Wr(t),a=Math.round(i.reduce((s,l)=>s+l,0)*10)/10;return{key:e,label:"unattributed (events / React / native call-ins)",api:"unattributed",promoted:false,scheduleCount:0,calls:0,totalMs:0,avgMs:0,maxMs:0,windowMs:a,pctOfBusy:r>0?Math.min(100,Math.round(a/r*1e3)/10):0,lastSeenAgoMs:0,buckets:i,freezes:n?.count??0,worstFreezeMs:Math.round(n?.maxMs??0)}}let o=en(e,t,r);return o?{...o,freezes:n?.count??0,worstFreezeMs:Math.round(n?.maxMs??0)}:null}registerTierInstaller(e){this.tierInstallers.push(e),this.engineRunning&&Object.assign(this.tiers,this.runInstaller(e))}registerLongtaskProvider(e){this.longtaskProvider=e}registerFreezeStatsProvider(e){this.freezeStatsProvider=e}shouldRun(){return this.subscribers.size>0||this.remoteSampling}syncEngineState(){let e=this.shouldRun();e&&!this.engineRunning?this.startEngine():!e&&this.engineRunning&&this.stopEngine()}runInstaller(e){try{return e()}catch(t){return Y&&console.error("[js-top] tier installer threw",t),{}}}startEngine(){this.engineRunning=true,nt(),ot(),this.tiers={timers:true,promises:false,bridge:false,longtask:false};for(let e of this.tierInstallers)Object.assign(this.tiers,this.runInstaller(e));se(!this.paused),this.paused||it();try{this.appStateSub=qe.addEventListener("change",()=>{un()})}catch{this.appStateSub=null}this.notifyHandle=le().setInterval(()=>this.emitSnapshot(),bn),this.emitSnapshot()}stopEngine(){if(this.engineRunning=false,se(false),at(),this.notifyHandle!=null&&(le().clearInterval(this.notifyHandle),this.notifyHandle=null),this.appStateSub){try{this.appStateSub.remove()}catch{}this.appStateSub=null}}buildSnapshot(){let e=I(),t=_e(e),r=Lr(e),n=Math.max(0,t-r),o=Xr(e,t,30);n>=1&&(o.push({key:"unattributed",label:"unattributed (events / React / native call-ins)",api:"unattributed",windowMs:Math.round(n*10)/10,pctOfBusy:t>0?Math.min(100,Math.round(n/t*1e3)/10):0,totalMs:0,calls:0,avgMs:0,maxMs:0,lastSeenAgoMs:0,freezes:0,worstFreezeMs:0}),o.sort((s,l)=>l.windowMs-s.windowMs||l.totalMs-s.totalMs));let i=this.freezeStatsProvider?.(Date.now())??{count:0,worstMs:0,byOrigin:{}};for(let s of o){let l=i.byOrigin[s.key];l&&(s.freezes=l.count,s.worstFreezeMs=Math.round(l.maxMs))}let a=5e3;return{ts:Date.now(),paused:this.paused,busyPct:Math.min(100,Math.round(t/a*1e3)/10),busyHistory:Dr(e),tiers:{...this.tiers},rows:o,totals:{attributedWindowMs:Math.round(r*10)/10,unattributedWindowMs:Math.round(n*10)/10,windowMs:a},freezeSummary:{count:i.count,worstMs:Math.round(i.worstMs)},longtasks:this.longtaskProvider?this.longtaskProvider():[]}}emitSnapshot(){this.snapshot=this.buildSnapshot(),this.subscribers.forEach(e=>{try{e(this.snapshot)}catch(t){Y&&console.error("[js-top] snapshot subscriber threw",t)}})}isEngineActive(){return V()}},d=new gn;function Ae(e,t){let r=e[t];if(typeof r!="function")return false;if(r[S])return true;let n=function(...o){for(let i=0;i<o.length;i++)typeof o[i]=="function"&&(o[i]=U(o[i],"then"));return r.apply(this,o)};return n[S]=true,Object.defineProperty(n,"name",{value:t,configurable:true}),e[t]=n,true}function yn(){let e=h.Promise?.prototype;if(!e)return{promises:false};let t=Ae(e,"then");return Ae(e,"catch"),Ae(e,"finally"),{promises:t}}function Mn(){let e=h.__fbBatchedBridge;if(!e)return{bridge:false};let t=false;if(typeof e.callFunctionReturnFlushedQueue=="function"&&!e.callFunctionReturnFlushedQueue[S]){let n=e.callFunctionReturnFlushedQueue.bind(e),o=function(i,a,s){return V()?rt("bridge",`${i}.${a}`,()=>n(i,a,s)):n(i,a,s)};o[S]=true,e.callFunctionReturnFlushedQueue=o,t=true}if(typeof e.invokeCallbackAndReturnFlushedQueue=="function"&&!e.invokeCallbackAndReturnFlushedQueue[S]){let n=e.invokeCallbackAndReturnFlushedQueue.bind(e),o=function(i,a){return V()?rt("bridge","nativeModuleCallback",()=>n(i,a)):n(i,a)};o[S]=true,e.invokeCallbackAndReturnFlushedQueue=o,t=true}let r=e.callFunctionReturnFlushedQueue?.[S]===true;return{bridge:t||r}}var xn=40,wn=6e4,Sn="unattributed",lt=false,ue=false,G=[];function vn(e,t){let r=e+t,n=null,o=0;for(let i of on()){if(!i)continue;let a=Math.min(r,i.end)-Math.max(e,i.start);a>o&&(o=a,n=i.originKey)}return n}function kn(){if(lt)return{longtask:ue};lt=true;let e=h.PerformanceObserver;if(typeof e!="function")return{longtask:false};try{new e(t=>{if(V())try{for(let r of t.getEntries()){if(r.entryType!=="longtask")continue;let n=r.startTime,o=r.duration;$r(n,n+o),G.push({start:n,duration:o,at:Date.now(),originKey:vn(n,o)}),G.length>xn&&G.shift()}}catch{}}).observe({entryTypes:["longtask"]}),ue=true}catch{ue=false}return{longtask:ue}}function Tn(){return G.map(e=>({start:e.start,duration:e.duration,at:e.at,originLabel:e.originKey?Zr(e.originKey):null}))}function Cn(e){let t={},r=0,n=0;for(let o of G){if(o.at>0&&e-o.at>wn)continue;r++,o.duration>n&&(n=o.duration);let i=o.originKey??Sn,a=t[i];a?(a.count++,o.duration>a.maxMs&&(a.maxMs=o.duration)):t[i]={count:1,maxMs:o.duration}}return{count:r,worstMs:n,byOrigin:t}}function zn(){G.length=0}var An={version:1,getSnapshot:()=>({live:d.getSnapshot(),enabled:d.isEnabled()||d.isRemoteSampling()}),subscribe:e=>{let t=d.subscribe(()=>e()),r=d.subscribeEnabled(()=>e());return()=>{t(),r()}},actions:{setEnabled:e=>{let t=e.enabled;d.setRemoteSampling(t)},pause:()=>d.pause(),resume:()=>d.resume(),clear:()=>d.clear(),getOriginDetail:e=>d.getOriginDetail(e.key),sample:async e=>{let t=e,r=Math.min(Math.max(t?.durationMs??3e3,250),3e4),n=d.isRemoteSampling()||d.isEnabled();n||d.setRemoteSampling(true),t?.clearFirst&&d.clear();try{return await new Promise(o=>setTimeout(o,r)),d.getSnapshot()}finally{n||d.setRemoteSampling(false)}}}};import{useCallback as Bn,useEffect as Rn,useMemo as En,useState as ct}from"react";import{Activity as Fn,JsModal as On,macOSColors as O,night as z,ModalHeader as oe,Pause as In,Play as Pn,Trash2 as $n}from"@buoy-gg/shared-ui/web";import{memo as Ln}from"react";import{macOSColors as Be}from"@buoy-gg/shared-ui/web";import{jsx as ut}from"react/jsx-runtime";var Wn=60;function Dn(e){return e>=80?Be.semantic.error:e>=40?Be.semantic.warning:Be.semantic.success}var Hn=Ln(function({history:e}){let t=e.slice(-Wn);return ut(f,{style:dt.row,pointerEvents:"none",children:t.map((r,n)=>ut(f,{style:[dt.bar,{height:Math.max(2,r/100*28),backgroundColor:Dn(r)}]},`b${n}`))})}),dt=D.create({row:{flexDirection:"row",alignItems:"flex-end",gap:1,height:28,alignSelf:"stretch"},bar:{flex:1,maxWidth:6,borderRadius:1,opacity:.9}});import{memo as Vn,useState as Nn}from"react";import{macOSColors as de,night as w}from"@buoy-gg/shared-ui/web";import{jsx as B,jsxs as $}from"react/jsx-runtime";var jn=[{key:"windowMs",title:"RECENT"},{key:"calls",title:"CALLS"},{key:"avgMs",title:"AVG"},{key:"maxMs",title:"MAX"},{key:"totalMs",title:"TOTAL"}],ht={timeout:{text:"TIMEOUT",color:"#38BDF8",prefix:"setTimeout"},interval:{text:"INTERVAL",color:"#22D3EE",prefix:"setInterval"},immediate:{text:"IMMED",color:"#60A5FA",prefix:"setImmediate"},raf:{text:"RAF",color:"#34D399",prefix:"requestAnimationFrame"},microtask:{text:"MICRO",color:"#A78BFA",prefix:"queueMicrotask"},then:{text:"PROMISE",color:"#BF5AF2",prefix:"Promise.then"},bridge:{text:"BRIDGE",color:"#FBBF24",prefix:"bridge"},unattributed:{text:"SYSTEM",color:"#8E8E93"},other:{text:"OTHER",color:"#8E8E93",prefix:"other"}};function Re(e){return ht[e]??ht.other}function ft(e){if(e.api==="unattributed")return"events \xB7 React \xB7 native call-ins";if(e.api==="other")return"evicted cold origins";let t=Re(e.api).prefix,r=e.label;return t&&r.startsWith(t)&&(r=r.slice(t.length)),r=r.replace(/^[\s←@]+/,"").trim(),r.length>0?r:"anonymous"}function ie(e){return e>=1e4?`${Math.round(e/1e3)}k`:e>=1e3?`${(e/1e3).toFixed(1)}k`:e>=100?`${Math.round(e)}`:`${Math.round(e*10)/10}`}function qn(e){return e.calls<=0?"measured by probe \xB7 not reachable from JS":`${ie(e.calls)} calls \xB7 avg ${ie(e.avgMs)} \xB7 max ${ie(e.maxMs)} \xB7 total ${ie(e.totalMs)} ms`}var Jn=Vn(function({row:e,rank:t,onPress:r}){let n=Re(e.api);return $(r?Z:f,{style:T.row,...r?{onPress:()=>r(e),activeOpacity:.6}:{},children:[$(f,{style:T.topLine,children:[B(c,{style:T.rank,children:t}),B(f,{style:[T.badge,{borderColor:n.color,backgroundColor:`${n.color}1A`}],children:B(c,{style:[T.badgeText,{color:n.color}],children:n.text})}),B(c,{style:T.name,numberOfLines:1,children:ft(e)}),e.freezes>0&&$(c,{style:[T.freezeBadge,e.worstFreezeMs>=100&&T.freezeBadgeSevere],children:["\u26A0 \xD7",e.freezes]}),$(c,{style:[T.windowMs,e.api!=="unattributed"&&e.pctOfBusy>=25&&{color:e.pctOfBusy>=50?de.semantic.error:de.semantic.warning}],children:[ie(e.windowMs),B(c,{style:T.unit,children:" ms"})]}),$(c,{style:[T.pct,e.api==="unattributed"&&T.pctMuted],children:[Math.round(e.pctOfBusy),"%"]})]}),$(f,{style:T.subLine,children:[B(f,{style:T.barTrack,children:B(f,{style:[T.barFill,{width:`${Math.min(100,e.pctOfBusy)}%`,backgroundColor:n.color}]})}),B(c,{style:T.stats,numberOfLines:1,children:qn(e)})]})]})},(e,t)=>e.rank===t.rank&&e.onPress===t.onPress&&e.row.key===t.row.key&&e.row.windowMs===t.row.windowMs&&e.row.calls===t.row.calls&&e.row.maxMs===t.row.maxMs&&e.row.totalMs===t.row.totalMs&&e.row.pctOfBusy===t.row.pctOfBusy&&e.row.freezes===t.row.freezes&&e.row.worstFreezeMs===t.row.worstFreezeMs);function Kn({rows:e,onSelectRow:t}){let[r,n]=Nn("windowMs"),o=r==="windowMs"?e:[...e].sort((i,a)=>a[r]-i[r]);return $(f,{style:L.root,children:[$(f,{style:L.sortRow,children:[B(c,{style:L.sortLabel,children:"SORT"}),jn.map(i=>B(Z,{onPress:()=>n(i.key),style:[L.sortChip,r===i.key&&L.sortChipOn],children:B(c,{style:[L.sortChipText,r===i.key&&L.sortChipTextOn],children:i.title})},i.key))]}),$(pe,{style:L.body,children:[o.map((i,a)=>B(Jn,{row:i,rank:a+1,onPress:t},i.key)),o.length===0&&B(c,{style:L.empty,children:"No tasks observed yet \u2014 interact with the app."})]})]})}var L=D.create({root:{flex:1,minHeight:0},sortRow:{flexDirection:"row",alignItems:"center",gap:6,paddingHorizontal:10,paddingVertical:6,borderBottomWidth:1,borderBottomColor:w.color.border,backgroundColor:w.color.surface},sortLabel:{color:w.color.textTertiary,fontSize:9,fontWeight:"700",letterSpacing:.5,marginRight:2},sortChip:{borderWidth:1,borderColor:w.color.border,borderRadius:4,paddingHorizontal:7,paddingVertical:3},sortChipOn:{borderColor:w.color.accentBorderStrong,backgroundColor:w.color.accentSoft},sortChipText:{color:w.color.textTertiary,fontSize:9,fontWeight:"600",fontVariant:["tabular-nums"]},sortChipTextOn:{color:w.color.accent},body:{flex:1},empty:{color:w.color.textTertiary,fontSize:12,textAlign:"center",paddingVertical:24}}),T=D.create({row:{paddingHorizontal:10,paddingVertical:8,borderBottomWidth:D.hairlineWidth,borderBottomColor:w.color.border,gap:5},topLine:{flexDirection:"row",alignItems:"center",gap:6},rank:{width:16,color:w.color.textTertiary,fontSize:10,fontVariant:["tabular-nums"]},badge:{borderWidth:1,borderRadius:3,paddingHorizontal:4,paddingVertical:1},badgeText:{fontSize:8,fontWeight:"700",letterSpacing:.4},name:{flex:1,color:w.color.text,fontSize:13,fontWeight:"500"},freezeBadge:{color:de.semantic.warning,fontSize:10,fontWeight:"700",fontVariant:["tabular-nums"]},freezeBadgeSevere:{color:de.semantic.error},windowMs:{color:w.color.text,fontSize:13,fontWeight:"700",fontVariant:["tabular-nums"]},unit:{color:w.color.textTertiary,fontSize:10,fontWeight:"400"},pct:{width:38,textAlign:"right",color:w.color.textSecondary,fontSize:12,fontWeight:"600",fontVariant:["tabular-nums"]},pctMuted:{color:w.color.textTertiary},subLine:{flexDirection:"row",alignItems:"center",gap:8,paddingLeft:22},barTrack:{width:72,height:4,borderRadius:2,backgroundColor:w.color.fillSecondary,overflow:"hidden"},barFill:{height:4,borderRadius:2,opacity:.85},stats:{flex:1,color:w.color.textTertiary,fontSize:10,fontVariant:["tabular-nums"]}});import{memo as Un}from"react";import{macOSColors as he,night as v,useSafeAreaInsets as _n}from"@buoy-gg/shared-ui/web";import{Fragment as mt,jsx as y,jsxs as R}from"react/jsx-runtime";var pt={timeout:"Work scheduled with setTimeout. Time shown is the callback's exclusive run time on the JS thread.",interval:"A repeating setInterval. One scheduling site, many runs \u2014 a hot interval is the classic silent JS-FPS killer.",immediate:"Work scheduled with setImmediate \u2014 runs at the end of the current event-loop turn.",raf:"requestAnimationFrame work \u2014 runs once per frame while scheduled. Cost here directly trades against 60fps.",microtask:"queueMicrotask work \u2014 runs after the current task, before the thread yields.",then:"Promise reaction (.then/.catch/.finally). Named by the function that attached the reaction. Note: async/await bodies bypass .then and land in the System row instead.",bridge:"A native\u2192JS call-in over the legacy bridge (events, module callbacks), measured as its un-nested remainder.",unattributed:"Thread time the probe measured but no JS wrapper could claim: touch handlers, React commits, native call-ins, and async/await bodies. High here on New Architecture is normal \u2014 it's where UI work lives.",other:"Origins evicted from the table when the registry hit its cap \u2014 their totals are preserved here."};function Qn(e){return pt[e]??pt.other}function N(e){return e>=1e4?`${Math.round(e/1e3)}k`:e>=1e3?`${(e/1e3).toFixed(1)}k`:e>=100?`${Math.round(e)}`:`${Math.round(e*100)/100}`}function Gn(e){if(e<=0)return"\u2014";let t=e/1e3;return t<1?"just now":t<60?`${Math.round(t)}s ago`:`${Math.floor(t/60)}m ago`}function H({label:e,value:t,accent:r}){return R(f,{style:m.stat,children:[y(c,{style:m.statLabel,children:e}),y(c,{style:[m.statValue,r?{color:r}:null],children:t})]})}var Yn=Un(function({detail:e}){let t=Re(e.api),r=_n({minBottom:12}),n=Math.max(1,...e.buckets);return R(pe,{style:m.root,contentContainerStyle:{paddingBottom:r.bottom},children:[R(f,{style:m.identityRow,children:[y(f,{style:[m.badge,{borderColor:t.color,backgroundColor:`${t.color}1A`}],children:y(c,{style:[m.badgeText,{color:t.color}],children:t.text})}),y(c,{style:m.name,numberOfLines:2,children:ft(e)})]}),y(c,{style:m.explainer,children:Qn(e.api)}),y(c,{style:m.sectionTitle,children:"ACTIVITY \xB7 LAST 5S"}),y(f,{style:m.chartRow,children:e.buckets.map((o,i)=>y(f,{style:m.chartBarSlot,children:y(f,{style:[m.chartBar,{height:Math.max(2,o/n*44),backgroundColor:t.color}]})},`bk${i}`))}),R(f,{style:m.chartLegend,children:[R(c,{style:m.chartLegendText,children:[N(e.windowMs)," ms in window \xB7 ",e.pctOfBusy.toFixed(1),"% of busy time"]}),R(c,{style:m.chartLegendText,children:["peak ",N(n)," ms/250ms"]})]}),y(c,{style:m.sectionTitle,children:"STATS \xB7 SINCE START"}),R(f,{style:m.statGrid,children:[y(H,{label:"RUNS",value:e.calls>0?N(e.calls):"\u2014"}),y(H,{label:"SCHEDULED",value:e.scheduleCount>0?N(e.scheduleCount):"\u2014"}),y(H,{label:"AVG / RUN",value:e.calls>0?`${N(e.avgMs)} ms`:"\u2014"}),y(H,{label:"MAX / RUN",value:e.maxMs>0?`${N(e.maxMs)} ms`:"\u2014",accent:e.maxMs>=50?he.semantic.warning:void 0}),y(H,{label:"TOTAL",value:e.totalMs>0?`${N(e.totalMs)} ms`:"\u2014"}),y(H,{label:"LAST RUN",value:Gn(e.lastSeenAgoMs)}),y(H,{label:"FREEZES \xB7 60S",value:e.freezes>0?`${e.freezes}`:"0",accent:e.freezes>0?he.semantic.error:void 0}),y(H,{label:"WORST FREEZE",value:e.worstFreezeMs>0?`${e.worstFreezeMs} ms`:"\u2014",accent:e.worstFreezeMs>=100?he.semantic.error:e.worstFreezeMs>0?he.semantic.warning:void 0})]}),(e.caller||(e.frames?.length??0)>0)&&R(mt,{children:[y(c,{style:m.sectionTitle,children:"SCHEDULED FROM"}),R(f,{style:m.siteCard,children:[e.caller&&R(c,{style:m.siteCaller,children:[e.caller,"()"]}),e.file&&R(c,{style:m.siteFile,children:[e.file,e.line!=null?`:${e.line}`:""]}),e.frames?.map((o,i)=>R(c,{style:m.siteFrame,numberOfLines:1,children:[o.file,":",o.line,":",o.col]},`fr${i}`)),y(c,{style:m.siteNote,children:"Frames are bundle offsets (Hermes) \u2014 the caller name above is the readable part. Captured once when this origin got hot."})]})]}),!e.caller&&(e.frames?.length??0)===0&&e.api!=="unattributed"&&e.api!=="other"&&R(mt,{children:[y(c,{style:m.sectionTitle,children:"SCHEDULED FROM"}),y(c,{style:m.sitePending,children:e.promoted?"Stack capture pending \u2014 next schedule from this site will record it.":"Not hot enough yet \u2014 the scheduling stack is captured once an origin passes 25 schedules or 50ms total."})]})]})}),m=D.create({root:{flex:1,backgroundColor:"transparent",paddingHorizontal:12},identityRow:{flexDirection:"row",alignItems:"center",gap:8,paddingTop:12},badge:{borderWidth:1,borderRadius:3,paddingHorizontal:5,paddingVertical:2},badgeText:{fontSize:9,fontWeight:"700",letterSpacing:.4},name:{flex:1,color:v.color.text,fontSize:15,fontWeight:"600"},explainer:{color:v.color.textTertiary,fontSize:11,lineHeight:15,marginTop:6,marginBottom:4},sectionTitle:{color:v.color.textTertiary,fontSize:9,fontWeight:"700",letterSpacing:.5,marginTop:14,marginBottom:6},chartRow:{flexDirection:"row",alignItems:"flex-end",height:48,gap:2,backgroundColor:v.color.surface,borderRadius:6,borderWidth:1,borderColor:v.color.border,paddingHorizontal:6,paddingTop:2},chartBarSlot:{flex:1,alignItems:"center",justifyContent:"flex-end"},chartBar:{width:"70%",borderTopLeftRadius:2,borderTopRightRadius:2,opacity:.9},chartLegend:{flexDirection:"row",justifyContent:"space-between",marginTop:4},chartLegendText:{color:v.color.textTertiary,fontSize:10,fontVariant:["tabular-nums"]},statGrid:{flexDirection:"row",flexWrap:"wrap",gap:8},stat:{width:"23%",minWidth:76,flexGrow:1,backgroundColor:v.color.surface,borderWidth:1,borderColor:v.color.border,borderRadius:6,paddingHorizontal:8,paddingVertical:6},statLabel:{color:v.color.textTertiary,fontSize:8,fontWeight:"700",letterSpacing:.4,marginBottom:3},statValue:{color:v.color.text,fontSize:13,fontWeight:"600",fontVariant:["tabular-nums"]},siteCard:{backgroundColor:v.color.surface,borderWidth:1,borderColor:v.color.border,borderRadius:6,padding:10,gap:3},siteCaller:{color:v.color.text,fontSize:13,fontWeight:"600"},siteFile:{color:v.color.info,fontSize:11},siteFrame:{color:v.color.textTertiary,fontSize:10,fontVariant:["tabular-nums"]},siteNote:{color:v.color.textTertiary,fontSize:9,opacity:.8,marginTop:4},sitePending:{color:v.color.textTertiary,fontSize:11}});import{Fragment as Zn,jsx as b,jsxs as W}from"react/jsx-runtime";function bt(e){return e>=80?O.semantic.error:e>=40?O.semantic.warning:O.semantic.success}function Ee(e){return e>=100?O.semantic.error:O.semantic.warning}function Xn(e){let t=e.rows.find(r=>r.api!=="unattributed"&&r.api!=="other");return t&&t.pctOfBusy>=25&&e.busyPct>=15?{color:t.pctOfBusy>=50?O.semantic.error:O.semantic.warning,icon:"\u25B2",text:`${t.label} is eating ${Math.round(t.pctOfBusy)}% of thread time \u2014 start there.`}:e.freezeSummary.count>0?{color:Ee(e.freezeSummary.worstMs),icon:"\u25B2",text:`${e.freezeSummary.count} freeze${e.freezeSummary.count===1?"":"s"} in the last 60s (worst ${e.freezeSummary.worstMs}ms) \u2014 check rows marked \u26A0.`}:e.busyPct>=80?{color:O.semantic.warning,icon:"\u25B2",text:"Thread saturated by UI/React work \u2014 open Highlight Updates to find re-renders."}:{color:O.semantic.success,icon:"\u25CF",text:`Thread healthy at ${Math.round(e.busyPct)}% load \u2014 nothing worth chasing.`}}function gt({visible:e,onClose:t,onBack:r,onMinimize:n,initialModalState:o,minimizeTargetPosition:i,remoteSnapshot:a,remoteActions:s,embedded:l=false}){let u=a!==void 0,[M,F]=ct(null);Rn(()=>{if(!(u||!e))return d.subscribe(F)},[u,e]);let p=u?a:M,g=En(()=>s??{pause:()=>d.pause(),resume:()=>d.resume(),clear:()=>d.clear()},[s]),C=p?.paused??false,fe=(p?.rows.length??0)>0,[me,$e]=ct(null),kt=Bn(j=>$e(j.key),[]),Le=!u&&me?d.getOriginDetail(me):null,We=me!==null,De=W(oe,{children:[We?b(oe.Navigation,{onBack:()=>$e(null)}):r?b(oe.Navigation,{onBack:r}):null,b(oe.Content,{title:"",noMargin:true,children:W(f,{style:x.titleRow,children:[b(Fn,{size:14,color:"#34D399"}),b(c,{style:x.title,children:"JS Top"}),p&&b(f,{style:[x.busyPill,{borderColor:bt(p.busyPct)}],children:W(c,{style:[x.busyText,{color:bt(p.busyPct)}],children:[p.busyPct.toFixed(0),"% BUSY"]})}),p&&p.freezeSummary.count>0&&b(f,{style:[x.busyPill,{borderColor:Ee(p.freezeSummary.worstMs)}],children:W(c,{style:[x.busyText,{color:Ee(p.freezeSummary.worstMs)}],children:["\u26A0 ",p.freezeSummary.count," \xB7"," ",p.freezeSummary.worstMs,"ms"]})})]})}),W(oe.Actions,{children:[b(Z,{onPress:C?g.resume:g.pause,style:[x.actionBtn,C&&x.actionBtnActive],accessibilityLabel:C?"Resume sampling":"Pause sampling",children:C?b(Pn,{size:14,color:z.color.accent}):b(In,{size:14,color:z.color.textSecondary})}),b(Z,{onPress:g.clear,disabled:!fe,style:[x.actionBtn,!fe&&x.actionBtnDisabled],accessibilityLabel:"Clear stats",children:b($n,{size:14,color:fe?z.color.textTertiary:z.color.textTertiary})})]})]}),He=b(f,{style:x.body,children:We?Le?b(Yn,{detail:Le}):b(c,{style:x.waiting,children:"This origin is no longer tracked (cleared or evicted)."}):p?W(Zn,{children:[(()=>{let j=Xn(p);return W(f,{style:[x.diagnosis,{borderLeftColor:j.color}],children:[b(c,{style:[x.diagnosisIcon,{color:j.color}],children:j.icon}),b(c,{style:x.diagnosisText,children:j.text})]})})(),W(f,{style:x.sparklineRow,children:[b(c,{style:x.sparklineCaption,children:"JS THREAD LOAD \xB7 LAST 30s"}),b(Hn,{history:p.busyHistory})]}),!p.tiers.bridge&&b(c,{style:x.tierBanner,children:"\u201CSystem\u201D rows are UI/React/native work pure JS can\u2019t name \u2014 timers, rAF and Promise chains are fully attributed."}),b(Kn,{rows:p.rows,onSelectRow:u?void 0:kt})]}):b(c,{style:x.waiting,children:u?"Waiting for device\u2026":"Starting engine\u2026"})});return l?W(f,{style:x.embeddedRoot,children:[b(f,{style:x.embeddedHeader,children:De}),He]}):b(On,{visible:e,onClose:t,onMinimize:n,minimizeTargetPosition:i,initialModalState:o,header:{showToggleButton:true,customContent:De},persistenceKey:"buoy-js-top-modal",enablePersistence:true,initialMode:"bottomSheet",disableScrollWrapper:true,children:He})}var x=D.create({titleRow:{flexDirection:"row",alignItems:"center",gap:8},title:{color:z.color.text,fontSize:14,fontWeight:"500"},busyPill:{borderWidth:1,borderRadius:4,paddingHorizontal:6,paddingVertical:2},busyText:{fontSize:10,fontWeight:"700",fontVariant:["tabular-nums"]},actionBtn:{width:32,height:32,borderRadius:8,backgroundColor:z.color.buttonSurface,borderWidth:1,borderColor:z.color.border,alignItems:"center",justifyContent:"center"},actionBtnActive:{backgroundColor:z.color.accentSoft,borderColor:z.color.accentBorderStrong},actionBtnDisabled:{opacity:.55},body:{flex:1,minHeight:0,backgroundColor:"transparent"},diagnosis:{flexDirection:"row",alignItems:"center",gap:8,marginHorizontal:10,marginTop:8,paddingHorizontal:10,paddingVertical:8,backgroundColor:z.color.surface,borderRadius:6,borderLeftWidth:3},diagnosisIcon:{fontSize:11,fontWeight:"700"},diagnosisText:{flex:1,color:z.color.text,fontSize:12,lineHeight:16},sparklineRow:{paddingHorizontal:10,paddingVertical:8,gap:4},sparklineCaption:{color:z.color.textTertiary,fontSize:8,fontWeight:"700",letterSpacing:.5},tierBanner:{color:z.color.textTertiary,fontSize:10,paddingHorizontal:10,paddingBottom:6},waiting:{color:z.color.textTertiary,fontSize:12,textAlign:"center",paddingVertical:32},embeddedRoot:{position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:O.background.base},embeddedHeader:{borderBottomWidth:1,borderBottomColor:O.border.default}});import{useEffect as yt,useState as Mt}from"react";import{macOSColors as Fe,night as Oe}from"@buoy-gg/shared-ui/web";import{jsx as eo,jsxs as xt}from"react/jsx-runtime";function to(e){return e>=80?Fe.semantic.error:e>=40?Fe.semantic.warning:Fe.semantic.success}function ro(){let[e,t]=Mt(()=>d.isEnabled()),[r,n]=Mt(null);if(yt(()=>d.subscribeEnabled(t),[]),yt(()=>{if(!e){n(null);return}return d.subscribe(n)},[e]),!e||!r)return null;let o=r.rows.find(i=>i.api!=="unattributed");return xt(f,{style:Ie.pill,pointerEvents:"none",children:[xt(c,{style:[Ie.busy,{color:to(r.busyPct)}],children:[r.busyPct.toFixed(0),"%"]}),o&&eo(c,{style:Ie.label,numberOfLines:1,children:o.label})]})}var Ie=D.create({pill:{position:"absolute",top:60,left:8,flexDirection:"row",alignItems:"center",gap:6,backgroundColor:Oe.color.buttonSurface,borderWidth:1,borderColor:Oe.color.border,borderRadius:6,paddingHorizontal:8,paddingVertical:4,maxWidth:220},busy:{fontSize:11,fontWeight:"700",fontVariant:["tabular-nums"]},label:{color:Oe.color.textSecondary,fontSize:10,flexShrink:1}});import{useEffect as no,useState as oo}from"react";import{Activity as wt}from"@buoy-gg/shared-ui/web";import{jsx as St}from"react/jsx-runtime";var Pe="#34D399",vt="#6B7280";function io({size:e}){let[t,r]=oo(()=>d.isEnabled());return no(()=>d.subscribeEnabled(r),[]),St(wt,{size:e,color:t?Pe:vt})}function ao(){return null}var so={id:"js-top",name:"JS TOP",description:"Toggle the floating JS-thread busy pill",slot:"row",icon:io,component:ao,props:{},launchMode:"toggle-only",onPress:()=>{d.setEnabled(!d.isEnabled())}},lo={id:"js-top-modal",name:"TASKS",description:"Live Task Manager for the JS thread",slot:"both",icon:({size:e})=>St(wt,{size:e,color:Pe}),component:gt,props:{enableSharedModalDimensions:false}};d.registerTierInstaller(yn);d.registerTierInstaller(Mn);d.registerTierInstaller(kn);d.registerLongtaskProvider(Tn);d.registerFreezeStatsProvider(Cn);d.registerClearHook(zn);try{typeof window<"u"&&(nt(),ot())}catch{}export{vt as JS_TOP_DISABLED_COLOR,Pe as JS_TOP_ENABLED_COLOR,d as JsTopController,ro as JsTopHudOverlay,gt as JsTopModal,lo as jsTopModalPreset,so as jsTopPreset,An as jsTopSyncAdapter};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buoy-gg/js-top",
3
- "version": "7.0.40",
3
+ "version": "7.0.42",
4
4
  "description": "Inspect instrumented JavaScript timers, promises and callbacks to investigate work on the React Native JS thread.",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -12,11 +12,13 @@
12
12
  ],
13
13
  "sideEffects": false,
14
14
  "dependencies": {
15
- "@buoy-gg/shared-ui": "^7.0.40"
15
+ "@buoy-gg/shared-ui": "^7.0.42"
16
16
  },
17
17
  "peerDependencies": {
18
18
  "react": "*",
19
- "react-native": ">=0.76.0"
19
+ "react-native": ">=0.76.0",
20
+ "react-native-web": "^0.21.0",
21
+ "react-dom": ">=18"
20
22
  },
21
23
  "devDependencies": {
22
24
  "@types/react": "^19.1.0",
@@ -62,10 +64,42 @@
62
64
  "js-thread",
63
65
  "task-manager"
64
66
  ],
67
+ "exports": {
68
+ ".": {
69
+ "browser": {
70
+ "types": "./lib/typescript/index.d.ts",
71
+ "default": "./lib/web/index.mjs"
72
+ },
73
+ "import": {
74
+ "types": "./lib/typescript/index.d.ts",
75
+ "default": "./lib/module/index.js"
76
+ },
77
+ "require": {
78
+ "types": "./lib/typescript/index.d.ts",
79
+ "default": "./lib/commonjs/index.js"
80
+ }
81
+ },
82
+ "./web": {
83
+ "types": "./lib/typescript/index.d.ts",
84
+ "default": "./lib/web/index.mjs"
85
+ }
86
+ },
87
+ "peerDependenciesMeta": {
88
+ "react-native": {
89
+ "optional": true
90
+ },
91
+ "react-native-web": {
92
+ "optional": true
93
+ },
94
+ "react-dom": {
95
+ "optional": true
96
+ }
97
+ },
65
98
  "scripts": {
66
- "build": "bob build",
99
+ "build": "bob build && pnpm run build:web",
67
100
  "typecheck": "tsc --noEmit",
68
101
  "clean": "rimraf lib",
69
- "test": "pnpm run typecheck"
102
+ "test": "pnpm run typecheck",
103
+ "build:web": "node ../../scripts/build-web.mjs js-top"
70
104
  }
71
105
  }
@@ -1 +0,0 @@
1
- {"version":3,"names":["_JsTopController","require","_promises","_bridge","_timers","_microtasks","_longtasks","_jsTopSyncAdapter","_JsTopModal","_JsTopHudOverlay","_preset","JsTopController","registerTierInstaller","installPromisePatches","installBridgePatch","installLongtaskObserver","registerLongtaskProvider","getLongtasks","registerFreezeStatsProvider","getFreezeStats","registerClearHook","clearLongtasks","installTimerPatches","installMicrotaskPatches"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AA4BA,IAAAM,iBAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAKA,IAAAQ,gBAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AAtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcAU,gCAAe,CAACC,qBAAqB,CAACC,+BAAqB,CAAC;AAC5DF,gCAAe,CAACC,qBAAqB,CAACE,0BAAkB,CAAC;AACzDH,gCAAe,CAACC,qBAAqB,CAACG,kCAAuB,CAAC;AAC9DJ,gCAAe,CAACK,wBAAwB,CAACC,uBAAY,CAAC;AACtDN,gCAAe,CAACO,2BAA2B,CAACC,yBAAc,CAAC;AAC3DR,gCAAe,CAACS,iBAAiB,CAACC,yBAAc,CAAC;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;EACF,IAAAC,2BAAmB,EAAC,CAAC;EACrB,IAAAC,mCAAuB,EAAC,CAAC;AAC3B,CAAC,CAAC,MAAM;EACN;AAAA","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_reactNative","_sharedUi","_jsxRuntime","MAX_POINTS","barColor","pct","macOSColors","semantic","error","warning","success","BusySparkline","exports","memo","history","points","slice","jsx","View","style","styles","row","pointerEvents","children","map","i","bar","height","Math","max","backgroundColor","StyleSheet","create","flexDirection","alignItems","gap","alignSelf","flex","maxWidth","borderRadius","opacity"],"sourceRoot":"../../../../src","sources":["js-top/components/BusySparkline.tsx"],"mappings":";;;;;;AAKA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAAiD,IAAAG,WAAA,GAAAH,OAAA;AAPjD;AACA;AACA;AACA;;AAMA,MAAMI,UAAU,GAAG,EAAE;AAErB,SAASC,QAAQA,CAACC,GAAW,EAAU;EACrC,IAAIA,GAAG,IAAI,EAAE,EAAE,OAAOC,qBAAW,CAACC,QAAQ,CAACC,KAAK;EAChD,IAAIH,GAAG,IAAI,EAAE,EAAE,OAAOC,qBAAW,CAACC,QAAQ,CAACE,OAAO;EAClD,OAAOH,qBAAW,CAACC,QAAQ,CAACG,OAAO;AACrC;AAEO,MAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,gBAAG,IAAAE,WAAI,EAAC,SAASF,aAAaA,CAAC;EACvDG;AAGF,CAAC,EAAE;EACD,MAAMC,MAAM,GAAGD,OAAO,CAACE,KAAK,CAAC,CAACb,UAAU,CAAC;EACzC,oBACE,IAAAD,WAAA,CAAAe,GAAA,EAACjB,YAAA,CAAAkB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,GAAI;IAACC,aAAa,EAAC,MAAM;IAAAC,QAAA,EAC1CR,MAAM,CAACS,GAAG,CAAC,CAACnB,GAAG,EAAEoB,CAAC,kBACjB,IAAAvB,WAAA,CAAAe,GAAA,EAACjB,YAAA,CAAAkB;IACC;IACA;IACA;IAAA;MAEAC,KAAK,EAAE,CACLC,MAAM,CAACM,GAAG,EACV;QACEC,MAAM,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAGxB,GAAG,GAAG,GAAG,GAAI,EAAE,CAAC;QACrCyB,eAAe,EAAE1B,QAAQ,CAACC,GAAG;MAC/B,CAAC;IACD,GAPG,IAAIoB,CAAC,EAQX,CACF;EAAC,CACE,CAAC;AAEX,CAAC,CAAC;AAEF,MAAML,MAAM,GAAGW,uBAAU,CAACC,MAAM,CAAC;EAC/BX,GAAG,EAAE;IACHY,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,UAAU;IACtBC,GAAG,EAAE,CAAC;IACNR,MAAM,EAAE,EAAE;IACVS,SAAS,EAAE;EACb,CAAC;EACDV,GAAG,EAAE;IACHW,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE,CAAC;IACXC,YAAY,EAAE,CAAC;IACfC,OAAO,EAAE;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_reactNative","_sharedUi","_JsTopController","_jsxRuntime","busyColor","pct","macOSColors","semantic","error","warning","success","JsTopHudOverlay","enabled","setEnabled","useState","JsTopController","isEnabled","snapshot","setSnapshot","useEffect","subscribeEnabled","subscribe","top","rows","find","r","api","jsxs","View","style","styles","pill","pointerEvents","children","Text","busy","color","busyPct","toFixed","jsx","label","numberOfLines","StyleSheet","create","position","left","flexDirection","alignItems","gap","backgroundColor","night","buttonSurface","borderWidth","borderColor","border","borderRadius","paddingHorizontal","paddingVertical","maxWidth","fontSize","fontWeight","fontVariant","textSecondary","flexShrink"],"sourceRoot":"../../../../src","sources":["js-top/components/JsTopHudOverlay.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_reactNative","_sharedUi","_JsTopController","_BusySparkline","_TaskTable","_TaskDetailView","_jsxRuntime","busyColor","pct","macOSColors","semantic","error","warning","success","freezeColor","worstMs","diagnose","s","culprit","rows","find","r","api","pctOfBusy","busyPct","color","icon","text","label","Math","round","freezeSummary","count","JsTopModal","visible","onClose","onBack","onMinimize","initialModalState","minimizeTargetPosition","remoteSnapshot","remoteActions","embedded","isRemote","undefined","localSnapshot","setLocalSnapshot","useState","useEffect","JsTopController","subscribe","snapshot","actions","useMemo","pause","resume","clear","paused","hasData","length","detailKey","setDetailKey","onSelectRow","useCallback","row","key","detail","getOriginDetail","inDetail","headerContent","jsxs","ModalHeader","children","jsx","Navigation","Content","title","noMargin","View","style","styles","titleRow","Activity","size","Text","busyPill","borderColor","busyText","toFixed","Actions","TouchableOpacity","onPress","actionBtn","actionBtnActive","accessibilityLabel","Play","night","accent","Pause","textSecondary","disabled","actionBtnDisabled","Trash2","textTertiary","body","TaskDetailView","waiting","Fragment","d","diagnosis","borderLeftColor","diagnosisIcon","diagnosisText","sparklineRow","sparklineCaption","BusySparkline","history","busyHistory","tiers","bridge","tierBanner","TaskTable","embeddedRoot","embeddedHeader","JsModal","header","showToggleButton","customContent","persistenceKey","enablePersistence","initialMode","disableScrollWrapper","StyleSheet","create","flexDirection","alignItems","gap","fontSize","fontWeight","borderWidth","borderRadius","paddingHorizontal","paddingVertical","fontVariant","width","height","backgroundColor","buttonSurface","border","justifyContent","accentSoft","accentBorderStrong","opacity","flex","minHeight","marginHorizontal","marginTop","surface","borderLeftWidth","lineHeight","letterSpacing","paddingBottom","textAlign","position","top","left","right","bottom","background","base","borderBottomWidth","borderBottomColor","default"],"sourceRoot":"../../../../src","sources":["js-top/components/JsTopModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_reactNative","_sharedUi","_TaskTable","_jsxRuntime","API_EXPLAINER","timeout","interval","immediate","raf","microtask","then","bridge","unattributed","other","explainerFor","api","fmt","n","Math","round","toFixed","agoFmt","ms","sec","floor","Stat","label","value","accent","jsxs","View","style","styles","stat","children","jsx","Text","statLabel","statValue","color","TaskDetailView","exports","memo","detail","badge","badgeFor","insets","useSafeAreaInsets","minBottom","maxBucket","max","buckets","ScrollView","root","contentContainerStyle","paddingBottom","bottom","identityRow","borderColor","backgroundColor","badgeText","text","name","numberOfLines","displayName","explainer","sectionTitle","chartRow","map","i","chartBarSlot","chartBar","height","chartLegend","chartLegendText","windowMs","pctOfBusy","statGrid","calls","scheduleCount","avgMs","maxMs","macOSColors","semantic","warning","undefined","totalMs","lastSeenAgoMs","freezes","error","worstFreezeMs","caller","frames","length","Fragment","siteCard","siteCaller","file","siteFile","line","f","siteFrame","col","siteNote","sitePending","promoted","StyleSheet","create","flex","paddingHorizontal","flexDirection","alignItems","gap","paddingTop","borderWidth","borderRadius","paddingVertical","fontSize","fontWeight","letterSpacing","night","textTertiary","lineHeight","marginTop","marginBottom","surface","border","justifyContent","width","borderTopLeftRadius","borderTopRightRadius","opacity","fontVariant","flexWrap","minWidth","flexGrow","padding","info"],"sourceRoot":"../../../../src","sources":["js-top/components/TaskDetailView.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_reactNative","_sharedUi","_jsxRuntime","SORT_OPTIONS","key","title","API_BADGE","exports","timeout","text","color","prefix","interval","immediate","raf","microtask","then","bridge","unattributed","other","badgeFor","api","displayName","row","name","label","startsWith","slice","length","replace","trim","fmt","n","Math","round","toFixed","statsLine","calls","avgMs","maxMs","totalMs","TaskRow","memo","rank","onPress","badge","Wrapper","TouchableOpacity","View","jsxs","style","rowStyles","activeOpacity","children","topLine","jsx","Text","borderColor","backgroundColor","badgeText","numberOfLines","freezes","freezeBadge","worstFreezeMs","freezeBadgeSevere","windowMs","pctOfBusy","macOSColors","semantic","error","warning","unit","pct","pctMuted","subLine","barTrack","barFill","width","min","stats","prev","next","TaskTable","rows","onSelectRow","sortKey","setSortKey","useState","sorted","sort","a","b","styles","root","sortRow","sortLabel","map","o","sortChip","sortChipOn","sortChipText","sortChipTextOn","ScrollView","body","i","empty","StyleSheet","create","flex","minHeight","flexDirection","alignItems","gap","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","night","border","surface","textTertiary","fontSize","fontWeight","letterSpacing","marginRight","borderWidth","borderRadius","accentBorderStrong","accentSoft","fontVariant","accent","textAlign","hairlineWidth","textSecondary","paddingLeft","height","fillSecondary","overflow","opacity"],"sourceRoot":"../../../../src","sources":["js-top/components/TaskTable.tsx"],"mappings":"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","ignoreList":[]}