@guidelytech/shared 0.16.0 → 0.17.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.
@@ -909,6 +909,14 @@ declare const ProjectThemeSchema: z.ZodObject<{
909
909
  /** Reserved property names that are stripped from `properties` to avoid collecting sensitive data. */
910
910
  declare const SENSITIVE_PROPERTY_PATTERN: RegExp;
911
911
  declare const MAX_PROPERTY_BYTES: number;
912
+ /** Longest app version kept (longer values are cut). */
913
+ declare const MAX_APP_VERSION_LENGTH = 64;
914
+ /**
915
+ * An app version as stored and reported: trimmed, control characters removed, at most 64 characters,
916
+ * or null when empty. Kept verbatim otherwise (`2.4.1`, `v2.4.1`, `2026.10.26-beta+512`), so reports
917
+ * show what the app sent; ordering uses `compareVersions`.
918
+ */
919
+ declare function normalizeAppVersion(input: unknown): string | null;
912
920
  declare function sanitizeProperties(props: Record<string, unknown> | undefined): Record<string, unknown>;
913
921
 
914
922
  /** One parsed stack frame. `file` is the script URL (or path) as the browser reported it. */
@@ -917,6 +925,12 @@ interface StackFrame {
917
925
  file?: string;
918
926
  line?: number;
919
927
  col?: number;
928
+ /** False for library / framework frames (Sentry `in_app`); grouping skips them when an app frame exists. Unset = unknown. */
929
+ inApp?: boolean;
930
+ /** Module or package (Sentry `module`: `myapp.views`, `com.acme.Foo`), for platforms without file paths. */
931
+ module?: string;
932
+ /** JavaScript debug id of the frame's file (Sentry `debug_meta.images`); selects its source map before release + path. */
933
+ debugId?: string;
920
934
  }
921
935
  /** Properties carried by an `exception` event (see `docs/product-analytics.md`). */
922
936
  interface ExceptionProperties {
@@ -932,7 +946,12 @@ interface ExceptionProperties {
932
946
  fingerprint?: string;
933
947
  }
934
948
  declare const MAX_STACK_FRAMES = 30;
935
- /** Parses `Error.stack` from V8, SpiderMonkey and JavaScriptCore into frames (innermost first). */
949
+ /**
950
+ * `app:///<bundle>` for a React Native bundle path (`/data/…/index.android.bundle`,
951
+ * `main.jsbundle`), so source maps uploaded with `--url-prefix /` match on any device.
952
+ */
953
+ declare function reactNativeBundleUrl(file: string): string;
954
+ /** Parses `Error.stack` from V8, SpiderMonkey, JavaScriptCore and Hermes into frames (innermost first). */
936
955
  declare function parseStack(stack: string | undefined | null, max?: number): StackFrame[];
937
956
  /** Replaces volatile parts of a message (numbers, ids, quoted values) so repeats group together. */
938
957
  declare function normalizeErrorMessage(message: string): string;
@@ -957,6 +976,155 @@ declare function fingerprintError(input: {
957
976
  name?: string | null;
958
977
  } | null;
959
978
  }): string;
979
+ /**
980
+ * Applies an SDK-supplied fingerprint (Sentry `fingerprint`: `["{{ default }}", "checkout"]`) to the
981
+ * computed one. `{{ default }}` stands for the computed fingerprint; without it the parts replace it.
982
+ */
983
+ declare function customFingerprint(parts: unknown, computed: string): string;
984
+
985
+ /**
986
+ * The `detail` of an `exception` event (docs/error-monitoring/sdks.md): everything about an error
987
+ * beyond the indexed properties (breadcrumbs, contexts, tags, extra, the exception chain, threads,
988
+ * debug images…), in the Sentry event shape so the issue page renders Guidely and Sentry SDK events
989
+ * alike. Zod-free: SDKs use these helpers at runtime, the server schema lives in `events.ts`.
990
+ */
991
+ /** Largest `detail` kept per occurrence (JSON characters); SDKs and the server trim to it. */
992
+ declare const MAX_EXCEPTION_DETAIL_BYTES: number;
993
+ /** A `detail` larger than this is dropped whole instead of trimmed (the event is still stored). */
994
+ declare const MAX_EXCEPTION_DETAIL_RAW_BYTES: number;
995
+ declare const MAX_BREADCRUMBS = 100;
996
+ declare const MAX_EXCEPTION_CHAIN = 20;
997
+ declare const MAX_DETAIL_FRAMES = 250;
998
+ declare const MAX_DETAIL_THREADS = 100;
999
+ declare const MAX_DEBUG_IMAGES = 500;
1000
+ declare const MAX_ERROR_TAGS = 50;
1001
+ type ErrorLevelName = "fatal" | "error" | "warning" | "info" | "debug";
1002
+ /** A Sentry-shaped frame (oldest call first in a stack, the crashing frame last). */
1003
+ interface DetailFrame {
1004
+ function?: string;
1005
+ module?: string;
1006
+ package?: string;
1007
+ filename?: string;
1008
+ abs_path?: string;
1009
+ lineno?: number;
1010
+ colno?: number;
1011
+ in_app?: boolean;
1012
+ instruction_addr?: string;
1013
+ image_addr?: string;
1014
+ symbol_addr?: string;
1015
+ platform?: string;
1016
+ context_line?: string;
1017
+ pre_context?: string[];
1018
+ post_context?: string[];
1019
+ vars?: Record<string, unknown>;
1020
+ [k: string]: unknown;
1021
+ }
1022
+ interface DetailMechanism {
1023
+ type?: string;
1024
+ handled?: boolean;
1025
+ synthetic?: boolean;
1026
+ source?: string;
1027
+ exception_id?: number;
1028
+ parent_id?: number;
1029
+ data?: Record<string, unknown>;
1030
+ meta?: Record<string, unknown>;
1031
+ [k: string]: unknown;
1032
+ }
1033
+ interface DetailException {
1034
+ type?: string;
1035
+ value?: string;
1036
+ module?: string;
1037
+ thread_id?: number | string;
1038
+ mechanism?: DetailMechanism;
1039
+ stacktrace?: {
1040
+ frames?: DetailFrame[];
1041
+ registers?: Record<string, string>;
1042
+ };
1043
+ }
1044
+ interface Breadcrumb {
1045
+ /** Unix seconds (fractional). */
1046
+ timestamp?: number;
1047
+ type?: string;
1048
+ category?: string;
1049
+ message?: string;
1050
+ level?: ErrorLevelName | string;
1051
+ data?: Record<string, unknown>;
1052
+ }
1053
+ interface ExceptionDetail {
1054
+ level?: ErrorLevelName;
1055
+ exception?: {
1056
+ values: DetailException[];
1057
+ };
1058
+ threads?: {
1059
+ values: Array<{
1060
+ id?: number | string;
1061
+ name?: string;
1062
+ crashed?: boolean;
1063
+ current?: boolean;
1064
+ main?: boolean;
1065
+ stacktrace?: {
1066
+ frames?: DetailFrame[];
1067
+ };
1068
+ }>;
1069
+ };
1070
+ breadcrumbs?: {
1071
+ values: Breadcrumb[];
1072
+ };
1073
+ contexts?: Record<string, Record<string, unknown>>;
1074
+ tags?: Record<string, string>;
1075
+ extra?: Record<string, unknown>;
1076
+ user?: {
1077
+ id?: string;
1078
+ email?: string;
1079
+ username?: string;
1080
+ ip_address?: string;
1081
+ [k: string]: unknown;
1082
+ };
1083
+ fingerprint?: string[];
1084
+ debug_meta?: {
1085
+ images: Array<Record<string, unknown>>;
1086
+ };
1087
+ request?: {
1088
+ url?: string;
1089
+ method?: string;
1090
+ headers?: Record<string, string>;
1091
+ query_string?: string;
1092
+ data?: unknown;
1093
+ [k: string]: unknown;
1094
+ };
1095
+ transaction?: string;
1096
+ server_name?: string;
1097
+ logger?: string;
1098
+ dist?: string;
1099
+ environment?: string;
1100
+ platform?: string;
1101
+ [k: string]: unknown;
1102
+ }
1103
+ /** Tags as Sentry keeps them: at most 50, keys ≤ 32 and values ≤ 200 characters, values stringified. */
1104
+ declare function normalizeTags(tags: Record<string, unknown> | null | undefined): Record<string, string>;
1105
+ /**
1106
+ * Trims a detail to `max` JSON characters, in the order the contract fixes: oldest breadcrumbs, then
1107
+ * frame variables and source context, then threads other than the crashed one, then extra, then
1108
+ * frames from the middle of long stacks. Mutates and returns `detail`.
1109
+ */
1110
+ declare function trimExceptionDetail<T extends ExceptionDetail>(detail: T, max?: number): T;
1111
+ /** An `ignoreErrors` / `denyUrls` / `allowUrls` entry: a substring, or a pattern. */
1112
+ type ErrorFilterPattern = string | RegExp;
1113
+ /**
1114
+ * True when the SDK's filters drop an error: `ignoreErrors` matches `"<type>: <message>"` or the
1115
+ * message; `denyUrls` matches the innermost frame file; a non-empty `allowUrls` that doesn't match
1116
+ * it drops the error too. Errors without a frame file pass the URL filters. Shared by every SDK
1117
+ * (conformance vectors `errorFilters`).
1118
+ */
1119
+ declare function errorFilterDrops(e: {
1120
+ type?: string;
1121
+ message?: string;
1122
+ file?: string | null;
1123
+ }, opts: {
1124
+ ignoreErrors?: readonly ErrorFilterPattern[];
1125
+ denyUrls?: readonly ErrorFilterPattern[];
1126
+ allowUrls?: readonly ErrorFilterPattern[];
1127
+ }): boolean;
960
1128
 
961
1129
  /**
962
1130
  * Resource center structure shared by every SDK: nested collections and audience targeting.
@@ -1656,7 +1824,7 @@ interface SdkHowTo {
1656
1824
 
1657
1825
  /**
1658
1826
  * Product-analytics capture settings. Stored on `Project.settings` (keys `autocapture`,
1659
- * `errorTracking`, `replay`) and delivered to the SDK in `SdkConfigResponse.settings`. The project
1827
+ * `errorTracking`, `replay`, `performance`) and delivered to the SDK in `SdkConfigResponse.settings`. The project
1660
1828
  * setting turns a capability on; SDK options can only turn it off for one installation.
1661
1829
  */
1662
1830
  interface AutocaptureSettings {
@@ -1682,6 +1850,17 @@ interface ErrorTrackingSettings {
1682
1850
  /** Uncaught errors and unhandled promise rejections become `exception` events. */
1683
1851
  enabled: boolean;
1684
1852
  }
1853
+ /**
1854
+ * Performance tracing in Guidely's own SDKs: pageload / navigation transactions with Web Vitals,
1855
+ * resource and long-task spans, and fetch/XHR spans with trace propagation. Sentry SDKs are controlled
1856
+ * by their own `tracesSampleRate`, so this doesn't affect them. Optional in `CaptureSettings` for older
1857
+ * stored settings; `resolveCaptureSettings` always fills it.
1858
+ */
1859
+ interface PerformanceSettings {
1860
+ enabled: boolean;
1861
+ /** Percentage of page loads traced (0–100), decided once per page load. SDK `tracesSampleRate` can only lower it. */
1862
+ sampleRate: number;
1863
+ }
1685
1864
  interface ReplaySettings {
1686
1865
  enabled: boolean;
1687
1866
  /** Percentage of sessions recorded (0–100), decided once per session. */
@@ -1708,6 +1887,7 @@ interface CaptureSettings {
1708
1887
  autocapture: AutocaptureSettings;
1709
1888
  errorTracking: ErrorTrackingSettings;
1710
1889
  replay: ReplaySettings;
1890
+ performance?: PerformanceSettings;
1711
1891
  }
1712
1892
  declare const AutocaptureSettingsSchema: z.ZodObject<{
1713
1893
  pageviews: z.ZodOptional<z.ZodBoolean>;
@@ -1721,6 +1901,10 @@ declare const AutocaptureSettingsSchema: z.ZodObject<{
1721
1901
  declare const ErrorTrackingSettingsSchema: z.ZodObject<{
1722
1902
  enabled: z.ZodOptional<z.ZodBoolean>;
1723
1903
  }, z.core.$strip>;
1904
+ declare const PerformanceSettingsSchema: z.ZodObject<{
1905
+ enabled: z.ZodOptional<z.ZodBoolean>;
1906
+ sampleRate: z.ZodOptional<z.ZodNumber>;
1907
+ }, z.core.$strip>;
1724
1908
  declare const ReplaySettingsSchema: z.ZodObject<{
1725
1909
  enabled: z.ZodOptional<z.ZodBoolean>;
1726
1910
  sampleRate: z.ZodOptional<z.ZodNumber>;
@@ -1809,6 +1993,7 @@ declare const ReplayChunkSchema: z.ZodObject<{
1809
1993
  name: z.ZodString;
1810
1994
  version: z.ZodString;
1811
1995
  }, z.core.$strip>>;
1996
+ appVersion: z.ZodOptional<z.ZodString>;
1812
1997
  }, z.core.$strip>;
1813
1998
  type ReplayChunk = z.infer<typeof ReplayChunkSchema>;
1814
1999
  /** Max upload sizes for one replay chunk (bytes on the wire, and after decompression). */
@@ -2183,6 +2368,8 @@ interface SdkConfigResponse {
2183
2368
  /** Product analytics; absent from servers that predate it (the SDK then captures nothing extra). */
2184
2369
  autocapture?: AutocaptureSettings;
2185
2370
  errorTracking?: ErrorTrackingSettings;
2371
+ /** Performance tracing (Guidely SDK); absent from servers that predate it (no tracing). */
2372
+ performance?: PerformanceSettings;
2186
2373
  /** `retentionDays` is server-side only and not sent. */
2187
2374
  replay?: Omit<ReplaySettings, "retentionDays">;
2188
2375
  /** Project-wide guide throttling; absent or disabled = no limit. */
@@ -2600,6 +2787,32 @@ interface ApiError {
2600
2787
  };
2601
2788
  }
2602
2789
 
2790
+ /** Bug report (user feedback) types and limits shared by the server and the SDK (zod-free). */
2791
+ declare const MAX_BUG_REPORT_LENGTH = 4000;
2792
+ /** Largest screenshot a bug report may carry (Sentry's feedback widget allows about the same). */
2793
+ declare const MAX_BUG_REPORT_SCREENSHOT_BYTES: number;
2794
+ /** `guidely.captureFeedback(...)`. Only `message` is required. */
2795
+ interface BugReportInput {
2796
+ message: string;
2797
+ email?: string | null;
2798
+ name?: string | null;
2799
+ /** The error the report is about: an exception event id (defaults to the last error this page reported). */
2800
+ associatedEventId?: string | null;
2801
+ /** Free-form tags shown with the report (strings, at most 20). */
2802
+ tags?: Record<string, string>;
2803
+ /** One image (png, jpeg, webp or gif) as a File/Blob, or already base64-encoded. */
2804
+ screenshot?: Blob | {
2805
+ fileName: string;
2806
+ data: string;
2807
+ } | null;
2808
+ }
2809
+ /** What `POST /v1/sdk/bug-reports` answers. */
2810
+ interface BugReportResponse {
2811
+ id: string;
2812
+ /** Linked to an error issue already (the associated error arrived first). */
2813
+ linked: boolean;
2814
+ }
2815
+
2603
2816
  /**
2604
2817
  * Agent Analytics: the `agent.conversation` turn the customer's own AI agents send (zod-free, so the
2605
2818
  * browser SDK can use the types and limits without bundling the schema). The schema is in agents.ts.
@@ -3044,4 +3257,4 @@ declare function contrastIssues(colors: {
3044
3257
  textColor?: string;
3045
3258
  }): ContrastIssue[];
3046
3259
 
3047
- export { type ChecklistProgressRequest as $, ADVANCE_ON as A, type AttrTest as B, type AuthoringPick as C, AuthoringPickSchema as D, type AuthoringSessionInfo as E, type AutocaptureSettings as F, type GuideKind as G, AutocaptureSettingsSchema as H, BUTTON_ACTIONS as I, ButtonSchema as J, CAPTURE_PARAM as K, CAPTURE_SCREENSHOT_MAX_BYTES as L, COMMON_LOCALES as M, COMPLAINT_EVENTS as N, COMPLAINT_FIELD_TYPES as O, COMPLAINT_STATUSES as P, CONTROL_VARIANT_ID as Q, type RuleGroup as R, type CaptureSessionInfo as S, type CaptureSettings as T, type CaptureStep as U, type CaptureStepInput as V, CaptureStepSchema as W, type CapturedElement as X, CapturedElementSchema as Y, type ChecklistConfig as Z, ChecklistConfigSchema as _, type Rule as a, GuideStateUpdateSchema as a$, ChecklistProgressRequestSchema as a0, type ChecklistTask as a1, ChecklistTaskSchema as a2, type ClickFacts as a3, type ComplaintEvent as a4, type ComplaintField as a5, type ComplaintFieldType as a6, type ComplaintStatus as a7, type ComplexSelector as a8, type Compound as a9, type FeatureRule as aA, type FeedbackEvent as aB, type FeedbackPriority as aC, type FeedbackStatus as aD, type FeedbackUpdate as aE, type FeedbackUpdatesResponse as aF, type FileComplaintResponse as aG, type FrequencyConfig as aH, FrequencySchema as aI, GUIDELY_ID_ATTRIBUTE as aJ, GUIDE_EXPERIMENT_GOALS as aK, GUIDE_EXPERIMENT_GOAL_LABELS as aL, GUIDE_EXPERIMENT_STATUSES as aM, GUIDE_KINDS as aN, GUIDE_STATUSES as aO, GUIDE_VISIBILITIES as aP, type GuideConfig as aQ, GuideConfigSchema as aR, type GuideExperimentGoal as aS, type GuideExperimentGoalKind as aT, type GuideExperimentStatus as aU, type GuideExperimentVariant as aV, type GuideHoldout as aW, type GuideLocalization as aX, GuideLocalizationSchema as aY, type GuideSchedule as aZ, GuideScheduleSchema as a_, type ContrastIssue as aa, type ConversationLookupResponse as ab, ConversationLookupSchema as ac, type ConversationMessagesResponse as ad, ConversationRatingSchema as ae, type ConversationStatus as af, DEFAULT_CAPTURE_SETTINGS as ag, DEFAULT_FEATURE_ATTRIBUTE as ah, DEFAULT_LOCALE as ai, DEFAULT_PLATFORMS as aj, EMBED_IFRAME_ATTRS as ak, type ElementNode as al, type ElementSnapshot as am, type EmbedProvider as an, type ErrorTrackingSettings as ao, ErrorTrackingSettingsSchema as ap, type ExceptionProperties as aq, FEATURE_ATTRIBUTE_PATTERN as ar, FEATURE_RULE_LIMITS as as, FEEDBACK_EVENTS as at, FEEDBACK_PRIORITIES as au, FEEDBACK_PRIORITY_LABEL as av, FEEDBACK_PRIORITY_WEIGHT as aw, FEEDBACK_STATUSES as ax, FEEDBACK_STATUS_LABEL as ay, FILE_LINK_CLASS as az, type GuideConfigInput as b, type MessengerPageRequest as b$, type GuideStatus as b0, type GuideStep as b1, type GuideStepInput as b2, GuideThrottlingSchema as b3, type GuideThrottlingSettings as b4, type GuideVisibility as b5, HEATMAP_VIEWPORTS as b6, HOWTO_ACTIONS as b7, HOWTO_STEP_KINDS as b8, type HeatmapPoint as b9, MAX_MESSAGE_LENGTH as bA, MAX_PROPERTY_BYTES as bB, MAX_STACK_FRAMES as bC, MEDIA_FILE_MAX_BYTES as bD, MEDIA_FILE_TYPES as bE, MEDIA_IMAGE_MAX_BYTES as bF, MEDIA_IMAGE_TYPES as bG, MEDIA_MAX_BYTES as bH, MEDIA_VIDEO_MAX_BYTES as bI, MEDIA_VIDEO_TYPES as bJ, MESSAGE_AUTHORS as bK, type MediaContentType as bL, type MediaKind as bM, type MessageAuthor as bN, type MessengerCitation as bO, type MessengerComplaint as bP, type MessengerComplaintCategory as bQ, type MessengerComplaintOffer as bR, type MessengerComplaintsConfig as bS, type MessengerConfig as bT, type MessengerConversation as bU, type MessengerHomeCards as bV, type MessengerHowToCitation as bW, type MessengerIdeaOffer as bX, type MessengerIdeasConfig as bY, type MessengerMessage as bZ, type MessengerPageContent as b_, type HeatmapProperties as ba, type HeatmapViewport as bb, type HowToAction as bc, type HowToAnnotation as bd, HowToAnnotationSchema as be, type HowToStepKind as bf, type IdentifyRequest as bg, IdentifyRequestSchema as bh, type IdentifyResponse as bi, LOCALE_PATTERN as bj, LOGGED_IN_AUDIENCE as bk, LocaleSchema as bl, type LocalizationSettings as bm, LocalizationSettingsSchema as bn, MAX_ANNOTATIONS as bo, MAX_COLLECTION_DEPTH as bp, MAX_COMPLAINT_ANSWER_LENGTH as bq, MAX_COMPLAINT_ATTACHMENT_BYTES as br, MAX_COMPLAINT_CHOICES as bs, MAX_COMPLAINT_FIELDS as bt, MAX_COMPLAINT_LENGTH as bu, MAX_CUSTOM_CSS as bv, MAX_FEEDBACK_COMMENT as bw, MAX_FEEDBACK_DESCRIPTION as bx, MAX_FEEDBACK_NOTE as by, MAX_FEEDBACK_TITLE as bz, AGENT_METADATA_MAX_BYTES as c, SELECTOR_KINDS as c$, MessengerPageRequestSchema as c0, type MessengerPageSuggestion as c1, type MessengerStatus as c2, type MessengerSuggestedGuide as c3, type MessengerTeammate as c4, NETWORK_PLUGIN as c5, NOISY_DATA_ATTR as c6, type NetworkPluginPayload as c7, type NetworkRequest as c8, type NetworkRequestType as c9, RC_MODULE_IDS as cA, RC_MODULE_LABELS as cB, RECORDING_LEVELS as cC, REPLAY_MAX_COMPRESSED_BYTES as cD, REPLAY_MAX_RAW_BYTES as cE, REPLY_TIMES as cF, RULE_FIELDS as cG, RULE_OPERATORS as cH, type RcArticleLike as cI, type RcCollectionLike as cJ, type RcSection as cK, type RecordingLevel as cL, type ReplayChunk as cM, ReplayChunkSchema as cN, type ReplaySettings as cO, ReplaySettingsSchema as cP, type ReplyTime as cQ, type ResourceCenterAnnouncement as cR, type ResourceCenterArticle as cS, type ResourceCenterCollection as cT, type ResourceCenterConfig as cU, type ResourceCenterModule as cV, type ResourceCenterModuleId as cW, type ResourceCenterTranslations as cX, type RuleField as cY, type RuleOperator as cZ, SCOUT_AGENT_ID as c_, NormalizedPointSchema as ca, type NormalizedRect as cb, NormalizedRectSchema as cc, PAGE_RULE_LIMITS as cd, PATH_ID_PATTERN as ce, PDF_BLOCK_CLASS as cf, PDF_MAX_PAGES as cg, PDF_PAGES_CLASS as ch, PLACEMENTS as ci, PLATFORMS as cj, type PageContext as ck, type PagePattern as cl, type PageRule as cm, type Placement as cn, type Platform as co, PostMessageSchema as cp, type ProjectTheme as cq, ProjectThemeSchema as cr, type PublicFeedbackComment as cs, type PublicFeedbackList as ct, type PublicFeedbackRequest as cu, type PublicFeedbackRequestDetail as cv, type PublishedGuide as cw, PublishedGuideSchema as cx, type QueryParamCondition as cy, type QueryParamOp as cz, AGENT_METADATA_MAX_KEYS as d, WCAG_AA_TEXT as d$, SENSITIVE_HEADER_PATTERN as d0, SENSITIVE_PARAM_PATTERN as d1, SENSITIVE_PROPERTY_PATTERN as d2, SERVER_ASSISTED_FIELDS as d3, SHOW_ME_CLASS as d4, SHOW_ME_HREF_PREFIX as d5, SNAPSHOT_ATTRS as d6, SNAPSHOT_LIMITS as d7, SOURCEMAP_MAX_FILES_PER_UPLOAD as d8, SOURCEMAP_MAX_FILE_BYTES as d9, type StepType as dA, type SurveyAnswer as dB, type SurveyAnswers as dC, type SurveyConfig as dD, SurveyConfigSchema as dE, type SurveyQuestion as dF, SurveyQuestionSchema as dG, type SurveyResponseRequest as dH, SurveyResponseRequestSchema as dI, TAG_PROPERTY_LIMITS as dJ, TRIGGER_TYPES as dK, type TagPropertyConfig as dL, type TagPropertyDefinition as dM, type TaggingSdkConfig as dN, TargetSchema as dO, type TargetingContext as dP, type TextEntry as dQ, type TextKind as dR, type TranslationCoverage as dS, type TranslationReviewMap as dT, type TranslationReviewState as dU, type TriggerConfig as dV, TriggerSchema as dW, VIDEO_ATTRS as dX, type ValidationIssue as dY, type VideoEmbed as dZ, WCAG_AA_LARGE as d_, STATUS_LEVELS as da, STEP_TYPES as db, SURVEY_QUESTION_TYPES as dc, type ScoutStreamEvent as dd, type SdkArticleSummary as de, type SdkArticlesResponse as df, type SdkConfigResponse as dg, type SdkHowTo as dh, type SdkHowToStep as di, type SdkHowToSummary as dj, type SdkHowTosResponse as dk, type SelectorOp as dl, type SelectorStrategy as dm, SelectorStrategySchema as dn, SelectorSyntaxError as dp, type ShowWhen as dq, type StackFrame as dr, type StartConversationRequest as ds, type StartConversationResponse as dt, StartConversationSchema as du, type StatusLevel as dv, StepBranchSchema as dw, type StepButton as dx, StepSchema as dy, type StepTarget as dz, AGENT_OUTCOMES as e, mediaMaxBytes as e$, WS_MAX_MESSAGES_PER_SOCKET as e0, WS_MAX_MESSAGE_BYTES as e1, type WebSocketMessage as e2, applyGuideTranslations as e3, articleHref as e4, articleIdFromHref as e5, articleTextEntries as e6, assignGuideVariant as e7, baseLanguage as e8, clamp as e9, getPath as eA, guideLocales as eB, guidePlatforms as eC, guideTextEntries as eD, guidelyIdFromSelector as eE, hasVideoMedia as eF, isAllowedEmbedSrc as eG, isArticleListed as eH, isChecklistComplete as eI, isFileLink as eJ, isMediaContentType as eK, isPlainObject as eL, isQuestionVisible as eM, isRuleGroup as eN, isSafeMediaUrl as eO, isVideoContentType as eP, isVideoFileUrl as eQ, localeName as eR, localizeAnnouncement as eS, localizeArticle as eT, localizeGuide as eU, localizeResourceCenter as eV, matchCssSelector as eW, matchUrlPattern as eX, matchesAudiences as eY, matchesHelpQuery as eZ, mediaKind as e_, cleanLabel as ea, compare as eb, compareVersions as ec, complaintReference as ed, compoundMatches as ee, contrastIssues as ef, contrastRatio as eg, cssSelectorError as eh, defaultGuideConfig as ei, defaultStep as ej, describeCaptureStep as ek, describeRule as el, emptyRuleGroup as em, evaluateRule as en, evaluateRules as eo, evenWeights as ep, experimentBucketRules as eq, experimentSalt as er, featureCssSelectors as es, featureRuleError as et, featureRuleMatchesClick as eu, feedbackReference as ev, fingerprintError as ew, firstNameFromTraits as ex, fnv1a as ey, foldPathIds as ez, AGENT_TOOL_CALLS_PER_TURN as f, needsReview as f0, normalizeErrorMessage as f1, normalizeFrameFile as f2, normalizeLocale as f3, normalizeSnapshot as f4, orderedModules as f5, pageLabel as f6, pageName as f7, pagePattern as f8, pageRuleError as f9, showMeKeys as fA, slugify as fB, snapshotFromSelector as fC, stableStringify as fD, stepVideo as fE, stripOrigin as fF, supportsPlatform as fG, toEmbedUrl as fH, translationCoverage as fI, unreadAnnouncements as fJ, validateGuideConfig as fK, variantProblems as fL, variantRanges as fM, videoThumbnailUrl as fN, visibleAnnouncements as fO, visibleArticleIds as fP, visibleButtons as fQ, visitorAudiences as fR, visitorLocales as fS, withExperimentBucket as fT, withRecordingLevel as fU, withVisibility as fV, pageRuleMatches as fa, pageRulesMatch as fb, pageTerms as fc, parseCssSelector as fd, parseHexColor as fe, parseStack as ff, propertyAttributeAllowed as fg, queryConditionRegex as fh, randomId as fi, readableTextOn as fj, recordingLevel as fk, relativeLuminance as fl, resolveCaptureSettings as fm, resolveLocale as fn, resourceCenterLocales as fo, resourceCenterSections as fp, resourceCenterTextEntries as fq, rolloutBucket as fr, safeRegExp as fs, sanitizeCustomCss as ft, sanitizeProperties as fu, scopeCustomCss as fv, screenPath as fw, servedArticleAudiences as fx, showMeHref as fy, showMeKeyFromHref as fz, AGENT_TOOL_STATUSES as g, AGENT_TURNS_PER_BATCH as h, AGENT_TURN_MAX_TEXT as i, AGENT_TURN_ROLES as j, ANNOTATION_COLORS as k, ARTICLE_HREF_PREFIX as l, ARTICLE_VISIBILITIES as m, type AgentEventsResponse as n, type AgentOutcome as o, type AgentToolCallInput as p, type AgentToolStatus as q, type AgentTurnInput as r, type AgentTurnRole as s, type AnnotationColor as t, type ApiError as u, type AppSnapshot as v, type Appearance as w, AppearanceSchema as x, type ArticleVisibility as y, type AttrOp as z };
3260
+ export { CapturedElementSchema as $, ADVANCE_ON as A, type AttrTest as B, type AuthoringPick as C, AuthoringPickSchema as D, type AuthoringSessionInfo as E, type AutocaptureSettings as F, type GuideKind as G, AutocaptureSettingsSchema as H, BUTTON_ACTIONS as I, type Breadcrumb as J, type BugReportInput as K, type BugReportResponse as L, ButtonSchema as M, CAPTURE_PARAM as N, CAPTURE_SCREENSHOT_MAX_BYTES as O, COMMON_LOCALES as P, COMPLAINT_EVENTS as Q, type RuleGroup as R, COMPLAINT_FIELD_TYPES as S, COMPLAINT_STATUSES as T, CONTROL_VARIANT_ID as U, type CaptureSessionInfo as V, type CaptureSettings as W, type CaptureStep as X, type CaptureStepInput as Y, CaptureStepSchema as Z, type CapturedElement as _, type Rule as a, type GuideExperimentGoal as a$, type ChecklistConfig as a0, ChecklistConfigSchema as a1, type ChecklistProgressRequest as a2, ChecklistProgressRequestSchema as a3, type ChecklistTask as a4, ChecklistTaskSchema as a5, type ClickFacts as a6, type ComplaintEvent as a7, type ComplaintField as a8, type ComplaintFieldType as a9, FEATURE_ATTRIBUTE_PATTERN as aA, FEATURE_RULE_LIMITS as aB, FEEDBACK_EVENTS as aC, FEEDBACK_PRIORITIES as aD, FEEDBACK_PRIORITY_LABEL as aE, FEEDBACK_PRIORITY_WEIGHT as aF, FEEDBACK_STATUSES as aG, FEEDBACK_STATUS_LABEL as aH, FILE_LINK_CLASS as aI, type FeatureRule as aJ, type FeedbackEvent as aK, type FeedbackPriority as aL, type FeedbackStatus as aM, type FeedbackUpdate as aN, type FeedbackUpdatesResponse as aO, type FileComplaintResponse as aP, type FrequencyConfig as aQ, FrequencySchema as aR, GUIDELY_ID_ATTRIBUTE as aS, GUIDE_EXPERIMENT_GOALS as aT, GUIDE_EXPERIMENT_GOAL_LABELS as aU, GUIDE_EXPERIMENT_STATUSES as aV, GUIDE_KINDS as aW, GUIDE_STATUSES as aX, GUIDE_VISIBILITIES as aY, type GuideConfig as aZ, GuideConfigSchema as a_, type ComplaintStatus as aa, type ComplexSelector as ab, type Compound as ac, type ContrastIssue as ad, type ConversationLookupResponse as ae, ConversationLookupSchema as af, type ConversationMessagesResponse as ag, ConversationRatingSchema as ah, type ConversationStatus as ai, DEFAULT_CAPTURE_SETTINGS as aj, DEFAULT_FEATURE_ATTRIBUTE as ak, DEFAULT_LOCALE as al, DEFAULT_PLATFORMS as am, type DetailException as an, type DetailFrame as ao, type DetailMechanism as ap, EMBED_IFRAME_ATTRS as aq, type ElementNode as ar, type ElementSnapshot as as, type EmbedProvider as at, type ErrorFilterPattern as au, type ErrorLevelName as av, type ErrorTrackingSettings as aw, ErrorTrackingSettingsSchema as ax, type ExceptionDetail as ay, type ExceptionProperties as az, type GuideConfigInput as b, MEDIA_MAX_BYTES as b$, type GuideExperimentGoalKind as b0, type GuideExperimentStatus as b1, type GuideExperimentVariant as b2, type GuideHoldout as b3, type GuideLocalization as b4, GuideLocalizationSchema as b5, type GuideSchedule as b6, GuideScheduleSchema as b7, GuideStateUpdateSchema as b8, type GuideStatus as b9, MAX_BUG_REPORT_LENGTH as bA, MAX_BUG_REPORT_SCREENSHOT_BYTES as bB, MAX_COLLECTION_DEPTH as bC, MAX_COMPLAINT_ANSWER_LENGTH as bD, MAX_COMPLAINT_ATTACHMENT_BYTES as bE, MAX_COMPLAINT_CHOICES as bF, MAX_COMPLAINT_FIELDS as bG, MAX_COMPLAINT_LENGTH as bH, MAX_CUSTOM_CSS as bI, MAX_DEBUG_IMAGES as bJ, MAX_DETAIL_FRAMES as bK, MAX_DETAIL_THREADS as bL, MAX_ERROR_TAGS as bM, MAX_EXCEPTION_CHAIN as bN, MAX_EXCEPTION_DETAIL_BYTES as bO, MAX_EXCEPTION_DETAIL_RAW_BYTES as bP, MAX_FEEDBACK_COMMENT as bQ, MAX_FEEDBACK_DESCRIPTION as bR, MAX_FEEDBACK_NOTE as bS, MAX_FEEDBACK_TITLE as bT, MAX_MESSAGE_LENGTH as bU, MAX_PROPERTY_BYTES as bV, MAX_STACK_FRAMES as bW, MEDIA_FILE_MAX_BYTES as bX, MEDIA_FILE_TYPES as bY, MEDIA_IMAGE_MAX_BYTES as bZ, MEDIA_IMAGE_TYPES as b_, type GuideStep as ba, type GuideStepInput as bb, GuideThrottlingSchema as bc, type GuideThrottlingSettings as bd, type GuideVisibility as be, HEATMAP_VIEWPORTS as bf, HOWTO_ACTIONS as bg, HOWTO_STEP_KINDS as bh, type HeatmapPoint as bi, type HeatmapProperties as bj, type HeatmapViewport as bk, type HowToAction as bl, type HowToAnnotation as bm, HowToAnnotationSchema as bn, type HowToStepKind as bo, type IdentifyRequest as bp, IdentifyRequestSchema as bq, type IdentifyResponse as br, LOCALE_PATTERN as bs, LOGGED_IN_AUDIENCE as bt, LocaleSchema as bu, type LocalizationSettings as bv, LocalizationSettingsSchema as bw, MAX_ANNOTATIONS as bx, MAX_APP_VERSION_LENGTH as by, MAX_BREADCRUMBS as bz, AGENT_METADATA_MAX_BYTES as c, REPLY_TIMES as c$, MEDIA_VIDEO_MAX_BYTES as c0, MEDIA_VIDEO_TYPES as c1, MESSAGE_AUTHORS as c2, type MediaContentType as c3, type MediaKind as c4, type MessageAuthor as c5, type MessengerCitation as c6, type MessengerComplaint as c7, type MessengerComplaintCategory as c8, type MessengerComplaintOffer as c9, PDF_MAX_PAGES as cA, PDF_PAGES_CLASS as cB, PLACEMENTS as cC, PLATFORMS as cD, type PageContext as cE, type PagePattern as cF, type PageRule as cG, type PerformanceSettings as cH, PerformanceSettingsSchema as cI, type Placement as cJ, type Platform as cK, PostMessageSchema as cL, type ProjectTheme as cM, ProjectThemeSchema as cN, type PublicFeedbackComment as cO, type PublicFeedbackList as cP, type PublicFeedbackRequest as cQ, type PublicFeedbackRequestDetail as cR, type PublishedGuide as cS, PublishedGuideSchema as cT, type QueryParamCondition as cU, type QueryParamOp as cV, RC_MODULE_IDS as cW, RC_MODULE_LABELS as cX, RECORDING_LEVELS as cY, REPLAY_MAX_COMPRESSED_BYTES as cZ, REPLAY_MAX_RAW_BYTES as c_, type MessengerComplaintsConfig as ca, type MessengerConfig as cb, type MessengerConversation as cc, type MessengerHomeCards as cd, type MessengerHowToCitation as ce, type MessengerIdeaOffer as cf, type MessengerIdeasConfig as cg, type MessengerMessage as ch, type MessengerPageContent as ci, type MessengerPageRequest as cj, MessengerPageRequestSchema as ck, type MessengerPageSuggestion as cl, type MessengerStatus as cm, type MessengerSuggestedGuide as cn, type MessengerTeammate as co, NETWORK_PLUGIN as cp, NOISY_DATA_ATTR as cq, type NetworkPluginPayload as cr, type NetworkRequest as cs, type NetworkRequestType as ct, NormalizedPointSchema as cu, type NormalizedRect as cv, NormalizedRectSchema as cw, PAGE_RULE_LIMITS as cx, PATH_ID_PATTERN as cy, PDF_BLOCK_CLASS as cz, AGENT_METADATA_MAX_KEYS as d, type SurveyQuestion as d$, RULE_FIELDS as d0, RULE_OPERATORS as d1, type RcArticleLike as d2, type RcCollectionLike as d3, type RcSection as d4, type RecordingLevel as d5, type ReplayChunk as d6, ReplayChunkSchema as d7, type ReplaySettings as d8, ReplaySettingsSchema as d9, type ScoutStreamEvent as dA, type SdkArticleSummary as dB, type SdkArticlesResponse as dC, type SdkConfigResponse as dD, type SdkHowTo as dE, type SdkHowToStep as dF, type SdkHowToSummary as dG, type SdkHowTosResponse as dH, type SelectorOp as dI, type SelectorStrategy as dJ, SelectorStrategySchema as dK, SelectorSyntaxError as dL, type ShowWhen as dM, type StackFrame as dN, type StartConversationRequest as dO, type StartConversationResponse as dP, StartConversationSchema as dQ, type StatusLevel as dR, StepBranchSchema as dS, type StepButton as dT, StepSchema as dU, type StepTarget as dV, type StepType as dW, type SurveyAnswer as dX, type SurveyAnswers as dY, type SurveyConfig as dZ, SurveyConfigSchema as d_, type ReplyTime as da, type ResourceCenterAnnouncement as db, type ResourceCenterArticle as dc, type ResourceCenterCollection as dd, type ResourceCenterConfig as de, type ResourceCenterModule as df, type ResourceCenterModuleId as dg, type ResourceCenterTranslations as dh, type RuleField as di, type RuleOperator as dj, SCOUT_AGENT_ID as dk, SELECTOR_KINDS as dl, SENSITIVE_HEADER_PATTERN as dm, SENSITIVE_PARAM_PATTERN as dn, SENSITIVE_PROPERTY_PATTERN as dp, SERVER_ASSISTED_FIELDS as dq, SHOW_ME_CLASS as dr, SHOW_ME_HREF_PREFIX as ds, SNAPSHOT_ATTRS as dt, SNAPSHOT_LIMITS as du, SOURCEMAP_MAX_FILES_PER_UPLOAD as dv, SOURCEMAP_MAX_FILE_BYTES as dw, STATUS_LEVELS as dx, STEP_TYPES as dy, SURVEY_QUESTION_TYPES as dz, AGENT_OUTCOMES as e, guideTextEntries as e$, SurveyQuestionSchema as e0, type SurveyResponseRequest as e1, SurveyResponseRequestSchema as e2, TAG_PROPERTY_LIMITS as e3, TRIGGER_TYPES as e4, type TagPropertyConfig as e5, type TagPropertyDefinition as e6, type TaggingSdkConfig as e7, TargetSchema as e8, type TargetingContext as e9, compoundMatches as eA, contrastIssues as eB, contrastRatio as eC, cssSelectorError as eD, customFingerprint as eE, defaultGuideConfig as eF, defaultStep as eG, describeCaptureStep as eH, describeRule as eI, emptyRuleGroup as eJ, errorFilterDrops as eK, evaluateRule as eL, evaluateRules as eM, evenWeights as eN, experimentBucketRules as eO, experimentSalt as eP, featureCssSelectors as eQ, featureRuleError as eR, featureRuleMatchesClick as eS, feedbackReference as eT, fingerprintError as eU, firstNameFromTraits as eV, fnv1a as eW, foldPathIds as eX, getPath as eY, guideLocales as eZ, guidePlatforms as e_, type TextEntry as ea, type TextKind as eb, type TranslationCoverage as ec, type TranslationReviewMap as ed, type TranslationReviewState as ee, type TriggerConfig as ef, TriggerSchema as eg, VIDEO_ATTRS as eh, type ValidationIssue as ei, type VideoEmbed as ej, WCAG_AA_LARGE as ek, WCAG_AA_TEXT as el, WS_MAX_MESSAGES_PER_SOCKET as em, WS_MAX_MESSAGE_BYTES as en, type WebSocketMessage as eo, applyGuideTranslations as ep, articleHref as eq, articleIdFromHref as er, articleTextEntries as es, assignGuideVariant as et, baseLanguage as eu, clamp as ev, cleanLabel as ew, compare as ex, compareVersions as ey, complaintReference as ez, AGENT_TOOL_CALLS_PER_TURN as f, showMeKeys as f$, guidelyIdFromSelector as f0, hasVideoMedia as f1, isAllowedEmbedSrc as f2, isArticleListed as f3, isChecklistComplete as f4, isFileLink as f5, isMediaContentType as f6, isPlainObject as f7, isQuestionVisible as f8, isRuleGroup as f9, pageRuleMatches as fA, pageRulesMatch as fB, pageTerms as fC, parseCssSelector as fD, parseHexColor as fE, parseStack as fF, propertyAttributeAllowed as fG, queryConditionRegex as fH, randomId as fI, reactNativeBundleUrl as fJ, readableTextOn as fK, recordingLevel as fL, relativeLuminance as fM, resolveCaptureSettings as fN, resolveLocale as fO, resourceCenterLocales as fP, resourceCenterSections as fQ, resourceCenterTextEntries as fR, rolloutBucket as fS, safeRegExp as fT, sanitizeCustomCss as fU, sanitizeProperties as fV, scopeCustomCss as fW, screenPath as fX, servedArticleAudiences as fY, showMeHref as fZ, showMeKeyFromHref as f_, isSafeMediaUrl as fa, isVideoContentType as fb, isVideoFileUrl as fc, localeName as fd, localizeAnnouncement as fe, localizeArticle as ff, localizeGuide as fg, localizeResourceCenter as fh, matchCssSelector as fi, matchUrlPattern as fj, matchesAudiences as fk, matchesHelpQuery as fl, mediaKind as fm, mediaMaxBytes as fn, needsReview as fo, normalizeAppVersion as fp, normalizeErrorMessage as fq, normalizeFrameFile as fr, normalizeLocale as fs, normalizeSnapshot as ft, normalizeTags as fu, orderedModules as fv, pageLabel as fw, pageName as fx, pagePattern as fy, pageRuleError as fz, AGENT_TOOL_STATUSES as g, slugify as g0, snapshotFromSelector as g1, stableStringify as g2, stepVideo as g3, stripOrigin as g4, supportsPlatform as g5, toEmbedUrl as g6, translationCoverage as g7, trimExceptionDetail as g8, unreadAnnouncements as g9, validateGuideConfig as ga, variantProblems as gb, variantRanges as gc, videoThumbnailUrl as gd, visibleAnnouncements as ge, visibleArticleIds as gf, visibleButtons as gg, visitorAudiences as gh, visitorLocales as gi, withExperimentBucket as gj, withRecordingLevel as gk, withVisibility as gl, AGENT_TURNS_PER_BATCH as h, AGENT_TURN_MAX_TEXT as i, AGENT_TURN_ROLES as j, ANNOTATION_COLORS as k, ARTICLE_HREF_PREFIX as l, ARTICLE_VISIBILITIES as m, type AgentEventsResponse as n, type AgentOutcome as o, type AgentToolCallInput as p, type AgentToolStatus as q, type AgentTurnInput as r, type AgentTurnRole as s, type AnnotationColor as t, type ApiError as u, type AppSnapshot as v, type Appearance as w, AppearanceSchema as x, type ArticleVisibility as y, type AttrOp as z };
package/dist/runtime.cjs CHANGED
@@ -50,6 +50,10 @@ __export(runtime_exports, {
50
50
  GUIDE_EXPERIMENT_STATUSES: () => GUIDE_EXPERIMENT_STATUSES,
51
51
  GUIDE_VISIBILITIES: () => GUIDE_VISIBILITIES,
52
52
  LOGGED_IN_AUDIENCE: () => LOGGED_IN_AUDIENCE,
53
+ MAX_APP_VERSION_LENGTH: () => MAX_APP_VERSION_LENGTH,
54
+ MAX_BREADCRUMBS: () => MAX_BREADCRUMBS,
55
+ MAX_BUG_REPORT_LENGTH: () => MAX_BUG_REPORT_LENGTH,
56
+ MAX_BUG_REPORT_SCREENSHOT_BYTES: () => MAX_BUG_REPORT_SCREENSHOT_BYTES,
53
57
  MAX_COLLECTION_DEPTH: () => MAX_COLLECTION_DEPTH,
54
58
  MAX_COMPLAINT_ANSWER_LENGTH: () => MAX_COMPLAINT_ANSWER_LENGTH,
55
59
  MAX_COMPLAINT_ATTACHMENT_BYTES: () => MAX_COMPLAINT_ATTACHMENT_BYTES,
@@ -57,6 +61,13 @@ __export(runtime_exports, {
57
61
  MAX_COMPLAINT_FIELDS: () => MAX_COMPLAINT_FIELDS,
58
62
  MAX_COMPLAINT_LENGTH: () => MAX_COMPLAINT_LENGTH,
59
63
  MAX_CUSTOM_CSS: () => MAX_CUSTOM_CSS,
64
+ MAX_DEBUG_IMAGES: () => MAX_DEBUG_IMAGES,
65
+ MAX_DETAIL_FRAMES: () => MAX_DETAIL_FRAMES,
66
+ MAX_DETAIL_THREADS: () => MAX_DETAIL_THREADS,
67
+ MAX_ERROR_TAGS: () => MAX_ERROR_TAGS,
68
+ MAX_EXCEPTION_CHAIN: () => MAX_EXCEPTION_CHAIN,
69
+ MAX_EXCEPTION_DETAIL_BYTES: () => MAX_EXCEPTION_DETAIL_BYTES,
70
+ MAX_EXCEPTION_DETAIL_RAW_BYTES: () => MAX_EXCEPTION_DETAIL_RAW_BYTES,
60
71
  MAX_PROPERTY_BYTES: () => MAX_PROPERTY_BYTES,
61
72
  MAX_STACK_FRAMES: () => MAX_STACK_FRAMES,
62
73
  MEDIA_FILE_MAX_BYTES: () => MEDIA_FILE_MAX_BYTES,
@@ -110,8 +121,10 @@ __export(runtime_exports, {
110
121
  contrastIssues: () => contrastIssues,
111
122
  contrastRatio: () => contrastRatio,
112
123
  cssSelectorError: () => cssSelectorError,
124
+ customFingerprint: () => customFingerprint,
113
125
  describeRule: () => describeRule,
114
126
  emptyRuleGroup: () => emptyRuleGroup,
127
+ errorFilterDrops: () => errorFilterDrops,
115
128
  evaluateRule: () => evaluateRule,
116
129
  evaluateRules: () => evaluateRules,
117
130
  evenWeights: () => evenWeights,
@@ -153,10 +166,12 @@ __export(runtime_exports, {
153
166
  mediaKind: () => mediaKind,
154
167
  mediaMaxBytes: () => mediaMaxBytes,
155
168
  needsReview: () => needsReview,
169
+ normalizeAppVersion: () => normalizeAppVersion,
156
170
  normalizeErrorMessage: () => normalizeErrorMessage,
157
171
  normalizeFrameFile: () => normalizeFrameFile,
158
172
  normalizeLocale: () => normalizeLocale,
159
173
  normalizeSnapshot: () => normalizeSnapshot,
174
+ normalizeTags: () => normalizeTags,
160
175
  orderedModules: () => orderedModules,
161
176
  pageLabel: () => pageLabel,
162
177
  pagePattern: () => pagePattern,
@@ -170,6 +185,7 @@ __export(runtime_exports, {
170
185
  propertyAttributeAllowed: () => propertyAttributeAllowed,
171
186
  queryConditionRegex: () => queryConditionRegex,
172
187
  randomId: () => randomId,
188
+ reactNativeBundleUrl: () => reactNativeBundleUrl,
173
189
  readableTextOn: () => readableTextOn,
174
190
  relativeLuminance: () => relativeLuminance,
175
191
  resolveLocale: () => resolveLocale,
@@ -194,6 +210,7 @@ __export(runtime_exports, {
194
210
  supportsPlatform: () => supportsPlatform,
195
211
  toEmbedUrl: () => toEmbedUrl,
196
212
  translationCoverage: () => translationCoverage,
213
+ trimExceptionDetail: () => trimExceptionDetail,
197
214
  unreadAnnouncements: () => unreadAnnouncements,
198
215
  variantProblems: () => variantProblems,
199
216
  variantRanges: () => variantRanges,
@@ -223,18 +240,18 @@ function slugify(input) {
223
240
  return input.toLowerCase().trim().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 64) || "untitled";
224
241
  }
225
242
  var ALPHABET = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
226
- function randomId(size = 16) {
243
+ function randomId(size2 = 16) {
227
244
  const g = typeof globalThis !== "undefined" ? globalThis : {};
228
245
  let bytes;
229
246
  if (g.crypto && typeof g.crypto.getRandomValues === "function") {
230
- bytes = new Uint8Array(size);
247
+ bytes = new Uint8Array(size2);
231
248
  g.crypto.getRandomValues(bytes);
232
249
  } else {
233
- bytes = new Uint8Array(size);
234
- for (let i = 0; i < size; i++) bytes[i] = Math.floor(Math.random() * 256);
250
+ bytes = new Uint8Array(size2);
251
+ for (let i = 0; i < size2; i++) bytes[i] = Math.floor(Math.random() * 256);
235
252
  }
236
253
  let out = "";
237
- for (let i = 0; i < size; i++) out += ALPHABET[bytes[i] % ALPHABET.length];
254
+ for (let i = 0; i < size2; i++) out += ALPHABET[bytes[i] % ALPHABET.length];
238
255
  return out;
239
256
  }
240
257
  function isPlainObject(v) {
@@ -591,16 +608,23 @@ function describeRule(rule) {
591
608
  // src/events-util.ts
592
609
  var SENSITIVE_PROPERTY_PATTERN = /(password|passwd|secret|token|credit|card|cvv|ssn|iban)/i;
593
610
  var MAX_PROPERTY_BYTES = 8 * 1024;
611
+ var MAX_APP_VERSION_LENGTH = 64;
612
+ function normalizeAppVersion(input) {
613
+ if (typeof input !== "string" && typeof input !== "number") return null;
614
+ const printable = Array.from(String(input)).filter((c) => c.charCodeAt(0) > 31 && c.charCodeAt(0) !== 127).join("");
615
+ const v = printable.trim().slice(0, MAX_APP_VERSION_LENGTH).trim();
616
+ return v || null;
617
+ }
594
618
  function sanitizeProperties(props) {
595
619
  if (!props) return {};
596
620
  const out = {};
597
- let size = 0;
621
+ let size2 = 0;
598
622
  for (const [k, v] of Object.entries(props)) {
599
623
  if (SENSITIVE_PROPERTY_PATTERN.test(k)) continue;
600
624
  if (typeof v === "function" || typeof v === "symbol") continue;
601
625
  const str2 = typeof v === "string" ? v : JSON.stringify(v ?? null);
602
- size += k.length + (str2?.length ?? 0);
603
- if (size > MAX_PROPERTY_BYTES) break;
626
+ size2 += k.length + (str2?.length ?? 0);
627
+ if (size2 > MAX_PROPERTY_BYTES) break;
604
628
  out[k.slice(0, 100)] = typeof v === "string" ? v.slice(0, 1e3) : v;
605
629
  }
606
630
  return out;
@@ -610,16 +634,23 @@ function sanitizeProperties(props) {
610
634
  var MAX_STACK_FRAMES = 30;
611
635
  var V8 = /^\s*at (?:(.+?) \()?((?:[a-z][\w+.-]*:)?[^\s()]+?):(\d+):(\d+)\)?\s*$/i;
612
636
  var GECKO = /^\s*(.*?)@(.+?):(\d+):(\d+)\s*$/;
637
+ var HERMES = /^\s*at (?:(.+?) \()?address at ([^\s()]+?):(\d+):(\d+)\)?\s*$/;
638
+ function reactNativeBundleUrl(file) {
639
+ const base = file.replace(/[?#].*$/, "").split("/").pop() || file;
640
+ return `app:///${base}`;
641
+ }
613
642
  function parseStack(stack, max = MAX_STACK_FRAMES) {
614
643
  if (!stack || typeof stack !== "string") return [];
615
644
  const frames = [];
616
645
  for (const raw of stack.split("\n")) {
617
646
  if (frames.length >= max) break;
618
647
  const line = raw.slice(0, 1e3);
619
- const m = V8.exec(line) ?? GECKO.exec(line);
648
+ const hermes = HERMES.exec(line);
649
+ const m = hermes ?? V8.exec(line) ?? GECKO.exec(line);
620
650
  if (!m) continue;
621
651
  const fn = (m[1] || "").trim();
622
- frames.push({ fn: fn ? fn.slice(0, 200) : void 0, file: m[2]?.slice(0, 500), line: Number(m[3]), col: Number(m[4]) });
652
+ const file = hermes ? reactNativeBundleUrl(m[2]) : m[2];
653
+ frames.push({ fn: fn ? fn.slice(0, 200) : void 0, file: file?.slice(0, 500), line: Number(m[3]), col: Number(m[4]) });
623
654
  }
624
655
  return frames;
625
656
  }
@@ -639,13 +670,23 @@ function normalizeFrameFile(file) {
639
670
  var SOURCEMAP_MAX_FILE_BYTES = 100 * 1024 * 1024;
640
671
  var SOURCEMAP_MAX_FILES_PER_UPLOAD = 200;
641
672
  function fingerprintError(input) {
642
- const top = (input.frames ?? []).find((f) => f.file);
643
- const frameKey = input.original ? `src:${input.original.source}:${input.original.name || "?"}` : top ? `${normalizeFrameFile(top.file)}:${top.fn || "?"}` : "";
673
+ const withFile = (input.frames ?? []).filter((f) => f.file || f.module);
674
+ const top = withFile.find((f) => f.inApp === true) ?? withFile.find((f) => f.inApp !== false) ?? withFile[0];
675
+ const frameKey = input.original ? `src:${input.original.source}:${input.original.name || "?"}` : top ? `${top.file ? normalizeFrameFile(top.file) : `mod:${top.module}`}:${top.fn || "?"}` : "";
644
676
  const key = [input.type || "Error", normalizeErrorMessage(input.message || ""), frameKey].join("|");
645
677
  const a = fnv1a(key).toString(16).padStart(8, "0");
646
678
  const b = fnv1a(`guidely:${key}`).toString(16).padStart(8, "0");
647
679
  return a + b;
648
680
  }
681
+ function customFingerprint(parts, computed) {
682
+ if (!Array.isArray(parts) || parts.length === 0) return computed;
683
+ const items = parts.filter((p) => typeof p === "string" || typeof p === "number").map((p) => String(p).slice(0, 200)).slice(0, 20);
684
+ if (items.length === 0) return computed;
685
+ const isDefault = (p) => /^\{\{\s*default\s*\}\}$/i.test(p);
686
+ if (items.every(isDefault)) return computed;
687
+ const key = items.map((p) => isDefault(p) ? computed : p).join("|");
688
+ return fnv1a(key).toString(16).padStart(8, "0") + fnv1a(`guidely:fp:${key}`).toString(16).padStart(8, "0");
689
+ }
649
690
 
650
691
  // src/network.ts
651
692
  var NETWORK_PLUGIN = "guidely/network@1";
@@ -1516,6 +1557,10 @@ var MAX_COMPLAINT_ANSWER_LENGTH = 500;
1516
1557
  var MAX_COMPLAINT_ATTACHMENT_BYTES = 2 * 1024 * 1024;
1517
1558
  var complaintReference = (number) => `CMP-${number}`;
1518
1559
 
1560
+ // src/bug-reports-limits.ts
1561
+ var MAX_BUG_REPORT_LENGTH = 4e3;
1562
+ var MAX_BUG_REPORT_SCREENSHOT_BYTES = 4 * 1024 * 1024;
1563
+
1519
1564
  // src/agents-limits.ts
1520
1565
  var AGENT_TURN_ROLES = ["user", "assistant", "tool", "system"];
1521
1566
  var AGENT_OUTCOMES = ["success", "failure", "escalated", "abandoned"];
@@ -1989,6 +2034,71 @@ function contrastIssues(colors) {
1989
2034
  }
1990
2035
  return issues;
1991
2036
  }
2037
+
2038
+ // src/error-detail.ts
2039
+ var MAX_EXCEPTION_DETAIL_BYTES = 64 * 1024;
2040
+ var MAX_EXCEPTION_DETAIL_RAW_BYTES = 1024 * 1024;
2041
+ var MAX_BREADCRUMBS = 100;
2042
+ var MAX_EXCEPTION_CHAIN = 20;
2043
+ var MAX_DETAIL_FRAMES = 250;
2044
+ var MAX_DETAIL_THREADS = 100;
2045
+ var MAX_DEBUG_IMAGES = 500;
2046
+ var MAX_ERROR_TAGS = 50;
2047
+ var size = (v) => {
2048
+ try {
2049
+ return JSON.stringify(v)?.length ?? 0;
2050
+ } catch {
2051
+ return Infinity;
2052
+ }
2053
+ };
2054
+ function normalizeTags(tags) {
2055
+ const out = {};
2056
+ for (const [k, v] of Object.entries(tags ?? {})) {
2057
+ if (Object.keys(out).length >= MAX_ERROR_TAGS) break;
2058
+ if (!k || v === void 0 || v === null) continue;
2059
+ out[k.slice(0, 32)] = String(v).slice(0, 200);
2060
+ }
2061
+ return out;
2062
+ }
2063
+ function trimExceptionDetail(detail, max = MAX_EXCEPTION_DETAIL_BYTES) {
2064
+ const d = detail;
2065
+ if (d.breadcrumbs?.values && d.breadcrumbs.values.length > MAX_BREADCRUMBS) d.breadcrumbs.values = d.breadcrumbs.values.slice(-MAX_BREADCRUMBS);
2066
+ if (d.exception?.values && d.exception.values.length > MAX_EXCEPTION_CHAIN) d.exception.values = d.exception.values.slice(-MAX_EXCEPTION_CHAIN);
2067
+ if (d.threads?.values && d.threads.values.length > MAX_DETAIL_THREADS) d.threads.values = d.threads.values.slice(0, MAX_DETAIL_THREADS);
2068
+ if (d.debug_meta?.images && d.debug_meta.images.length > MAX_DEBUG_IMAGES) d.debug_meta.images = d.debug_meta.images.slice(0, MAX_DEBUG_IMAGES);
2069
+ const stacks = () => [...d.exception?.values ?? [], ...d.threads?.values ?? []].map((x) => x.stacktrace).filter((s) => !!s);
2070
+ for (const s of stacks()) if (s.frames && s.frames.length > MAX_DETAIL_FRAMES) s.frames = s.frames.slice(-MAX_DETAIL_FRAMES);
2071
+ if (size(d) <= max) return d;
2072
+ while (d.breadcrumbs?.values.length && size(d) > max) d.breadcrumbs.values = d.breadcrumbs.values.slice(Math.ceil(d.breadcrumbs.values.length / 2));
2073
+ if (size(d) <= max) return d;
2074
+ for (const s of stacks())
2075
+ for (const f of s.frames ?? []) {
2076
+ delete f.vars;
2077
+ delete f.pre_context;
2078
+ delete f.post_context;
2079
+ }
2080
+ if (size(d) <= max) return d;
2081
+ if (d.threads?.values) d.threads.values = d.threads.values.filter((t) => t.crashed || t.current);
2082
+ if (size(d) <= max) return d;
2083
+ if (d.extra) d.extra = { _trimmed: true };
2084
+ if (d.request) delete d.request.data;
2085
+ for (const s of stacks()) while (s.frames && s.frames.length > 20 && size(d) > max) s.frames.splice(Math.floor(s.frames.length / 2) - 5, 10);
2086
+ if (d.debug_meta?.images && size(d) > max) d.debug_meta.images = d.debug_meta.images.slice(0, 50);
2087
+ return d;
2088
+ }
2089
+ var matches = (patterns, value) => patterns.some((p) => typeof p === "string" ? p !== "" && value.includes(p) : safeTest(p, value));
2090
+ function safeTest(re, value) {
2091
+ re.lastIndex = 0;
2092
+ return re.test(value);
2093
+ }
2094
+ function errorFilterDrops(e, opts) {
2095
+ const message = e.message ?? "";
2096
+ if (opts.ignoreErrors?.length && (matches(opts.ignoreErrors, `${e.type || "Error"}: ${message}`) || matches(opts.ignoreErrors, message))) return true;
2097
+ if (!e.file) return false;
2098
+ if (opts.denyUrls?.length && matches(opts.denyUrls, e.file)) return true;
2099
+ if (opts.allowUrls?.length && !matches(opts.allowUrls, e.file)) return true;
2100
+ return false;
2101
+ }
1992
2102
  // Annotate the CommonJS export names for ESM import in node:
1993
2103
  0 && (module.exports = {
1994
2104
  AGENT_METADATA_MAX_BYTES,
@@ -2021,6 +2131,10 @@ function contrastIssues(colors) {
2021
2131
  GUIDE_EXPERIMENT_STATUSES,
2022
2132
  GUIDE_VISIBILITIES,
2023
2133
  LOGGED_IN_AUDIENCE,
2134
+ MAX_APP_VERSION_LENGTH,
2135
+ MAX_BREADCRUMBS,
2136
+ MAX_BUG_REPORT_LENGTH,
2137
+ MAX_BUG_REPORT_SCREENSHOT_BYTES,
2024
2138
  MAX_COLLECTION_DEPTH,
2025
2139
  MAX_COMPLAINT_ANSWER_LENGTH,
2026
2140
  MAX_COMPLAINT_ATTACHMENT_BYTES,
@@ -2028,6 +2142,13 @@ function contrastIssues(colors) {
2028
2142
  MAX_COMPLAINT_FIELDS,
2029
2143
  MAX_COMPLAINT_LENGTH,
2030
2144
  MAX_CUSTOM_CSS,
2145
+ MAX_DEBUG_IMAGES,
2146
+ MAX_DETAIL_FRAMES,
2147
+ MAX_DETAIL_THREADS,
2148
+ MAX_ERROR_TAGS,
2149
+ MAX_EXCEPTION_CHAIN,
2150
+ MAX_EXCEPTION_DETAIL_BYTES,
2151
+ MAX_EXCEPTION_DETAIL_RAW_BYTES,
2031
2152
  MAX_PROPERTY_BYTES,
2032
2153
  MAX_STACK_FRAMES,
2033
2154
  MEDIA_FILE_MAX_BYTES,
@@ -2081,8 +2202,10 @@ function contrastIssues(colors) {
2081
2202
  contrastIssues,
2082
2203
  contrastRatio,
2083
2204
  cssSelectorError,
2205
+ customFingerprint,
2084
2206
  describeRule,
2085
2207
  emptyRuleGroup,
2208
+ errorFilterDrops,
2086
2209
  evaluateRule,
2087
2210
  evaluateRules,
2088
2211
  evenWeights,
@@ -2124,10 +2247,12 @@ function contrastIssues(colors) {
2124
2247
  mediaKind,
2125
2248
  mediaMaxBytes,
2126
2249
  needsReview,
2250
+ normalizeAppVersion,
2127
2251
  normalizeErrorMessage,
2128
2252
  normalizeFrameFile,
2129
2253
  normalizeLocale,
2130
2254
  normalizeSnapshot,
2255
+ normalizeTags,
2131
2256
  orderedModules,
2132
2257
  pageLabel,
2133
2258
  pagePattern,
@@ -2141,6 +2266,7 @@ function contrastIssues(colors) {
2141
2266
  propertyAttributeAllowed,
2142
2267
  queryConditionRegex,
2143
2268
  randomId,
2269
+ reactNativeBundleUrl,
2144
2270
  readableTextOn,
2145
2271
  relativeLuminance,
2146
2272
  resolveLocale,
@@ -2165,6 +2291,7 @@ function contrastIssues(colors) {
2165
2291
  supportsPlatform,
2166
2292
  toEmbedUrl,
2167
2293
  translationCoverage,
2294
+ trimExceptionDetail,
2168
2295
  unreadAnnouncements,
2169
2296
  variantProblems,
2170
2297
  variantRanges,