@buoy-gg/core 7.0.41 → 7.0.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -95
- package/bin/buoy.js +19 -340
- package/lib/commonjs/Buoy.js +1 -107
- package/lib/commonjs/browserRegister.js +1 -48
- package/lib/commonjs/browserRegister.server.js +1 -10
- package/lib/commonjs/earlyHookScript.js +1 -0
- package/lib/commonjs/earlyNetwork.js +1 -0
- package/lib/commonjs/floatingMenu/AppHost.js +1 -460
- package/lib/commonjs/floatingMenu/AppHost.web.js +1 -376
- package/lib/commonjs/floatingMenu/AppHostLogic.js +1 -50
- package/lib/commonjs/floatingMenu/AppIcon.js +1 -91
- package/lib/commonjs/floatingMenu/AppIcon.web.js +1 -53
- package/lib/commonjs/floatingMenu/BrowserToolRuntime.js +1 -150
- package/lib/commonjs/floatingMenu/DefaultConfigContext.js +1 -45
- package/lib/commonjs/floatingMenu/DevToolsSettingsModal.js +1 -18
- package/lib/commonjs/floatingMenu/DevToolsSettingsModal.shared.js +1 -1114
- package/lib/commonjs/floatingMenu/DevToolsSettingsModal.web.js +1 -48
- package/lib/commonjs/floatingMenu/DevToolsVisibilityContext.js +1 -49
- package/lib/commonjs/floatingMenu/FloatingDevTools.js +1 -559
- package/lib/commonjs/floatingMenu/FloatingDevTools.web.js +1 -415
- package/lib/commonjs/floatingMenu/FloatingMenu.js +1 -371
- package/lib/commonjs/floatingMenu/MinimizedToolsContext.js +1 -274
- package/lib/commonjs/floatingMenu/MinimizedToolsStack.js +1 -288
- package/lib/commonjs/floatingMenu/MinimizedToolsStack.web.js +1 -377
- package/lib/commonjs/floatingMenu/ToggleStateManager.js +1 -36
- package/lib/commonjs/floatingMenu/ToolHost.js +1 -281
- package/lib/commonjs/floatingMenu/ToolOpenerBridge.js +1 -41
- package/lib/commonjs/floatingMenu/autoDiscoverPresets.js +1 -471
- package/lib/commonjs/floatingMenu/autoExternalSync.js +1 -443
- package/lib/commonjs/floatingMenu/defaultConfig.js +1 -167
- package/lib/commonjs/floatingMenu/deviceIdentity.js +1 -173
- package/lib/commonjs/floatingMenu/dial/DialDevTools.js +1 -904
- package/lib/commonjs/floatingMenu/dial/DialDevTools.web.js +1 -895
- package/lib/commonjs/floatingMenu/dial/DialHyperspace.js +1 -177
- package/lib/commonjs/floatingMenu/dial/DialIcon.js +1 -304
- package/lib/commonjs/floatingMenu/dial/DialPagination.js +1 -165
- package/lib/commonjs/floatingMenu/dial/DialSnow.js +1 -92
- package/lib/commonjs/floatingMenu/dial/OnboardingTooltip.js +1 -246
- package/lib/commonjs/floatingMenu/dial/OnboardingTooltip.web.js +2 -147
- package/lib/commonjs/floatingMenu/dial/dialUsageStore.js +1 -93
- package/lib/commonjs/floatingMenu/dial/onboardingConstants.js +1 -42
- package/lib/commonjs/floatingMenu/dial/onboardingConstants.web.js +1 -42
- package/lib/commonjs/floatingMenu/externalSyncGate.js +1 -49
- package/lib/commonjs/floatingMenu/floatingTools.js +1 -42
- package/lib/commonjs/floatingMenu/floatingTools.web.js +1 -30
- package/lib/commonjs/floatingMenu/optionalRequire.js +1 -37
- package/lib/commonjs/floatingMenu/settingsBus.js +1 -12
- package/lib/commonjs/floatingMenu/sync/appSyncAdapter.js +1 -115
- package/lib/commonjs/floatingMenu/types.js +1 -5
- package/lib/commonjs/floatingMenu/useDesktopSyncStatus.js +1 -28
- package/lib/commonjs/floatingMenu/useDesktopSyncStatus.web.js +1 -14
- package/lib/commonjs/index.js +1 -291
- package/lib/commonjs/index.web.js +1 -241
- package/lib/commonjs/reactDevtoolsTypes.js +1 -1
- package/lib/commonjs/releaseOptIn.js +1 -0
- package/lib/commonjs/telemetry/installPing.js +1 -131
- package/lib/commonjs/toolkit.js +1 -584
- package/lib/commonjs/toolkitComponents.js +1 -241
- package/lib/commonjs/utils/autoDiscoverPresets.web.js +1 -46
- package/lib/commonjs/utils/createWebTool.js +1 -20
- package/lib/commonjs/utils/createWebTools.js +1 -30
- package/lib/commonjs/version.js +1 -18
- package/lib/module/Buoy.js +1 -102
- package/lib/module/browserRegister.js +1 -44
- package/lib/module/browserRegister.server.js +1 -6
- package/lib/module/earlyHookScript.js +1 -0
- package/lib/module/earlyNetwork.js +1 -0
- package/lib/module/floatingMenu/AppHost.js +1 -452
- package/lib/module/floatingMenu/AppHost.web.js +1 -368
- package/lib/module/floatingMenu/AppHostLogic.js +1 -45
- package/lib/module/floatingMenu/AppIcon.js +1 -84
- package/lib/module/floatingMenu/AppIcon.web.js +1 -47
- package/lib/module/floatingMenu/BrowserToolRuntime.js +1 -146
- package/lib/module/floatingMenu/DefaultConfigContext.js +1 -39
- package/lib/module/floatingMenu/DevToolsSettingsModal.js +1 -3
- package/lib/module/floatingMenu/DevToolsSettingsModal.shared.js +1 -1110
- package/lib/module/floatingMenu/DevToolsSettingsModal.web.js +1 -44
- package/lib/module/floatingMenu/DevToolsVisibilityContext.js +1 -44
- package/lib/module/floatingMenu/FloatingDevTools.js +1 -556
- package/lib/module/floatingMenu/FloatingDevTools.web.js +1 -412
- package/lib/module/floatingMenu/FloatingMenu.js +1 -366
- package/lib/module/floatingMenu/MinimizedToolsContext.js +1 -266
- package/lib/module/floatingMenu/MinimizedToolsStack.js +1 -285
- package/lib/module/floatingMenu/MinimizedToolsStack.web.js +1 -374
- package/lib/module/floatingMenu/ToggleStateManager.js +1 -32
- package/lib/module/floatingMenu/ToolHost.js +1 -273
- package/lib/module/floatingMenu/ToolOpenerBridge.js +1 -37
- package/lib/module/floatingMenu/autoDiscoverPresets.js +1 -467
- package/lib/module/floatingMenu/autoExternalSync.js +1 -436
- package/lib/module/floatingMenu/defaultConfig.js +1 -158
- package/lib/module/floatingMenu/deviceIdentity.js +1 -163
- package/lib/module/floatingMenu/dial/DialDevTools.js +1 -900
- package/lib/module/floatingMenu/dial/DialDevTools.web.js +1 -891
- package/lib/module/floatingMenu/dial/DialHyperspace.js +1 -173
- package/lib/module/floatingMenu/dial/DialIcon.js +1 -301
- package/lib/module/floatingMenu/dial/DialPagination.js +1 -160
- package/lib/module/floatingMenu/dial/DialSnow.js +1 -90
- package/lib/module/floatingMenu/dial/OnboardingTooltip.js +1 -240
- package/lib/module/floatingMenu/dial/OnboardingTooltip.web.js +2 -142
- package/lib/module/floatingMenu/dial/dialUsageStore.js +1 -85
- package/lib/module/floatingMenu/dial/onboardingConstants.js +1 -3
- package/lib/module/floatingMenu/dial/onboardingConstants.web.js +1 -3
- package/lib/module/floatingMenu/externalSyncGate.js +1 -44
- package/lib/module/floatingMenu/floatingTools.js +1 -27
- package/lib/module/floatingMenu/floatingTools.web.js +1 -3
- package/lib/module/floatingMenu/optionalRequire.js +1 -33
- package/lib/module/floatingMenu/settingsBus.js +1 -3
- package/lib/module/floatingMenu/sync/appSyncAdapter.js +1 -112
- package/lib/module/floatingMenu/types.js +1 -3
- package/lib/module/floatingMenu/useDesktopSyncStatus.js +1 -25
- package/lib/module/floatingMenu/useDesktopSyncStatus.web.js +1 -10
- package/lib/module/index.js +1 -41
- package/lib/module/index.web.js +1 -36
- package/lib/module/reactDevtoolsTypes.js +1 -1
- package/lib/module/releaseOptIn.js +1 -0
- package/lib/module/telemetry/installPing.js +1 -127
- package/lib/module/toolkit.js +1 -62
- package/lib/module/toolkitComponents.js +1 -230
- package/lib/module/utils/autoDiscoverPresets.web.js +1 -38
- package/lib/module/utils/createWebTool.js +1 -17
- package/lib/module/utils/createWebTools.js +1 -25
- package/lib/module/version.js +1 -14
- package/lib/typescript/commonjs/browserRegister.d.ts +9 -1
- package/lib/typescript/commonjs/browserRegister.server.d.ts +1 -0
- package/lib/typescript/commonjs/earlyHookScript.d.ts +12 -0
- package/lib/typescript/commonjs/earlyNetwork.d.ts +52 -0
- package/lib/typescript/commonjs/floatingMenu/defaultConfig.d.ts +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +1 -0
- package/lib/typescript/commonjs/releaseOptIn.d.ts +4 -0
- package/lib/typescript/commonjs/version.d.ts +1 -1
- package/lib/typescript/module/browserRegister.d.ts +9 -1
- package/lib/typescript/module/browserRegister.server.d.ts +1 -0
- package/lib/typescript/module/earlyHookScript.d.ts +12 -0
- package/lib/typescript/module/earlyNetwork.d.ts +52 -0
- package/lib/typescript/module/floatingMenu/defaultConfig.d.ts +1 -1
- package/lib/typescript/module/index.web.d.ts +1 -0
- package/lib/typescript/module/releaseOptIn.d.ts +4 -0
- package/lib/typescript/module/version.d.ts +1 -1
- package/lib/web/chunks/chunk-5SGL6QL4.mjs +1 -0
- package/lib/web/chunks/chunk-FROELTJH.mjs +1 -0
- package/lib/web/chunks/chunk-QZDVCMCT.mjs +1 -2
- package/lib/web/chunks/chunk-R7RGRTY5.mjs +1 -2
- package/lib/web/index.mjs +2 -3
- package/lib/web/register-server.mjs +1 -2
- package/lib/web/register.mjs +1 -2
- package/lib/web/toolkit.mjs +1 -2
- package/package.json +6 -9
- package/lib/typescript/commonjs/Buoy.d.ts.map +0 -1
- package/lib/typescript/commonjs/browserRegister.d.ts.map +0 -1
- package/lib/typescript/commonjs/browserRegister.server.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/AppHost.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/AppHost.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/AppHostLogic.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/AppIcon.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/AppIcon.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/BrowserToolRuntime.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/DefaultConfigContext.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/DevToolsSettingsModal.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/DevToolsSettingsModal.shared.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/DevToolsSettingsModal.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/DevToolsVisibilityContext.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/FloatingDevTools.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/FloatingDevTools.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/FloatingMenu.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/MinimizedToolsContext.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/MinimizedToolsStack.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/MinimizedToolsStack.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/ToggleStateManager.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/ToolHost.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/ToolOpenerBridge.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/autoDiscoverPresets.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/autoExternalSync.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/defaultConfig.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/deviceIdentity.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/DialDevTools.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/DialDevTools.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/DialHyperspace.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/DialIcon.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/DialPagination.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/DialSnow.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/OnboardingTooltip.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/OnboardingTooltip.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/dialUsageStore.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/onboardingConstants.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/dial/onboardingConstants.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/externalSyncGate.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/floatingTools.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/floatingTools.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/optionalRequire.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/settingsBus.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/sync/appSyncAdapter.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/types.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/useDesktopSyncStatus.d.ts.map +0 -1
- package/lib/typescript/commonjs/floatingMenu/useDesktopSyncStatus.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/index.d.ts.map +0 -1
- package/lib/typescript/commonjs/index.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/reactDevtoolsTypes.d.ts.map +0 -1
- package/lib/typescript/commonjs/telemetry/installPing.d.ts.map +0 -1
- package/lib/typescript/commonjs/toolkit.d.ts.map +0 -1
- package/lib/typescript/commonjs/toolkitComponents.d.ts.map +0 -1
- package/lib/typescript/commonjs/utils/autoDiscoverPresets.web.d.ts.map +0 -1
- package/lib/typescript/commonjs/utils/createWebTool.d.ts.map +0 -1
- package/lib/typescript/commonjs/utils/createWebTools.d.ts.map +0 -1
- package/lib/typescript/commonjs/version.d.ts.map +0 -1
- package/lib/typescript/module/Buoy.d.ts.map +0 -1
- package/lib/typescript/module/browserRegister.d.ts.map +0 -1
- package/lib/typescript/module/browserRegister.server.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/AppHost.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/AppHost.web.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/AppHostLogic.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/AppIcon.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/AppIcon.web.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/BrowserToolRuntime.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/DefaultConfigContext.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/DevToolsSettingsModal.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/DevToolsSettingsModal.shared.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/DevToolsSettingsModal.web.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/DevToolsVisibilityContext.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/FloatingDevTools.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/FloatingDevTools.web.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/FloatingMenu.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/MinimizedToolsContext.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/MinimizedToolsStack.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/MinimizedToolsStack.web.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/ToggleStateManager.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/ToolHost.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/ToolOpenerBridge.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/autoDiscoverPresets.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/autoExternalSync.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/defaultConfig.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/deviceIdentity.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/DialDevTools.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/DialDevTools.web.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/DialHyperspace.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/DialIcon.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/DialPagination.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/DialSnow.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/OnboardingTooltip.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/OnboardingTooltip.web.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/dialUsageStore.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/onboardingConstants.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/dial/onboardingConstants.web.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/externalSyncGate.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/floatingTools.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/floatingTools.web.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/optionalRequire.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/settingsBus.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/sync/appSyncAdapter.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/types.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/useDesktopSyncStatus.d.ts.map +0 -1
- package/lib/typescript/module/floatingMenu/useDesktopSyncStatus.web.d.ts.map +0 -1
- package/lib/typescript/module/index.d.ts.map +0 -1
- package/lib/typescript/module/index.web.d.ts.map +0 -1
- package/lib/typescript/module/reactDevtoolsTypes.d.ts.map +0 -1
- package/lib/typescript/module/telemetry/installPing.d.ts.map +0 -1
- package/lib/typescript/module/toolkit.d.ts.map +0 -1
- package/lib/typescript/module/toolkitComponents.d.ts.map +0 -1
- package/lib/typescript/module/utils/autoDiscoverPresets.web.d.ts.map +0 -1
- package/lib/typescript/module/utils/createWebTool.d.ts.map +0 -1
- package/lib/typescript/module/utils/createWebTools.d.ts.map +0 -1
- package/lib/typescript/module/version.d.ts.map +0 -1
- package/lib/web/chunks/chunk-5NZOQR6Q.mjs +0 -2
- package/lib/web/chunks/chunk-CGDSLLZF.mjs +0 -2
- package/lib/web/chunks/chunk-DCJDUSNR.mjs +0 -2
- package/lib/web/chunks/chunk-IDSHFS6G.mjs +0 -2
- package/lib/web/chunks/chunk-JOAMJGCS.mjs +0 -2
- package/lib/web/chunks/chunk-KYKZ2N52.mjs +0 -2
- package/lib/web/chunks/chunk-NGM7JGGS.mjs +0 -2
- package/lib/web/chunks/chunk-Z3XWDDIO.mjs +0 -2
- package/lib/web/chunks/chunk-ZTGQ6TTY.mjs +0 -2
|
@@ -1,230 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Facade primitives for the public custom-tools toolkit (see toolkit.ts).
|
|
5
|
-
*
|
|
6
|
-
* shared-ui grew several overlapping treatments of the same jobs (seven badge
|
|
7
|
-
* variants, four copy buttons, two diff viewers...). The public surface merges
|
|
8
|
-
* each job into ONE component with variants, implemented here on toolTheme —
|
|
9
|
-
* shared-ui's internals stay unchanged for first-party tools.
|
|
10
|
-
*/
|
|
11
|
-
import React from "react";
|
|
12
|
-
import { StyleSheet, Text, View } from "react-native";
|
|
13
|
-
import { CopyButton, toolTheme } from "@buoy-gg/shared-ui";
|
|
14
|
-
import { TreeDiffViewer, SplitDiffViewer } from "@buoy-gg/shared-ui/dataViewer";
|
|
15
|
-
|
|
16
|
-
// ---------------------------------------------------------------------------
|
|
17
|
-
// Semantic color helpers — pair with <Badge>/<StatusDot> instead of exporting
|
|
18
|
-
// a preset component per domain.
|
|
19
|
-
// ---------------------------------------------------------------------------
|
|
20
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
|
-
const STATUS_COLORS = {
|
|
22
|
-
success: toolTheme.colors.success,
|
|
23
|
-
active: toolTheme.colors.success,
|
|
24
|
-
connected: toolTheme.colors.success,
|
|
25
|
-
error: toolTheme.colors.error,
|
|
26
|
-
failed: toolTheme.colors.error,
|
|
27
|
-
warning: toolTheme.colors.warning,
|
|
28
|
-
stale: toolTheme.colors.warning,
|
|
29
|
-
pending: toolTheme.colors.info,
|
|
30
|
-
loading: toolTheme.colors.info,
|
|
31
|
-
fetching: toolTheme.colors.info,
|
|
32
|
-
info: toolTheme.colors.info,
|
|
33
|
-
inactive: toolTheme.colors.textMuted,
|
|
34
|
-
idle: toolTheme.colors.textMuted
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
/** Map a status word ("success", "pending", "stale"...) to a semantic color. */
|
|
38
|
-
export function statusColor(status) {
|
|
39
|
-
return STATUS_COLORS[status.toLowerCase()] ?? toolTheme.colors.textMuted;
|
|
40
|
-
}
|
|
41
|
-
const METHOD_COLORS = {
|
|
42
|
-
GET: toolTheme.colors.info,
|
|
43
|
-
POST: toolTheme.colors.success,
|
|
44
|
-
PUT: toolTheme.colors.warning,
|
|
45
|
-
PATCH: toolTheme.colors.warning,
|
|
46
|
-
DELETE: toolTheme.colors.error
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
/** Map an HTTP method to its conventional color. */
|
|
50
|
-
export function methodColor(method) {
|
|
51
|
-
return METHOD_COLORS[method.toUpperCase()] ?? toolTheme.colors.textSecondary;
|
|
52
|
-
}
|
|
53
|
-
const TYPE_COLORS = {
|
|
54
|
-
string: toolTheme.colors.success,
|
|
55
|
-
number: toolTheme.colors.info,
|
|
56
|
-
boolean: toolTheme.colors.warning,
|
|
57
|
-
object: toolTheme.colors.accent,
|
|
58
|
-
array: toolTheme.colors.accent,
|
|
59
|
-
function: toolTheme.colors.error,
|
|
60
|
-
null: toolTheme.colors.textMuted,
|
|
61
|
-
undefined: toolTheme.colors.textMuted
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
/** Map a JS value-type name to its display color. */
|
|
65
|
-
export function typeColor(type) {
|
|
66
|
-
return TYPE_COLORS[type.toLowerCase()] ?? toolTheme.colors.textSecondary;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// ---------------------------------------------------------------------------
|
|
70
|
-
// Badge — the one chip. Color it with statusColor()/methodColor()/typeColor()
|
|
71
|
-
// (or any hex); shape/typography are props, not sibling components.
|
|
72
|
-
// ---------------------------------------------------------------------------
|
|
73
|
-
|
|
74
|
-
export function Badge({
|
|
75
|
-
children,
|
|
76
|
-
color = toolTheme.colors.textSecondary,
|
|
77
|
-
icon,
|
|
78
|
-
size = "small",
|
|
79
|
-
pill = false,
|
|
80
|
-
mono = false,
|
|
81
|
-
style
|
|
82
|
-
}) {
|
|
83
|
-
const isText = typeof children === "string" || typeof children === "number";
|
|
84
|
-
return /*#__PURE__*/_jsxs(View, {
|
|
85
|
-
style: [badgeStyles.base, size === "medium" && badgeStyles.medium, pill && badgeStyles.pill, {
|
|
86
|
-
backgroundColor: color + "1A",
|
|
87
|
-
borderColor: color + "40"
|
|
88
|
-
}, style],
|
|
89
|
-
children: [icon, isText ? /*#__PURE__*/_jsx(Text, {
|
|
90
|
-
style: [badgeStyles.text, size === "medium" && badgeStyles.textMedium, mono && badgeStyles.textMono, {
|
|
91
|
-
color
|
|
92
|
-
}],
|
|
93
|
-
numberOfLines: 1,
|
|
94
|
-
children: children
|
|
95
|
-
}) : children]
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
const badgeStyles = StyleSheet.create({
|
|
99
|
-
base: {
|
|
100
|
-
flexDirection: "row",
|
|
101
|
-
alignItems: "center",
|
|
102
|
-
alignSelf: "flex-start",
|
|
103
|
-
gap: 4,
|
|
104
|
-
borderWidth: 1,
|
|
105
|
-
borderRadius: toolTheme.radius.sm,
|
|
106
|
-
paddingHorizontal: 6,
|
|
107
|
-
paddingVertical: 2
|
|
108
|
-
},
|
|
109
|
-
medium: {
|
|
110
|
-
paddingHorizontal: 8,
|
|
111
|
-
paddingVertical: 3
|
|
112
|
-
},
|
|
113
|
-
pill: {
|
|
114
|
-
borderRadius: toolTheme.radius.pill,
|
|
115
|
-
minWidth: 20,
|
|
116
|
-
justifyContent: "center"
|
|
117
|
-
},
|
|
118
|
-
text: {
|
|
119
|
-
fontSize: 10,
|
|
120
|
-
fontWeight: "600",
|
|
121
|
-
letterSpacing: 0.3
|
|
122
|
-
},
|
|
123
|
-
textMedium: {
|
|
124
|
-
fontSize: 12
|
|
125
|
-
},
|
|
126
|
-
textMono: {
|
|
127
|
-
fontFamily: toolTheme.text.mono.fontFamily
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
// ---------------------------------------------------------------------------
|
|
132
|
-
// StatusDot — the bare status circle (list rows, connection indicators).
|
|
133
|
-
// ---------------------------------------------------------------------------
|
|
134
|
-
|
|
135
|
-
export function StatusDot({
|
|
136
|
-
status,
|
|
137
|
-
color,
|
|
138
|
-
size = 8,
|
|
139
|
-
style
|
|
140
|
-
}) {
|
|
141
|
-
const dotColor = color ?? (status ? statusColor(status) : toolTheme.colors.textMuted);
|
|
142
|
-
return /*#__PURE__*/_jsx(View, {
|
|
143
|
-
style: [{
|
|
144
|
-
width: size,
|
|
145
|
-
height: size,
|
|
146
|
-
borderRadius: size / 2,
|
|
147
|
-
backgroundColor: dotColor
|
|
148
|
-
}, style]
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
// ---------------------------------------------------------------------------
|
|
153
|
-
// InfoRow — the label/value line of every detail screen, with optional copy.
|
|
154
|
-
// ---------------------------------------------------------------------------
|
|
155
|
-
|
|
156
|
-
export function InfoRow({
|
|
157
|
-
label,
|
|
158
|
-
value,
|
|
159
|
-
copyable = false,
|
|
160
|
-
style
|
|
161
|
-
}) {
|
|
162
|
-
const isText = typeof value === "string" || typeof value === "number";
|
|
163
|
-
return /*#__PURE__*/_jsxs(View, {
|
|
164
|
-
style: [infoRowStyles.row, style],
|
|
165
|
-
children: [/*#__PURE__*/_jsx(Text, {
|
|
166
|
-
style: infoRowStyles.label,
|
|
167
|
-
numberOfLines: 1,
|
|
168
|
-
children: label
|
|
169
|
-
}), /*#__PURE__*/_jsx(View, {
|
|
170
|
-
style: infoRowStyles.value,
|
|
171
|
-
children: isText ? /*#__PURE__*/_jsx(Text, {
|
|
172
|
-
style: infoRowStyles.valueText,
|
|
173
|
-
numberOfLines: 2,
|
|
174
|
-
children: String(value)
|
|
175
|
-
}) : value
|
|
176
|
-
}), copyable && value != null && /*#__PURE__*/_jsx(CopyButton, {
|
|
177
|
-
value: value,
|
|
178
|
-
size: 12
|
|
179
|
-
})]
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
const infoRowStyles = StyleSheet.create({
|
|
183
|
-
row: {
|
|
184
|
-
flexDirection: "row",
|
|
185
|
-
alignItems: "center",
|
|
186
|
-
gap: toolTheme.spacing.sm,
|
|
187
|
-
paddingVertical: 3
|
|
188
|
-
},
|
|
189
|
-
label: {
|
|
190
|
-
...toolTheme.text.label,
|
|
191
|
-
color: toolTheme.colors.textMuted,
|
|
192
|
-
minWidth: 72
|
|
193
|
-
},
|
|
194
|
-
value: {
|
|
195
|
-
flex: 1,
|
|
196
|
-
flexDirection: "row",
|
|
197
|
-
alignItems: "center"
|
|
198
|
-
},
|
|
199
|
-
valueText: {
|
|
200
|
-
...toolTheme.text.mono,
|
|
201
|
-
color: toolTheme.colors.text
|
|
202
|
-
}
|
|
203
|
-
});
|
|
204
|
-
|
|
205
|
-
// ---------------------------------------------------------------------------
|
|
206
|
-
// DiffViewer — one before/after component; the rendering strategy is a mode.
|
|
207
|
-
// ---------------------------------------------------------------------------
|
|
208
|
-
|
|
209
|
-
export function DiffViewer({
|
|
210
|
-
oldValue,
|
|
211
|
-
newValue,
|
|
212
|
-
mode = "tree",
|
|
213
|
-
showUnchanged = true,
|
|
214
|
-
scrollEnabled = false,
|
|
215
|
-
height = 220
|
|
216
|
-
}) {
|
|
217
|
-
if (mode === "text") {
|
|
218
|
-
return /*#__PURE__*/_jsx(SplitDiffViewer, {
|
|
219
|
-
oldValue: oldValue,
|
|
220
|
-
newValue: newValue,
|
|
221
|
-
height: height
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
return /*#__PURE__*/_jsx(TreeDiffViewer, {
|
|
225
|
-
oldValue: oldValue,
|
|
226
|
-
newValue: newValue,
|
|
227
|
-
showUnchanged: showUnchanged,
|
|
228
|
-
scrollEnabled: scrollEnabled
|
|
229
|
-
});
|
|
230
|
-
}
|
|
1
|
+
"use strict";import T from"react";import{StyleSheet as f,Text as u,View as c}from"react-native";import{CopyButton as p,toolTheme as e}from"@buoy-gg/shared-ui";import{TreeDiffViewer as y,SplitDiffViewer as b}from"@buoy-gg/shared-ui/dataViewer";import{jsx as s,jsxs as x}from"react/jsx-runtime";const w={success:e.colors.success,active:e.colors.success,connected:e.colors.success,error:e.colors.error,failed:e.colors.error,warning:e.colors.warning,stale:e.colors.warning,pending:e.colors.info,loading:e.colors.info,fetching:e.colors.info,info:e.colors.info,inactive:e.colors.textMuted,idle:e.colors.textMuted};export function statusColor(o){return w[o.toLowerCase()]??e.colors.textMuted}const S={GET:e.colors.info,POST:e.colors.success,PUT:e.colors.warning,PATCH:e.colors.warning,DELETE:e.colors.error};export function methodColor(o){return S[o.toUpperCase()]??e.colors.textSecondary}const h={string:e.colors.success,number:e.colors.info,boolean:e.colors.warning,object:e.colors.accent,array:e.colors.accent,function:e.colors.error,null:e.colors.textMuted,undefined:e.colors.textMuted};export function typeColor(o){return h[o.toLowerCase()]??e.colors.textSecondary}export function Badge({children:o,color:t=e.colors.textSecondary,icon:r,size:n="small",pill:i=false,mono:d=false,style:m}){const g=typeof o==="string"||typeof o==="number";return x(c,{style:[l.base,n==="medium"&&l.medium,i&&l.pill,{backgroundColor:t+"1A",borderColor:t+"40"},m],children:[r,g?s(u,{style:[l.text,n==="medium"&&l.textMedium,d&&l.textMono,{color:t}],numberOfLines:1,children:o}):o]})}const l=f.create({base:{flexDirection:"row",alignItems:"center",alignSelf:"flex-start",gap:4,borderWidth:1,borderRadius:e.radius.sm,paddingHorizontal:6,paddingVertical:2},medium:{paddingHorizontal:8,paddingVertical:3},pill:{borderRadius:e.radius.pill,minWidth:20,justifyContent:"center"},text:{fontSize:10,fontWeight:"600",letterSpacing:.3},textMedium:{fontSize:12},textMono:{fontFamily:e.text.mono.fontFamily}});export function StatusDot({status:o,color:t,size:r=8,style:n}){const i=t??(o?statusColor(o):e.colors.textMuted);return s(c,{style:[{width:r,height:r,borderRadius:r/2,backgroundColor:i},n]})}export function InfoRow({label:o,value:t,copyable:r=false,style:n}){const i=typeof t==="string"||typeof t==="number";return x(c,{style:[a.row,n],children:[s(u,{style:a.label,numberOfLines:1,children:o}),s(c,{style:a.value,children:i?s(u,{style:a.valueText,numberOfLines:2,children:String(t)}):t}),r&&t!=null&&s(p,{value:t,size:12})]})}const a=f.create({row:{flexDirection:"row",alignItems:"center",gap:e.spacing.sm,paddingVertical:3},label:{...e.text.label,color:e.colors.textMuted,minWidth:72},value:{flex:1,flexDirection:"row",alignItems:"center"},valueText:{...e.text.mono,color:e.colors.text}});export function DiffViewer({oldValue:o,newValue:t,mode:r="tree",showUnchanged:n=true,scrollEnabled:i=false,height:d=220}){if(r==="text"){return s(b,{oldValue:o,newValue:t,height:d})}return s(y,{oldValue:o,newValue:t,showUnchanged:n,scrollEnabled:i})}
|
|
@@ -1,38 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
/** Browser tools are registered through FloatingDevTools.apps. */
|
|
4
|
-
export const defaultToolPresets = [];
|
|
5
|
-
|
|
6
|
-
/** @deprecated Pass explicitly imported presets through FloatingDevTools.apps. */
|
|
7
|
-
export function autoDiscoverWebPresets() {
|
|
8
|
-
return [];
|
|
9
|
-
}
|
|
10
|
-
export function autoDiscoverWithCustom(customTools = []) {
|
|
11
|
-
return [...new Map(customTools.map(tool => [tool.id, tool])).values()];
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Get tools filtered by slot.
|
|
16
|
-
*
|
|
17
|
-
* @param tools - Array of tool configurations
|
|
18
|
-
* @param slot - Slot to filter by ('dial' or 'row')
|
|
19
|
-
* @returns Filtered array of tools that can appear in the specified slot
|
|
20
|
-
*/
|
|
21
|
-
export function getToolsBySlot(tools, slot) {
|
|
22
|
-
return tools.filter(tool => {
|
|
23
|
-
const toolSlot = tool.slot || 'both';
|
|
24
|
-
return toolSlot === 'both' || toolSlot === slot;
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Get enabled tools based on settings.
|
|
30
|
-
*
|
|
31
|
-
* @param tools - Array of all tool configurations
|
|
32
|
-
* @param enabledIds - Set or array of enabled tool IDs
|
|
33
|
-
* @returns Filtered array of enabled tools
|
|
34
|
-
*/
|
|
35
|
-
export function getEnabledTools(tools, enabledIds) {
|
|
36
|
-
const idSet = enabledIds instanceof Set ? enabledIds : new Set(enabledIds);
|
|
37
|
-
return tools.filter(tool => idSet.has(tool.id));
|
|
38
|
-
}
|
|
1
|
+
"use strict";export const defaultToolPresets=[];export function autoDiscoverWebPresets(){return[]}export function autoDiscoverWithCustom(o=[]){return[...new Map(o.map(t=>[t.id,t])).values()]}export function getToolsBySlot(o,t){return o.filter(r=>{const e=r.slot||"both";return e==="both"||e===t})}export function getEnabledTools(o,t){const r=t instanceof Set?t:new Set(t);return o.filter(e=>r.has(e.id))}
|
|
@@ -1,17 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { createElement } from "react";
|
|
4
|
-
|
|
5
|
-
/** Adapt a shared tool preset to the browser menu's icon renderer. */
|
|
6
|
-
|
|
7
|
-
export function createWebTool(preset) {
|
|
8
|
-
const icon = preset.icon;
|
|
9
|
-
return {
|
|
10
|
-
...preset,
|
|
11
|
-
icon: typeof icon === "function" ? size => /*#__PURE__*/createElement(icon, {
|
|
12
|
-
size,
|
|
13
|
-
slot: preset.slot ?? "both",
|
|
14
|
-
color: preset.color
|
|
15
|
-
}) : () => icon
|
|
16
|
-
};
|
|
17
|
-
}
|
|
1
|
+
"use strict";import{createElement as n}from"react";export function createWebTool(o){const t=o.icon;return{...o,icon:typeof t==="function"?c=>n(t,{size:c,slot:o.slot??"both",color:o.color}):()=>t}}
|
|
@@ -1,25 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { registerToolModules } from '@buoy-gg/shared-ui';
|
|
4
|
-
import { createWebTool } from "./createWebTool.js";
|
|
5
|
-
import { useDevToolsVisibility } from "../floatingMenu/DevToolsVisibilityContext.js";
|
|
6
|
-
import * as license from '@buoy-gg/license';
|
|
7
|
-
import * as shared from '@buoy-gg/shared-ui';
|
|
8
|
-
import * as dataViewer from '@buoy-gg/shared-ui/dataViewer';
|
|
9
|
-
export function createWebTools(modules) {
|
|
10
|
-
registerToolModules({
|
|
11
|
-
core: {
|
|
12
|
-
useDevToolsVisibility
|
|
13
|
-
},
|
|
14
|
-
license,
|
|
15
|
-
'shared-ui': shared,
|
|
16
|
-
'shared-ui/dataViewer': dataViewer,
|
|
17
|
-
...modules
|
|
18
|
-
});
|
|
19
|
-
const seen = new Set();
|
|
20
|
-
return Object.values(modules).flatMap(module => Object.entries(module).flatMap(([name, value]) => {
|
|
21
|
-
if (!name.endsWith('Preset') || !value || typeof value.id !== 'string' || !value.component || seen.has(value.id)) return [];
|
|
22
|
-
seen.add(value.id);
|
|
23
|
-
return [createWebTool(value)];
|
|
24
|
-
}));
|
|
25
|
-
}
|
|
1
|
+
"use strict";import{registerToolModules as s}from"@buoy-gg/shared-ui";import{createWebTool as a}from"./createWebTool.js";import{useDevToolsVisibility as n}from"../floatingMenu/DevToolsVisibilityContext.js";import*as m from"@buoy-gg/license";import*as d from"@buoy-gg/shared-ui";import*as f from"@buoy-gg/shared-ui/dataViewer";export function createWebTools(r){s({core:{useDevToolsVisibility:n},license:m,"shared-ui":d,"shared-ui/dataViewer":f,...r});const t=new Set;return Object.values(r).flatMap(o=>Object.entries(o).flatMap(([i,e])=>{if(!i.endsWith("Preset")||!e||typeof e.id!=="string"||!e.component||t.has(e.id))return[];t.add(e.id);return[a(e)]}))}
|
package/lib/module/version.js
CHANGED
|
@@ -1,14 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* This package's published version.
|
|
5
|
-
*
|
|
6
|
-
* Hardcoded rather than read from package.json: `require("../package.json")`
|
|
7
|
-
* resolves to a different depth from `src/` than from the built `lib/`, and
|
|
8
|
-
* react-native-builder-bob (babel) has no build-time `define` the way tsup does
|
|
9
|
-
* for @buoy-gg/mcp.
|
|
10
|
-
*
|
|
11
|
-
* Drift is prevented by a test that fails when this disagrees with
|
|
12
|
-
* package.json, so a version bump that forgets this file cannot ship.
|
|
13
|
-
*/
|
|
14
|
-
export const SDK_VERSION = "7.0.41";
|
|
1
|
+
"use strict";export const SDK_VERSION="7.0.43";
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
export { earlyHookScript } from './earlyHookScript';
|
|
2
|
+
/**
|
|
3
|
+
* Call before importing React DOM so render and element inspectors can see app
|
|
4
|
+
* roots. It also starts recording fetch and XHR calls, so the Network tool shows
|
|
5
|
+
* the requests the page made before Buoy loaded.
|
|
6
|
+
*
|
|
7
|
+
* In a production build it runs only in a browser where Buoy has recently
|
|
8
|
+
* rendered (see releaseOptIn.ts), or with `enableInRelease`.
|
|
9
|
+
*/
|
|
2
10
|
export declare function registerBrowserDevTools(options?: {
|
|
3
11
|
enableInRelease?: boolean;
|
|
4
12
|
}): boolean;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inline script for pages where React DOM loads before any app code, such as
|
|
3
|
+
* the Next.js Pages Router.
|
|
4
|
+
*
|
|
5
|
+
* Put it in the page's `<head>`, ahead of every bundle. It holds on to the
|
|
6
|
+
* renderer React DOM registers, and `@buoy-gg/core/web/register` later hands
|
|
7
|
+
* that renderer to the full React DevTools backend. Without it, React DOM
|
|
8
|
+
* registers with Fast Refresh's placeholder hook, which keeps nothing, and
|
|
9
|
+
* Highlight Updates sees no renders.
|
|
10
|
+
*/
|
|
11
|
+
export declare const earlyHookScript: string;
|
|
12
|
+
//# sourceMappingURL=earlyHookScript.d.ts.map
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Records the page's fetch and XHR calls from the first line of the app, before
|
|
3
|
+
* the Network tool has loaded.
|
|
4
|
+
*
|
|
5
|
+
* Buoy is usually loaded lazily, after the app has hydrated, so the requests a
|
|
6
|
+
* page makes while it loads (the session check, the first queries) used to be
|
|
7
|
+
* missed. `@buoy-gg/core/web/register` already has to run before React DOM, so
|
|
8
|
+
* it installs this recorder too. When Network capture starts, the tool calls
|
|
9
|
+
* `adopt` and turns each record into a normal request row, including requests
|
|
10
|
+
* that are still in flight. After that the recorder only passes calls through.
|
|
11
|
+
*
|
|
12
|
+
* It has no dependencies because it loads before everything else. The shape
|
|
13
|
+
* of `window.__BUOY_EARLY_NETWORK__` is shared with @buoy-gg/network
|
|
14
|
+
* (network/utils/adoptEarlyNetwork.ts); change both together.
|
|
15
|
+
*/
|
|
16
|
+
export interface EarlyFetchRecord {
|
|
17
|
+
kind: 'fetch';
|
|
18
|
+
input: RequestInfo | URL;
|
|
19
|
+
init?: RequestInit;
|
|
20
|
+
/** A copy of a `Request` body, taken before the app's request consumed it. */
|
|
21
|
+
requestCopy?: Request;
|
|
22
|
+
/** Real `Date.now()` when the call was made. */
|
|
23
|
+
start: number;
|
|
24
|
+
/**
|
|
25
|
+
* Settles when the headers arrive, with the app's response and a clone to
|
|
26
|
+
* read the body from (none for a stream), or with the error the app saw.
|
|
27
|
+
*/
|
|
28
|
+
settled: Promise<{
|
|
29
|
+
response?: Response;
|
|
30
|
+
clone?: Response;
|
|
31
|
+
error?: unknown;
|
|
32
|
+
headersAt: number;
|
|
33
|
+
}>;
|
|
34
|
+
}
|
|
35
|
+
export interface EarlyXhrRecord {
|
|
36
|
+
kind: 'xhr';
|
|
37
|
+
xhr: XMLHttpRequest;
|
|
38
|
+
method: string;
|
|
39
|
+
url: string;
|
|
40
|
+
headers: Record<string, string>;
|
|
41
|
+
body: unknown;
|
|
42
|
+
start: number;
|
|
43
|
+
}
|
|
44
|
+
export type EarlyNetworkRecord = EarlyFetchRecord | EarlyXhrRecord;
|
|
45
|
+
export interface EarlyNetworkRecorder {
|
|
46
|
+
version: 1;
|
|
47
|
+
records: EarlyNetworkRecord[];
|
|
48
|
+
/** Hand every record to the Network tool and stop recording. Returns them once. */
|
|
49
|
+
adopt(): EarlyNetworkRecord[];
|
|
50
|
+
}
|
|
51
|
+
export declare function installEarlyNetworkRecorder(): void;
|
|
52
|
+
//# sourceMappingURL=earlyNetwork.d.ts.map
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* All known tool IDs that can appear in the floating menu or dial menu.
|
|
20
20
|
* This is a union type of all auto-discovered tool IDs.
|
|
21
21
|
*/
|
|
22
|
-
export type BuiltInToolId = 'env' | 'network' | 'push-notifications' | 'storage' | 'query' | 'query-wifi-toggle' | 'route-events' | 'debug-borders' | 'highlight-updates' | 'highlight-updates-modal' | 'redux' | 'zustand' | 'jotai' | 'events' | 'time-machine' | 'scenarios' | 'ask-buoy' | 'image-overlay' | 'perf-monitor' | 'perf-monitor-modal';
|
|
22
|
+
export type BuiltInToolId = 'env' | 'network' | 'push-notifications' | 'storage' | 'query' | 'query-wifi-toggle' | 'route-events' | 'debug-borders' | 'highlight-updates' | 'highlight-updates-modal' | 'redux' | 'zustand' | 'jotai' | 'events' | 'time-machine' | 'clock' | 'scenarios' | 'ask-buoy' | 'image-overlay' | 'perf-monitor' | 'perf-monitor-modal';
|
|
23
23
|
/**
|
|
24
24
|
* Special floating-only tool IDs that only appear in the floating bubble row.
|
|
25
25
|
*/
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
export { FloatingDevTools } from "./floatingMenu/FloatingDevTools.web";
|
|
10
10
|
export type { FloatingDevToolsProps } from "./floatingMenu/FloatingDevTools.web";
|
|
11
11
|
export { createWebTool } from "./utils/createWebTool";
|
|
12
|
+
export { clearReleaseOptIn } from "./releaseOptIn";
|
|
12
13
|
export { FloatingTools, UserStatus, Divider } from "./floatingMenu/floatingTools.web";
|
|
13
14
|
export type { FloatingToolsProps } from "./floatingMenu/floatingTools.web";
|
|
14
15
|
export { DialMenu } from "./floatingMenu/dial/DialDevTools.web";
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
* Drift is prevented by a test that fails when this disagrees with
|
|
10
10
|
* package.json, so a version bump that forgets this file cannot ship.
|
|
11
11
|
*/
|
|
12
|
-
export declare const SDK_VERSION = "7.0.
|
|
12
|
+
export declare const SDK_VERSION = "7.0.43";
|
|
13
13
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
export { earlyHookScript } from './earlyHookScript';
|
|
2
|
+
/**
|
|
3
|
+
* Call before importing React DOM so render and element inspectors can see app
|
|
4
|
+
* roots. It also starts recording fetch and XHR calls, so the Network tool shows
|
|
5
|
+
* the requests the page made before Buoy loaded.
|
|
6
|
+
*
|
|
7
|
+
* In a production build it runs only in a browser where Buoy has recently
|
|
8
|
+
* rendered (see releaseOptIn.ts), or with `enableInRelease`.
|
|
9
|
+
*/
|
|
2
10
|
export declare function registerBrowserDevTools(options?: {
|
|
3
11
|
enableInRelease?: boolean;
|
|
4
12
|
}): boolean;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inline script for pages where React DOM loads before any app code, such as
|
|
3
|
+
* the Next.js Pages Router.
|
|
4
|
+
*
|
|
5
|
+
* Put it in the page's `<head>`, ahead of every bundle. It holds on to the
|
|
6
|
+
* renderer React DOM registers, and `@buoy-gg/core/web/register` later hands
|
|
7
|
+
* that renderer to the full React DevTools backend. Without it, React DOM
|
|
8
|
+
* registers with Fast Refresh's placeholder hook, which keeps nothing, and
|
|
9
|
+
* Highlight Updates sees no renders.
|
|
10
|
+
*/
|
|
11
|
+
export declare const earlyHookScript: string;
|
|
12
|
+
//# sourceMappingURL=earlyHookScript.d.ts.map
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Records the page's fetch and XHR calls from the first line of the app, before
|
|
3
|
+
* the Network tool has loaded.
|
|
4
|
+
*
|
|
5
|
+
* Buoy is usually loaded lazily, after the app has hydrated, so the requests a
|
|
6
|
+
* page makes while it loads (the session check, the first queries) used to be
|
|
7
|
+
* missed. `@buoy-gg/core/web/register` already has to run before React DOM, so
|
|
8
|
+
* it installs this recorder too. When Network capture starts, the tool calls
|
|
9
|
+
* `adopt` and turns each record into a normal request row, including requests
|
|
10
|
+
* that are still in flight. After that the recorder only passes calls through.
|
|
11
|
+
*
|
|
12
|
+
* It has no dependencies because it loads before everything else. The shape
|
|
13
|
+
* of `window.__BUOY_EARLY_NETWORK__` is shared with @buoy-gg/network
|
|
14
|
+
* (network/utils/adoptEarlyNetwork.ts); change both together.
|
|
15
|
+
*/
|
|
16
|
+
export interface EarlyFetchRecord {
|
|
17
|
+
kind: 'fetch';
|
|
18
|
+
input: RequestInfo | URL;
|
|
19
|
+
init?: RequestInit;
|
|
20
|
+
/** A copy of a `Request` body, taken before the app's request consumed it. */
|
|
21
|
+
requestCopy?: Request;
|
|
22
|
+
/** Real `Date.now()` when the call was made. */
|
|
23
|
+
start: number;
|
|
24
|
+
/**
|
|
25
|
+
* Settles when the headers arrive, with the app's response and a clone to
|
|
26
|
+
* read the body from (none for a stream), or with the error the app saw.
|
|
27
|
+
*/
|
|
28
|
+
settled: Promise<{
|
|
29
|
+
response?: Response;
|
|
30
|
+
clone?: Response;
|
|
31
|
+
error?: unknown;
|
|
32
|
+
headersAt: number;
|
|
33
|
+
}>;
|
|
34
|
+
}
|
|
35
|
+
export interface EarlyXhrRecord {
|
|
36
|
+
kind: 'xhr';
|
|
37
|
+
xhr: XMLHttpRequest;
|
|
38
|
+
method: string;
|
|
39
|
+
url: string;
|
|
40
|
+
headers: Record<string, string>;
|
|
41
|
+
body: unknown;
|
|
42
|
+
start: number;
|
|
43
|
+
}
|
|
44
|
+
export type EarlyNetworkRecord = EarlyFetchRecord | EarlyXhrRecord;
|
|
45
|
+
export interface EarlyNetworkRecorder {
|
|
46
|
+
version: 1;
|
|
47
|
+
records: EarlyNetworkRecord[];
|
|
48
|
+
/** Hand every record to the Network tool and stop recording. Returns them once. */
|
|
49
|
+
adopt(): EarlyNetworkRecord[];
|
|
50
|
+
}
|
|
51
|
+
export declare function installEarlyNetworkRecorder(): void;
|
|
52
|
+
//# sourceMappingURL=earlyNetwork.d.ts.map
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* All known tool IDs that can appear in the floating menu or dial menu.
|
|
20
20
|
* This is a union type of all auto-discovered tool IDs.
|
|
21
21
|
*/
|
|
22
|
-
export type BuiltInToolId = 'env' | 'network' | 'push-notifications' | 'storage' | 'query' | 'query-wifi-toggle' | 'route-events' | 'debug-borders' | 'highlight-updates' | 'highlight-updates-modal' | 'redux' | 'zustand' | 'jotai' | 'events' | 'time-machine' | 'scenarios' | 'ask-buoy' | 'image-overlay' | 'perf-monitor' | 'perf-monitor-modal';
|
|
22
|
+
export type BuiltInToolId = 'env' | 'network' | 'push-notifications' | 'storage' | 'query' | 'query-wifi-toggle' | 'route-events' | 'debug-borders' | 'highlight-updates' | 'highlight-updates-modal' | 'redux' | 'zustand' | 'jotai' | 'events' | 'time-machine' | 'clock' | 'scenarios' | 'ask-buoy' | 'image-overlay' | 'perf-monitor' | 'perf-monitor-modal';
|
|
23
23
|
/**
|
|
24
24
|
* Special floating-only tool IDs that only appear in the floating bubble row.
|
|
25
25
|
*/
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
export { FloatingDevTools } from "./floatingMenu/FloatingDevTools.web";
|
|
10
10
|
export type { FloatingDevToolsProps } from "./floatingMenu/FloatingDevTools.web";
|
|
11
11
|
export { createWebTool } from "./utils/createWebTool";
|
|
12
|
+
export { clearReleaseOptIn } from "./releaseOptIn";
|
|
12
13
|
export { FloatingTools, UserStatus, Divider } from "./floatingMenu/floatingTools.web";
|
|
13
14
|
export type { FloatingToolsProps } from "./floatingMenu/floatingTools.web";
|
|
14
15
|
export { DialMenu } from "./floatingMenu/dial/DialDevTools.web";
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
* Drift is prevented by a test that fails when this disagrees with
|
|
10
10
|
* package.json, so a version bump that forgets this file cannot ship.
|
|
11
11
|
*/
|
|
12
|
-
export declare const SDK_VERSION = "7.0.
|
|
12
|
+
export declare const SDK_VERSION = "7.0.43";
|
|
13
13
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";var t="@react_buoy_web_register_until";function r(){try{let e=Number(globalThis.localStorage?.getItem(t));return Number.isFinite(e)&&e>Date.now()}catch{return false}}function a(){try{globalThis.localStorage?.setItem(t,String(Date.now()+6048e5))}catch{}}function o(){try{globalThis.localStorage?.removeItem(t)}catch{}}export{r as a,a as b,o as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";var r="(function(){var w=window;if(w.__REACT_DEVTOOLS_GLOBAL_HOOK__)return;var n=0,r=new Map(),f=function(){};w.__REACT_DEVTOOLS_GLOBAL_HOOK__={renderers:r,supportsFiber:true,inject:function(x){var i=++n;r.set(i,x);return i},onScheduleFiberRoot:f,onCommitFiberRoot:f,onPostCommitFiberRoot:f,onCommitFiberUnmount:f,setStrictMode:f,checkDCE:f}})();";export{r as a};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import{b as P,c as a}from"./chunk-R7RGRTY5.mjs";import{toolTheme as et}from"@buoy-gg/shared-ui/web";var n={};P(n,{AccessibilityInfo:()=>z,ActivityIndicator:()=>L,Alert:()=>N,Animated:()=>K,AppRegistry:()=>j,AppState:()=>_,Appearance:()=>$,BackHandler:()=>G,Button:()=>O,CheckBox:()=>ce,Clipboard:()=>J,DeviceEventEmitter:()=>Pe,Dimensions:()=>q,Easing:()=>X,FlatList:()=>pe,I18nManager:()=>Y,Image:()=>de,ImageBackground:()=>ue,InteractionManager:()=>Q,Keyboard:()=>Z,KeyboardAvoidingView:()=>fe,LayoutAnimation:()=>ee,Linking:()=>te,LogBox:()=>Ce,Modal:()=>M,NativeEventEmitter:()=>oe,NativeModules:()=>U,PanResponder:()=>re,Picker:()=>xe,PixelRatio:()=>ne,Platform:()=>ie,Pressable:()=>D,ProgressBar:()=>ye,RefreshControl:()=>me,SafeAreaView:()=>be,ScrollView:()=>A,SectionList:()=>ge,Share:()=>ae,StatusBar:()=>we,StyleSheet:()=>h,Switch:()=>I,Text:()=>w,TextInput:()=>R,Touchable:()=>he,TouchableHighlight:()=>B,TouchableNativeFeedback:()=>Se,TouchableOpacity:()=>k,TouchableWithoutFeedback:()=>E,UIManager:()=>se,Vibration:()=>le,View:()=>m,VirtualizedList:()=>ve,YellowBox:()=>Te,findNodeHandle:()=>H,unstable_createElement:()=>F,useColorScheme:()=>Ve,useLocaleContext:()=>We,useWindowDimensions:()=>Re});a(n,Ke);import*as Ke from"react-native-web";import{unstable_createElement as F,NativeModules as U,AccessibilityInfo as z,Animated as K,Appearance as $,AppRegistry as j,AppState as _,BackHandler as G,Clipboard as J,Dimensions as q,Easing as X,I18nManager as Y,Keyboard as Z,InteractionManager as Q,LayoutAnimation as ee,Linking as te,NativeEventEmitter as oe,PanResponder as re,PixelRatio as ne,Platform as ie,Share as ae,StyleSheet as h,UIManager as se,Vibration as le,CheckBox as ce,FlatList as pe,Image as de,ImageBackground as ue,KeyboardAvoidingView as fe,Picker as xe,ProgressBar as ye,RefreshControl as me,SafeAreaView as be,SectionList as ge,StatusBar as we,Touchable as he,TouchableNativeFeedback as Se,VirtualizedList as ve,YellowBox as Te,LogBox as Ce,DeviceEventEmitter as Pe,useColorScheme as Ve,useLocaleContext as We,useWindowDimensions as Re}from"react-native-web";import*as o from"react-native-web";import{createElement as V,forwardRef as W}from"react";function p(t){let i=W((l,r)=>{let{accessibilityState:d,accessibilityValue:x,...f}=l;for(let u of["busy","checked","disabled","expanded","selected"])d?.[u]!==void 0&&f[`aria-${u}`]===void 0&&(f[`aria-${u}`]=d[u]);for(let[u,c]of Object.entries({min:"valuemin",max:"valuemax",now:"valuenow",text:"valuetext"}))x?.[u]!==void 0&&f[`aria-${c}`]===void 0&&(f[`aria-${c}`]=x[u]);return V(t,{...f,ref:r})}),s=t.State;return s&&Object.assign(i,{State:s}),i.displayName=t.displayName??t.name??"NativeWebView",i}var m=p(o.View),w=p(o.Text),R=p(o.TextInput),k=p(o.TouchableOpacity),B=p(o.TouchableHighlight),E=p(o.TouchableWithoutFeedback),D=p(o.Pressable),A=p(o.ScrollView),M=p(o.Modal),I=p(o.Switch),L=p(o.ActivityIndicator),O=p(o.Button),H=o.findNodeHandle,N={alert(t,i,s,l){if(typeof document>"u")return;let r=document.createElement("dialog");r.dataset.buoyRoot="",r.setAttribute("aria-label",t),r.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 d=document.createElement("h2");if(d.textContent=t,d.style.cssText="font-size:18px;margin:0 0 12px",r.appendChild(d),i){let c=document.createElement("p");c.textContent=i,c.style.cssText="line-height:1.5;white-space:pre-wrap;margin:0 0 20px",r.appendChild(c)}let x=document.createElement("div");x.style.cssText="display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px";let f=s?.length?s:[{text:"OK"}],u=()=>{r.close?.(),r.remove()};for(let c of f){let g=document.createElement("button");g.type="button",g.textContent=c.text??"OK",g.style.cssText=`padding:9px 14px;border:1px solid #64748b;border-radius:7px;color:white;background:${c.style==="destructive"?"#a52b38":"#283a4d"};cursor:pointer;font:inherit`,g.onclick=()=>{u(),c.onPress?.()},x.appendChild(g)}r.addEventListener("cancel",c=>{c.preventDefault(),l?.cancelable!==!1&&(u(),l?.onDismiss?.())}),r.appendChild(x),document.body.appendChild(r),r.showModal?r.showModal():r.setAttribute("open","")}};import{CopyButton as ke,toolTheme as e}from"@buoy-gg/shared-ui/web";import{TreeDiffViewer as Be,SplitDiffViewer as Ee}from"@buoy-gg/shared-ui/web/dataViewer";import{jsx as y,jsxs as C}from"react/jsx-runtime";var De={success:e.colors.success,active:e.colors.success,connected:e.colors.success,error:e.colors.error,failed:e.colors.error,warning:e.colors.warning,stale:e.colors.warning,pending:e.colors.info,loading:e.colors.info,fetching:e.colors.info,info:e.colors.info,inactive:e.colors.textMuted,idle:e.colors.textMuted};function T(t){return De[t.toLowerCase()]??e.colors.textMuted}var Ae={GET:e.colors.info,POST:e.colors.success,PUT:e.colors.warning,PATCH:e.colors.warning,DELETE:e.colors.error};function Me(t){return Ae[t.toUpperCase()]??e.colors.textSecondary}var Ie={string:e.colors.success,number:e.colors.info,boolean:e.colors.warning,object:e.colors.accent,array:e.colors.accent,function:e.colors.error,null:e.colors.textMuted,undefined:e.colors.textMuted};function Le(t){return Ie[t.toLowerCase()]??e.colors.textSecondary}function Oe({children:t,color:i=e.colors.textSecondary,icon:s,size:l="small",pill:r=!1,mono:d=!1,style:x}){let f=typeof t=="string"||typeof t=="number";return C(m,{style:[b.base,l==="medium"&&b.medium,r&&b.pill,{backgroundColor:i+"1A",borderColor:i+"40"},x],children:[s,f?y(w,{style:[b.text,l==="medium"&&b.textMedium,d&&b.textMono,{color:i}],numberOfLines:1,children:t}):t]})}var b=h.create({base:{flexDirection:"row",alignItems:"center",alignSelf:"flex-start",gap:4,borderWidth:1,borderRadius:e.radius.sm,paddingHorizontal:6,paddingVertical:2},medium:{paddingHorizontal:8,paddingVertical:3},pill:{borderRadius:e.radius.pill,minWidth:20,justifyContent:"center"},text:{fontSize:10,fontWeight:"600",letterSpacing:.3},textMedium:{fontSize:12},textMono:{fontFamily:e.text.mono.fontFamily}});function He({status:t,color:i,size:s=8,style:l}){let r=i??(t?T(t):e.colors.textMuted);return y(m,{style:[{width:s,height:s,borderRadius:s/2,backgroundColor:r},l]})}function Ne({label:t,value:i,copyable:s=!1,style:l}){let r=typeof i=="string"||typeof i=="number";return C(m,{style:[S.row,l],children:[y(w,{style:S.label,numberOfLines:1,children:t}),y(m,{style:S.value,children:r?y(w,{style:S.valueText,numberOfLines:2,children:String(i)}):i}),s&&i!=null&&y(ke,{value:i,size:12})]})}var S=h.create({row:{flexDirection:"row",alignItems:"center",gap:e.spacing.sm,paddingVertical:3},label:{...e.text.label,color:e.colors.textMuted,minWidth:72},value:{flex:1,flexDirection:"row",alignItems:"center"},valueText:{...e.text.mono,color:e.colors.text}});function Fe({oldValue:t,newValue:i,mode:s="tree",showUnchanged:l=!0,scrollEnabled:r=!1,height:d=220}){return s==="text"?y(Ee,{oldValue:t,newValue:i,height:d}):y(Be,{oldValue:t,newValue:i,showUnchanged:l,scrollEnabled:r})}import{ToolButton as rt,CopyButton as nt,PowerToggleButton as it}from"@buoy-gg/shared-ui/web";import{CompactRow as st,DevToolsCard as lt}from"@buoy-gg/shared-ui/web";import{SectionHeader as dt,CollapsibleSection as ut,TabSelector as ft,EmptyState as xt,SearchBar as yt,EventStepperFooter as mt}from"@buoy-gg/shared-ui/web";import{DataViewer as gt}from"@buoy-gg/shared-ui/web/dataViewer";import{BaseEventStore as St}from"@buoy-gg/shared-ui/web";import{RelativeTime as Tt}from"@buoy-gg/shared-ui/web";import{formatBytes as Pt,formatDuration as Vt,formatNumber as Wt,truncateMiddle as Rt,safeStringify as kt}from"@buoy-gg/shared-ui/web";import{usePersistedState as Et,persistentStorage as Dt,devToolsStorageKeys as At}from"@buoy-gg/shared-ui/web";import{useSafeAreaInsets as It,copyToClipboard as Lt}from"@buoy-gg/shared-ui/web";import{JsModal as Ht}from"@buoy-gg/shared-ui/web";import{Activity as Ft,AlertTriangle as Ut,Bug as zt,Check as Kt,CheckCircle as $t,ChevronDown as jt,ChevronLeft as _t,ChevronRight as Gt,ChevronUp as Jt,Clock as qt,Copy as Xt,Database as Yt,Eye as Zt,EyeOff as Qt,FileJson as eo,FileText as to,Filter as oo,FlaskConical as ro,Globe as no,Hash as io,Info as ao,Key as so,Layers as lo,Lock as co,Pause as po,Play as uo,Plus as fo,Power as xo,RefreshCw as yo,Search as mo,Settings as bo,Shield as go,Trash2 as wo,User as ho,Wifi as So,X as vo,Zap as To,AlertCircle as Co,BarChart3 as Po,Bookmark as Vo,Cloud as Wo,Download as Ro,Edit3 as ko,GitBranch as Bo,HardDrive as Eo,HelpCircle as Do,Home as Ao,Image as Mo,Link as Io,Maximize2 as Lo,Minus as Oo,Palette as Ho,Pin as No,Route as Fo,Server as Uo,Smartphone as zo,Square as Ko,CheckSquare as $o,Timer as jo,Unlock as _o,Upload as Go,Users as Jo,XCircle as qo}from"@buoy-gg/shared-ui/web";export{m as a,w as b,k as c,A as d,n as e,K as f,q as g,ie as h,h as i,T as j,Me as k,Le as l,Oe as m,He as n,Ne as o,Fe as p,et as q,rt as r,nt as s,it as t,st as u,lt as v,dt as w,ut as x,ft as y,xt as z,yt as A,mt as B,gt as C,St as D,Tt as E,Pt as F,Vt as G,Wt as H,Rt as I,kt as J,Et as K,Dt as L,At as M,It as N,Lt as O,Ht as P,Ft as Q,Ut as R,zt as S,Kt as T,$t as U,jt as V,_t as W,Gt as X,Jt as Y,qt as Z,Xt as _,Yt as $,Zt as aa,Qt as ba,eo as ca,to as da,oo as ea,ro as fa,no as ga,io as ha,ao as ia,so as ja,lo as ka,co as la,po as ma,uo as na,fo as oa,xo as pa,yo as qa,mo as ra,bo as sa,go as ta,wo as ua,ho as va,So as wa,vo as xa,To as ya,Co as za,Po as Aa,Vo as Ba,Wo as Ca,Ro as Da,ko as Ea,Bo as Fa,Eo as Ga,Do as Ha,Ao as Ia,Mo as Ja,Io as Ka,Lo as La,Oo as Ma,Ho as Na,No as Oa,Fo as Pa,Uo as Qa,zo as Ra,Ko as Sa,$o as Ta,jo as Ua,_o as Va,Go as Wa,Jo as Xa,qo as Ya};
|
|
1
|
+
"use client";import{b as B,c as M}from"./chunk-R7RGRTY5.mjs";import{toolTheme as V}from"@buoy-gg/shared-ui/web";var v={};B(v,{AccessibilityInfo:()=>D,ActivityIndicator:()=>ke,Alert:()=>Me,Animated:()=>w,AppRegistry:()=>H,AppState:()=>F,Appearance:()=>R,BackHandler:()=>z,Button:()=>Ae,CheckBox:()=>Q,Clipboard:()=>N,DeviceEventEmitter:()=>fe,Dimensions:()=>S,Easing:()=>O,FlatList:()=>Z,I18nManager:()=>U,Image:()=>ee,ImageBackground:()=>ae,InteractionManager:()=>K,Keyboard:()=>W,KeyboardAvoidingView:()=>se,LayoutAnimation:()=>j,Linking:()=>$,LogBox:()=>pe,Modal:()=>Te,NativeEventEmitter:()=>G,NativeModules:()=>I,PanResponder:()=>q,Picker:()=>te,PixelRatio:()=>J,Platform:()=>C,Pressable:()=>Ce,ProgressBar:()=>oe,RefreshControl:()=>re,SafeAreaView:()=>ie,ScrollView:()=>E,SectionList:()=>ne,Share:()=>X,StatusBar:()=>le,StyleSheet:()=>b,Switch:()=>Ee,Text:()=>x,TextInput:()=>ve,Touchable:()=>ce,TouchableHighlight:()=>we,TouchableNativeFeedback:()=>de,TouchableOpacity:()=>T,TouchableWithoutFeedback:()=>Se,UIManager:()=>Y,Vibration:()=>_,View:()=>f,VirtualizedList:()=>ue,YellowBox:()=>me,findNodeHandle:()=>Be,unstable_createElement:()=>P,useColorScheme:()=>he,useLocaleContext:()=>ge,useWindowDimensions:()=>xe});M(v,L);import*as L from"react-native-web";import{unstable_createElement as P,NativeModules as I,AccessibilityInfo as D,Animated as w,Appearance as R,AppRegistry as H,AppState as F,BackHandler as z,Clipboard as N,Dimensions as S,Easing as O,I18nManager as U,Keyboard as W,InteractionManager as K,LayoutAnimation as j,Linking as $,NativeEventEmitter as G,PanResponder as q,PixelRatio as J,Platform as C,Share as X,StyleSheet as b,UIManager as Y,Vibration as _,CheckBox as Q,FlatList as Z,Image as ee,ImageBackground as ae,KeyboardAvoidingView as se,Picker as te,ProgressBar as oe,RefreshControl as re,SafeAreaView as ie,SectionList as ne,StatusBar as le,Touchable as ce,TouchableNativeFeedback as de,VirtualizedList as ue,YellowBox as me,LogBox as pe,DeviceEventEmitter as fe,useColorScheme as he,useLocaleContext as ge,useWindowDimensions as xe}from"react-native-web";import*as i from"react-native-web";import{createElement as be,forwardRef as ye}from"react";function l(a){let t=ye((r,s)=>{let{accessibilityState:c,accessibilityValue:m,...u}=r;for(let d of["busy","checked","disabled","expanded","selected"])c?.[d]!==void 0&&u[`aria-${d}`]===void 0&&(u[`aria-${d}`]=c[d]);for(let[d,n]of Object.entries({min:"valuemin",max:"valuemax",now:"valuenow",text:"valuetext"}))m?.[d]!==void 0&&u[`aria-${n}`]===void 0&&(u[`aria-${n}`]=m[d]);return be(a,{...u,ref:s})}),o=a.State;return o&&Object.assign(t,{State:o}),t.displayName=a.displayName??a.name??"NativeWebView",t}var f=l(i.View),x=l(i.Text),ve=l(i.TextInput),T=l(i.TouchableOpacity),we=l(i.TouchableHighlight),Se=l(i.TouchableWithoutFeedback),Ce=l(i.Pressable),E=l(i.ScrollView),Te=l(i.Modal),Ee=l(i.Switch),ke=l(i.ActivityIndicator),Ae=l(i.Button),Be=i.findNodeHandle,Me={alert(a,t,o,r){if(typeof document>"u")return;let s=document.createElement("dialog");s.dataset.buoyRoot="",s.setAttribute("aria-label",a),s.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 c=document.createElement("h2");if(c.textContent=a,c.style.cssText="font-size:18px;margin:0 0 12px",s.appendChild(c),t){let n=document.createElement("p");n.textContent=t,n.style.cssText="line-height:1.5;white-space:pre-wrap;margin:0 0 20px",s.appendChild(n)}let m=document.createElement("div");m.style.cssText="display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px";let u=o?.length?o:[{text:"OK"}],d=()=>{s.close?.(),s.remove()};for(let n of u){let g=document.createElement("button");g.type="button",g.textContent=n.text??"OK",g.style.cssText=`padding:9px 14px;border:1px solid #64748b;border-radius:7px;color:white;background:${n.style==="destructive"?"#a52b38":"#283a4d"};cursor:pointer;font:inherit`,g.onclick=()=>{d(),n.onPress?.()},m.appendChild(g)}s.addEventListener("cancel",n=>{n.preventDefault(),r?.cancelable!==false&&(d(),r?.onDismiss?.())}),s.appendChild(m),document.body.appendChild(s),s.showModal?s.showModal():s.setAttribute("open","")}};import{CopyButton as Ve,toolTheme as e}from"@buoy-gg/shared-ui/web";import{TreeDiffViewer as Le,SplitDiffViewer as Pe}from"@buoy-gg/shared-ui/web/dataViewer";import{jsx as p,jsxs as k}from"react/jsx-runtime";var Ie={success:e.colors.success,active:e.colors.success,connected:e.colors.success,error:e.colors.error,failed:e.colors.error,warning:e.colors.warning,stale:e.colors.warning,pending:e.colors.info,loading:e.colors.info,fetching:e.colors.info,info:e.colors.info,inactive:e.colors.textMuted,idle:e.colors.textMuted};function A(a){return Ie[a.toLowerCase()]??e.colors.textMuted}var De={GET:e.colors.info,POST:e.colors.success,PUT:e.colors.warning,PATCH:e.colors.warning,DELETE:e.colors.error};function Re(a){return De[a.toUpperCase()]??e.colors.textSecondary}var He={string:e.colors.success,number:e.colors.info,boolean:e.colors.warning,object:e.colors.accent,array:e.colors.accent,function:e.colors.error,null:e.colors.textMuted,undefined:e.colors.textMuted};function Fe(a){return He[a.toLowerCase()]??e.colors.textSecondary}function ze({children:a,color:t=e.colors.textSecondary,icon:o,size:r="small",pill:s=false,mono:c=false,style:m}){let u=typeof a=="string"||typeof a=="number";return k(f,{style:[h.base,r==="medium"&&h.medium,s&&h.pill,{backgroundColor:t+"1A",borderColor:t+"40"},m],children:[o,u?p(x,{style:[h.text,r==="medium"&&h.textMedium,c&&h.textMono,{color:t}],numberOfLines:1,children:a}):a]})}var h=b.create({base:{flexDirection:"row",alignItems:"center",alignSelf:"flex-start",gap:4,borderWidth:1,borderRadius:e.radius.sm,paddingHorizontal:6,paddingVertical:2},medium:{paddingHorizontal:8,paddingVertical:3},pill:{borderRadius:e.radius.pill,minWidth:20,justifyContent:"center"},text:{fontSize:10,fontWeight:"600",letterSpacing:.3},textMedium:{fontSize:12},textMono:{fontFamily:e.text.mono.fontFamily}});function Ne({status:a,color:t,size:o=8,style:r}){let s=t??(a?A(a):e.colors.textMuted);return p(f,{style:[{width:o,height:o,borderRadius:o/2,backgroundColor:s},r]})}function Oe({label:a,value:t,copyable:o=false,style:r}){let s=typeof t=="string"||typeof t=="number";return k(f,{style:[y.row,r],children:[p(x,{style:y.label,numberOfLines:1,children:a}),p(f,{style:y.value,children:s?p(x,{style:y.valueText,numberOfLines:2,children:String(t)}):t}),o&&t!=null&&p(Ve,{value:t,size:12})]})}var y=b.create({row:{flexDirection:"row",alignItems:"center",gap:e.spacing.sm,paddingVertical:3},label:{...e.text.label,color:e.colors.textMuted,minWidth:72},value:{flex:1,flexDirection:"row",alignItems:"center"},valueText:{...e.text.mono,color:e.colors.text}});function Ue({oldValue:a,newValue:t,mode:o="tree",showUnchanged:r=true,scrollEnabled:s=false,height:c=220}){return o==="text"?p(Pe,{oldValue:a,newValue:t,height:c}):p(Le,{oldValue:a,newValue:t,showUnchanged:r,scrollEnabled:s})}import{ToolButton as We,CopyButton as Ke,PowerToggleButton as je}from"@buoy-gg/shared-ui/web";import{CompactRow as $e,DevToolsCard as Ge}from"@buoy-gg/shared-ui/web";import{SectionHeader as qe,CollapsibleSection as Je,TabSelector as Xe,EmptyState as Ye,SearchBar as _e,EventStepperFooter as Qe}from"@buoy-gg/shared-ui/web";import{DataViewer as Ze}from"@buoy-gg/shared-ui/web/dataViewer";import{BaseEventStore as ea}from"@buoy-gg/shared-ui/web";import{RelativeTime as aa}from"@buoy-gg/shared-ui/web";import{formatBytes as sa,formatDuration as ta,formatNumber as oa,truncateMiddle as ra,safeStringify as ia}from"@buoy-gg/shared-ui/web";import{usePersistedState as na,persistentStorage as la,devToolsStorageKeys as ca}from"@buoy-gg/shared-ui/web";import{useSafeAreaInsets as da,copyToClipboard as ua}from"@buoy-gg/shared-ui/web";import{JsModal as ma}from"@buoy-gg/shared-ui/web";import{Activity as pa,AlertTriangle as fa,Bug as ha,Check as ga,CheckCircle as xa,ChevronDown as ba,ChevronLeft as ya,ChevronRight as va,ChevronUp as wa,Clock as Sa,Copy as Ca,Database as Ta,Eye as Ea,EyeOff as ka,FileJson as Aa,FileText as Ba,Filter as Ma,FlaskConical as Va,Globe as La,Hash as Pa,Info as Ia,Key as Da,Layers as Ra,Lock as Ha,Pause as Fa,Play as za,Plus as Na,Power as Oa,RefreshCw as Ua,Search as Wa,Settings as Ka,Shield as ja,Trash2 as $a,User as Ga,Wifi as qa,X as Ja,Zap as Xa,AlertCircle as Ya,BarChart3 as _a,Bookmark as Qa,Cloud as Za,Download as es,Edit3 as as,GitBranch as ss,HardDrive as ts,HelpCircle as os,Home as rs,Image as is,Link as ns,Maximize2 as ls,Minus as cs,Palette as ds,Pin as us,Route as ms,Server as ps,Smartphone as fs,Square as hs,CheckSquare as gs,Timer as xs,Unlock as bs,Upload as ys,Users as vs,XCircle as ws}from"@buoy-gg/shared-ui/web";export{f as a,x as b,T as c,E as d,v as e,w as f,S as g,C as h,b as i,A as j,Re as k,Fe as l,ze as m,Ne as n,Oe as o,Ue as p,V as q,We as r,Ke as s,je as t,$e as u,Ge as v,qe as w,Je as x,Xe as y,Ye as z,_e as A,Qe as B,Ze as C,ea as D,aa as E,sa as F,ta as G,oa as H,ra as I,ia as J,na as K,la as L,ca as M,da as N,ua as O,ma as P,pa as Q,fa as R,ha as S,ga as T,xa as U,ba as V,ya as W,va as X,wa as Y,Sa as Z,Ca as _,Ta as $,Ea as aa,ka as ba,Aa as ca,Ba as da,Ma as ea,Va as fa,La as ga,Pa as ha,Ia as ia,Da as ja,Ra as ka,Ha as la,Fa as ma,za as na,Na as oa,Oa as pa,Ua as qa,Wa as ra,Ka as sa,ja as ta,$a as ua,Ga as va,qa as wa,Ja as xa,Xa as ya,Ya as za,_a as Aa,Qa as Ba,Za as Ca,es as Da,as as Ea,ss as Fa,ts as Ga,os as Ha,rs as Ia,is as Ja,ns as Ka,ls as La,cs as Ma,ds as Na,us as Oa,ms as Pa,ps as Qa,fs as Ra,hs as Sa,gs as Ta,xs as Ua,bs as Va,ys as Wa,vs as Xa,ws as Ya};
|