tempest-react-sdk 0.55.0 → 0.57.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +74 -73
  2. package/dist/components/AppBar/AppBar.module.cjs.map +1 -1
  3. package/dist/components/AppBar/AppBar.module.js.map +1 -1
  4. package/dist/components/AudioPlayer/AudioPlayer.cjs +1 -1
  5. package/dist/components/AudioPlayer/AudioPlayer.js +6 -6
  6. package/dist/components/Scheduler/Scheduler.module.cjs.map +1 -1
  7. package/dist/components/Scheduler/Scheduler.module.js.map +1 -1
  8. package/dist/components/VideoPlayer/VideoPlayer.cjs +2 -0
  9. package/dist/components/VideoPlayer/VideoPlayer.cjs.map +1 -0
  10. package/dist/components/VideoPlayer/VideoPlayer.js +229 -0
  11. package/dist/components/VideoPlayer/VideoPlayer.js.map +1 -0
  12. package/dist/components/VideoPlayer/VideoPlayer.module.cjs +2 -0
  13. package/dist/components/VideoPlayer/VideoPlayer.module.cjs.map +1 -0
  14. package/dist/components/VideoPlayer/VideoPlayer.module.js +19 -0
  15. package/dist/components/VideoPlayer/VideoPlayer.module.js.map +1 -0
  16. package/dist/components/VideoPlayer/playback-rates.cjs +2 -0
  17. package/dist/components/VideoPlayer/playback-rates.cjs.map +1 -0
  18. package/dist/components/VideoPlayer/playback-rates.js +11 -0
  19. package/dist/components/VideoPlayer/playback-rates.js.map +1 -0
  20. package/dist/hooks/use-push-to-talk.cjs +1 -1
  21. package/dist/hooks/use-push-to-talk.cjs.map +1 -1
  22. package/dist/hooks/use-push-to-talk.js +2 -2
  23. package/dist/hooks/use-push-to-talk.js.map +1 -1
  24. package/dist/imaging/exceptions.cjs +1 -1
  25. package/dist/imaging/exceptions.cjs.map +1 -1
  26. package/dist/imaging/exceptions.js +5 -1
  27. package/dist/imaging/exceptions.js.map +1 -1
  28. package/dist/imaging/frame.cjs +2 -0
  29. package/dist/imaging/frame.cjs.map +1 -0
  30. package/dist/imaging/frame.js +82 -0
  31. package/dist/imaging/frame.js.map +1 -0
  32. package/dist/imaging.cjs +1 -1
  33. package/dist/imaging.d.ts +611 -494
  34. package/dist/imaging.js +10 -9
  35. package/dist/styles/AppBar.css +1 -1
  36. package/dist/styles/Scheduler.css +2 -2
  37. package/dist/styles/VideoPlayer.css +23 -0
  38. package/dist/styles/core.css +1 -1
  39. package/dist/styles/layout.css +2 -2
  40. package/dist/styles/media.css +22 -0
  41. package/dist/styles/navigation.css +1 -1
  42. package/dist/styles.css +1 -1
  43. package/dist/tempest-react-sdk.cjs +1 -1
  44. package/dist/tempest-react-sdk.d.ts +317 -35
  45. package/dist/tempest-react-sdk.js +213 -211
  46. package/dist/webrtc/link-stats.cjs +1 -1
  47. package/dist/webrtc/link-stats.cjs.map +1 -1
  48. package/dist/webrtc/link-stats.js +134 -44
  49. package/dist/webrtc/link-stats.js.map +1 -1
  50. package/dist/webrtc/mesh-quality.cjs +1 -1
  51. package/dist/webrtc/mesh-quality.cjs.map +1 -1
  52. package/dist/webrtc/mesh-quality.js +8 -2
  53. package/dist/webrtc/mesh-quality.js.map +1 -1
  54. package/dist/webrtc/peer-mesh.cjs +1 -1
  55. package/dist/webrtc/peer-mesh.cjs.map +1 -1
  56. package/dist/webrtc/peer-mesh.js +85 -63
  57. package/dist/webrtc/peer-mesh.js.map +1 -1
  58. package/package.json +1 -1
@@ -135,214 +135,216 @@ import { Scheduler as nn } from "./components/Scheduler/Scheduler.js";
135
135
  import { relativeTime as rn } from "./utils/relative-time.js";
136
136
  import { NotificationCenter as an } from "./components/NotificationCenter/NotificationCenter.js";
137
137
  import { useNotificationInbox as on } from "./components/NotificationCenter/use-notification-inbox.js";
