@buoy-gg/shared-ui 7.0.79 → 7.0.81
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/lib/commonjs/JsModal.d.js +1 -0
- package/lib/commonjs/bugCase/appInfo.d.js +1 -0
- package/lib/commonjs/bugCase/appInfo.js +1 -0
- package/lib/commonjs/bugCase/appInfo.web.js +1 -0
- package/lib/commonjs/bugCase/capture.d.js +1 -0
- package/lib/commonjs/bugCase/capture.js +1 -1
- package/lib/commonjs/bugCase/format.d.js +1 -0
- package/lib/commonjs/bugCase/format.js +2 -2
- package/lib/commonjs/bugCase/index.d.js +1 -0
- package/lib/commonjs/bugCase/index.js +1 -1
- package/lib/commonjs/bugCase/lock.d.js +1 -0
- package/lib/commonjs/bugCase/lock.js +1 -1
- package/lib/commonjs/bugCase/media.d.js +1 -0
- package/lib/commonjs/bugCase/media.js +1 -0
- package/lib/commonjs/bugCase/recorder.d.js +1 -0
- package/lib/commonjs/bugCase/scrub.d.js +1 -0
- package/lib/commonjs/bugCase/steps.d.js +1 -0
- package/lib/commonjs/bugCase/steps.js +1 -1
- package/lib/commonjs/bugCase/teamKey.d.js +1 -0
- package/lib/commonjs/bugCase/teamKey.js +1 -0
- package/lib/commonjs/bugCase/types.d.js +1 -0
- package/lib/commonjs/bugCase/validate.d.js +1 -0
- package/lib/commonjs/bugCase/validate.js +1 -1
- package/lib/commonjs/clipboard/autoDetectClipboard.d.js +1 -0
- package/lib/commonjs/clipboard/autoDetectClipboard.js +1 -1
- package/lib/commonjs/clipboard/clipboard-impl.d.js +1 -0
- package/lib/commonjs/clipboard/clipboard-impl.js +1 -1
- package/lib/commonjs/clipboard/clipboard-impl.web.js +1 -1
- package/lib/commonjs/clipboard/copyToClipboard.d.js +1 -0
- package/lib/commonjs/clipboard/index.d.js +1 -0
- package/lib/commonjs/clipboard/index.js +1 -1
- package/lib/commonjs/context/HintsContext.d.js +1 -0
- package/lib/commonjs/context/index.d.js +1 -0
- package/lib/commonjs/dataViewer/objectDiff.d.js +1 -0
- package/lib/commonjs/env/EnvironmentIndicator.d.js +1 -0
- package/lib/commonjs/env/EnvironmentSelector.d.js +1 -0
- package/lib/commonjs/env/EnvironmentSelectorInline.d.js +1 -0
- package/lib/commonjs/history/HistoryProvider.d.js +1 -0
- package/lib/commonjs/history/components/HistoryEntryRow.d.js +1 -0
- package/lib/commonjs/history/components/HistoryList.d.js +1 -0
- package/lib/commonjs/history/components/index.d.js +1 -0
- package/lib/commonjs/history/index.d.js +1 -0
- package/lib/commonjs/history/types.d.js +1 -0
- package/lib/commonjs/hooks/index.d.js +1 -0
- package/lib/commonjs/hooks/safe-area-impl.d.js +1 -0
- package/lib/commonjs/hooks/useChangeLog.d.js +1 -0
- package/lib/commonjs/hooks/useDeviceInfo.d.js +1 -0
- package/lib/commonjs/hooks/useEventStoreEvents.d.js +1 -0
- package/lib/commonjs/hooks/useFilterManager.d.js +1 -0
- package/lib/commonjs/hooks/usePersistedState.d.js +1 -0
- package/lib/commonjs/hooks/useSafeAreaInsets.d.js +1 -0
- package/lib/commonjs/icons/BenchmarkIcon.d.js +1 -0
- package/lib/commonjs/icons/EnvLaptopIcon.d.js +1 -0
- package/lib/commonjs/icons/IconBackground.d.js +1 -0
- package/lib/commonjs/icons/ReactQueryIcon.d.js +1 -0
- package/lib/commonjs/icons/RenderCountIcon.d.js +1 -0
- package/lib/commonjs/icons/RouteMapIcon.d.js +1 -0
- package/lib/commonjs/icons/SentryBugIcon.d.js +1 -0
- package/lib/commonjs/icons/StackPulseIcon.d.js +1 -0
- package/lib/commonjs/icons/StorageStackIcon.d.js +1 -0
- package/lib/commonjs/icons/WifiCircuitIcon.d.js +1 -0
- package/lib/commonjs/icons/index.d.js +1 -0
- package/lib/commonjs/icons/lucide-icons-original-full.d.js +1 -0
- package/lib/commonjs/icons/lucide-icons.d.js +1 -0
- package/lib/commonjs/icons/primitives/GlobeIcon.d.js +1 -0
- package/lib/commonjs/icons/primitives/icon-primitives.d.js +1 -0
- package/lib/commonjs/icons/primitives/index.d.js +1 -0
- package/lib/commonjs/index.d.js +1 -0
- package/lib/commonjs/index.js +1 -1
- package/lib/commonjs/license/AccountSetup.d.js +1 -0
- package/lib/commonjs/license/AccountSetupContent.d.js +1 -0
- package/lib/commonjs/license/BuoyUpgradeSheet.d.js +1 -0
- package/lib/commonjs/license/FeatureGate.d.js +1 -0
- package/lib/commonjs/license/FreeAccountPrompt.d.js +1 -0
- package/lib/commonjs/license/accountRuntime.d.js +1 -0
- package/lib/commonjs/license/index.d.js +1 -0
- package/lib/commonjs/license/licenseModule.d.js +1 -0
- package/lib/commonjs/license/openPricing.d.js +1 -0
- package/lib/commonjs/license/tierLimits.d.js +1 -0
- package/lib/commonjs/logger/index-sentry.d.js +1 -0
- package/lib/commonjs/logger/index.d.js +1 -0
- package/lib/commonjs/logger/logDump.d.js +1 -0
- package/lib/commonjs/logger/types.d.js +1 -0
- package/lib/commonjs/settings/components/BubbleSettingsSection.d.js +1 -0
- package/lib/commonjs/settings/index.d.js +1 -0
- package/lib/commonjs/storage/buoyOwnership.d.js +1 -0
- package/lib/commonjs/storage/capacitorAppStorage.d.js +1 -0
- package/lib/commonjs/storage/definePersistedSetting.d.js +1 -0
- package/lib/commonjs/storage/devToolsStorageKeys.d.js +1 -0
- package/lib/commonjs/storage/index.d.js +1 -0
- package/lib/commonjs/stores/BaseEventStore.d.js +1 -0
- package/lib/commonjs/stores/ChangeLog.d.js +1 -0
- package/lib/commonjs/stores/createToolStore.d.js +1 -0
- package/lib/commonjs/stores/floatingToolStore.d.js +1 -0
- package/lib/commonjs/stores/ignoredPatternsCore.d.js +1 -0
- package/lib/commonjs/stores/ignoredPatternsStore.d.js +1 -0
- package/lib/commonjs/stores/ignoredPatternsStore.shared.d.js +1 -0
- package/lib/commonjs/stores/index.d.js +1 -0
- package/lib/commonjs/stores/teamSettingsStore.d.js +1 -0
- package/lib/commonjs/sync/keyedArrays.d.js +1 -0
- package/lib/commonjs/sync/settingsSync.d.js +1 -0
- package/lib/commonjs/sync/toolActionRegistry.d.js +1 -0
- package/lib/commonjs/sync/toolScreenHeader.d.js +1 -0
- package/lib/commonjs/sync/toolSyncAdapter.d.js +1 -0
- package/lib/commonjs/sync/toolUiBridge.d.js +1 -0
- package/lib/commonjs/sync/typedEdit.d.js +1 -0
- package/lib/commonjs/sync/valuePath.d.js +1 -0
- package/lib/commonjs/sync/valueShape.d.js +1 -0
- package/lib/commonjs/sync/wireBudget.d.js +1 -0
- package/lib/commonjs/sync/wireForm.d.js +1 -0
- package/lib/commonjs/tools/defineTool.d.js +1 -0
- package/lib/commonjs/ui/backgrounds/BackgroundSwitcher.d.js +1 -0
- package/lib/commonjs/ui/backgrounds/ToolBackground.d.js +1 -0
- package/lib/commonjs/ui/backgrounds/backgroundStore.d.js +1 -0
- package/lib/commonjs/ui/backgrounds/index.d.js +1 -0
- package/lib/commonjs/ui/backgrounds/primitives.d.js +1 -0
- package/lib/commonjs/ui/backgrounds/registry.d.js +1 -0
- package/lib/commonjs/ui/backgrounds/rng.d.js +1 -0
- package/lib/commonjs/ui/backgrounds/skyClock.d.js +1 -0
- package/lib/commonjs/ui/backgrounds/types.d.js +1 -0
- package/lib/commonjs/ui/backgrounds/variants/daylight.d.js +1 -0
- package/lib/commonjs/ui/backgrounds/variants/deepField.d.js +1 -0
- package/lib/commonjs/ui/backgrounds/variants/hyperspace.d.js +1 -0
- package/lib/commonjs/ui/backgrounds/variants/liveSky.d.js +1 -0
- package/lib/commonjs/ui/backgrounds/variants/meteors.d.js +1 -0
- package/lib/commonjs/ui/backgrounds/variants/moonlight.d.js +1 -0
- package/lib/commonjs/ui/backgrounds/variants/underwater.d.js +1 -0
- package/lib/commonjs/ui/backgrounds/variants/wormhole/motion.d.js +1 -0
- package/lib/commonjs/ui/backgrounds/variants/wormhole/textures.d.js +1 -0
- package/lib/commonjs/ui/backgrounds/variants/wormhole.d.js +1 -0
- package/lib/commonjs/ui/components/BackButton.d.js +1 -0
- package/lib/commonjs/ui/components/Badge.d.js +1 -0
- package/lib/commonjs/ui/components/ChangeRow.d.js +1 -0
- package/lib/commonjs/ui/components/ChipStrip.d.js +1 -0
- package/lib/commonjs/ui/components/ClipboardHintBanner.d.js +1 -0
- package/lib/commonjs/ui/components/CollapsibleSection.d.js +1 -0
- package/lib/commonjs/ui/components/CompactFilterChips.d.js +1 -0
- package/lib/commonjs/ui/components/CompactRow.d.js +1 -0
- package/lib/commonjs/ui/components/CopyButton.d.js +1 -0
- package/lib/commonjs/ui/components/DataInspector.d.js +1 -0
- package/lib/commonjs/ui/components/DetailView.d.js +1 -0
- package/lib/commonjs/ui/components/DetailViewToggle.d.js +1 -0
- package/lib/commonjs/ui/components/DevToolsCard.d.js +1 -0
- package/lib/commonjs/ui/components/DraggableHeader.d.js +1 -0
- package/lib/commonjs/ui/components/DynamicFilterView.d.js +1 -0
- package/lib/commonjs/ui/components/EmptyState.d.js +1 -0
- package/lib/commonjs/ui/components/EntityFilterView.d.js +1 -0
- package/lib/commonjs/ui/components/EventHistoryViewer/CompareBar.d.js +1 -0
- package/lib/commonjs/ui/components/EventHistoryViewer/DiffModeTabs.d.js +1 -0
- package/lib/commonjs/ui/components/EventHistoryViewer/EventHistoryViewer.d.js +1 -0
- package/lib/commonjs/ui/components/EventHistoryViewer/EventPickerModal.d.js +1 -0
- package/lib/commonjs/ui/components/EventHistoryViewer/ViewToggleCards.d.js +1 -0
- package/lib/commonjs/ui/components/EventHistoryViewer/index.d.js +1 -0
- package/lib/commonjs/ui/components/EventHistoryViewer/types.d.js +1 -0
- package/lib/commonjs/ui/components/EventListItem.d.js +1 -0
- package/lib/commonjs/ui/components/EventStepperFooter.d.js +1 -0
- package/lib/commonjs/ui/components/ExpandablePopover.d.js +1 -0
- package/lib/commonjs/ui/components/ExpandedInfoRow.d.js +1 -0
- package/lib/commonjs/ui/components/ExportPreview.d.js +1 -0
- package/lib/commonjs/ui/components/FilterComponents.d.js +1 -0
- package/lib/commonjs/ui/components/GripVerticalIcon.d.js +1 -0
- package/lib/commonjs/ui/components/HeaderSearchButton.d.js +1 -0
- package/lib/commonjs/ui/components/InfoRow.d.js +1 -0
- package/lib/commonjs/ui/components/ListItem.d.js +1 -0
- package/lib/commonjs/ui/components/ModalHeader.d.js +1 -0
- package/lib/commonjs/ui/components/ModalHintBanner.d.js +1 -0
- package/lib/commonjs/ui/components/Pill.d.js +1 -0
- package/lib/commonjs/ui/components/PowerToggleButton.d.js +1 -0
- package/lib/commonjs/ui/components/SearchBar.d.js +1 -0
- package/lib/commonjs/ui/components/SectionHeader.d.js +1 -0
- package/lib/commonjs/ui/components/StatsCard.d.js +1 -0
- package/lib/commonjs/ui/components/StatusIndicator.d.js +1 -0
- package/lib/commonjs/ui/components/StorageTypeBadge.d.js +1 -0
- package/lib/commonjs/ui/components/TabSelector.d.js +1 -0
- package/lib/commonjs/ui/components/TimeDisplay.d.js +1 -0
- package/lib/commonjs/ui/components/ToggleRow.d.js +1 -0
- package/lib/commonjs/ui/components/ToolButton.d.js +1 -0
- package/lib/commonjs/ui/components/ToolEmptyState.d.js +1 -0
- package/lib/commonjs/ui/components/ToolFooter.d.js +1 -0
- package/lib/commonjs/ui/components/ValueTypeBadge.d.js +1 -0
- package/lib/commonjs/ui/components/WindowControls.d.js +1 -0
- package/lib/commonjs/ui/components/index.d.js +1 -0
- package/lib/commonjs/ui/components/windowControlsSetting.d.js +1 -0
- package/lib/commonjs/ui/components/windowDrag.d.js +1 -0
- package/lib/commonjs/ui/console/CyberpunkButtonOutline.d.js +1 -0
- package/lib/commonjs/ui/console/CyberpunkIconContainer.d.js +1 -0
- package/lib/commonjs/ui/console/CyberpunkSectionButton.d.js +1 -0
- package/lib/commonjs/ui/floating/FloatingTool.d.js +1 -0
- package/lib/commonjs/ui/floating/FloatingToolHost.d.js +1 -0
- package/lib/commonjs/ui/floating/onboardingConstants.d.js +1 -0
- package/lib/commonjs/ui/fonts.d.js +1 -0
- package/lib/commonjs/ui/gameUI/components/GameUICollapsibleSection.d.js +1 -0
- package/lib/commonjs/ui/gameUI/components/GameUICompactStats.d.js +1 -0
- package/lib/commonjs/ui/gameUI/components/GameUIIssuesList.d.js +1 -0
- package/lib/commonjs/ui/gameUI/components/GameUIStatusHeader.d.js +1 -0
- package/lib/commonjs/ui/gameUI/constants/gameUIColors.d.js +1 -0
- package/lib/commonjs/ui/gameUI/constants/macOSDesignSystemColors.d.js +1 -0
- package/lib/commonjs/ui/gameUI/hooks/useGameUIAlertState.d.js +1 -0
- package/lib/commonjs/ui/gameUI/index.d.js +1 -0
- package/lib/commonjs/ui/index.d.js +1 -0
- package/lib/commonjs/ui/listPresets.d.js +1 -0
- package/lib/commonjs/ui/night/nightTheme.d.js +1 -0
- package/lib/commonjs/ui/night/primitives.d.js +1 -0
- package/lib/commonjs/ui/otto/OttoSceneView.d.js +1 -0
- package/lib/commonjs/ui/otto/OttoSprite.d.js +1 -0
- package/lib/commonjs/ui/otto/index.d.js +1 -0
- package/lib/commonjs/ui/otto/ottoEngine.d.js +1 -0
- package/lib/commonjs/ui/otto/ottoScenes.d.js +1 -0
- package/lib/commonjs/ui/otto/ottoSheet.d.js +1 -0
- package/lib/commonjs/ui/qr/QrCodeView.d.js +1 -0
- package/lib/commonjs/ui/qr/qrcodegen.d.js +1 -0
- package/lib/commonjs/ui/systemFont.d.js +1 -0
- package/lib/commonjs/ui/toolTheme.d.js +1 -0
- package/lib/commonjs/utils/absoluteFill.d.js +1 -0
- package/lib/commonjs/utils/appIdentity.d.js +1 -0
- package/lib/commonjs/utils/asyncStorageNative.d.js +1 -0
- package/lib/commonjs/utils/browserAsyncStorage.d.js +1 -0
- package/lib/commonjs/utils/browserNavigation.d.js +1 -0
- package/lib/commonjs/utils/devServer.d.js +1 -0
- package/lib/commonjs/utils/displayValue.d.js +1 -0
- package/lib/commonjs/utils/domRuntime.d.js +1 -0
- package/lib/commonjs/utils/expoRouterModule.d.js +1 -0
- package/lib/commonjs/utils/fiberRootAnchor.d.js +1 -0
- package/lib/commonjs/utils/fiberRootAnchor.js +1 -0
- package/lib/commonjs/utils/formatting/dataFormatting.d.js +1 -0
- package/lib/commonjs/utils/formatting/httpFormatting.d.js +1 -0
- package/lib/commonjs/utils/formatting/index.d.js +1 -0
- package/lib/commonjs/utils/getSafeAreaInsets.d.js +1 -0
- package/lib/commonjs/utils/index.d.js +1 -0
- package/lib/commonjs/utils/index.js +1 -1
- package/lib/commonjs/utils/loadOptionalModule.d.js +1 -0
- package/lib/commonjs/utils/loadToolModule.d.js +1 -0
- package/lib/commonjs/utils/minimalSuperJSON.d.js +1 -0
- package/lib/commonjs/utils/modalStorage.d.js +1 -0
- package/lib/commonjs/utils/persistentStorage.d.js +1 -0
- package/lib/commonjs/utils/persistentStorage.js +1 -1
- package/lib/commonjs/utils/persistentStorage.web.js +1 -1
- package/lib/commonjs/utils/realAppState.d.js +1 -0
- package/lib/commonjs/utils/realNow.d.js +1 -0
- package/lib/commonjs/utils/reloadApp.d.js +1 -0
- package/lib/commonjs/utils/reloadPlatform.d.js +1 -0
- package/lib/commonjs/utils/renderCaptureRegistry.d.js +1 -0
- package/lib/commonjs/utils/safeExpoRouter.d.js +1 -0
- package/lib/commonjs/utils/safeStringify.d.js +1 -0
- package/lib/commonjs/utils/snapshotProviderKit.d.js +1 -0
- package/lib/commonjs/utils/stateSnapshotRegistry.d.js +1 -0
- package/lib/commonjs/utils/stateTools.d.js +1 -0
- package/lib/commonjs/utils/storageWrites.d.js +1 -0
- package/lib/commonjs/utils/subscribable.d.js +1 -0
- package/lib/commonjs/utils/subscriberCountNotifier.d.js +1 -0
- package/lib/commonjs/utils/time/RelativeTime.d.js +1 -0
- package/lib/commonjs/utils/time/TickContext.d.js +1 -0
- package/lib/commonjs/utils/time/formatRelativeTime.d.js +1 -0
- package/lib/commonjs/utils/time/index.d.js +1 -0
- package/lib/commonjs/utils/time/useRelativeTime.d.js +1 -0
- package/lib/commonjs/utils/toolModules.d.js +1 -0
- package/lib/commonjs/utils/typeHelpers.d.js +1 -0
- package/lib/commonjs/utils/valueFormatting.d.js +1 -0
- package/lib/module/JsModal.d.js +1 -0
- package/lib/module/bugCase/appInfo.d.js +1 -0
- package/lib/module/bugCase/appInfo.js +1 -0
- package/lib/module/bugCase/appInfo.web.js +1 -0
- package/lib/module/bugCase/capture.d.js +1 -0
- package/lib/module/bugCase/capture.js +1 -1
- package/lib/module/bugCase/format.d.js +1 -0
- package/lib/module/bugCase/format.js +2 -2
- package/lib/module/bugCase/index.d.js +1 -0
- package/lib/module/bugCase/index.js +1 -1
- package/lib/module/bugCase/lock.d.js +1 -0
- package/lib/module/bugCase/lock.js +1 -1
- package/lib/module/bugCase/media.d.js +1 -0
- package/lib/module/bugCase/media.js +1 -0
- package/lib/module/bugCase/recorder.d.js +1 -0
- package/lib/module/bugCase/scrub.d.js +1 -0
- package/lib/module/bugCase/steps.d.js +1 -0
- package/lib/module/bugCase/steps.js +1 -1
- package/lib/module/bugCase/teamKey.d.js +1 -0
- package/lib/module/bugCase/teamKey.js +1 -0
- package/lib/module/bugCase/types.d.js +1 -0
- package/lib/module/bugCase/validate.d.js +1 -0
- package/lib/module/bugCase/validate.js +1 -1
- package/lib/module/clipboard/autoDetectClipboard.d.js +1 -0
- package/lib/module/clipboard/autoDetectClipboard.js +1 -1
- package/lib/module/clipboard/clipboard-impl.d.js +1 -0
- package/lib/module/clipboard/clipboard-impl.js +1 -1
- package/lib/module/clipboard/clipboard-impl.web.js +1 -1
- package/lib/module/clipboard/copyToClipboard.d.js +1 -0
- package/lib/module/clipboard/index.d.js +1 -0
- package/lib/module/clipboard/index.js +1 -1
- package/lib/module/context/HintsContext.d.js +1 -0
- package/lib/module/context/index.d.js +1 -0
- package/lib/module/dataViewer/objectDiff.d.js +1 -0
- package/lib/module/env/EnvironmentIndicator.d.js +1 -0
- package/lib/module/env/EnvironmentSelector.d.js +1 -0
- package/lib/module/env/EnvironmentSelectorInline.d.js +1 -0
- package/lib/module/history/HistoryProvider.d.js +1 -0
- package/lib/module/history/components/HistoryEntryRow.d.js +1 -0
- package/lib/module/history/components/HistoryList.d.js +1 -0
- package/lib/module/history/components/index.d.js +1 -0
- package/lib/module/history/index.d.js +1 -0
- package/lib/module/history/types.d.js +1 -0
- package/lib/module/hooks/index.d.js +1 -0
- package/lib/module/hooks/safe-area-impl.d.js +1 -0
- package/lib/module/hooks/useChangeLog.d.js +1 -0
- package/lib/module/hooks/useDeviceInfo.d.js +1 -0
- package/lib/module/hooks/useEventStoreEvents.d.js +1 -0
- package/lib/module/hooks/useFilterManager.d.js +1 -0
- package/lib/module/hooks/usePersistedState.d.js +1 -0
- package/lib/module/hooks/useSafeAreaInsets.d.js +1 -0
- package/lib/module/icons/BenchmarkIcon.d.js +1 -0
- package/lib/module/icons/EnvLaptopIcon.d.js +1 -0
- package/lib/module/icons/IconBackground.d.js +1 -0
- package/lib/module/icons/ReactQueryIcon.d.js +1 -0
- package/lib/module/icons/RenderCountIcon.d.js +1 -0
- package/lib/module/icons/RouteMapIcon.d.js +1 -0
- package/lib/module/icons/SentryBugIcon.d.js +1 -0
- package/lib/module/icons/StackPulseIcon.d.js +1 -0
- package/lib/module/icons/StorageStackIcon.d.js +1 -0
- package/lib/module/icons/WifiCircuitIcon.d.js +1 -0
- package/lib/module/icons/index.d.js +1 -0
- package/lib/module/icons/lucide-icons-original-full.d.js +1 -0
- package/lib/module/icons/lucide-icons.d.js +1 -0
- package/lib/module/icons/primitives/GlobeIcon.d.js +1 -0
- package/lib/module/icons/primitives/icon-primitives.d.js +1 -0
- package/lib/module/icons/primitives/index.d.js +1 -0
- package/lib/module/index.d.js +1 -0
- package/lib/module/index.js +1 -1
- package/lib/module/license/AccountSetup.d.js +1 -0
- package/lib/module/license/AccountSetupContent.d.js +1 -0
- package/lib/module/license/BuoyUpgradeSheet.d.js +1 -0
- package/lib/module/license/FeatureGate.d.js +1 -0
- package/lib/module/license/FreeAccountPrompt.d.js +1 -0
- package/lib/module/license/accountRuntime.d.js +1 -0
- package/lib/module/license/index.d.js +1 -0
- package/lib/module/license/licenseModule.d.js +1 -0
- package/lib/module/license/openPricing.d.js +1 -0
- package/lib/module/license/tierLimits.d.js +1 -0
- package/lib/module/logger/index-sentry.d.js +1 -0
- package/lib/module/logger/index.d.js +1 -0
- package/lib/module/logger/logDump.d.js +1 -0
- package/lib/module/logger/types.d.js +1 -0
- package/lib/module/settings/components/BubbleSettingsSection.d.js +1 -0
- package/lib/module/settings/index.d.js +1 -0
- package/lib/module/storage/buoyOwnership.d.js +1 -0
- package/lib/module/storage/capacitorAppStorage.d.js +1 -0
- package/lib/module/storage/definePersistedSetting.d.js +1 -0
- package/lib/module/storage/devToolsStorageKeys.d.js +1 -0
- package/lib/module/storage/index.d.js +1 -0
- package/lib/module/stores/BaseEventStore.d.js +1 -0
- package/lib/module/stores/ChangeLog.d.js +1 -0
- package/lib/module/stores/createToolStore.d.js +1 -0
- package/lib/module/stores/floatingToolStore.d.js +1 -0
- package/lib/module/stores/ignoredPatternsCore.d.js +1 -0
- package/lib/module/stores/ignoredPatternsStore.d.js +1 -0
- package/lib/module/stores/ignoredPatternsStore.shared.d.js +1 -0
- package/lib/module/stores/index.d.js +1 -0
- package/lib/module/stores/teamSettingsStore.d.js +1 -0
- package/lib/module/sync/keyedArrays.d.js +1 -0
- package/lib/module/sync/settingsSync.d.js +1 -0
- package/lib/module/sync/toolActionRegistry.d.js +1 -0
- package/lib/module/sync/toolScreenHeader.d.js +1 -0
- package/lib/module/sync/toolSyncAdapter.d.js +1 -0
- package/lib/module/sync/toolUiBridge.d.js +1 -0
- package/lib/module/sync/typedEdit.d.js +1 -0
- package/lib/module/sync/valuePath.d.js +1 -0
- package/lib/module/sync/valueShape.d.js +1 -0
- package/lib/module/sync/wireBudget.d.js +1 -0
- package/lib/module/sync/wireForm.d.js +1 -0
- package/lib/module/tools/defineTool.d.js +1 -0
- package/lib/module/ui/backgrounds/BackgroundSwitcher.d.js +1 -0
- package/lib/module/ui/backgrounds/ToolBackground.d.js +1 -0
- package/lib/module/ui/backgrounds/backgroundStore.d.js +1 -0
- package/lib/module/ui/backgrounds/index.d.js +1 -0
- package/lib/module/ui/backgrounds/primitives.d.js +1 -0
- package/lib/module/ui/backgrounds/registry.d.js +1 -0
- package/lib/module/ui/backgrounds/rng.d.js +1 -0
- package/lib/module/ui/backgrounds/skyClock.d.js +1 -0
- package/lib/module/ui/backgrounds/types.d.js +1 -0
- package/lib/module/ui/backgrounds/variants/daylight.d.js +1 -0
- package/lib/module/ui/backgrounds/variants/deepField.d.js +1 -0
- package/lib/module/ui/backgrounds/variants/hyperspace.d.js +1 -0
- package/lib/module/ui/backgrounds/variants/liveSky.d.js +1 -0
- package/lib/module/ui/backgrounds/variants/meteors.d.js +1 -0
- package/lib/module/ui/backgrounds/variants/moonlight.d.js +1 -0
- package/lib/module/ui/backgrounds/variants/underwater.d.js +1 -0
- package/lib/module/ui/backgrounds/variants/wormhole/motion.d.js +1 -0
- package/lib/module/ui/backgrounds/variants/wormhole/textures.d.js +1 -0
- package/lib/module/ui/backgrounds/variants/wormhole.d.js +1 -0
- package/lib/module/ui/components/BackButton.d.js +1 -0
- package/lib/module/ui/components/Badge.d.js +1 -0
- package/lib/module/ui/components/ChangeRow.d.js +1 -0
- package/lib/module/ui/components/ChipStrip.d.js +1 -0
- package/lib/module/ui/components/ClipboardHintBanner.d.js +1 -0
- package/lib/module/ui/components/CollapsibleSection.d.js +1 -0
- package/lib/module/ui/components/CompactFilterChips.d.js +1 -0
- package/lib/module/ui/components/CompactRow.d.js +1 -0
- package/lib/module/ui/components/CopyButton.d.js +1 -0
- package/lib/module/ui/components/DataInspector.d.js +1 -0
- package/lib/module/ui/components/DetailView.d.js +1 -0
- package/lib/module/ui/components/DetailViewToggle.d.js +1 -0
- package/lib/module/ui/components/DevToolsCard.d.js +1 -0
- package/lib/module/ui/components/DraggableHeader.d.js +1 -0
- package/lib/module/ui/components/DynamicFilterView.d.js +1 -0
- package/lib/module/ui/components/EmptyState.d.js +1 -0
- package/lib/module/ui/components/EntityFilterView.d.js +1 -0
- package/lib/module/ui/components/EventHistoryViewer/CompareBar.d.js +1 -0
- package/lib/module/ui/components/EventHistoryViewer/DiffModeTabs.d.js +1 -0
- package/lib/module/ui/components/EventHistoryViewer/EventHistoryViewer.d.js +1 -0
- package/lib/module/ui/components/EventHistoryViewer/EventPickerModal.d.js +1 -0
- package/lib/module/ui/components/EventHistoryViewer/ViewToggleCards.d.js +1 -0
- package/lib/module/ui/components/EventHistoryViewer/index.d.js +1 -0
- package/lib/module/ui/components/EventHistoryViewer/types.d.js +1 -0
- package/lib/module/ui/components/EventListItem.d.js +1 -0
- package/lib/module/ui/components/EventStepperFooter.d.js +1 -0
- package/lib/module/ui/components/ExpandablePopover.d.js +1 -0
- package/lib/module/ui/components/ExpandedInfoRow.d.js +1 -0
- package/lib/module/ui/components/ExportPreview.d.js +1 -0
- package/lib/module/ui/components/FilterComponents.d.js +1 -0
- package/lib/module/ui/components/GripVerticalIcon.d.js +1 -0
- package/lib/module/ui/components/HeaderSearchButton.d.js +1 -0
- package/lib/module/ui/components/InfoRow.d.js +1 -0
- package/lib/module/ui/components/ListItem.d.js +1 -0
- package/lib/module/ui/components/ModalHeader.d.js +1 -0
- package/lib/module/ui/components/ModalHintBanner.d.js +1 -0
- package/lib/module/ui/components/Pill.d.js +1 -0
- package/lib/module/ui/components/PowerToggleButton.d.js +1 -0
- package/lib/module/ui/components/SearchBar.d.js +1 -0
- package/lib/module/ui/components/SectionHeader.d.js +1 -0
- package/lib/module/ui/components/StatsCard.d.js +1 -0
- package/lib/module/ui/components/StatusIndicator.d.js +1 -0
- package/lib/module/ui/components/StorageTypeBadge.d.js +1 -0
- package/lib/module/ui/components/TabSelector.d.js +1 -0
- package/lib/module/ui/components/TimeDisplay.d.js +1 -0
- package/lib/module/ui/components/ToggleRow.d.js +1 -0
- package/lib/module/ui/components/ToolButton.d.js +1 -0
- package/lib/module/ui/components/ToolEmptyState.d.js +1 -0
- package/lib/module/ui/components/ToolFooter.d.js +1 -0
- package/lib/module/ui/components/ValueTypeBadge.d.js +1 -0
- package/lib/module/ui/components/WindowControls.d.js +1 -0
- package/lib/module/ui/components/index.d.js +1 -0
- package/lib/module/ui/components/windowControlsSetting.d.js +1 -0
- package/lib/module/ui/components/windowDrag.d.js +1 -0
- package/lib/module/ui/console/CyberpunkButtonOutline.d.js +1 -0
- package/lib/module/ui/console/CyberpunkIconContainer.d.js +1 -0
- package/lib/module/ui/console/CyberpunkSectionButton.d.js +1 -0
- package/lib/module/ui/floating/FloatingTool.d.js +1 -0
- package/lib/module/ui/floating/FloatingToolHost.d.js +1 -0
- package/lib/module/ui/floating/onboardingConstants.d.js +1 -0
- package/lib/module/ui/fonts.d.js +1 -0
- package/lib/module/ui/gameUI/components/GameUICollapsibleSection.d.js +1 -0
- package/lib/module/ui/gameUI/components/GameUICompactStats.d.js +1 -0
- package/lib/module/ui/gameUI/components/GameUIIssuesList.d.js +1 -0
- package/lib/module/ui/gameUI/components/GameUIStatusHeader.d.js +1 -0
- package/lib/module/ui/gameUI/constants/gameUIColors.d.js +1 -0
- package/lib/module/ui/gameUI/constants/macOSDesignSystemColors.d.js +1 -0
- package/lib/module/ui/gameUI/hooks/useGameUIAlertState.d.js +1 -0
- package/lib/module/ui/gameUI/index.d.js +1 -0
- package/lib/module/ui/index.d.js +1 -0
- package/lib/module/ui/listPresets.d.js +1 -0
- package/lib/module/ui/night/nightTheme.d.js +1 -0
- package/lib/module/ui/night/primitives.d.js +1 -0
- package/lib/module/ui/otto/OttoSceneView.d.js +1 -0
- package/lib/module/ui/otto/OttoSprite.d.js +1 -0
- package/lib/module/ui/otto/index.d.js +1 -0
- package/lib/module/ui/otto/ottoEngine.d.js +1 -0
- package/lib/module/ui/otto/ottoScenes.d.js +1 -0
- package/lib/module/ui/otto/ottoSheet.d.js +1 -0
- package/lib/module/ui/qr/QrCodeView.d.js +1 -0
- package/lib/module/ui/qr/qrcodegen.d.js +1 -0
- package/lib/module/ui/systemFont.d.js +1 -0
- package/lib/module/ui/toolTheme.d.js +1 -0
- package/lib/module/utils/absoluteFill.d.js +1 -0
- package/lib/module/utils/appIdentity.d.js +1 -0
- package/lib/module/utils/asyncStorageNative.d.js +1 -0
- package/lib/module/utils/browserAsyncStorage.d.js +1 -0
- package/lib/module/utils/browserNavigation.d.js +1 -0
- package/lib/module/utils/devServer.d.js +1 -0
- package/lib/module/utils/displayValue.d.js +1 -0
- package/lib/module/utils/domRuntime.d.js +1 -0
- package/lib/module/utils/expoRouterModule.d.js +1 -0
- package/lib/module/utils/fiberRootAnchor.d.js +1 -0
- package/lib/module/utils/fiberRootAnchor.js +1 -0
- package/lib/module/utils/formatting/dataFormatting.d.js +1 -0
- package/lib/module/utils/formatting/httpFormatting.d.js +1 -0
- package/lib/module/utils/formatting/index.d.js +1 -0
- package/lib/module/utils/getSafeAreaInsets.d.js +1 -0
- package/lib/module/utils/index.d.js +1 -0
- package/lib/module/utils/index.js +1 -1
- package/lib/module/utils/loadOptionalModule.d.js +1 -0
- package/lib/module/utils/loadToolModule.d.js +1 -0
- package/lib/module/utils/minimalSuperJSON.d.js +1 -0
- package/lib/module/utils/modalStorage.d.js +1 -0
- package/lib/module/utils/persistentStorage.d.js +1 -0
- package/lib/module/utils/persistentStorage.js +1 -1
- package/lib/module/utils/persistentStorage.web.js +1 -1
- package/lib/module/utils/realAppState.d.js +1 -0
- package/lib/module/utils/realNow.d.js +1 -0
- package/lib/module/utils/reloadApp.d.js +1 -0
- package/lib/module/utils/reloadPlatform.d.js +1 -0
- package/lib/module/utils/renderCaptureRegistry.d.js +1 -0
- package/lib/module/utils/safeExpoRouter.d.js +1 -0
- package/lib/module/utils/safeStringify.d.js +1 -0
- package/lib/module/utils/snapshotProviderKit.d.js +1 -0
- package/lib/module/utils/stateSnapshotRegistry.d.js +1 -0
- package/lib/module/utils/stateTools.d.js +1 -0
- package/lib/module/utils/storageWrites.d.js +1 -0
- package/lib/module/utils/subscribable.d.js +1 -0
- package/lib/module/utils/subscriberCountNotifier.d.js +1 -0
- package/lib/module/utils/time/RelativeTime.d.js +1 -0
- package/lib/module/utils/time/TickContext.d.js +1 -0
- package/lib/module/utils/time/formatRelativeTime.d.js +1 -0
- package/lib/module/utils/time/index.d.js +1 -0
- package/lib/module/utils/time/useRelativeTime.d.js +1 -0
- package/lib/module/utils/toolModules.d.js +1 -0
- package/lib/module/utils/typeHelpers.d.js +1 -0
- package/lib/module/utils/valueFormatting.d.js +1 -0
- package/lib/typescript/commonjs/bugCase/appInfo.d.ts +17 -0
- package/lib/typescript/commonjs/bugCase/appInfo.web.d.ts +14 -0
- package/lib/typescript/commonjs/bugCase/format.d.ts +2 -1
- package/lib/typescript/commonjs/bugCase/index.d.ts +6 -0
- package/lib/typescript/commonjs/bugCase/lock.d.ts +13 -0
- package/lib/typescript/commonjs/bugCase/media.d.ts +90 -0
- package/lib/typescript/commonjs/bugCase/scrub.d.ts +2 -2
- package/lib/typescript/commonjs/bugCase/steps.d.ts +4 -0
- package/lib/typescript/commonjs/bugCase/teamKey.d.ts +185 -0
- package/lib/typescript/commonjs/bugCase/types.d.ts +10 -0
- package/lib/typescript/commonjs/clipboard/autoDetectClipboard.d.ts +1 -1
- package/lib/typescript/commonjs/clipboard/clipboard-impl.d.ts +6 -0
- package/lib/typescript/commonjs/clipboard/clipboard-impl.web.d.ts +2 -0
- package/lib/typescript/commonjs/clipboard/index.d.ts +1 -1
- package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts +1 -1
- package/lib/typescript/commonjs/index.d.ts +2 -1
- package/lib/typescript/commonjs/utils/fiberRootAnchor.d.ts +19 -0
- package/lib/typescript/commonjs/utils/index.d.ts +2 -1
- package/lib/typescript/commonjs/utils/persistentStorage.d.ts +14 -1
- package/lib/typescript/commonjs/utils/persistentStorage.web.d.ts +17 -0
- package/lib/typescript/module/bugCase/appInfo.d.ts +17 -0
- package/lib/typescript/module/bugCase/appInfo.web.d.ts +14 -0
- package/lib/typescript/module/bugCase/format.d.ts +2 -1
- package/lib/typescript/module/bugCase/index.d.ts +6 -0
- package/lib/typescript/module/bugCase/lock.d.ts +13 -0
- package/lib/typescript/module/bugCase/media.d.ts +90 -0
- package/lib/typescript/module/bugCase/scrub.d.ts +2 -2
- package/lib/typescript/module/bugCase/steps.d.ts +4 -0
- package/lib/typescript/module/bugCase/teamKey.d.ts +185 -0
- package/lib/typescript/module/bugCase/types.d.ts +10 -0
- package/lib/typescript/module/clipboard/autoDetectClipboard.d.ts +1 -1
- package/lib/typescript/module/clipboard/clipboard-impl.d.ts +6 -0
- package/lib/typescript/module/clipboard/clipboard-impl.web.d.ts +2 -0
- package/lib/typescript/module/clipboard/index.d.ts +1 -1
- package/lib/typescript/module/hooks/safe-area-impl.d.ts +1 -1
- package/lib/typescript/module/index.d.ts +2 -1
- package/lib/typescript/module/utils/fiberRootAnchor.d.ts +19 -0
- package/lib/typescript/module/utils/index.d.ts +2 -1
- package/lib/typescript/module/utils/persistentStorage.d.ts +14 -1
- package/lib/typescript/module/utils/persistentStorage.web.d.ts +17 -0
- package/lib/web/chunks/chunk-BPL65J3F.mjs +1 -0
- package/lib/web/chunks/chunk-EY7GXWGI.mjs +1 -1
- package/lib/web/chunks/chunk-IE2U5SN2.mjs +15 -0
- package/lib/web/chunks/chunk-IEAXJZCR.mjs +6 -0
- package/lib/web/chunks/chunk-OF3VWR6K.mjs +2 -2
- package/lib/web/chunks/chunk-SXWOOYFL.mjs +1 -0
- package/lib/web/chunks/chunk-T44OT3CI.mjs +6 -0
- package/lib/web/chunks/chunk-Y7FM4WZ7.mjs +4 -4
- package/lib/web/chunks/persistentStorage.web-BFPYMY5C.mjs +1 -0
- package/lib/web/dataViewer.mjs +1 -1
- package/lib/web/hooks.mjs +1 -1
- package/lib/web/index.mjs +12 -6
- package/lib/web/ui.mjs +1 -1
- package/lib/web/utils.mjs +1 -1
- package/package.json +5 -5
- package/scripts/detect-clipboard.js +18 -2
- package/lib/web/chunks/chunk-AVRGPBZK.mjs +0 -6
- package/lib/web/chunks/chunk-JTNYUDJZ.mjs +0 -1
- package/lib/web/chunks/chunk-LADTE6U4.mjs +0 -6
- package/lib/web/chunks/chunk-N5Z7Z2GY.mjs +0 -1
- package/lib/web/chunks/chunk-SAWSKX4E.mjs +0 -6
- package/lib/web/chunks/chunk-ZRZQZF2T.mjs +0 -15
- package/lib/web/chunks/persistentStorage.web-IBLIV62L.mjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{devToolsStorageKeys as
|
|
1
|
+
"use strict";import{devToolsStorageKeys as s}from"../storage/devToolsStorageKeys.js";import{notifyStorageWrite as c}from"./storageWrites.js";const a=new Map;function r(){try{return typeof window==="undefined"?null:window.localStorage}catch{return null}}export const persistentStorage={async getItem(t){if(a.has(t))return a.get(t)??null;try{return r()?.getItem(t)??null}catch{return null}},async setItem(t,e){a.set(t,e);try{const n=r();if(n){n.setItem(t,e);a.delete(t)}}catch{}c(t,e)},async removeItem(t){a.set(t,null);try{const e=r();if(e){e.removeItem(t);a.delete(t)}}catch{}c(t,null)},async getAllKeys(){const t=new Set;try{const e=r();if(e)for(let n=0;n<e.length;n++){const o=e.key(n);if(o?.startsWith(s.base))t.add(o)}}catch{}for(const[e,n]of a){if(!e.startsWith(s.base))continue;if(n===null)t.delete(e);else t.add(e)}return[...t]},async multiGet(t){return Promise.all(t.map(async e=>[e,await persistentStorage.getItem(e)]))},async multiRemove(t){await Promise.all(t.map(e=>persistentStorage.removeItem(e)))},async clear(){await persistentStorage.multiRemove(await persistentStorage.getAllKeys())}};export async function isUsingPersistentStorage(){return r()!==null}export async function getStorageBackendType(){return r()?"localstorage":"memory"}export async function setItemChecked(t,e,n){await persistentStorage.setItem(t,e);try{return r()?.getItem(t)===e}catch{return false}}export async function getItemChecked(t){const e=r();if(!e)return a.get(t)??null;return e.getItem(t)}export async function storageIsMemoryOnly(){return r()===null}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";export{formatRelativeTime}from"./formatRelativeTime.js";export{useRelativeTime}from"./useRelativeTime.js";export{RelativeTime}from"./RelativeTime.js";export{TickProvider,useTick}from"./TickContext.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface BugCaseAppInfo {
|
|
2
|
+
/** Bundle id (iOS) or package name (Android). */
|
|
3
|
+
id?: string;
|
|
4
|
+
/** The version people see, like "4.2.0". */
|
|
5
|
+
version?: string;
|
|
6
|
+
/** The build number, like "4210". */
|
|
7
|
+
build?: string;
|
|
8
|
+
}
|
|
9
|
+
type Modules = {
|
|
10
|
+
application?: unknown;
|
|
11
|
+
constants?: unknown;
|
|
12
|
+
};
|
|
13
|
+
/** Tests pass stand-ins for expo-application and expo-constants (undefined: not installed). */
|
|
14
|
+
export declare function setAppInfoModulesForTests(modules: Modules | null): void;
|
|
15
|
+
export declare function bugCaseAppInfo(): BugCaseAppInfo;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=appInfo.d.ts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The web build's app facts: none. A browser page has no bundle id or build
|
|
3
|
+
* number to read, and the native modules appInfo.ts reads don't exist here
|
|
4
|
+
* (the web build refuses them). The case leaves these fields out.
|
|
5
|
+
*/
|
|
6
|
+
export interface BugCaseAppInfo {
|
|
7
|
+
id?: string;
|
|
8
|
+
version?: string;
|
|
9
|
+
build?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function bugCaseAppInfo(): BugCaseAppInfo;
|
|
12
|
+
/** The same test hook as the native file, so shared tests import either. */
|
|
13
|
+
export declare function setAppInfoModulesForTests(_modules: unknown): void;
|
|
14
|
+
//# sourceMappingURL=appInfo.web.d.ts.map
|
|
@@ -10,6 +10,7 @@ import type { BugCase, BugCaseNetworkCall } from "./types";
|
|
|
10
10
|
export declare function isFailedCall(call: BugCaseNetworkCall): boolean;
|
|
11
11
|
export declare function formatBugCase(kase: BugCase, options?: {
|
|
12
12
|
link?: string;
|
|
13
|
-
maxCalls?: number;
|
|
13
|
+
maxCalls?: number; /** Saved picture files, in picture order (MCP). */
|
|
14
|
+
pictureFiles?: readonly string[];
|
|
14
15
|
}): string;
|
|
15
16
|
//# sourceMappingURL=format.d.ts.map
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export { bugCaseAppInfo } from "./appInfo";
|
|
2
|
+
export type { BugCaseAppInfo } from "./appInfo";
|
|
1
3
|
export { captureBugCase, DEFAULT_BUG_CASE_BUDGET } from "./capture";
|
|
2
4
|
export type { BugCaseBudget, CaptureBugCaseOptions } from "./capture";
|
|
3
5
|
export { base64UrlDecode, base64UrlEncode, BUG_CASE_LOCK_FORMAT, bugCaseHeader, BugCaseLockError, bugLinkUrl, lockBugCase, MAX_BUG_CASE_BYTES, parseBugLink, readBugCaseHeader, unlockBugCase, webCaseCrypto, } from "./lock";
|
|
@@ -6,10 +8,14 @@ export { bugCaseRecorderStatus, startBugCaseRecorder, stopBugCaseRecorder } from
|
|
|
6
8
|
export type { BugCaseRecorderStatus } from "./recorder";
|
|
7
9
|
export { formatBugCase, isFailedCall } from "./format";
|
|
8
10
|
export { BugCaseShapeError, validateBugCase } from "./validate";
|
|
11
|
+
export { addDroppedWhy, base64Bytes, cleanDroppedWhy, DEFAULT_MEDIA_BUDGET, describeDroppedWhy, DROPPED_NOT_JPEG, DROPPED_TO_FIT, fitBugCaseMedia, frameSteps, validateBugCaseMedia, } from "./media";
|
|
12
|
+
export type { BugCaseFrame, BugCaseFrameKind, BugCaseMedia, BugCaseMediaBudget, BugCaseMediaSettings } from "./media";
|
|
9
13
|
export { classifyKey, keyWords, REMOVED_MARK, removedMark, ScrubLimitError, scrubBugCase } from "./scrub";
|
|
10
14
|
export type { ScrubbedItem, ScrubKind, ScrubResult, ScrubRules } from "./scrub";
|
|
11
15
|
export { bugCaseSteps, formatBugCaseSteps, safeTouch } from "./steps";
|
|
12
16
|
export type { BugCaseRouteVisit, BugCaseStep, BugCaseTouch } from "./steps";
|
|
13
17
|
export { BUG_CASE_VERSION } from "./types";
|
|
14
18
|
export type { BugCase, BugCaseConsoleLine, BugCaseMissing, BugCaseNetworkCall, BugCaseScreenElement, } from "./types";
|
|
19
|
+
export { blobSha256, deviceCode, deviceCommit, newDeviceNonce, DEVICE_NONCE_BYTES, fitCard, keyProof, keyProofHash, kitId, kitKey, lockSecret, makeKit, MAX_CARD_JSON_BYTES, newCaseKeyParts, openCard, openKitForDevice, openSecret, pairBytes, pairFrom, checkPair, parseKit, parseWrap, rootLockAad, sealCard, sealKitForDevice, signRecord, teamKeyIdOf, TeamKeyError, unwrapCaseKey, verifyRecord, versionLockAad, webTeamKeyCrypto, wrapCaseKey, WRAP_SUITE, } from "./teamKey";
|
|
20
|
+
export type { BugCard, BugCardFields, BugWrap, CaseKeyParts, KitKind, P256Pair, TeamKeyCrypto, TeamKeyErrorCode, TeamKeyRecord } from "./teamKey";
|
|
15
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -39,6 +39,13 @@ export interface BugCaseHeader {
|
|
|
39
39
|
errors: number;
|
|
40
40
|
removed: number;
|
|
41
41
|
missing: number;
|
|
42
|
+
/**
|
|
43
|
+
* 16 random bytes, base64url. The team wrap and the card are bound to it.
|
|
44
|
+
* Optional: blobs from before team keys have none, and still open.
|
|
45
|
+
*/
|
|
46
|
+
caseTag?: string;
|
|
47
|
+
/** SHA-256 of the key proof (teamKey.ts `keyProof`), base64url. Comes with `caseTag`. */
|
|
48
|
+
keyProofHash?: string;
|
|
42
49
|
}
|
|
43
50
|
export interface LockedBugCase {
|
|
44
51
|
blob: Uint8Array;
|
|
@@ -74,9 +81,15 @@ export declare function bugCaseHeader(kase: BugCase, bytes: number): BugCaseHead
|
|
|
74
81
|
* `options.key` locks under an existing link's key (with a fresh nonce), so a
|
|
75
82
|
* case can be replaced, say to add a note, and the link people already have
|
|
76
83
|
* keeps working.
|
|
84
|
+
*
|
|
85
|
+
* `caseTag` and `keyProofHash` (teamKey.ts `newCaseKeyParts`) go in the plain
|
|
86
|
+
* header for team keys. A note edit passes the first tag again, so it never
|
|
87
|
+
* changes.
|
|
77
88
|
*/
|
|
78
89
|
export declare function lockBugCase(kase: BugCase, crypto?: BugCaseCrypto, options?: {
|
|
79
90
|
key?: string;
|
|
91
|
+
caseTag?: string;
|
|
92
|
+
keyProofHash?: string;
|
|
80
93
|
}): Promise<LockedBugCase>;
|
|
81
94
|
/** For the server: the plain header, read without the key. */
|
|
82
95
|
export declare function readBugCaseHeader(blob: Uint8Array): BugCaseHeader;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Frames in a bug case: pictures and video
|
|
3
|
+
* (research/bug-links-2026-10/media/SPEC.md, rules C1 to C5).
|
|
4
|
+
*
|
|
5
|
+
* A frame is a boxed JPEG from the phone. The boxes went on in native code
|
|
6
|
+
* before the frame was kept (H1), so nothing here looks inside the pixels.
|
|
7
|
+
* The text scrubber never sees `jpeg` either (C4): capture adds media after
|
|
8
|
+
* the scrub.
|
|
9
|
+
*/
|
|
10
|
+
export type BugCaseFrameKind = "last" | "tap" | "video";
|
|
11
|
+
export interface BugCaseFrame {
|
|
12
|
+
/** Steady clock, ms (F10). Frames, taps, errors and calls share it. */
|
|
13
|
+
t: number;
|
|
14
|
+
/** Wall time, ms since 1970, for people. */
|
|
15
|
+
wall?: number;
|
|
16
|
+
/** "last" is the app just before Buoy opened (F8). */
|
|
17
|
+
kind: BugCaseFrameKind;
|
|
18
|
+
/** The touch's seq, for kind "tap". */
|
|
19
|
+
tap?: number;
|
|
20
|
+
/** Size in points. */
|
|
21
|
+
w: number;
|
|
22
|
+
h: number;
|
|
23
|
+
/** Base64 JPEG. */
|
|
24
|
+
jpeg: string;
|
|
25
|
+
/** How many parts were boxed. */
|
|
26
|
+
boxes: number;
|
|
27
|
+
}
|
|
28
|
+
export interface BugCaseMediaSettings {
|
|
29
|
+
maskAllText: boolean;
|
|
30
|
+
maskAllImages: boolean;
|
|
31
|
+
maskAllInputs: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface BugCaseMedia {
|
|
34
|
+
frames: BugCaseFrame[];
|
|
35
|
+
/** "Bug here" marks on the steady clock (C2a). */
|
|
36
|
+
marks: number[];
|
|
37
|
+
settings: BugCaseMediaSettings;
|
|
38
|
+
/** How many frames C2 left out, so the viewer can say so. */
|
|
39
|
+
dropped: number;
|
|
40
|
+
/** Why they were left out, as short reasons with a count each (C5). Old cases have none. */
|
|
41
|
+
droppedWhy?: Record<string, number>;
|
|
42
|
+
}
|
|
43
|
+
export interface BugCaseMediaBudget {
|
|
44
|
+
frames: number;
|
|
45
|
+
bytes: number;
|
|
46
|
+
}
|
|
47
|
+
/** C2. */
|
|
48
|
+
export declare const DEFAULT_MEDIA_BUDGET: BugCaseMediaBudget;
|
|
49
|
+
/** Bytes a base64 string decodes to. */
|
|
50
|
+
export declare function base64Bytes(b64: string): number;
|
|
51
|
+
/**
|
|
52
|
+
* C2: keep the frames that matter most, inside the budget. In order: the
|
|
53
|
+
* "last" frame, tap frames (newest first), video frames near a mark (closest
|
|
54
|
+
* first), then the other video frames spread across the clip.
|
|
55
|
+
*/
|
|
56
|
+
export declare function fitBugCaseMedia(frames: BugCaseFrame[], marks: number[], budget?: BugCaseMediaBudget): {
|
|
57
|
+
frames: BugCaseFrame[];
|
|
58
|
+
dropped: number;
|
|
59
|
+
};
|
|
60
|
+
/** Reasons the case itself adds when it leaves frames out. */
|
|
61
|
+
export declare const DROPPED_TO_FIT = "left out to fit the case";
|
|
62
|
+
export declare const DROPPED_NOT_JPEG = "not a picture Buoy can show";
|
|
63
|
+
/** Adds `n` to one reason, keeping the list short and every reason plain. */
|
|
64
|
+
export declare function addDroppedWhy(why: Record<string, number>, reason: string, n: number): Record<string, number>;
|
|
65
|
+
/** The phone's reasons, kept only when each is plain words with a whole count. */
|
|
66
|
+
export declare function cleanDroppedWhy(raw: unknown): Record<string, number>;
|
|
67
|
+
/**
|
|
68
|
+
* Which step each frame belongs to (V1): a tap frame goes with the step its
|
|
69
|
+
* tap made. A frame with no tap link has no step.
|
|
70
|
+
*/
|
|
71
|
+
export declare function frameSteps(frames: readonly BugCaseFrame[], touches: readonly {
|
|
72
|
+
seq?: number;
|
|
73
|
+
t: number;
|
|
74
|
+
}[], steps: readonly {
|
|
75
|
+
t: number;
|
|
76
|
+
taps?: number[];
|
|
77
|
+
}[]): (number | null)[];
|
|
78
|
+
/** "4 the screen was moving, 1 left out to fit the case", biggest first. */
|
|
79
|
+
export declare function describeDroppedWhy(why: Record<string, number> | undefined): string;
|
|
80
|
+
/**
|
|
81
|
+
* 0..n-1 in an order where every start of the list is spread across the
|
|
82
|
+
* range: the two ends, then the middle, then the quarters, and so on.
|
|
83
|
+
*/
|
|
84
|
+
export declare function spreadOrder(n: number): number[];
|
|
85
|
+
/**
|
|
86
|
+
* C3: keep `media` only with frames that are JPEGs. A bad frame is dropped,
|
|
87
|
+
* not the case. Then C2 again, since a hand-made case can hold anything.
|
|
88
|
+
*/
|
|
89
|
+
export declare function validateBugCaseMedia(raw: unknown): BugCaseMedia | undefined;
|
|
90
|
+
//# sourceMappingURL=media.d.ts.map
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
* NO "LOOKS RANDOM" RULE. Entropy caught nothing the rules above missed and
|
|
23
23
|
* broke order ids, hashes and commit SHAs. It was dropped on the evidence.
|
|
24
24
|
*
|
|
25
|
-
* Removed values become `[removed:secret]` / `[removed:pii]
|
|
26
|
-
*
|
|
25
|
+
* Removed values become `[removed:secret]` / `[removed:pii]`. A load writes
|
|
26
|
+
* the marks as they are; Restore puts the teammate's own values back.
|
|
27
27
|
*
|
|
28
28
|
* Pure and synchronous so it can be argued with in a unit test. Callers on a
|
|
29
29
|
* phone run it after the capture has been shown as done, off the tap.
|
|
@@ -14,6 +14,8 @@ export interface BugCaseTouch {
|
|
|
14
14
|
/** Capture order. Wins over `t`, which moves when the app clock is faked. */
|
|
15
15
|
seq?: number;
|
|
16
16
|
t: number;
|
|
17
|
+
/** Real time, which Buoy's clock tool never moves. Tap pictures are matched by it. Old cases have none. */
|
|
18
|
+
wall?: number;
|
|
17
19
|
kind: "press" | "longPress" | "text" | "toggle" | "slider";
|
|
18
20
|
target: {
|
|
19
21
|
name: string;
|
|
@@ -32,6 +34,8 @@ export interface BugCaseRouteVisit {
|
|
|
32
34
|
export interface BugCaseStep {
|
|
33
35
|
t: number;
|
|
34
36
|
text: string;
|
|
37
|
+
/** The touches (by seq) this step stands for, so a tap picture finds its step. Old cases have none. */
|
|
38
|
+
taps?: number[];
|
|
35
39
|
}
|
|
36
40
|
/**
|
|
37
41
|
* A tap on React Native's own dev chrome (the LogBox warning banners and
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/** A P-256 key pair: the 32-byte private scalar and the 65-byte uncompressed public point. */
|
|
2
|
+
export interface P256Pair {
|
|
3
|
+
d: Uint8Array;
|
|
4
|
+
pub: Uint8Array;
|
|
5
|
+
}
|
|
6
|
+
export interface TeamKeyCrypto {
|
|
7
|
+
randomBytes(length: number): Uint8Array;
|
|
8
|
+
sha256(data: Uint8Array): Promise<Uint8Array>;
|
|
9
|
+
hmacSha256(key: Uint8Array, data: Uint8Array): Promise<Uint8Array>;
|
|
10
|
+
/** AES-GCM with a 16- or 32-byte key; returns ciphertext with the tag at the end. */
|
|
11
|
+
seal(key: Uint8Array, nonce: Uint8Array, data: Uint8Array, aad: Uint8Array): Promise<Uint8Array>;
|
|
12
|
+
/** Throws when the key is wrong or a byte changed. */
|
|
13
|
+
open(key: Uint8Array, nonce: Uint8Array, sealed: Uint8Array, aad: Uint8Array): Promise<Uint8Array>;
|
|
14
|
+
p256Generate(): Promise<P256Pair>;
|
|
15
|
+
/** The shared x coordinate (32 bytes). Throws on a point that isn't on the curve. */
|
|
16
|
+
p256Ecdh(own: P256Pair, peerPub: Uint8Array): Promise<Uint8Array>;
|
|
17
|
+
/** ECDSA over SHA-256 of `message`; 64 bytes, r then s. */
|
|
18
|
+
p256Sign(own: P256Pair, message: Uint8Array): Promise<Uint8Array>;
|
|
19
|
+
/** Takes high-S signatures too: WebCrypto makes them. */
|
|
20
|
+
p256Verify(pub: Uint8Array, message: Uint8Array, signature: Uint8Array): Promise<boolean>;
|
|
21
|
+
}
|
|
22
|
+
export type TeamKeyErrorCode =
|
|
23
|
+
/** A kit that isn't a kit, or the wrong kind. */
|
|
24
|
+
"bad_kit"
|
|
25
|
+
/** The kit is fine but doesn't open this lock. */
|
|
26
|
+
| "wrong_kit"
|
|
27
|
+
/** A record, wrap or card that isn't the right shape. */
|
|
28
|
+
| "bad_shape"
|
|
29
|
+
/** A signature or a key id that doesn't check out. */
|
|
30
|
+
| "untrusted"
|
|
31
|
+
/** Won't open: the wrong key, or a byte changed. */
|
|
32
|
+
| "locked" | "too_big";
|
|
33
|
+
export declare class TeamKeyError extends Error {
|
|
34
|
+
readonly code: TeamKeyErrorCode;
|
|
35
|
+
constructor(code: TeamKeyErrorCode, message: string);
|
|
36
|
+
}
|
|
37
|
+
export declare function concatBytes(...parts: Uint8Array[]): Uint8Array;
|
|
38
|
+
export declare function hkdfExtract(c: TeamKeyCrypto, salt: Uint8Array, ikm: Uint8Array): Promise<Uint8Array>;
|
|
39
|
+
export declare function hkdfExpand(c: TeamKeyCrypto, prk: Uint8Array, info: Uint8Array, length: number): Promise<Uint8Array>;
|
|
40
|
+
export declare function hkdf(c: TeamKeyCrypto, ikm: Uint8Array, info: string, length?: number): Promise<Uint8Array>;
|
|
41
|
+
export declare const HPKE_AES128_GCM = 1;
|
|
42
|
+
export declare const HPKE_AES256_GCM = 2;
|
|
43
|
+
/** Exposed for the RFC vector test. */
|
|
44
|
+
export declare function hpkeKeySchedule(c: TeamKeyCrypto, sharedSecret: Uint8Array, info: Uint8Array, aeadId: number): Promise<{
|
|
45
|
+
key: Uint8Array<ArrayBufferLike>;
|
|
46
|
+
baseNonce: Uint8Array<ArrayBufferLike>;
|
|
47
|
+
}>;
|
|
48
|
+
/**
|
|
49
|
+
* One message to `pkR` (sequence 0). `ephemeral` is for test vectors only;
|
|
50
|
+
* a real seal always makes a fresh one.
|
|
51
|
+
*/
|
|
52
|
+
export declare function hpkeSeal(c: TeamKeyCrypto, pkR: Uint8Array, info: Uint8Array, aad: Uint8Array, plaintext: Uint8Array, options?: {
|
|
53
|
+
aeadId?: number;
|
|
54
|
+
ephemeral?: P256Pair;
|
|
55
|
+
}): Promise<{
|
|
56
|
+
enc: Uint8Array;
|
|
57
|
+
ct: Uint8Array;
|
|
58
|
+
sharedSecret: Uint8Array;
|
|
59
|
+
}>;
|
|
60
|
+
export declare function hpkeOpen(c: TeamKeyCrypto, skR: P256Pair, encapped: Uint8Array, info: Uint8Array, aad: Uint8Array, ct: Uint8Array, aeadId?: number): Promise<Uint8Array>;
|
|
61
|
+
export type KitKind = "team" | "admin";
|
|
62
|
+
/** A new kit as text, like `buoy-team-7F3Q-K2M9-…`. Shown once; never sent to Buoy. */
|
|
63
|
+
export declare function makeKit(c: TeamKeyCrypto, kind: KitKind): string;
|
|
64
|
+
export declare function formatKit(kind: KitKind, bytes: Uint8Array): string;
|
|
65
|
+
/** Reads a pasted kit. Spaces, dashes and case don't matter; O reads as 0 and I or L as 1. */
|
|
66
|
+
export declare function parseKit(text: string, kind: KitKind): Uint8Array;
|
|
67
|
+
/** The kit's lock key. */
|
|
68
|
+
export declare function kitKey(c: TeamKeyCrypto, kit: Uint8Array, kind: KitKind): Promise<Uint8Array>;
|
|
69
|
+
/** A short id for a kit, so the server can say which kit locked a key. It can't open anything. */
|
|
70
|
+
export declare function kitId(c: TeamKeyCrypto, kit: Uint8Array, kind: KitKind): Promise<string>;
|
|
71
|
+
/** `nonce | sealed`, as base64url. */
|
|
72
|
+
export declare function lockSecret(c: TeamKeyCrypto, key: Uint8Array, aad: string, secret: Uint8Array): Promise<string>;
|
|
73
|
+
export declare function openSecret(c: TeamKeyCrypto, key: Uint8Array, aad: string, locked: string): Promise<Uint8Array>;
|
|
74
|
+
export declare const rootLockAad: (owner: string, teamKeyId: string) => string;
|
|
75
|
+
export declare const versionLockAad: (owner: string, teamKeyId: string, keyVersion: number) => string;
|
|
76
|
+
/** A private key and its public key, as stored inside a lock. */
|
|
77
|
+
export declare const pairBytes: (pair: P256Pair) => Uint8Array<ArrayBufferLike>;
|
|
78
|
+
export declare function pairFrom(bytes: Uint8Array, expectPub?: Uint8Array): P256Pair;
|
|
79
|
+
/**
|
|
80
|
+
* Checks a private key really belongs to its public key: a pair that doesn't
|
|
81
|
+
* would make wraps no one can open. ECDH with itself and with a fresh key
|
|
82
|
+
* from each side must agree.
|
|
83
|
+
*/
|
|
84
|
+
export declare function checkPair(c: TeamKeyCrypto, pair: P256Pair): Promise<void>;
|
|
85
|
+
/** A root's id: the SHA-256 of its public key. Apps can pin it. */
|
|
86
|
+
export declare function teamKeyIdOf(c: TeamKeyCrypto, rootPub: Uint8Array): Promise<string>;
|
|
87
|
+
export interface TeamKeyRecord {
|
|
88
|
+
owner: string;
|
|
89
|
+
teamKeyId: string;
|
|
90
|
+
keyVersion: number;
|
|
91
|
+
/** The version's ECDH public key, base64url. */
|
|
92
|
+
pub: string;
|
|
93
|
+
/** The root's signature over `recordMessage`, base64url. */
|
|
94
|
+
sig: string;
|
|
95
|
+
}
|
|
96
|
+
export declare function recordMessage(owner: string, teamKeyId: string, keyVersion: number, pub: string): Uint8Array;
|
|
97
|
+
export declare function signRecord(c: TeamKeyCrypto, root: P256Pair, owner: string, keyVersion: number, versionPub: Uint8Array): Promise<TeamKeyRecord>;
|
|
98
|
+
/** Throws unless `record` is signed by `rootPub` and names that root. Returns the version's public key. */
|
|
99
|
+
export declare function verifyRecord(c: TeamKeyCrypto, rootPub: Uint8Array, record: TeamKeyRecord): Promise<Uint8Array>;
|
|
100
|
+
export interface CaseKeyParts {
|
|
101
|
+
/** The link's key, base64url (32 bytes). */
|
|
102
|
+
key: string;
|
|
103
|
+
/** 16 random bytes, base64url: goes in the blob's plain header. */
|
|
104
|
+
caseTag: string;
|
|
105
|
+
/** SHA-256 of the key proof, base64url: goes in the blob's plain header. */
|
|
106
|
+
keyProofHash: string;
|
|
107
|
+
}
|
|
108
|
+
export declare function newCaseTag(c: TeamKeyCrypto): string;
|
|
109
|
+
export declare const isCaseTag: (text: unknown) => text is string;
|
|
110
|
+
export declare const isKeyHash: (text: unknown) => text is string;
|
|
111
|
+
/**
|
|
112
|
+
* Proof that someone holds a case's key, without showing the key. The blob's
|
|
113
|
+
* header has its hash, so the server can check a late wrap comes from someone
|
|
114
|
+
* who can open the case.
|
|
115
|
+
*/
|
|
116
|
+
export declare function keyProof(c: TeamKeyCrypto, caseKey: string): Promise<string>;
|
|
117
|
+
export declare function keyProofHash(c: TeamKeyCrypto, proof: string): Promise<string>;
|
|
118
|
+
/** A fresh key, a fresh tag, and the key proof's hash, for a new case. */
|
|
119
|
+
export declare function newCaseKeyParts(c: TeamKeyCrypto, existing?: {
|
|
120
|
+
key?: string;
|
|
121
|
+
caseTag?: string;
|
|
122
|
+
}): Promise<CaseKeyParts>;
|
|
123
|
+
export declare const WRAP_SUITE = "P256-SHA256-A256GCM";
|
|
124
|
+
export interface BugWrap {
|
|
125
|
+
v: 1;
|
|
126
|
+
suite: typeof WRAP_SUITE;
|
|
127
|
+
teamKeyId: string;
|
|
128
|
+
keyVersion: number;
|
|
129
|
+
/** The HPKE key share, base64url (65 bytes). */
|
|
130
|
+
enc: string;
|
|
131
|
+
/** The sealed case key, base64url (48 bytes). */
|
|
132
|
+
ct: string;
|
|
133
|
+
}
|
|
134
|
+
export declare const wrapInfo: (owner: string, teamKeyId: string, keyVersion: number, caseTag: string) => Uint8Array<ArrayBufferLike>;
|
|
135
|
+
export declare function wrapCaseKey(c: TeamKeyCrypto, target: {
|
|
136
|
+
owner: string;
|
|
137
|
+
teamKeyId: string;
|
|
138
|
+
keyVersion: number;
|
|
139
|
+
pub: Uint8Array;
|
|
140
|
+
}, caseKey: string, caseTag: string): Promise<BugWrap>;
|
|
141
|
+
export declare function unwrapCaseKey(c: TeamKeyCrypto, wrap: BugWrap, owner: string, versionKey: P256Pair, caseTag: string): Promise<string>;
|
|
142
|
+
/** Rebuilt field by field from untrusted JSON. */
|
|
143
|
+
export declare function parseWrap(raw: unknown): BugWrap;
|
|
144
|
+
export interface BugCardFields {
|
|
145
|
+
note?: string;
|
|
146
|
+
app?: string;
|
|
147
|
+
version?: string;
|
|
148
|
+
build?: string;
|
|
149
|
+
route?: string;
|
|
150
|
+
error?: string;
|
|
151
|
+
sender?: string;
|
|
152
|
+
}
|
|
153
|
+
export interface BugCard extends BugCardFields {
|
|
154
|
+
v: 1;
|
|
155
|
+
caseTag: string;
|
|
156
|
+
/** SHA-256 of the blob this card goes with, base64url. */
|
|
157
|
+
blobSha256: string;
|
|
158
|
+
}
|
|
159
|
+
/** The whole card as JSON stays under this, so the locked card fits in 4 KB. */
|
|
160
|
+
export declare const MAX_CARD_JSON_BYTES = 3800;
|
|
161
|
+
/** Cuts text to at most `maxBytes` of UTF-8, at a whole letter, with "…" when cut. */
|
|
162
|
+
export declare function cutUtf8(text: string, maxBytes: number): string;
|
|
163
|
+
/** Caps each field, then trims the note, the error and the route until the JSON fits. */
|
|
164
|
+
export declare function fitCard(card: BugCard): BugCard;
|
|
165
|
+
export declare function blobSha256(c: TeamKeyCrypto, blob: Uint8Array): Promise<string>;
|
|
166
|
+
/** `nonce | sealed`, as base64url. */
|
|
167
|
+
export declare function sealCard(c: TeamKeyCrypto, caseKey: string, caseTag: string, cardRevision: number, fields: BugCardFields, blob: Uint8Array): Promise<string>;
|
|
168
|
+
export declare function openCard(c: TeamKeyCrypto, caseKey: string, caseTag: string, cardRevision: number, sealed: string): Promise<BugCard>;
|
|
169
|
+
export declare const DEVICE_NONCE_BYTES = 16;
|
|
170
|
+
export declare function newDeviceNonce(c: TeamKeyCrypto): string;
|
|
171
|
+
/** What the new device sends first: a hash of its key and nonce. */
|
|
172
|
+
export declare function deviceCommit(c: TeamKeyCrypto, devicePub: Uint8Array, deviceNonce: string): Promise<string>;
|
|
173
|
+
/** The code both screens show. If they match, no one swapped the device's key. */
|
|
174
|
+
export declare function deviceCode(c: TeamKeyCrypto, check: {
|
|
175
|
+
owner: string;
|
|
176
|
+
requestId: string;
|
|
177
|
+
devicePub: Uint8Array;
|
|
178
|
+
deviceNonce: string;
|
|
179
|
+
approverNonce: string;
|
|
180
|
+
}): Promise<string>;
|
|
181
|
+
/** The approving device seals the team kit to the new device's public key. */
|
|
182
|
+
export declare function sealKitForDevice(c: TeamKeyCrypto, owner: string, requestId: string, devicePub: Uint8Array, kit: Uint8Array): Promise<string>;
|
|
183
|
+
export declare function openKitForDevice(c: TeamKeyCrypto, owner: string, requestId: string, device: P256Pair, sealed: string): Promise<Uint8Array>;
|
|
184
|
+
export declare function webTeamKeyCrypto(): TeamKeyCrypto;
|
|
185
|
+
//# sourceMappingURL=teamKey.d.ts.map
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import type { SuperJSONResult } from "../utils/minimalSuperJSON";
|
|
7
7
|
import type { ScrubbedItem } from "./scrub";
|
|
8
8
|
import type { BugCaseStep, BugCaseTouch } from "./steps";
|
|
9
|
+
import type { BugCaseMedia } from "./media";
|
|
9
10
|
export declare const BUG_CASE_VERSION = 1;
|
|
10
11
|
export interface BugCaseNetworkCall {
|
|
11
12
|
t: number;
|
|
@@ -19,6 +20,8 @@ export interface BugCaseNetworkCall {
|
|
|
19
20
|
requestData?: unknown;
|
|
20
21
|
responseHeaders?: Record<string, string>;
|
|
21
22
|
responseData?: unknown;
|
|
23
|
+
/** The answer was parsed from JSON text, so a string was a JSON string. Missing in older cases. */
|
|
24
|
+
responseJson?: boolean;
|
|
22
25
|
/** True when a body was over the case budget and left out. */
|
|
23
26
|
bodyOmitted?: boolean;
|
|
24
27
|
}
|
|
@@ -48,6 +51,11 @@ export interface BugCase {
|
|
|
48
51
|
app: {
|
|
49
52
|
platform: string;
|
|
50
53
|
os: string;
|
|
54
|
+
/** Bundle id or package name, when the app could say. */
|
|
55
|
+
id?: string;
|
|
56
|
+
/** The version people see ("4.2.0") and the build number ("4210"), so a load on another build can say so. */
|
|
57
|
+
version?: string;
|
|
58
|
+
build?: string;
|
|
51
59
|
appearance?: string;
|
|
52
60
|
locale?: string;
|
|
53
61
|
timeZone?: string;
|
|
@@ -82,6 +90,8 @@ export interface BugCase {
|
|
|
82
90
|
/** B2: newest first, with answers for replay. */
|
|
83
91
|
network: BugCaseNetworkCall[];
|
|
84
92
|
console: BugCaseConsoleLine[];
|
|
93
|
+
/** Pictures and video, boxed on the phone (media/SPEC.md C1). Old cases and old phones have none. */
|
|
94
|
+
media?: BugCaseMedia;
|
|
85
95
|
missing: BugCaseMissing[];
|
|
86
96
|
scrub: {
|
|
87
97
|
removed: number;
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* - Metro sees static imports only
|
|
16
16
|
* - Works with any Metro version
|
|
17
17
|
*/
|
|
18
|
-
export { clipboardFunction, clipboardType, isClipboardAvailable, type ClipboardFunction, } from "./clipboard-impl";
|
|
18
|
+
export { clipboardFunction, clipboardType, isClipboardAvailable, readClipboardText, type ClipboardFunction, } from "./clipboard-impl";
|
|
19
19
|
import { clipboardFunction } from "./clipboard-impl";
|
|
20
20
|
/**
|
|
21
21
|
* Attempts to auto-detect and return a clipboard implementation.
|
|
@@ -21,4 +21,10 @@ export type ClipboardFunction = (text: string) => Promise<boolean>;
|
|
|
21
21
|
export declare const clipboardType: () => "expo" | "react-native" | "web" | null;
|
|
22
22
|
export declare const isClipboardAvailable: () => boolean;
|
|
23
23
|
export declare const clipboardFunction: ClipboardFunction;
|
|
24
|
+
/**
|
|
25
|
+
* The clipboard's text, for a Paste button. Only ever called from a tap: iOS
|
|
26
|
+
* shows its "pasted from" banner for each read, and a silent read on open
|
|
27
|
+
* would show it for nothing (the bug links panels ruled that out).
|
|
28
|
+
*/
|
|
29
|
+
export declare const readClipboardText: () => Promise<string | null>;
|
|
24
30
|
//# sourceMappingURL=clipboard-impl.d.ts.map
|
|
@@ -2,4 +2,6 @@ export type ClipboardFunction = (text: string) => Promise<boolean>;
|
|
|
2
2
|
export declare const isClipboardAvailable: () => boolean;
|
|
3
3
|
export declare const clipboardType: () => "web" | null;
|
|
4
4
|
export declare const clipboardFunction: ClipboardFunction;
|
|
5
|
+
/** The clipboard's text, for a Paste button. Only ever called from a tap. */
|
|
6
|
+
export declare const readClipboardText: () => Promise<string | null>;
|
|
5
7
|
//# sourceMappingURL=clipboard-impl.web.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { copyToClipboard } from "./copyToClipboard";
|
|
2
|
-
export { createAutoDetectedClipboard, getAutoDetectedClipboard, } from "./autoDetectClipboard";
|
|
2
|
+
export { createAutoDetectedClipboard, getAutoDetectedClipboard, readClipboardText, } from "./autoDetectClipboard";
|
|
3
3
|
export type { ClipboardFunction } from "./autoDetectClipboard";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -14,10 +14,11 @@ export * from "./tools/defineTool";
|
|
|
14
14
|
export * from "./sync/toolActionRegistry";
|
|
15
15
|
export * from "./sync/toolUiBridge";
|
|
16
16
|
export * from "./sync/toolScreenHeader";
|
|
17
|
-
export { absoluteFill, displayValue, parseDisplayValue, getSafeAreaInsets, persistentStorage, setItemChecked, isUsingPersistentStorage, getStorageBackendType, safeStringify, getValueType, isPrimitive, isJsonSerializable, isValidJson, getConstructorName, isEmpty, getValueSize, parseValue, formatValue, getTypeColor, truncateText, flattenObject, formatPath, loadOptionalModule, getCachedOptionalModule, setRenderCaptureProvider, getRenderCaptureProvider, type RenderCaptureProvider, type RenderCaptureSummary, type RenderCaptureTopComponent, type RenderCauseCounts, registerStateSnapshotProvider, getStateSnapshotProviders, getStateSnapshotProvider, subscribeToStateSnapshotProviders, type StateSnapshotProvider, type StateSnapshotProviderStatus, type StateSnapshotCapture, type StateSnapshotRestoreResult, type StateSnapshotPreview, type StateSnapshotPreviewItem, type StateSnapshotPreviewVerdict, superJsonSerialize, superJsonDeserialize, type SuperJSONResult, realNow, getRealAppState, subscribeRealAppState, BUOY_SYNTHETIC_MARK, countBuoyListener, type RealAppState, reloadApp, scheduleReloadApp, resolveReloadStrategy, REMOTE_RELOAD_DELAY_MS, type ReloadStrategy, type ResolvedReloadStrategy, getDevServerOrigin, Subscribable, type SubscribableListener, subscriberCountNotifier, subscribeToSubscriberCountChanges, notifySubscriberCountChange, useSafeRouter, useSafePathname, useSafeSegments, useSafeGlobalSearchParams, getSafeRouter, getSafeCurrentPathname, getSafeCurrentRoute, isExpoRouterAvailable, } from "./utils";
|
|
17
|
+
export { absoluteFill, displayValue, parseDisplayValue, getSafeAreaInsets, persistentStorage, setItemChecked, getItemChecked, storageIsMemoryOnly, isUsingPersistentStorage, getStorageBackendType, safeStringify, getValueType, isPrimitive, isJsonSerializable, isValidJson, getConstructorName, isEmpty, getValueSize, parseValue, formatValue, getTypeColor, truncateText, flattenObject, formatPath, loadOptionalModule, getCachedOptionalModule, setRenderCaptureProvider, getRenderCaptureProvider, type RenderCaptureProvider, type RenderCaptureSummary, type RenderCaptureTopComponent, type RenderCauseCounts, registerStateSnapshotProvider, getStateSnapshotProviders, getStateSnapshotProvider, subscribeToStateSnapshotProviders, type StateSnapshotProvider, type StateSnapshotProviderStatus, type StateSnapshotCapture, type StateSnapshotRestoreResult, type StateSnapshotPreview, type StateSnapshotPreviewItem, type StateSnapshotPreviewVerdict, superJsonSerialize, superJsonDeserialize, type SuperJSONResult, realNow, getRealAppState, subscribeRealAppState, BUOY_SYNTHETIC_MARK, countBuoyListener, type RealAppState, reloadApp, scheduleReloadApp, resolveReloadStrategy, REMOTE_RELOAD_DELAY_MS, type ReloadStrategy, type ResolvedReloadStrategy, getDevServerOrigin, Subscribable, type SubscribableListener, subscriberCountNotifier, subscribeToSubscriberCountChanges, notifySubscriberCountChange, useSafeRouter, useSafePathname, useSafeSegments, useSafeGlobalSearchParams, getSafeRouter, getSafeCurrentPathname, getSafeCurrentRoute, isExpoRouterAvailable, } from "./utils";
|
|
18
18
|
export type { SafeRouteLocation } from "./utils";
|
|
19
19
|
export * from "./utils/toolModules";
|
|
20
20
|
export { subscribeStorageWrites } from "./utils/storageWrites";
|
|
21
|
+
export { FiberRootAnchor, getAnchoredFiberRoots } from "./utils/fiberRootAnchor";
|
|
21
22
|
export { registerBrowserRouter, browserRouter, subscribeBrowserNavigation } from "./utils/browserNavigation";
|
|
22
23
|
export { PREVIEW_ITEM_RENDER_BYTE_LIMIT, createRestoreScope, emptyRestoreResult, failedRestore, skippedRestore, classifyPreviewItem, wontApply, unionKeys, type RestoreScope, type RestoreScopeOptions, type ClassifyOptions, type ClassifyInput, } from "./utils/snapshotProviderKit";
|
|
23
24
|
export { entityColor, formatValuePreview, shallowDiffSummary, type ValuePreviewOptions, type ShallowDiffSummary, } from "./utils/stateTools";
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The app's React roots, found without React DevTools.
|
|
3
|
+
*
|
|
4
|
+
* Highlight Updates finds roots through `__REACT_DEVTOOLS_GLOBAL_HOOK__`. React
|
|
5
|
+
* Native sets that hook up only in dev builds, so in a release build Bug Links
|
|
6
|
+
* got no taps and no screen text. A class component's instance holds its own
|
|
7
|
+
* fiber (`_reactInternals`) in every React build. Walking up from it reaches
|
|
8
|
+
* the root it is mounted in. FloatingDevTools mounts one inside the app's tree.
|
|
9
|
+
*/
|
|
10
|
+
import { Component } from "react";
|
|
11
|
+
/** Renders nothing. While mounted, its root shows in `getAnchoredFiberRoots()`. */
|
|
12
|
+
export declare class FiberRootAnchor extends Component {
|
|
13
|
+
componentDidMount(): void;
|
|
14
|
+
componentWillUnmount(): void;
|
|
15
|
+
render(): null;
|
|
16
|
+
}
|
|
17
|
+
/** The FiberRoot (with `.current`) of every mounted anchor, once each. */
|
|
18
|
+
export declare function getAnchoredFiberRoots(): any[];
|
|
19
|
+
//# sourceMappingURL=fiberRootAnchor.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { absoluteFill } from "./absoluteFill";
|
|
2
2
|
export { displayValue, parseDisplayValue } from "./displayValue";
|
|
3
3
|
export { getSafeAreaInsets } from "./getSafeAreaInsets";
|
|
4
|
-
export { persistentStorage, setItemChecked, isUsingPersistentStorage, getStorageBackendType, type DevToolsStorage, } from "./persistentStorage";
|
|
4
|
+
export { persistentStorage, setItemChecked, getItemChecked, storageIsMemoryOnly, isUsingPersistentStorage, getStorageBackendType, type DevToolsStorage, } from "./persistentStorage";
|
|
5
5
|
export { safeStringify } from "./safeStringify";
|
|
6
6
|
export { getValueType, isPrimitive, isJsonSerializable, isValidJson, getConstructorName, isEmpty, getValueSize, } from "./typeHelpers";
|
|
7
7
|
export { parseValue, formatValue, getTypeColor, truncateText, flattenObject, formatPath, } from "./valueFormatting";
|
|
@@ -21,4 +21,5 @@ export { browserRouter, getBrowserHref, getBrowserRouteURL, registerBrowserRoute
|
|
|
21
21
|
export { isDOMElement, getDOMControlProps, getDOMFiber, getDOMNodeHandle, getDOMPublicInstance, resolveDOMEventEmitter } from "./domRuntime";
|
|
22
22
|
export { registerToolModules, getRegisteredToolModule, getToolModuleVersion, type ToolModule } from "./toolModules";
|
|
23
23
|
export { loadToolModule } from "./loadToolModule";
|
|
24
|
+
export { FiberRootAnchor, getAnchoredFiberRoots } from "./fiberRootAnchor";
|
|
24
25
|
//# sourceMappingURL=index.d.ts.map
|