138
- import { VirtualList as sn } from "./components/VirtualList/VirtualList.js";
139
- import { compareValues as cn } from "./utils/compare-values.js";
140
- import { VirtualTable as ln } from "./components/VirtualTable/VirtualTable.js";
141
- import { QRCapacityError as un, encodeQR as dn, matrixToPath as fn } from "./components/QRCode/qr-encode.js";
142
- import { QRCode as pn } from "./components/QRCode/QRCode.js";
143
- import { CopyButton as mn } from "./components/CopyButton/CopyButton.js";
144
- import { CodeBlock as hn } from "./components/CodeBlock/CodeBlock.js";
145
- import { RelativeTime as gn } from "./components/RelativeTime/RelativeTime.js";
146
- import { Money as _n } from "./components/Money/Money.js";
147
- import { TreeView as vn } from "./components/TreeView/TreeView.js";
148
- import { TruncateText as yn } from "./components/TruncateText/TruncateText.js";
149
- import { Portal as bn } from "./components/Portal/Portal.js";
150
- import { ClickOutside as xn } from "./components/ClickOutside/ClickOutside.js";
151
- import { ConditionalWrapper as Sn } from "./components/ConditionalWrapper/ConditionalWrapper.js";
152
- import { For as Cn } from "./components/For/For.js";
153
- import { ErrorText as wn } from "./components/ErrorText/ErrorText.js";
154
- import { Image as Tn } from "./components/Image/Image.js";
155
- import { DataList as En } from "./components/DataList/DataList.js";
156
- import { DescriptionList as Dn } from "./components/DescriptionList/DescriptionList.js";
157
- import { Toggle as On } from "./components/Toggle/Toggle.js";
158
- import { ToggleGroup as kn, ToggleGroupItem as An } from "./components/ToggleGroup/ToggleGroup.js";
159
- import { Label as jn } from "./components/Label/Label.js";
160
- import { Collapsible as Mn } from "./components/Collapsible/Collapsible.js";
161
- import { ContextMenu as Nn } from "./components/ContextMenu/ContextMenu.js";
162
- import { HoverCard as Pn } from "./components/HoverCard/HoverCard.js";
163
- import { Command as Fn } from "./components/Command/Command.js";
164
- import { ScrollArea as In } from "./components/ScrollArea/ScrollArea.js";
165
- import { Resizable as Ln } from "./components/Resizable/Resizable.js";
166
- import { Calendar as Rn } from "./components/Calendar/Calendar.js";
167
- import { Slider as zn } from "./components/Slider/Slider.js";
168
- import { MultiSelect as Bn } from "./components/MultiSelect/MultiSelect.js";
169
- import { DateRangePicker as Vn } from "./components/DateRangePicker/DateRangePicker.js";
170
- import { NavigationMenu as Hn } from "./components/NavigationMenu/NavigationMenu.js";
171
- import { Menubar as Un } from "./components/Menubar/Menubar.js";
172
- import { Carousel as Wn } from "./components/Carousel/Carousel.js";
173
- import { DataTable as Gn } from "./components/DataTable/DataTable.js";
174
- import { ListTile as Kn } from "./components/ListTile/ListTile.js";
175
- import { FloatingActionButton as qn } from "./components/FloatingActionButton/FloatingActionButton.js";
176
- import { NavigationRail as Jn } from "./components/NavigationRail/NavigationRail.js";
177
- import { TimePicker as Yn } from "./components/TimePicker/TimePicker.js";
178
- import { RefreshIndicator as Xn } from "./components/RefreshIndicator/RefreshIndicator.js";
179
- import { Wizard as Zn } from "./components/Wizard/Wizard.js";
180
- import { Lightbox as Qn } from "./components/Lightbox/Lightbox.js";
181
- import { SignaturePad as $n } from "./components/SignaturePad/SignaturePad.js";
182
- import { ChatComposer as er } from "./components/Chat/ChatComposer.js";
183
- import { Chat as tr } from "./components/Chat/Chat.js";
184
- import { isAudioOutputSelectionSupported as nr, setAudioOutput as rr } from "./audio/audio-output.js";
185
- import { AudioPlayer as ir } from "./components/AudioPlayer/AudioPlayer.js";
186
- import { createMediaRecorder as ar } from "./capture/media-recorder.js";
187
- import { AUDIO_MIME_CANDIDATES as or, createAudioRecorder as sr, isAudioRecordingSupported as cr, pickAudioMimeType as lr } from "./audio/audio-recorder.js";
188
- import { createLevelMeter as ur } from "./audio/level-meter.js";
189
- import { useAudioRecorder as dr } from "./audio/use-audio-recorder.js";
190
- import { isMediaCaptureSupported as fr } from "./audio/media-access.js";
191
- import { useMicrophone as pr } from "./audio/use-microphone.js";
192
- import { blobToWav as mr, encodeWav as hr } from "./audio/wav.js";
193
- import { AudioRecorder as gr } from "./components/AudioRecorder/AudioRecorder.js";
194
- import { ALL_BARCODE_FORMATS as _r, DEFAULT_BARCODE_FORMATS as vr, createBarcodeDetector as yr, getSupportedBarcodeFormats as br, isBarcodeDetectionSupported as xr, normalizeBarcode as Sr } from "./capture/barcode.js";
195
- import { useTorch as Cr } from "./capture/use-torch.js";
196
- import { useBarcodeScanner as wr } from "./capture/use-barcode-scanner.js";
197
- import { BarcodeScanner as Tr } from "./components/BarcodeScanner/BarcodeScanner.js";
198
- import { aiChatStrings as Er, isGenerating as Dr, lastAssistantId as Or, roleLabel as kr, tailSignature as Ar, turnTime as jr, visibleTurns as Mr } from "./components/AIChat/ai-chat-turns.js";
199
- import { AIChatComposer as Nr } from "./components/AIChat/AIChatComposer.js";
200
- import { Markdown as Pr } from "./components/Markdown/Markdown.js";
201
- import { AIChatTurn as Fr } from "./components/AIChat/AIChatTurn.js";
202
- import { AIChat as Ir } from "./components/AIChat/AIChat.js";
203
- import { Transfer as Lr } from "./components/Transfer/Transfer.js";
204
- import { Masonry as Rr } from "./components/Masonry/Masonry.js";
205
- import { Tour as zr } from "./components/Tour/Tour.js";
206
- import { buildBarListRows as Br } from "./components/BarList/bar-list-model.js";
207
- import { BarList as Vr } from "./components/BarList/BarList.js";
208
- import { describeFilter as Hr, filtersFromSearchParams as Ur, filtersToSearchParams as Wr, operatorsFor as Gr } from "./components/FilterBar/filter-model.js";
209
- import { FilterBar as Kr } from "./components/FilterBar/FilterBar.js";
210
- import { formatCPF as qr, formatCurrency as Jr, formatDate as Yr, formatDateForInput as Xr, formatDateTime as Zr, formatDateTimeForInput as Qr, formatPercent as $r, formatPhone as ei } from "./utils/format.js";
211
- import { applyFilters as ti } from "./components/FilterBar/filter-apply.js";
212
- import { filtersToQueryParams as ni } from "./components/FilterBar/filter-query.js";
213
- import { createJsonStorage as ri, storage as ii } from "./utils/storage.js";
214
- import { compressToString as ai, compressedStorage as oi, compressedStorageCodec as si, decompressFromString as ci } from "./utils/compressed-storage.js";
215
- import { camelCase as li, capitalize as ui, kebabCase as di, pluralize as fi, slugify as pi, truncate as mi } from "./utils/strings.js";
216
- import { chunk as hi, groupBy as gi, range as _i, uniqueBy as vi } from "./utils/arrays.js";
217
- import { deepMerge as yi, isEmpty as bi, omit as xi, pick as Si } from "./utils/objects.js";
218
- import { assertNever as Ci, isDefined as wi, isNumber as Ti, isPlainObject as Ei, isString as Di } from "./utils/guards.js";
219
- import { debounce as Oi, memoizeOne as ki, once as Ai, throttle as ji } from "./utils/functions.js";
220
- import { sleep as Mi, withTimeout as Ni } from "./utils/promises.js";
221
- import { randomId as Pi } from "./utils/ids.js";
222
- import { writeXlsx as Fi } from "./utils/xlsx.js";
223
- import { isShareSupported as Ii, share as Li } from "./share/share.js";
224
- import { shareOrDownloadBlob as Ri } from "./share/share-or-download.js";
225
- import { downloadCsv as zi, toCsv as Bi } from "./utils/csv.js";
226
- import { buildApiUrl as Vi } from "./http/build-url.js";
227
- import { TempestApiError as Hi, isApiError as Ui, isRetriableStatus as Wi } from "./http/errors.js";
228
- import { retry as Gi } from "./http/retry.js";
229
- import { createApiClient as Ki } from "./http/api-client.js";
230
- import { API_ERROR_OFFLINE_KEY as qi, API_ERROR_VALIDATION_KEY as Ji, DEFAULT_API_ERROR_STRINGS as Yi, describeApiError as Xi } from "./http/describe-api-error.js";
231
- import { createI18n as Zi } from "./i18n/create-i18n.js";
232
- import { I18nProvider as Qi, useI18n as $i, useOptionalI18n as ea, useTranslate as ta } from "./i18n/I18nProvider.js";
233
- import { useDescribeApiError as na } from "./http/use-describe-api-error.js";
234
- import { parseResponse as ra } from "./http/parse-response.js";
235
- import { uploadWithProgress as ia } from "./http/upload-with-progress.js";
236
- import { generateIdempotencyKey as aa } from "./http/idempotency.js";
237
- import { DEFAULT_CHUNK_SIZE as oa, createLocalUploadStorage as sa, createResumableUpload as ca, uploadFingerprint as la } from "./http/resumable-upload.js";
238
- import { usePoll as ua } from "./http/use-poll.js";
239
- import { createAuthStore as da } from "./auth/create-auth-store.js";
240
- import { AuthGuard as fa } from "./auth/AuthGuard.js";
241
- import { decodeJWT as pa, isJWTExpired as ma } from "./auth/jwt.js";
242
- import { lazyWithRetry as ha } from "./auth/lazy-with-retry.js";
243
- import { createRefreshQueue as ga } from "./auth/refresh-queue.js";
244
- import { DEFAULT_PUB_KEY_CRED_PARAMS as _a, PasskeyError as va, base64UrlToBytes as ya, bytesToBase64Url as ba, classifyPasskeyError as xa, createPasskeyClient as Sa, isConditionalMediationAvailable as Ca, isPasskeySupported as wa, isPlatformAuthenticatorAvailable as Ta } from "./auth/passkey.js";
245
- import { usePasskeyCapabilities as Ea, usePasskeyRegistration as Da, usePasskeySignIn as Oa } from "./auth/use-passkey.js";
246
- import { createTempestAuth as ka } from "./auth/create-tempest-auth.js";
247
- import { AccessControlProvider as Aa, useAccessControl as ja } from "./access/access-control-context.js";
248
- import { useCan as Ma } from "./access/use-can.js";
249
- import { Can as Na } from "./access/Can.js";
250
- import { createRoleAccessControl as Pa } from "./access/create-role-access-control.js";
251
- import { permissionsFromToken as Fa } from "./access/permissions-from-token.js";
252
- import { GoogleSignIn as Ia } from "./oauth/GoogleSignIn.js";
253
- import { useOAuthCallback as La } from "./oauth/use-oauth-callback.js";
254
- import { CACHE_TIME as Ra, REFETCH_TIME as za, STALE_TIME as Ba } from "./query/constants.js";
255
- import { createQueryKeys as Va } from "./query/create-query-keys.js";
256
- import { shouldRetryQuery as Ha } from "./query/retry-policy.js";
257
- import { QueryProvider as Ua } from "./query/QueryProvider.js";
258
- import { emptyOffsetPage as Wa, isCursorPage as Ga, isOffsetPage as Ka } from "./query/pagination.js";
259
- import { usePaginatedQuery as qa } from "./query/use-paginated-query.js";
260
- import { useCursorQuery as Ja } from "./query/use-cursor-query.js";
261
- import { useOfflineMutation as Ya } from "./query/use-offline-mutation.js";
262
- import { removeById as Xa, upsertById as Za } from "./query/optimistic.js";
263
- import { createOfflineStore as Qa } from "./offline/create-offline-store.js";
264
- import { persistQueryClientOffline as $a } from "./query/offline-persistence.js";
265
- import { createDataProvider as eo } from "./data/create-data-provider.js";
266
- import { TempestDataProvider as to, useDataProvider as no } from "./data/data-provider-context.js";
267
- import { listQueryKey as ro, oneQueryKey as io, useCreate as ao, useDelete as oo, useList as so, useOne as co, useUpdate as lo } from "./data/use-resource.js";
268
- import { RouteGuard as uo } from "./router/RouteGuard.js";
269
- import { AppRouter as fo, defineRoutes as po } from "./router/AppRouter.js";
270
- import { BrowserRouter as mo, HashRouter as ho, Link as go, MemoryRouter as _o, NavLink as vo, Navigate as yo, Outlet as bo, Route as xo, Routes as So, redirect as Co, useLocation as wo, useMatch as To, useNavigate as Eo, useParams as Do, useRouteError as Oo, useSearchParams as ko } from "./router/index.js";
271
- import { createStore as Ao } from "./store/create-store.js";
272
- import { createSelectors as jo } from "./store/create-selectors.js";
273
- import { ThemeProvider as Mo, useTheme as No } from "./theme/ThemeProvider.js";
274
- import { ErrorBoundary as Po } from "./error-boundary/ErrorBoundary.js";
275
- import { AppProviders as Fo } from "./app/AppProviders.js";
276
- import { createEventStream as Io } from "./sse/create-event-stream.js";
277
- import { useEventStream as Lo } from "./sse/use-event-stream.js";
278
- import { isPushSupported as Ro, urlBase64ToUint8Array as zo } from "./push/utils.js";
279
- import { WebPushClient as Bo, WebPushPermissionDeniedError as Vo, WebPushUnsupportedError as Ho } from "./push/web-push-client.js";
280
- import { usePushSubscription as Uo } from "./push/use-push-subscription.js";
281
- import { installNotificationClickHandler as Wo, installPushHandler as Go, installSkipWaitingListener as Ko } from "./sw/create-push-handler.js";
282
- import { createPartialResponse as qo, installPrecache as Jo, installRuntimeCache as Yo } from "./sw/cache.js";
283
- import { installBackgroundSync as Xo } from "./sw/background-sync.js";
284
- import { registerPeriodicSync as Zo } from "./sw/periodic-sync.js";
285
- import { clearCaches as Qo, inspectCaches as $o } from "./sw/cache-inspect.js";
286
- import { createAudioPlayer as es, playAudio as ts, stopAudio as ns } from "./audio/audio-player.js";
287
- import { useAudio as rs } from "./audio/use-audio.js";
288
- import { createSfxPool as is } from "./audio/sfx-pool.js";
289
- import { useSfxPool as as } from "./audio/use-sfx-pool.js";
290
- import { DEFAULT_MAX_GAIN as os, createAudioBus as ss } from "./audio/audio-bus.js";
291
- import { useAudioBus as cs } from "./audio/use-audio-bus.js";
292
- import { DEFAULT_VOICE_CHAIN as ls, createVoiceChain as us, isVoiceChainIdle as ds, monitorVoiceChain as fs } from "./audio/voice-chain.js";
293
- import { measureNoiseFloor as ps, suggestGateThreshold as ms } from "./audio/noise-floor.js";
294
- import { monitorVoiceActivity as hs } from "./audio/voice-activity.js";
295
- import { createVideoRecorder as gs, isVideoRecordingSupported as _s, pickVideoMimeType as vs } from "./capture/video-recorder.js";
296
- import { useVideoRecorder as ys } from "./capture/use-video-recorder.js";
297
- import { isScreenCaptureSupported as bs, useScreenCapture as xs } from "./capture/use-screen-capture.js";
298
- import { isSpeechRecognitionSupported as Ss, useSpeechRecognition as Cs } from "./capture/use-speech-recognition.js";
299
- import { createOfflineDatabase as ws } from "./offline/create-offline-database.js";
300
- import { createOfflineSync as Ts } from "./offline/create-offline-sync.js";
301
- import { higherVersionWins as Es, lastWriteWins as Ds } from "./offline/conflict.js";
302
- import { useErrorHandler as Os } from "./error-boundary/use-error-handler.js";
303
- import { FormField as ks } from "./forms/FormField.js";
304
- import { validateForm as As } from "./forms/validate-form.js";
305
- import { zodResolver as js } from "./forms/zod-resolver.js";
306
- import { useZodForm as Ms } from "./forms/use-zod-form.js";
307
- import { formatCEP as Ns, formatCNPJ as Ps, unmask as Fs, validateCNPJ as Is, validateCPF as Ls } from "./forms/br-validators.js";
308
- import { CEPInput as Rs, CNPJInput as zs, CPFInput as Bs, MoneyInput as Vs, PhoneInput as Hs } from "./forms/masked-inputs.js";
309
- import { useViaCEP as Us } from "./forms/use-viacep.js";
310
- import { Controller as Ws, FormProvider as Gs, useFieldArray as Ks, useForm as qs, useFormContext as Js, useFormState as Ys, useWatch as Xs } from "./forms/index.js";
311
- import { HEARTBEAT_CLOSE_CODE as Zs, isRejectionCloseCode as Qs } from "./ws/resilience.js";
312
- import { createWebSocket as $s } from "./ws/create-web-socket.js";
313
- import { useWebSocket as ec } from "./ws/use-web-socket.js";
314
- import { setTunedLocalDescription as tc, tuneOpus as nc } from "./webrtc/opus-sdp.js";
315
- import { setSenderBitrate as rc } from "./webrtc/sender-bitrate.js";
316
- import { createLinkStatsSampler as ic, readRoundTripMs as ac } from "./webrtc/link-stats.js";
317
- import { useLinkStats as oc } from "./webrtc/use-link-stats.js";
318
- import { resolveDegradation as sc, scaleForRoom as cc } from "./webrtc/mesh-quality.js";
319
- import { createPeerMesh as lc } from "./webrtc/peer-mesh.js";
320
- import { clampLatitude as uc, isCoordinate as dc, isValidLatitude as fc, isValidLongitude as pc, normalizeLongitude as mc } from "./geo/types.js";
321
- import { EARTH_RADIUS_KM as hc, bearingDeg as gc, haversineKm as _c, pathLengthKm as vc, toRadians as yc } from "./geo/distance.js";
322
- import { DEFAULT_CAR_SPEED_KMH as bc, DEFAULT_CIRCUITY_FACTOR as xc, DEFAULT_MODE_DURATION_FACTORS as Sc, estimateTravel as Cc } from "./geo/estimate.js";
323
- import { boundingBox as wc, boundsCenter as Tc, expandBounds as Ec } from "./geo/bounds.js";
324
- import { fitProjection as Dc, projectMercator as Oc, unprojectMercator as kc } from "./geo/projection.js";
325
- import { createOSRMBackend as Ac } from "./geo/routing.js";
326
- import { createPositionTracker as jc } from "./geo/create-position-tracker.js";
327
- import { usePositionTracker as Mc } from "./geo/use-position-tracker.js";
328
- import { TrajectoryMap as Nc } from "./geo/TrajectoryMap.js";
329
- import { applyTheme as Pc, readThemeToken as Fc } from "./theme/apply-theme.js";
330
- import { contrastRatio as Ic, createColorScale as Lc, hexToOklch as Rc, hexToRgb as zc, hexToRgbaString as Bc, oklchToHex as Vc, readableForeground as Hc, relativeLuminance as Uc, rgbToHex as Wc } from "./theme/color.js";
331
- import { createTheme as Gc, themeContrast as Kc } from "./theme/create-theme.js";
332
- import { getThemePreset as qc, themePresets as Jc } from "./theme/theme-presets.js";
333
- import { getInitialTheme as Yc, themeInitScript as Xc } from "./theme/initial-theme.js";
334
- import { consoleSink as Zc, createLogger as Qc } from "./logger/logger.js";
335
- import { TelemetryProvider as $c, useTelemetry as el } from "./telemetry/TelemetryProvider.js";
336
- import { consoleTelemetryAdapter as tl } from "./telemetry/console-adapter.js";
337
- import { createSentryTelemetryAdapter as nl } from "./telemetry/sentry-adapter.js";
338
- import { createPostHogTelemetryAdapter as rl } from "./telemetry/posthog-adapter.js";
339
- import { FeatureFlagsProvider as il, useFeatureFlag as al, useFlagValue as ol } from "./feature-flags/FeatureFlagsProvider.js";
340
- import { createInMemoryFlags as sl } from "./feature-flags/in-memory-adapter.js";
341
- import { createGrowthBookFeatureFlagsAdapter as cl } from "./feature-flags/growthbook-adapter.js";
342
- import { createLaunchDarklyFeatureFlagsAdapter as ll } from "./feature-flags/launchdarkly-adapter.js";
343
- import { DIVERGING_STEP_COUNT as ul, ORDINAL_START_STEP as dl, SEQUENTIAL_STEP_COUNT as fl, divergingScale as pl, scaleSteps as ml, sequentialScale as hl } from "./charts/scales.js";
344
- import { cachedResponseBytes as gl } from "./perf/cache-size.js";
345
- import { readDeviceProfile as _l } from "./perf/device.js";
346
- import { formatDurationMs as vl } from "./perf/format.js";
347
- import { createInferenceProfiler as yl } from "./perf/profiler.js";
348
- export { Ir as AIChat, Nr as AIChatComposer, Fr as AIChatTurn, _r as ALL_BARCODE_FORMATS, qi as API_ERROR_OFFLINE_KEY, Ji as API_ERROR_VALIDATION_KEY, or as AUDIO_MIME_CANDIDATES, Aa as AccessControlProvider, t as Accordion, n as Alert, r as AppBar, Fo as AppProviders, fo as AppRouter, o as AppShell, s as AspectRatio, ir as AudioPlayer, gr as AudioRecorder, fa as AuthGuard, c as Avatar, l as AvatarGroup, i as BREAKPOINTS, u as Badge, d as Banner, Vr as BarList, Tr as BarcodeScanner, f as BottomNavigation, p as BottomSheet, m as Breadcrumbs, mo as BrowserRouter, h as Button, Ra as CACHE_TIME, Rs as CEPInput, zs as CNPJInput, Bs as CPFInput, Rn as Calendar, Na as Can, g as Card, Wn as Carousel, _ as Center, tr as Chat, er as ChatComposer, v as Checkbox, y as ChipInput, xn as ClickOutside, hn as CodeBlock, Mn as Collapsible, b as Combobox, Fn as Command, Sn as ConditionalWrapper, S as ConfirmDialog, I as Container, Nn as ContextMenu, Ws as Controller, mn as CopyButton, Yi as DEFAULT_API_ERROR_STRINGS, vr as DEFAULT_BARCODE_FORMATS, bc as DEFAULT_CAR_SPEED_KMH, oa as DEFAULT_CHUNK_SIZE, xc as DEFAULT_CIRCUITY_FACTOR, os as DEFAULT_MAX_GAIN, Sc as DEFAULT_MODE_DURATION_FACTORS, _a as DEFAULT_PUB_KEY_CRED_PARAMS, oe as DEFAULT_PUSH_TO_TALK_KEY, ls as DEFAULT_VOICE_CHAIN, ul as DIVERGING_STEP_COUNT, En as DataList, Gn as DataTable, w as DatePicker, Vn as DateRangePicker, Dn as DescriptionList, T as Divider, E as Drawer, D as DropdownMenu, O as Dropzone, hc as EARTH_RADIUS_KM, k as EmptyState, Po as ErrorBoundary, A as ErrorState, wn as ErrorText, il as FeatureFlagsProvider, j as FileUpload, Kr as FilterBar, qn as FloatingActionButton, Cn as For, M as Form, N as FormActions, ks as FormField, Gs as FormProvider, P as FormRow, F as FormSection, Ia as GoogleSignIn, L as Grid, Zs as HEARTBEAT_CLOSE_CODE, ho as HashRouter, Ot as Hide, Pn as HoverCard, Qi as I18nProvider, Tn as Image, en as ImageCropper, C as Input, B as InstallBanner, V as InstallButton, lt as Kanban, dt as Kbd, jn as Label, Qn as Lightbox, go as Link, Kn as ListTile, Pr as Markdown, Rr as Masonry, _o as MemoryRouter, Un as Menubar, x as Modal, ft as ModalsProvider, _n as Money, Vs as MoneyInput, Bn as MultiSelect, ht as NProgressBar, vo as NavLink, mt as Navbar, yo as Navigate, Hn as NavigationMenu, Jn as NavigationRail, an as NotificationCenter, dl as ORDINAL_START_STEP, rt as OfflineIndicator, bo as Outlet, se as PUSH_TO_TALK_KEYS, _t as Page, vt as Pagination, va as PasskeyError, yt as PasswordInput, Hs as PhoneInput, xt as PinInput, St as Popover, bn as Portal, Ct as Progress, un as QRCapacityError, pn as QRCode, Ua as QueryProvider, za as REFETCH_TIME, wt as Radio, Tt as RadioGroup, Et as RangeSlider, Dt as RatingStars, Xn as RefreshIndicator, gn as RelativeTime, Ln as Resizable, xo as Route, uo as RouteGuard, So as Routes, fl as SEQUENTIAL_STEP_COUNT, Ba as STALE_TIME, At as SafeArea, nn as Scheduler, In as ScrollArea, jt as SearchBar, Mt as SegmentedControl, Nt as Select, kt as Show, Pt as Sidebar, $n as SignaturePad, Ft as Skeleton, zn as Slider, It as Spacer, tn as Sparkline, Lt as Spinner, R as Stack, Rt as Stat, zt as Stepper, Wt as StepperInput, Gt as Switch, st as SyncStatusBadge, qt as Table, Jt as Tabs, Kt as Tag, $c as TelemetryProvider, Hi as TempestApiError, to as TempestDataProvider, Yt as Textarea, Mo as ThemeProvider, Yn as TimePicker, Xt as Timeline, Qt as ToastProvider, On as Toggle, kn as ToggleGroup, An as ToggleGroupItem, Zt as Tooltip, zr as Tour, Nc as TrajectoryMap, Lr as Transfer, vn as TreeView, yn as TruncateText, ct as UpdatePrompt, sn as VirtualList, ln as VirtualTable, ot as VisuallyHidden, Bo as WebPushClient, Vo as WebPushPermissionDeniedError, Ho as WebPushUnsupportedError, Zn as Wizard, Er as aiChatStrings, pe as announce, ti as applyFilters, ut as applyKanbanMove, Pc as applyTheme, Ci as assertNever, ya as base64UrlToBytes, gc as bearingDeg, mr as blobToWav, wc as boundingBox, Tc as boundsCenter, Vi as buildApiUrl, Br as buildBarListRows, ze as buildOpenInChromeIntent, ba as bytesToBase64Url, gl as cachedResponseBytes, li as camelCase, ui as capitalize, hi as chunk, Bt as clamp, uc as clampLatitude, xa as classifyPasskeyError, me as clearAnnouncer, Qo as clearCaches, e as cn, cn as compareValues, ai as compressToString, oi as compressedStorage, si as compressedStorageCodec, Zc as consoleSink, tl as consoleTelemetryAdapter, Ic as contrastRatio, Ki as createApiClient, ss as createAudioBus, es as createAudioPlayer, sr as createAudioRecorder, da as createAuthStore, yr as createBarcodeDetector, Lc as createColorScale, eo as createDataProvider, Io as createEventStream, cl as createGrowthBookFeatureFlagsAdapter, Zi as createI18n, sl as createInMemoryFlags, yl as createInferenceProfiler, ri as createJsonStorage, ll as createLaunchDarklyFeatureFlagsAdapter, ur as createLevelMeter, ic as createLinkStatsSampler, sa as createLocalUploadStorage, Qc as createLogger, ar as createMediaRecorder, Ac as createOSRMBackend, ws as createOfflineDatabase, Qa as createOfflineStore, Ts as createOfflineSync, qo as createPartialResponse, Sa as createPasskeyClient, lc as createPeerMesh, jc as createPositionTracker, rl as createPostHogTelemetryAdapter, Va as createQueryKeys, ga as createRefreshQueue, ca as createResumableUpload, Pa as createRoleAccessControl, jo as createSelectors, nl as createSentryTelemetryAdapter, is as createSfxPool, Ao as createStore, ka as createTempestAuth, Gc as createTheme, gs as createVideoRecorder, us as createVoiceChain, $s as createWebSocket, Oi as debounce, pa as decodeJWT, ci as decompressFromString, yi as deepMerge, po as defineRoutes, Xi as describeApiError, Hr as describeFilter, pl as divergingScale, zi as downloadCsv, Wa as emptyOffsetPage, dn as encodeQR, hr as encodeWav, bt as estimatePasswordStrength, Ye as estimateStorage, Cc as estimateTravel, Ec as expandBounds, Ur as filtersFromSearchParams, ni as filtersToQueryParams, Wr as filtersToSearchParams, Dc as fitProjection, Vt as formatBytes, Ns as formatCEP, Ps as formatCNPJ, qr as formatCPF, Ht as formatCompactNumber, Jr as formatCurrency, Yr as formatDate, Xr as formatDateForInput, Zr as formatDateTime, Qr as formatDateTimeForInput, vl as formatDurationMs, $r as formatPercent, ei as formatPhone, aa as generateIdempotencyKey, Yc as getInitialTheme, br as getSupportedBarcodeFormats, qc as getThemePreset, gi as groupBy, _c as haversineKm, Rc as hexToOklch, zc as hexToRgb, Bc as hexToRgbaString, Es as higherVersionWins, $o as inspectCaches, Xo as installBackgroundSync, Wo as installNotificationClickHandler, Jo as installPrecache, Go as installPushHandler, Yo as installRuntimeCache, Ko as installSkipWaitingListener, Be as isAndroid, Ve as isAndroidWithoutPromptApi, Ui as isApiError, nr as isAudioOutputSelectionSupported, cr as isAudioRecordingSupported, xr as isBarcodeDetectionSupported, Ca as isConditionalMediationAvailable, dc as isCoordinate, Ga as isCursorPage, wi as isDefined, bi as isEmpty, ie as isFullscreenSupported, Dr as isGenerating, He as isIOS, ma as isJWTExpired, fr as isMediaCaptureSupported, Ti as isNumber, Ka as isOffsetPage, wa as isPasskeySupported, Ei as isPlainObject, Ta as isPlatformAuthenticatorAvailable, Ro as isPushSupported, Qs as isRejectionCloseCode, Wi as isRetriableStatus, bs as isScreenCaptureSupported, Ii as isShareSupported, Ss as isSpeechRecognitionSupported, Ue as isStandalone, Di as isString, fc as isValidLatitude, pc as isValidLongitude, _s as isVideoRecordingSupported, ds as isVoiceChainIdle, di as kebabCase, Or as lastAssistantId, Ds as lastWriteWins, ha as lazyWithRetry, ro as listQueryKey, fn as matrixToPath, ps as measureNoiseFloor, ki as memoizeOne, hs as monitorVoiceActivity, fs as monitorVoiceChain, Qe as moveItem, Sr as normalizeBarcode, mc as normalizeLongitude, gt as nprogress, Vc as oklchToHex, xi as omit, Ai as once, io as oneQueryKey, Gr as operatorsFor, ra as parseResponse, vc as pathLengthKm, Ut as percentOf, Fa as permissionsFromToken, $a as persistQueryClientOffline, Si as pick, lr as pickAudioMimeType, vs as pickVideoMimeType, ts as playAudio, fi as pluralize, Oc as projectMercator, ce as pushToTalkKeyLabel, Pi as randomId, _i as range, _l as readDeviceProfile, ac as readRoundTripMs, Fc as readThemeToken, Hc as readableForeground, Co as redirect, Zo as registerPeriodicSync, Ge as registerServiceWorker, Uc as relativeLuminance, rn as relativeTime, Xa as removeById, Xe as requestPersistentStorage, sc as resolveDegradation, Gi as retry, Wc as rgbToHex, kr as roleLabel, cc as scaleForRoom, ml as scaleSteps, hl as sequentialScale, rr as setAudioOutput, rc as setSenderBitrate, tc as setTunedLocalDescription, Li as share, Ri as shareOrDownloadBlob, Ha as shouldRetryQuery, Ke as skipWaiting, Mi as sleep, pi as slugify, ns as stopAudio, ii as storage, ms as suggestGateThreshold, Ar as tailSignature, Kc as themeContrast, Xc as themeInitScript, Jc as themePresets, ji as throttle, Bi as toCsv, yc as toRadians, mi as truncate, nc as tuneOpus, jr as turnTime, vi as uniqueBy, Fs as unmask, kc as unprojectMercator, qe as unregisterAllServiceWorkers, la as uploadFingerprint, ia as uploadWithProgress, Za as upsertById, zo as urlBase64ToUint8Array, ja as useAccessControl, he as useAnnounce, X as useAsync, rs as useAudio, cs as useAudioBus, dr as useAudioRecorder, wr as useBarcodeScanner, z as useBeforeInstallPrompt, a as useBreakpoint, Ma as useCan, Fe as useClickOutside, W as useClientFilter, te as useClipboard, Oe as useCountdown, De as useCounter, ao as useCreate, Ja as useCursorQuery, no as useDataProvider, H as useDebounce, _e as useDeepMemo, oo as useDelete, na as useDescribeApiError, Te as useDisclosure, Ae as useDocumentTitle, Q as useDocumentVisibility, Os as useErrorHandler, q as useEventListener, Lo as useEventStream, je as useFavicon, al as useFeatureFlag, Ks as useFieldArray, ol as useFlagValue, fe as useFocusTrap, qs as useForm, Js as useFormContext, Ys as useFormState, ae as useFullscreen, ue as useGeolocation, Ce as useHover, $i as useI18n, re as useIdle, We as useInstallPrompt, $ as useIntersectionObserver, ye as useInterval, Ie as useIsFirstRender, ne as useKeyboardShortcut, K as useLatestRef, oc as useLinkStats, so as useList, Ee as useListState, J as useLocalStorage, wo as useLocation, we as useLongPress, Re as useLongPressHandlers, Me as useMap, To as useMatch, nt as useMediaDevices, tt as useMediaPermission, G as useMediaQuery, pr as useMicrophone, pt as useModals, Eo as useNavigate, on as useNotificationInbox, La as useOAuthCallback, Le as useObjectUrl, Ya as useOfflineMutation, it as useOfflineSync, co as useOne, Z as useOnline, ea as useOptionalI18n, qa as usePaginatedQuery, U as usePagination, Do as useParams, Ea as usePasskeyCapabilities, Da as usePasskeyRegistration, Oa as usePasskeySignIn, ua as usePoll, Mc as usePositionTracker, ve as usePrevious, Uo as usePushSubscription, le as usePushToTalk, Pe as useQueue, ee as useResizeObserver, Oo as useRouteError, xs as useScreenCapture, de as useScrollLock, et as useScrollOverflow, ko as useSearchParams, Je as useServiceWorkerUpdate, Ne as useSet, as as useSfxPool, $e as useSortable, Cs as useSpeechRecognition, ge as useStableCallback, Ze as useStorageEstimate, at as useSyncStatus, el as useTelemetry, No as useTheme, xe as useThrottle, be as useTimeout, $t as useToast, Y as useToggle, Cr as useTorch, ta as useTranslate, ke as useTypewriter, lo as useUpdate, Us as useViaCEP, ys as useVideoRecorder, Xs as useWatch, ec as useWebSocket, Se as useWindowSize, Ms as useZodForm, Is as validateCNPJ, Ls as validateCPF, As as validateForm, Mr as visibleTurns, Ni as withTimeout, Fi as writeXlsx, js as zodResolver };
138
+ import { DEFAULT_PLAYBACK_RATES as sn } from "./components/VideoPlayer/playback-rates.js";
139
+ import { VideoPlayer as cn } from "./components/VideoPlayer/VideoPlayer.js";
140
+ import { VirtualList as ln } from "./components/VirtualList/VirtualList.js";
141
+ import { compareValues as un } from "./utils/compare-values.js";
142
+ import { VirtualTable as dn } from "./components/VirtualTable/VirtualTable.js";
143
+ import { QRCapacityError as fn, encodeQR as pn, matrixToPath as mn } from "./components/QRCode/qr-encode.js";
144
+ import { QRCode as hn } from "./components/QRCode/QRCode.js";
145
+ import { CopyButton as gn } from "./components/CopyButton/CopyButton.js";
146
+ import { CodeBlock as _n } from "./components/CodeBlock/CodeBlock.js";
147
+ import { RelativeTime as vn } from "./components/RelativeTime/RelativeTime.js";
148
+ import { Money as yn } from "./components/Money/Money.js";
149
+ import { TreeView as bn } from "./components/TreeView/TreeView.js";
150
+ import { TruncateText as xn } from "./components/TruncateText/TruncateText.js";
151
+ import { Portal as Sn } from "./components/Portal/Portal.js";
152
+ import { ClickOutside as Cn } from "./components/ClickOutside/ClickOutside.js";
153
+ import { ConditionalWrapper as wn } from "./components/ConditionalWrapper/ConditionalWrapper.js";
154
+ import { For as Tn } from "./components/For/For.js";
155
+ import { ErrorText as En } from "./components/ErrorText/ErrorText.js";
156
+ import { Image as Dn } from "./components/Image/Image.js";
157
+ import { DataList as On } from "./components/DataList/DataList.js";
158
+ import { DescriptionList as kn } from "./components/DescriptionList/DescriptionList.js";
159
+ import { Toggle as An } from "./components/Toggle/Toggle.js";
160
+ import { ToggleGroup as jn, ToggleGroupItem as Mn } from "./components/ToggleGroup/ToggleGroup.js";
161
+ import { Label as Nn } from "./components/Label/Label.js";
162
+ import { Collapsible as Pn } from "./components/Collapsible/Collapsible.js";
163
+ import { ContextMenu as Fn } from "./components/ContextMenu/ContextMenu.js";
164
+ import { HoverCard as In } from "./components/HoverCard/HoverCard.js";
165
+ import { Command as Ln } from "./components/Command/Command.js";
166
+ import { ScrollArea as Rn } from "./components/ScrollArea/ScrollArea.js";
167
+ import { Resizable as zn } from "./components/Resizable/Resizable.js";
168
+ import { Calendar as Bn } from "./components/Calendar/Calendar.js";
169
+ import { Slider as Vn } from "./components/Slider/Slider.js";
170
+ import { MultiSelect as Hn } from "./components/MultiSelect/MultiSelect.js";
171
+ import { DateRangePicker as Un } from "./components/DateRangePicker/DateRangePicker.js";
172
+ import { NavigationMenu as Wn } from "./components/NavigationMenu/NavigationMenu.js";
173
+ import { Menubar as Gn } from "./components/Menubar/Menubar.js";
174
+ import { Carousel as Kn } from "./components/Carousel/Carousel.js";
175
+ import { DataTable as qn } from "./components/DataTable/DataTable.js";
176
+ import { ListTile as Jn } from "./components/ListTile/ListTile.js";
177
+ import { FloatingActionButton as Yn } from "./components/FloatingActionButton/FloatingActionButton.js";
178
+ import { NavigationRail as Xn } from "./components/NavigationRail/NavigationRail.js";
179
+ import { TimePicker as Zn } from "./components/TimePicker/TimePicker.js";
180
+ import { RefreshIndicator as Qn } from "./components/RefreshIndicator/RefreshIndicator.js";
181
+ import { Wizard as $n } from "./components/Wizard/Wizard.js";
182
+ import { Lightbox as er } from "./components/Lightbox/Lightbox.js";
183
+ import { SignaturePad as tr } from "./components/SignaturePad/SignaturePad.js";
184
+ import { ChatComposer as nr } from "./components/Chat/ChatComposer.js";
185
+ import { Chat as rr } from "./components/Chat/Chat.js";
186
+ import { isAudioOutputSelectionSupported as ir, setAudioOutput as ar } from "./audio/audio-output.js";
187
+ import { AudioPlayer as or } from "./components/AudioPlayer/AudioPlayer.js";
188
+ import { createMediaRecorder as sr } from "./capture/media-recorder.js";
189
+ import { AUDIO_MIME_CANDIDATES as cr, createAudioRecorder as lr, isAudioRecordingSupported as ur, pickAudioMimeType as dr } from "./audio/audio-recorder.js";
190
+ import { createLevelMeter as fr } from "./audio/level-meter.js";
191
+ import { useAudioRecorder as pr } from "./audio/use-audio-recorder.js";
192
+ import { isMediaCaptureSupported as mr } from "./audio/media-access.js";
193
+ import { useMicrophone as hr } from "./audio/use-microphone.js";
194
+ import { blobToWav as gr, encodeWav as _r } from "./audio/wav.js";
195
+ import { AudioRecorder as vr } from "./components/AudioRecorder/AudioRecorder.js";
196
+ import { ALL_BARCODE_FORMATS as yr, DEFAULT_BARCODE_FORMATS as br, createBarcodeDetector as xr, getSupportedBarcodeFormats as Sr, isBarcodeDetectionSupported as Cr, normalizeBarcode as wr } from "./capture/barcode.js";
197
+ import { useTorch as Tr } from "./capture/use-torch.js";
198
+ import { useBarcodeScanner as Er } from "./capture/use-barcode-scanner.js";
199
+ import { BarcodeScanner as Dr } from "./components/BarcodeScanner/BarcodeScanner.js";
200
+ import { aiChatStrings as Or, isGenerating as kr, lastAssistantId as Ar, roleLabel as jr, tailSignature as Mr, turnTime as Nr, visibleTurns as Pr } from "./components/AIChat/ai-chat-turns.js";
201
+ import { AIChatComposer as Fr } from "./components/AIChat/AIChatComposer.js";
202
+ import { Markdown as Ir } from "./components/Markdown/Markdown.js";
203
+ import { AIChatTurn as Lr } from "./components/AIChat/AIChatTurn.js";
204
+ import { AIChat as Rr } from "./components/AIChat/AIChat.js";
205
+ import { Transfer as zr } from "./components/Transfer/Transfer.js";
206
+ import { Masonry as Br } from "./components/Masonry/Masonry.js";
207
+ import { Tour as Vr } from "./components/Tour/Tour.js";
208
+ import { buildBarListRows as Hr } from "./components/BarList/bar-list-model.js";
209
+ import { BarList as Ur } from "./components/BarList/BarList.js";
210
+ import { describeFilter as Wr, filtersFromSearchParams as Gr, filtersToSearchParams as Kr, operatorsFor as qr } from "./components/FilterBar/filter-model.js";
211
+ import { FilterBar as Jr } from "./components/FilterBar/FilterBar.js";
212
+ import { formatCPF as Yr, formatCurrency as Xr, formatDate as Zr, formatDateForInput as Qr, formatDateTime as $r, formatDateTimeForInput as ei, formatPercent as ti, formatPhone as ni } from "./utils/format.js";
213
+ import { applyFilters as ri } from "./components/FilterBar/filter-apply.js";
214
+ import { filtersToQueryParams as ii } from "./components/FilterBar/filter-query.js";
215
+ import { createJsonStorage as ai, storage as oi } from "./utils/storage.js";
216
+ import { compressToString as si, compressedStorage as ci, compressedStorageCodec as li, decompressFromString as ui } from "./utils/compressed-storage.js";
217
+ import { camelCase as di, capitalize as fi, kebabCase as pi, pluralize as mi, slugify as hi, truncate as gi } from "./utils/strings.js";
218
+ import { chunk as _i, groupBy as vi, range as yi, uniqueBy as bi } from "./utils/arrays.js";
219
+ import { deepMerge as xi, isEmpty as Si, omit as Ci, pick as wi } from "./utils/objects.js";
220
+ import { assertNever as Ti, isDefined as Ei, isNumber as Di, isPlainObject as Oi, isString as ki } from "./utils/guards.js";
221
+ import { debounce as Ai, memoizeOne as ji, once as Mi, throttle as Ni } from "./utils/functions.js";
222
+ import { sleep as Pi, withTimeout as Fi } from "./utils/promises.js";
223
+ import { randomId as Ii } from "./utils/ids.js";
224
+ import { writeXlsx as Li } from "./utils/xlsx.js";
225
+ import { isShareSupported as Ri, share as zi } from "./share/share.js";
226
+ import { shareOrDownloadBlob as Bi } from "./share/share-or-download.js";
227
+ import { downloadCsv as Vi, toCsv as Hi } from "./utils/csv.js";
228
+ import { buildApiUrl as Ui } from "./http/build-url.js";
229
+ import { TempestApiError as Wi, isApiError as Gi, isRetriableStatus as Ki } from "./http/errors.js";
230
+ import { retry as qi } from "./http/retry.js";
231
+ import { createApiClient as Ji } from "./http/api-client.js";
232
+ import { API_ERROR_OFFLINE_KEY as Yi, API_ERROR_VALIDATION_KEY as Xi, DEFAULT_API_ERROR_STRINGS as Zi, describeApiError as Qi } from "./http/describe-api-error.js";
233
+ import { createI18n as $i } from "./i18n/create-i18n.js";
234
+ import { I18nProvider as ea, useI18n as ta, useOptionalI18n as na, useTranslate as ra } from "./i18n/I18nProvider.js";
235
+ import { useDescribeApiError as ia } from "./http/use-describe-api-error.js";
236
+ import { parseResponse as aa } from "./http/parse-response.js";
237
+ import { uploadWithProgress as oa } from "./http/upload-with-progress.js";
238
+ import { generateIdempotencyKey as sa } from "./http/idempotency.js";
239
+ import { DEFAULT_CHUNK_SIZE as ca, createLocalUploadStorage as la, createResumableUpload as ua, uploadFingerprint as da } from "./http/resumable-upload.js";
240
+ import { usePoll as fa } from "./http/use-poll.js";
241
+ import { createAuthStore as pa } from "./auth/create-auth-store.js";
242
+ import { AuthGuard as ma } from "./auth/AuthGuard.js";
243
+ import { decodeJWT as ha, isJWTExpired as ga } from "./auth/jwt.js";
244
+ import { lazyWithRetry as _a } from "./auth/lazy-with-retry.js";
245
+ import { createRefreshQueue as va } from "./auth/refresh-queue.js";
246
+ import { DEFAULT_PUB_KEY_CRED_PARAMS as ya, PasskeyError as ba, base64UrlToBytes as xa, bytesToBase64Url as Sa, classifyPasskeyError as Ca, createPasskeyClient as wa, isConditionalMediationAvailable as Ta, isPasskeySupported as Ea, isPlatformAuthenticatorAvailable as Da } from "./auth/passkey.js";
247
+ import { usePasskeyCapabilities as Oa, usePasskeyRegistration as ka, usePasskeySignIn as Aa } from "./auth/use-passkey.js";
248
+ import { createTempestAuth as ja } from "./auth/create-tempest-auth.js";
249
+ import { AccessControlProvider as Ma, useAccessControl as Na } from "./access/access-control-context.js";
250
+ import { useCan as Pa } from "./access/use-can.js";
251
+ import { Can as Fa } from "./access/Can.js";
252
+ import { createRoleAccessControl as Ia } from "./access/create-role-access-control.js";
253
+ import { permissionsFromToken as La } from "./access/permissions-from-token.js";
254
+ import { GoogleSignIn as Ra } from "./oauth/GoogleSignIn.js";
255
+ import { useOAuthCallback as za } from "./oauth/use-oauth-callback.js";
256
+ import { CACHE_TIME as Ba, REFETCH_TIME as Va, STALE_TIME as Ha } from "./query/constants.js";
257
+ import { createQueryKeys as Ua } from "./query/create-query-keys.js";
258
+ import { shouldRetryQuery as Wa } from "./query/retry-policy.js";
259
+ import { QueryProvider as Ga } from "./query/QueryProvider.js";
260
+ import { emptyOffsetPage as Ka, isCursorPage as qa, isOffsetPage as Ja } from "./query/pagination.js";
261
+ import { usePaginatedQuery as Ya } from "./query/use-paginated-query.js";
262
+ import { useCursorQuery as Xa } from "./query/use-cursor-query.js";
263
+ import { useOfflineMutation as Za } from "./query/use-offline-mutation.js";
264
+ import { removeById as Qa, upsertById as $a } from "./query/optimistic.js";
265
+ import { createOfflineStore as eo } from "./offline/create-offline-store.js";
266
+ import { persistQueryClientOffline as to } from "./query/offline-persistence.js";
267
+ import { createDataProvider as no } from "./data/create-data-provider.js";
268
+ import { TempestDataProvider as ro, useDataProvider as io } from "./data/data-provider-context.js";
269
+ import { listQueryKey as ao, oneQueryKey as oo, useCreate as so, useDelete as co, useList as lo, useOne as uo, useUpdate as fo } from "./data/use-resource.js";
270
+ import { RouteGuard as po } from "./router/RouteGuard.js";
271
+ import { AppRouter as mo, defineRoutes as ho } from "./router/AppRouter.js";
272
+ import { BrowserRouter as go, HashRouter as _o, Link as vo, MemoryRouter as yo, NavLink as bo, Navigate as xo, Outlet as So, Route as Co, Routes as wo, redirect as To, useLocation as Eo, useMatch as Do, useNavigate as Oo, useParams as ko, useRouteError as Ao, useSearchParams as jo } from "./router/index.js";
273
+ import { createStore as Mo } from "./store/create-store.js";
274
+ import { createSelectors as No } from "./store/create-selectors.js";
275
+ import { ThemeProvider as Po, useTheme as Fo } from "./theme/ThemeProvider.js";
276
+ import { ErrorBoundary as Io } from "./error-boundary/ErrorBoundary.js";
277
+ import { AppProviders as Lo } from "./app/AppProviders.js";
278
+ import { createEventStream as Ro } from "./sse/create-event-stream.js";
279
+ import { useEventStream as zo } from "./sse/use-event-stream.js";
280
+ import { isPushSupported as Bo, urlBase64ToUint8Array as Vo } from "./push/utils.js";
281
+ import { WebPushClient as Ho, WebPushPermissionDeniedError as Uo, WebPushUnsupportedError as Wo } from "./push/web-push-client.js";
282
+ import { usePushSubscription as Go } from "./push/use-push-subscription.js";
283
+ import { installNotificationClickHandler as Ko, installPushHandler as qo, installSkipWaitingListener as Jo } from "./sw/create-push-handler.js";
284
+ import { createPartialResponse as Yo, installPrecache as Xo, installRuntimeCache as Zo } from "./sw/cache.js";
285
+ import { installBackgroundSync as Qo } from "./sw/background-sync.js";
286
+ import { registerPeriodicSync as $o } from "./sw/periodic-sync.js";
287
+ import { clearCaches as es, inspectCaches as ts } from "./sw/cache-inspect.js";
288
+ import { createAudioPlayer as ns, playAudio as rs, stopAudio as is } from "./audio/audio-player.js";
289
+ import { useAudio as as } from "./audio/use-audio.js";
290
+ import { createSfxPool as os } from "./audio/sfx-pool.js";
291
+ import { useSfxPool as ss } from "./audio/use-sfx-pool.js";
292
+ import { DEFAULT_MAX_GAIN as cs, createAudioBus as ls } from "./audio/audio-bus.js";
293
+ import { useAudioBus as us } from "./audio/use-audio-bus.js";
294
+ import { DEFAULT_VOICE_CHAIN as ds, createVoiceChain as fs, isVoiceChainIdle as ps, monitorVoiceChain as ms } from "./audio/voice-chain.js";
295
+ import { measureNoiseFloor as hs, suggestGateThreshold as gs } from "./audio/noise-floor.js";
296
+ import { monitorVoiceActivity as _s } from "./audio/voice-activity.js";
297
+ import { createVideoRecorder as vs, isVideoRecordingSupported as ys, pickVideoMimeType as bs } from "./capture/video-recorder.js";
298
+ import { useVideoRecorder as xs } from "./capture/use-video-recorder.js";
299
+ import { isScreenCaptureSupported as Ss, useScreenCapture as Cs } from "./capture/use-screen-capture.js";
300
+ import { isSpeechRecognitionSupported as ws, useSpeechRecognition as Ts } from "./capture/use-speech-recognition.js";
301
+ import { createOfflineDatabase as Es } from "./offline/create-offline-database.js";
302
+ import { createOfflineSync as Ds } from "./offline/create-offline-sync.js";
303
+ import { higherVersionWins as Os, lastWriteWins as ks } from "./offline/conflict.js";
304
+ import { useErrorHandler as As } from "./error-boundary/use-error-handler.js";
305
+ import { FormField as js } from "./forms/FormField.js";
306
+ import { validateForm as Ms } from "./forms/validate-form.js";
307
+ import { zodResolver as Ns } from "./forms/zod-resolver.js";
308
+ import { useZodForm as Ps } from "./forms/use-zod-form.js";
309
+ import { formatCEP as Fs, formatCNPJ as Is, unmask as Ls, validateCNPJ as Rs, validateCPF as zs } from "./forms/br-validators.js";
310
+ import { CEPInput as Bs, CNPJInput as Vs, CPFInput as Hs, MoneyInput as Us, PhoneInput as Ws } from "./forms/masked-inputs.js";
311
+ import { useViaCEP as Gs } from "./forms/use-viacep.js";
312
+ import { Controller as Ks, FormProvider as qs, useFieldArray as Js, useForm as Ys, useFormContext as Xs, useFormState as Zs, useWatch as Qs } from "./forms/index.js";
313
+ import { HEARTBEAT_CLOSE_CODE as $s, isRejectionCloseCode as ec } from "./ws/resilience.js";
314
+ import { createWebSocket as tc } from "./ws/create-web-socket.js";
315
+ import { useWebSocket as nc } from "./ws/use-web-socket.js";
316
+ import { setTunedLocalDescription as rc, tuneOpus as ic } from "./webrtc/opus-sdp.js";
317
+ import { setSenderBitrate as ac } from "./webrtc/sender-bitrate.js";
318
+ import { createLinkStatsSampler as oc, readAvailableOutgoingKbps as sc, readQualityLimitation as cc, readRelayed as lc, readRoundTripMs as uc } from "./webrtc/link-stats.js";
319
+ import { useLinkStats as dc } from "./webrtc/use-link-stats.js";
320
+ import { resolveDegradation as fc, scaleForRoom as pc } from "./webrtc/mesh-quality.js";
321
+ import { createPeerMesh as mc } from "./webrtc/peer-mesh.js";
322
+ import { clampLatitude as hc, isCoordinate as gc, isValidLatitude as _c, isValidLongitude as vc, normalizeLongitude as yc } from "./geo/types.js";
323
+ import { EARTH_RADIUS_KM as bc, bearingDeg as xc, haversineKm as Sc, pathLengthKm as Cc, toRadians as wc } from "./geo/distance.js";
324
+ import { DEFAULT_CAR_SPEED_KMH as Tc, DEFAULT_CIRCUITY_FACTOR as Ec, DEFAULT_MODE_DURATION_FACTORS as Dc, estimateTravel as Oc } from "./geo/estimate.js";
325
+ import { boundingBox as kc, boundsCenter as Ac, expandBounds as jc } from "./geo/bounds.js";
326
+ import { fitProjection as Mc, projectMercator as Nc, unprojectMercator as Pc } from "./geo/projection.js";
327
+ import { createOSRMBackend as Fc } from "./geo/routing.js";
328
+ import { createPositionTracker as Ic } from "./geo/create-position-tracker.js";
329
+ import { usePositionTracker as Lc } from "./geo/use-position-tracker.js";
330
+ import { TrajectoryMap as Rc } from "./geo/TrajectoryMap.js";
331
+ import { applyTheme as zc, readThemeToken as Bc } from "./theme/apply-theme.js";
332
+ import { contrastRatio as Vc, createColorScale as Hc, hexToOklch as Uc, hexToRgb as Wc, hexToRgbaString as Gc, oklchToHex as Kc, readableForeground as qc, relativeLuminance as Jc, rgbToHex as Yc } from "./theme/color.js";
333
+ import { createTheme as Xc, themeContrast as Zc } from "./theme/create-theme.js";
334
+ import { getThemePreset as Qc, themePresets as $c } from "./theme/theme-presets.js";
335
+ import { getInitialTheme as el, themeInitScript as tl } from "./theme/initial-theme.js";
336
+ import { consoleSink as nl, createLogger as rl } from "./logger/logger.js";
337
+ import { TelemetryProvider as il, useTelemetry as al } from "./telemetry/TelemetryProvider.js";
338
+ import { consoleTelemetryAdapter as ol } from "./telemetry/console-adapter.js";
339
+ import { createSentryTelemetryAdapter as sl } from "./telemetry/sentry-adapter.js";
340
+ import { createPostHogTelemetryAdapter as cl } from "./telemetry/posthog-adapter.js";
341
+ import { FeatureFlagsProvider as ll, useFeatureFlag as ul, useFlagValue as dl } from "./feature-flags/FeatureFlagsProvider.js";
342
+ import { createInMemoryFlags as fl } from "./feature-flags/in-memory-adapter.js";
343
+ import { createGrowthBookFeatureFlagsAdapter as pl } from "./feature-flags/growthbook-adapter.js";
344
+ import { createLaunchDarklyFeatureFlagsAdapter as ml } from "./feature-flags/launchdarkly-adapter.js";
345
+ import { DIVERGING_STEP_COUNT as hl, ORDINAL_START_STEP as gl, SEQUENTIAL_STEP_COUNT as _l, divergingScale as vl, scaleSteps as yl, sequentialScale as bl } from "./charts/scales.js";
346
+ import { cachedResponseBytes as xl } from "./perf/cache-size.js";
347
+ import { readDeviceProfile as Sl } from "./perf/device.js";
348
+ import { formatDurationMs as Cl } from "./perf/format.js";
349
+ import { createInferenceProfiler as wl } from "./perf/profiler.js";
350
+ export { Rr as AIChat, Fr as AIChatComposer, Lr as AIChatTurn, yr as ALL_BARCODE_FORMATS, Yi as API_ERROR_OFFLINE_KEY, Xi as API_ERROR_VALIDATION_KEY, cr as AUDIO_MIME_CANDIDATES, Ma as AccessControlProvider, t as Accordion, n as Alert, r as AppBar, Lo as AppProviders, mo as AppRouter, o as AppShell, s as AspectRatio, or as AudioPlayer, vr as AudioRecorder, ma as AuthGuard, c as Avatar, l as AvatarGroup, i as BREAKPOINTS, u as Badge, d as Banner, Ur as BarList, Dr as BarcodeScanner, f as BottomNavigation, p as BottomSheet, m as Breadcrumbs, go as BrowserRouter, h as Button, Ba as CACHE_TIME, Bs as CEPInput, Vs as CNPJInput, Hs as CPFInput, Bn as Calendar, Fa as Can, g as Card, Kn as Carousel, _ as Center, rr as Chat, nr as ChatComposer, v as Checkbox, y as ChipInput, Cn as ClickOutside, _n as CodeBlock, Pn as Collapsible, b as Combobox, Ln as Command, wn as ConditionalWrapper, S as ConfirmDialog, I as Container, Fn as ContextMenu, Ks as Controller, gn as CopyButton, Zi as DEFAULT_API_ERROR_STRINGS, br as DEFAULT_BARCODE_FORMATS, Tc as DEFAULT_CAR_SPEED_KMH, ca as DEFAULT_CHUNK_SIZE, Ec as DEFAULT_CIRCUITY_FACTOR, cs as DEFAULT_MAX_GAIN, Dc as DEFAULT_MODE_DURATION_FACTORS, sn as DEFAULT_PLAYBACK_RATES, ya as DEFAULT_PUB_KEY_CRED_PARAMS, oe as DEFAULT_PUSH_TO_TALK_KEY, ds as DEFAULT_VOICE_CHAIN, hl as DIVERGING_STEP_COUNT, On as DataList, qn as DataTable, w as DatePicker, Un as DateRangePicker, kn as DescriptionList, T as Divider, E as Drawer, D as DropdownMenu, O as Dropzone, bc as EARTH_RADIUS_KM, k as EmptyState, Io as ErrorBoundary, A as ErrorState, En as ErrorText, ll as FeatureFlagsProvider, j as FileUpload, Jr as FilterBar, Yn as FloatingActionButton, Tn as For, M as Form, N as FormActions, js as FormField, qs as FormProvider, P as FormRow, F as FormSection, Ra as GoogleSignIn, L as Grid, $s as HEARTBEAT_CLOSE_CODE, _o as HashRouter, Ot as Hide, In as HoverCard, ea as I18nProvider, Dn as Image, en as ImageCropper, C as Input, B as InstallBanner, V as InstallButton, lt as Kanban, dt as Kbd, Nn as Label, er as Lightbox, vo as Link, Jn as ListTile, Ir as Markdown, Br as Masonry, yo as MemoryRouter, Gn as Menubar, x as Modal, ft as ModalsProvider, yn as Money, Us as MoneyInput, Hn as MultiSelect, ht as NProgressBar, bo as NavLink, mt as Navbar, xo as Navigate, Wn as NavigationMenu, Xn as NavigationRail, an as NotificationCenter, gl as ORDINAL_START_STEP, rt as OfflineIndicator, So as Outlet, se as PUSH_TO_TALK_KEYS, _t as Page, vt as Pagination, ba as PasskeyError, yt as PasswordInput, Ws as PhoneInput, xt as PinInput, St as Popover, Sn as Portal, Ct as Progress, fn as QRCapacityError, hn as QRCode, Ga as QueryProvider, Va as REFETCH_TIME, wt as Radio, Tt as RadioGroup, Et as RangeSlider, Dt as RatingStars, Qn as RefreshIndicator, vn as RelativeTime, zn as Resizable, Co as Route, po as RouteGuard, wo as Routes, _l as SEQUENTIAL_STEP_COUNT, Ha as STALE_TIME, At as SafeArea, nn as Scheduler, Rn as ScrollArea, jt as SearchBar, Mt as SegmentedControl, Nt as Select, kt as Show, Pt as Sidebar, tr as SignaturePad, Ft as Skeleton, Vn as Slider, It as Spacer, tn as Sparkline, Lt as Spinner, R as Stack, Rt as Stat, zt as Stepper, Wt as StepperInput, Gt as Switch, st as SyncStatusBadge, qt as Table, Jt as Tabs, Kt as Tag, il as TelemetryProvider, Wi as TempestApiError, ro as TempestDataProvider, Yt as Textarea, Po as ThemeProvider, Zn as TimePicker, Xt as Timeline, Qt as ToastProvider, An as Toggle, jn as ToggleGroup, Mn as ToggleGroupItem, Zt as Tooltip, Vr as Tour, Rc as TrajectoryMap, zr as Transfer, bn as TreeView, xn as TruncateText, ct as UpdatePrompt, cn as VideoPlayer, ln as VirtualList, dn as VirtualTable, ot as VisuallyHidden, Ho as WebPushClient, Uo as WebPushPermissionDeniedError, Wo as WebPushUnsupportedError, $n as Wizard, Or as aiChatStrings, pe as announce, ri as applyFilters, ut as applyKanbanMove, zc as applyTheme, Ti as assertNever, xa as base64UrlToBytes, xc as bearingDeg, gr as blobToWav, kc as boundingBox, Ac as boundsCenter, Ui as buildApiUrl, Hr as buildBarListRows, ze as buildOpenInChromeIntent, Sa as bytesToBase64Url, xl as cachedResponseBytes, di as camelCase, fi as capitalize, _i as chunk, Bt as clamp, hc as clampLatitude, Ca as classifyPasskeyError, me as clearAnnouncer, es as clearCaches, e as cn, un as compareValues, si as compressToString, ci as compressedStorage, li as compressedStorageCodec, nl as consoleSink, ol as consoleTelemetryAdapter, Vc as contrastRatio, Ji as createApiClient, ls as createAudioBus, ns as createAudioPlayer, lr as createAudioRecorder, pa as createAuthStore, xr as createBarcodeDetector, Hc as createColorScale, no as createDataProvider, Ro as createEventStream, pl as createGrowthBookFeatureFlagsAdapter, $i as createI18n, fl as createInMemoryFlags, wl as createInferenceProfiler, ai as createJsonStorage, ml as createLaunchDarklyFeatureFlagsAdapter, fr as createLevelMeter, oc as createLinkStatsSampler, la as createLocalUploadStorage, rl as createLogger, sr as createMediaRecorder, Fc as createOSRMBackend, Es as createOfflineDatabase, eo as createOfflineStore, Ds as createOfflineSync, Yo as createPartialResponse, wa as createPasskeyClient, mc as createPeerMesh, Ic as createPositionTracker, cl as createPostHogTelemetryAdapter, Ua as createQueryKeys, va as createRefreshQueue, ua as createResumableUpload, Ia as createRoleAccessControl, No as createSelectors, sl as createSentryTelemetryAdapter, os as createSfxPool, Mo as createStore, ja as createTempestAuth, Xc as createTheme, vs as createVideoRecorder, fs as createVoiceChain, tc as createWebSocket, Ai as debounce, ha as decodeJWT, ui as decompressFromString, xi as deepMerge, ho as defineRoutes, Qi as describeApiError, Wr as describeFilter, vl as divergingScale, Vi as downloadCsv, Ka as emptyOffsetPage, pn as encodeQR, _r as encodeWav, bt as estimatePasswordStrength, Ye as estimateStorage, Oc as estimateTravel, jc as expandBounds, Gr as filtersFromSearchParams, ii as filtersToQueryParams, Kr as filtersToSearchParams, Mc as fitProjection, Vt as formatBytes, Fs as formatCEP, Is as formatCNPJ, Yr as formatCPF, Ht as formatCompactNumber, Xr as formatCurrency, Zr as formatDate, Qr as formatDateForInput, $r as formatDateTime, ei as formatDateTimeForInput, Cl as formatDurationMs, ti as formatPercent, ni as formatPhone, sa as generateIdempotencyKey, el as getInitialTheme, Sr as getSupportedBarcodeFormats, Qc as getThemePreset, vi as groupBy, Sc as haversineKm, Uc as hexToOklch, Wc as hexToRgb, Gc as hexToRgbaString, Os as higherVersionWins, ts as inspectCaches, Qo as installBackgroundSync, Ko as installNotificationClickHandler, Xo as installPrecache, qo as installPushHandler, Zo as installRuntimeCache, Jo as installSkipWaitingListener, Be as isAndroid, Ve as isAndroidWithoutPromptApi, Gi as isApiError, ir as isAudioOutputSelectionSupported, ur as isAudioRecordingSupported, Cr as isBarcodeDetectionSupported, Ta as isConditionalMediationAvailable, gc as isCoordinate, qa as isCursorPage, Ei as isDefined, Si as isEmpty, ie as isFullscreenSupported, kr as isGenerating, He as isIOS, ga as isJWTExpired, mr as isMediaCaptureSupported, Di as isNumber, Ja as isOffsetPage, Ea as isPasskeySupported, Oi as isPlainObject, Da as isPlatformAuthenticatorAvailable, Bo as isPushSupported, ec as isRejectionCloseCode, Ki as isRetriableStatus, Ss as isScreenCaptureSupported, Ri as isShareSupported, ws as isSpeechRecognitionSupported, Ue as isStandalone, ki as isString, _c as isValidLatitude, vc as isValidLongitude, ys as isVideoRecordingSupported, ps as isVoiceChainIdle, pi as kebabCase, Ar as lastAssistantId, ks as lastWriteWins, _a as lazyWithRetry, ao as listQueryKey, mn as matrixToPath, hs as measureNoiseFloor, ji as memoizeOne, _s as monitorVoiceActivity, ms as monitorVoiceChain, Qe as moveItem, wr as normalizeBarcode, yc as normalizeLongitude, gt as nprogress, Kc as oklchToHex, Ci as omit, Mi as once, oo as oneQueryKey, qr as operatorsFor, aa as parseResponse, Cc as pathLengthKm, Ut as percentOf, La as permissionsFromToken, to as persistQueryClientOffline, wi as pick, dr as pickAudioMimeType, bs as pickVideoMimeType, rs as playAudio, mi as pluralize, Nc as projectMercator, ce as pushToTalkKeyLabel, Ii as randomId, yi as range, sc as readAvailableOutgoingKbps, Sl as readDeviceProfile, cc as readQualityLimitation, lc as readRelayed, uc as readRoundTripMs, Bc as readThemeToken, qc as readableForeground, To as redirect, $o as registerPeriodicSync, Ge as registerServiceWorker, Jc as relativeLuminance, rn as relativeTime, Qa as removeById, Xe as requestPersistentStorage, fc as resolveDegradation, qi as retry, Yc as rgbToHex, jr as roleLabel, pc as scaleForRoom, yl as scaleSteps, bl as sequentialScale, ar as setAudioOutput, ac as setSenderBitrate, rc as setTunedLocalDescription, zi as share, Bi as shareOrDownloadBlob, Wa as shouldRetryQuery, Ke as skipWaiting, Pi as sleep, hi as slugify, is as stopAudio, oi as storage, gs as suggestGateThreshold, Mr as tailSignature, Zc as themeContrast, tl as themeInitScript, $c as themePresets, Ni as throttle, Hi as toCsv, wc as toRadians, gi as truncate, ic as tuneOpus, Nr as turnTime, bi as uniqueBy, Ls as unmask, Pc as unprojectMercator, qe as unregisterAllServiceWorkers, da as uploadFingerprint, oa as uploadWithProgress, $a as upsertById, Vo as urlBase64ToUint8Array, Na as useAccessControl, he as useAnnounce, X as useAsync, as as useAudio, us as useAudioBus, pr as useAudioRecorder, Er as useBarcodeScanner, z as useBeforeInstallPrompt, a as useBreakpoint, Pa as useCan, Fe as useClickOutside, W as useClientFilter, te as useClipboard, Oe as useCountdown, De as useCounter, so as useCreate, Xa as useCursorQuery, io as useDataProvider, H as useDebounce, _e as useDeepMemo, co as useDelete, ia as useDescribeApiError, Te as useDisclosure, Ae as useDocumentTitle, Q as useDocumentVisibility, As as useErrorHandler, q as useEventListener, zo as useEventStream, je as useFavicon, ul as useFeatureFlag, Js as useFieldArray, dl as useFlagValue, fe as useFocusTrap, Ys as useForm, Xs as useFormContext, Zs as useFormState, ae as useFullscreen, ue as useGeolocation, Ce as useHover, ta as useI18n, re as useIdle, We as useInstallPrompt, $ as useIntersectionObserver, ye as useInterval, Ie as useIsFirstRender, ne as useKeyboardShortcut, K as useLatestRef, dc as useLinkStats, lo as useList, Ee as useListState, J as useLocalStorage, Eo as useLocation, we as useLongPress, Re as useLongPressHandlers, Me as useMap, Do as useMatch, nt as useMediaDevices, tt as useMediaPermission, G as useMediaQuery, hr as useMicrophone, pt as useModals, Oo as useNavigate, on as useNotificationInbox, za as useOAuthCallback, Le as useObjectUrl, Za as useOfflineMutation, it as useOfflineSync, uo as useOne, Z as useOnline, na as useOptionalI18n, Ya as usePaginatedQuery, U as usePagination, ko as useParams, Oa as usePasskeyCapabilities, ka as usePasskeyRegistration, Aa as usePasskeySignIn, fa as usePoll, Lc as usePositionTracker, ve as usePrevious, Go as usePushSubscription, le as usePushToTalk, Pe as useQueue, ee as useResizeObserver, Ao as useRouteError, Cs as useScreenCapture, de as useScrollLock, et as useScrollOverflow, jo as useSearchParams, Je as useServiceWorkerUpdate, Ne as useSet, ss as useSfxPool, $e as useSortable, Ts as useSpeechRecognition, ge as useStableCallback, Ze as useStorageEstimate, at as useSyncStatus, al as useTelemetry, Fo as useTheme, xe as useThrottle, be as useTimeout, $t as useToast, Y as useToggle, Tr as useTorch, ra as useTranslate, ke as useTypewriter, fo as useUpdate, Gs as useViaCEP, xs as useVideoRecorder, Qs as useWatch, nc as useWebSocket, Se as useWindowSize, Ps as useZodForm, Rs as validateCNPJ, zs as validateCPF, Ms as validateForm, Pr as visibleTurns, Fi as withTimeout, Li as writeXlsx, Ns as zodResolver };
@@ -1,2 +1,2 @@
1
- function e(e,t){if(typeof e!=`object`||!e)return null;let n=e[t];return typeof n==`number`&&Number.isFinite(n)?n:null}function t(e,t){if(typeof e!=`object`||!e)return null;let n=e[t];return typeof n==`string`?n:null}function n(e){return t(e,`kind`)??t(e,`mediaType`)}function r(e,t){return t===`all`||n(e)===t}function i(n){let r=null;n.forEach(e=>{t(e,`type`)===`transport`&&(r=t(e,`selectedCandidatePairId`)??r)});let i=null,a=null;n.forEach(n=>{if(t(n,`type`)!==`candidate-pair`)return;let o=e(n,`currentRoundTripTime`);o!==null&&(r!==null&&t(n,`id`)===r?i=o*1e3:a===null&&t(n,`state`)===`succeeded`&&(a=o*1e3))});let o=i??a;return o===null?null:Math.round(o)}function a(n={}){let a=n.kind??`video`,o=null,s=0,c={kbps:0,width:0,height:0,fps:0,rttMs:null};function l(n){let l=performance.now(),u=i(n),d=0,f=!1,p=0,m=0,h=0,g=0;if(n.forEach(n=>{if(t(n,`type`)!==`outbound-rtp`||!r(n,a))return;f=!0,d+=e(n,`bytesSent`)??0;let i=e(n,`frameWidth`)??0,o=e(n,`frameHeight`)??0,s=i*o;s<p||(p=s,m=i,h=o,g=Math.round(e(n,`framesPerSecond`)??0))}),!f)return c={...c,rttMs:u},c;let _=o===null?0:(l-s)/1e3,v=o===null?0:d-o,y=_>0&&v>0?Math.round(v*8/1e3/_):0;return o=d,s=l,c={kbps:y,width:m>0?m:c.width,height:h>0?h:c.height,fps:g>0?g:c.fps,rttMs:u},c}return{read:l,sample:async e=>l(await e.getStats()),reset:()=>{o=null,s=0,c={...c,kbps:0}}}}exports.createLinkStatsSampler=a,exports.readRoundTripMs=i;
1
+ function e(e,t){let n=e[t];return typeof n==`number`&&Number.isFinite(n)?n:null}function t(e,t){let n=e[t];return typeof n==`string`?n:null}function n(e,t){let n=e[t];return typeof n==`boolean`?n:null}function r(e){return e===`bandwidth`||e===`cpu`||e===`other`}function i(e){return t(e,`kind`)??t(e,`mediaType`)}function a(a){let o=null,s=[],c=new Set,l=[];return a.forEach(a=>{if(typeof a!=`object`||!a)return;let u=a,d=t(u,`type`);if(d===`transport`){o=t(u,`selectedCandidatePairId`)??o;return}if(d===`candidate-pair`){let r=e(u,`currentRoundTripTime`),i=e(u,`availableOutgoingBitrate`);s.push({id:t(u,`id`)??``,selected:n(u,`selected`)===!0,state:t(u,`state`),rttMs:r===null?null:r*1e3,availableKbps:i===null?null:Math.round(i/1e3),localCandidateId:t(u,`localCandidateId`)});return}if(d===`local-candidate`){let e=t(u,`id`);e!==null&&t(u,`candidateType`)===`relay`&&c.add(e);return}if(d!==`outbound-rtp`)return;let f=t(u,`qualityLimitationReason`);l.push({kind:i(u),bytes:e(u,`bytesSent`)??0,width:e(u,`frameWidth`)??0,height:e(u,`frameHeight`)??0,fps:Math.round(e(u,`framesPerSecond`)??0),limitedBy:r(f)?f:null})}),{namedPairId:o,pairs:s,relayCandidateIds:c,senders:l}}function o(e){let t=e.namedPairId===null?void 0:e.pairs.find(t=>t.id===e.namedPairId);if(t!==void 0)return{pair:t,named:!0};let n=e.pairs.find(e=>e.selected);return n===void 0?{pair:e.pairs.find(e=>e.state===`succeeded`)??null,named:!1}:{pair:n,named:!0}}function s(e){return d(a(e))}function c(e){return f(a(e))}function l(e){return m(a(e))}function u(e){return p(a(e))}function d(e){let{pair:t}=o({...e,pairs:e.pairs.filter(e=>e.rttMs!==null)});return t?.rttMs===void 0||t.rttMs===null?null:Math.round(t.rttMs)}function f(e){let{pair:t}=o(e);return t?.availableKbps??null}function p(e){let{pair:t,named:n}=o(e);return!n||t===null||t.localCandidateId===null?!1:e.relayCandidateIds.has(t.localCandidateId)}function m(e){let t=null;for(let n of e.senders)if(n.limitedBy!==null){if(n.limitedBy===`bandwidth`)return`bandwidth`;t??=n.limitedBy}return t}function h(e={}){let t=e.kind??`video`,n=null,r=0,i={kbps:0,width:0,height:0,fps:0,rttMs:null,availableKbps:null,limitedBy:null,relayed:!1};function o(e){let o=performance.now(),s=a(e),c={rttMs:d(s),availableKbps:f(s),limitedBy:m(s),relayed:p(s)},l=0,u=!1,h=0,g=0,_=0,v=0;for(let e of s.senders){if(t!==`all`&&e.kind!==t)continue;u=!0,l+=e.bytes;let n=e.width*e.height;n<h||(h=n,g=e.width,_=e.height,v=e.fps)}if(!u)return i={...i,...c},i;let y=n===null?0:(o-r)/1e3,b=n===null?0:l-n,x=y>0&&b>0?Math.round(b*8/1e3/y):0;return n=l,r=o,i={kbps:x,width:g>0?g:i.width,height:_>0?_:i.height,fps:v>0?v:i.fps,...c},i}return{read:o,sample:async e=>o(await e.getStats()),reset:()=>{n=null,r=0,i={...i,kbps:0}}}}exports.createLinkStatsSampler=h,exports.readAvailableOutgoingKbps=c,exports.readQualityLimitation=l,exports.readRelayed=u,exports.readRoundTripMs=s;
2
2
  //# sourceMappingURL=link-stats.cjs.map