@appilots/sdk 0.8.0 → 0.10.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.
@@ -1,2 +1,2 @@
1
- export { H as SuggestedPrompt, O as UseAppilotsFieldOptions, Q as UseAppilotsSliderOptions, V as UseAppilotsTargetOptions, W as UseAppilotsToggleOptions, X as UseSuggestedPromptsOptions, Y as UseSuggestedPromptsReturn, a8 as useAppilots, a9 as useAppilotsActions, aa as useAppilotsChat, ac as useAppilotsField, ad as useAppilotsNavigation, ae as useAppilotsSlider, af as useAppilotsTarget, ag as useAppilotsToggle, ah as useSuggestedPrompts } from '../index-BdYY-dvG.mjs';
1
+ export { J as SuggestedPrompt, Q as UseAppilotsFieldOptions, V as UseAppilotsSliderOptions, W as UseAppilotsTargetOptions, X as UseAppilotsToggleOptions, Y as UseSuggestedPromptsOptions, Z as UseSuggestedPromptsReturn, a9 as useAppilots, aa as useAppilotsActions, ab as useAppilotsChat, ad as useAppilotsField, ae as useAppilotsNavigation, af as useAppilotsSlider, ag as useAppilotsTarget, ah as useAppilotsToggle, ai as useSuggestedPrompts } from '../index-BPZ0j71S.mjs';
2
2
  import 'react';
@@ -1,2 +1,2 @@
1
- export { H as SuggestedPrompt, O as UseAppilotsFieldOptions, Q as UseAppilotsSliderOptions, V as UseAppilotsTargetOptions, W as UseAppilotsToggleOptions, X as UseSuggestedPromptsOptions, Y as UseSuggestedPromptsReturn, a8 as useAppilots, a9 as useAppilotsActions, aa as useAppilotsChat, ac as useAppilotsField, ad as useAppilotsNavigation, ae as useAppilotsSlider, af as useAppilotsTarget, ag as useAppilotsToggle, ah as useSuggestedPrompts } from '../index-BdYY-dvG.js';
1
+ export { J as SuggestedPrompt, Q as UseAppilotsFieldOptions, V as UseAppilotsSliderOptions, W as UseAppilotsTargetOptions, X as UseAppilotsToggleOptions, Y as UseSuggestedPromptsOptions, Z as UseSuggestedPromptsReturn, a9 as useAppilots, aa as useAppilotsActions, ab as useAppilotsChat, ad as useAppilotsField, ae as useAppilotsNavigation, af as useAppilotsSlider, ag as useAppilotsTarget, ah as useAppilotsToggle, ai as useSuggestedPrompts } from '../index-BPZ0j71S.js';
2
2
  import 'react';
@@ -1,43 +1,43 @@
1
1
  'use strict';
2
2
 
3
- var chunkN7EAOLBP_js = require('../chunk-N7EAOLBP.js');
4
- require('../chunk-AYWMBMSN.js');
3
+ var chunkVX7AL4SA_js = require('../chunk-VX7AL4SA.js');
4
+ require('../chunk-YB77RYCC.js');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "useAppilots", {
9
9
  enumerable: true,
10
- get: function () { return chunkN7EAOLBP_js.useAppilots; }
10
+ get: function () { return chunkVX7AL4SA_js.useAppilots; }
11
11
  });
12
12
  Object.defineProperty(exports, "useAppilotsActions", {
13
13
  enumerable: true,
14
- get: function () { return chunkN7EAOLBP_js.useAppilotsActions; }
14
+ get: function () { return chunkVX7AL4SA_js.useAppilotsActions; }
15
15
  });
16
16
  Object.defineProperty(exports, "useAppilotsChat", {
17
17
  enumerable: true,
18
- get: function () { return chunkN7EAOLBP_js.useAppilotsChat; }
18
+ get: function () { return chunkVX7AL4SA_js.useAppilotsChat; }
19
19
  });
20
20
  Object.defineProperty(exports, "useAppilotsField", {
21
21
  enumerable: true,
22
- get: function () { return chunkN7EAOLBP_js.useAppilotsField; }
22
+ get: function () { return chunkVX7AL4SA_js.useAppilotsField; }
23
23
  });
24
24
  Object.defineProperty(exports, "useAppilotsNavigation", {
25
25
  enumerable: true,
26
- get: function () { return chunkN7EAOLBP_js.useAppilotsNavigation; }
26
+ get: function () { return chunkVX7AL4SA_js.useAppilotsNavigation; }
27
27
  });
28
28
  Object.defineProperty(exports, "useAppilotsSlider", {
29
29
  enumerable: true,
30
- get: function () { return chunkN7EAOLBP_js.useAppilotsSlider; }
30
+ get: function () { return chunkVX7AL4SA_js.useAppilotsSlider; }
31
31
  });
32
32
  Object.defineProperty(exports, "useAppilotsTarget", {
33
33
  enumerable: true,
34
- get: function () { return chunkN7EAOLBP_js.useAppilotsTarget; }
34
+ get: function () { return chunkVX7AL4SA_js.useAppilotsTarget; }
35
35
  });
36
36
  Object.defineProperty(exports, "useAppilotsToggle", {
37
37
  enumerable: true,
38
- get: function () { return chunkN7EAOLBP_js.useAppilotsToggle; }
38
+ get: function () { return chunkVX7AL4SA_js.useAppilotsToggle; }
39
39
  });
40
40
  Object.defineProperty(exports, "useSuggestedPrompts", {
41
41
  enumerable: true,
42
- get: function () { return chunkN7EAOLBP_js.useSuggestedPrompts; }
42
+ get: function () { return chunkVX7AL4SA_js.useSuggestedPrompts; }
43
43
  });
@@ -1,2 +1,2 @@
1
- export { useAppilots, useAppilotsActions, useAppilotsChat, useAppilotsField, useAppilotsNavigation, useAppilotsSlider, useAppilotsTarget, useAppilotsToggle, useSuggestedPrompts } from '../chunk-MHWVRZYF.mjs';
2
- import '../chunk-C2KVVJ5K.mjs';
1
+ export { useAppilots, useAppilotsActions, useAppilotsChat, useAppilotsField, useAppilotsNavigation, useAppilotsSlider, useAppilotsTarget, useAppilotsToggle, useSuggestedPrompts } from '../chunk-XHR65V2W.mjs';
2
+ import '../chunk-AHHDOUVX.mjs';
@@ -210,7 +210,8 @@ interface AgentAction {
210
210
  destructive?: boolean;
211
211
  }
212
212
  interface NavigationPayload {
213
- screenName: string;
213
+ /** Absent only for `goBack`, which has no destination to name (#398). */
214
+ screenName?: string;
214
215
  params?: Record<string, unknown>;
215
216
  navigationAction: 'push' | 'navigate' | 'replace' | 'goBack' | 'reset';
216
217
  /**
@@ -309,7 +310,7 @@ interface EscalationState {
309
310
  */
310
311
  interface IntrospectionDiagnosticsInput {
311
312
  captured: boolean;
312
- failureReason?: 'sentinel-missing-internals' | 'never-mounted' | 'render-crashed' | null;
313
+ failureReason?: 'sentinel-missing-internals' | 'never-mounted' | 'render-crashed' | 'names-mangled' | 'walk-recognized-nothing' | null;
313
314
  reactVersion?: string | null;
314
315
  failureCount?: number;
315
316
  }
@@ -472,6 +473,7 @@ interface SendMessageContext {
472
473
  empty?: boolean;
473
474
  }>;
474
475
  }
476
+
475
477
  declare class AppilotsClient {
476
478
  private readonly baseUrl;
477
479
  private readonly projectId;
@@ -485,6 +487,18 @@ declare class AppilotsClient {
485
487
  /** Guard so identify fires at most once per client instance. */
486
488
  private identified;
487
489
  constructor(options: AppilotsClientOptions);
490
+ /**
491
+ * A 404 on an `/agent/*` path is almost never a missing record — those
492
+ * routes are static. It means the request reached SOMETHING that is not
493
+ * this API, or reached it at the wrong mount point, and the server's own
494
+ * message ("Route not found") tells the integrator nothing about which.
495
+ *
496
+ * The symptom is unmistakable once you have seen it: every message
497
+ * fails, including a plain "hello" that needs no tool at all, because
498
+ * nothing ever reaches the agent. Left as-is it reads like the agent is
499
+ * broken.
500
+ */
501
+ private explainIfMisroutedBaseUrl;
488
502
  private log;
489
503
  private describeNonJsonResponse;
490
504
  private request;
@@ -680,9 +694,45 @@ declare class AppilotsClient {
680
694
  * produces this same shape; the wire contract it feeds is
681
695
  * `agentSnapshotSchema` in `@appilots/shared`.
682
696
  */
697
+ /**
698
+ * How much the walker actually knows about an element's identifier.
699
+ *
700
+ * The observation used to say nothing here, so `btn-3` — an ordinal the
701
+ * walker invented — read to the model exactly like `testID="submit-order"`,
702
+ * which a developer wrote down on purpose. That is how a confident press on
703
+ * the wrong control happens.
704
+ *
705
+ * - `declared` the app named it: `testID` / `data-testid` /
706
+ * `accessibilityLabel` / `aria-label`. Stable across renders
707
+ * and across releases; safe to copy into a tool call.
708
+ * - `derived` folded from what the user can see — the button's own text,
709
+ * a `label` or `placeholder` prop. Stable as long as the copy
710
+ * does not change, and it changes with the app's language.
711
+ * - `positional` nothing but an ordinal in the current snapshot. Valid for
712
+ * this observation only: a re-render, a scroll or an inserted
713
+ * sibling moves it.
714
+ *
715
+ * ABSENT means unknown, NOT `declared` — clients published before this field
716
+ * existed send no provenance at all, and a missing value must never be read
717
+ * as the most trustworthy one.
718
+ */
719
+ type IdentityProvenance = 'declared' | 'derived' | 'positional';
683
720
  interface InputSnapshot {
684
721
  /** Best identifier — testID/data-testid, accessibilityLabel/aria-label, or placeholder */
685
722
  id?: string;
723
+ /** How `id` was obtained. See {@link IdentityProvenance}. */
724
+ provenance?: IdentityProvenance;
725
+ /**
726
+ * False when the control is mounted but currently outside the window —
727
+ * below the fold of a ScrollView, scrolled off the top, pushed sideways
728
+ * by a carousel.
729
+ *
730
+ * ABSENT MEANS UNKNOWN. The old React Native architecture cannot report a
731
+ * synchronous window-relative rect, and no SDK published before this
732
+ * field existed reports one at all; reading absence as `false` would make
733
+ * the agent refuse to press a control the user is looking at.
734
+ */
735
+ onScreen?: boolean;
686
736
  /** Human-readable label inferred from accessibility metadata or sibling text */
687
737
  label?: string;
688
738
  /** Current value (only present for controlled inputs) */
@@ -695,6 +745,15 @@ interface InputSnapshot {
695
745
  secure?: boolean;
696
746
  /** Inferred type based on the platform's input-type metadata */
697
747
  type?: 'text' | 'email' | 'number' | 'phone' | 'password';
748
+ /**
749
+ * True when pressing return on this field submits — RN's
750
+ * `onSubmitEditing`, the web's implicit form submit.
751
+ *
752
+ * On a search box, a one-field login or a chat composer this IS the
753
+ * submit; the screen has no button and never will. Absent means the
754
+ * field declares no such handler, so the form needs a button.
755
+ */
756
+ submitsOnReturn?: boolean;
698
757
  /**
699
758
  * True when this input lives inside a currently-visible modal. When a
700
759
  * modal is open, only inModal elements can actually receive input —
@@ -705,14 +764,35 @@ interface InputSnapshot {
705
764
  interface ButtonSnapshot {
706
765
  /** Best identifier — testID/data-testid, accessibilityLabel/aria-label, or inferred from child text */
707
766
  id?: string;
767
+ /** How `id` was obtained. See {@link IdentityProvenance}. */
768
+ provenance?: IdentityProvenance;
769
+ /**
770
+ * False when the control is mounted but currently outside the window —
771
+ * below the fold of a ScrollView, scrolled off the top, pushed sideways
772
+ * by a carousel.
773
+ *
774
+ * ABSENT MEANS UNKNOWN. The old React Native architecture cannot report a
775
+ * synchronous window-relative rect, and no SDK published before this
776
+ * field existed reports one at all; reading absence as `false` would make
777
+ * the agent refuse to press a control the user is looking at.
778
+ */
779
+ onScreen?: boolean;
708
780
  /** Human-readable label — usually the visible text inside the button */
709
781
  label?: string;
710
782
  /** Whether the button is disabled */
711
783
  disabled?: boolean;
712
784
  /**
713
- * Whether the button currently appears selected/active — set by
714
- * grouped, mutually-exclusive controls (segmented controls, radio
715
- * groups) where each option is its own pressable target.
785
+ * Whether this control is currently in its ON state.
786
+ *
787
+ * Covers both accessibility states that mean it, because the agent
788
+ * needs the same thing from either: `accessibilityState.selected`
789
+ * (grouped, mutually-exclusive controls — segmented controls, radio
790
+ * groups, each option its own pressable target) and
791
+ * `accessibilityState.checked` (an independent checkbox).
792
+ *
793
+ * Absent means "not on OR not observable" — the walker cannot tell a
794
+ * custom checkbox that declares no a11y state from an ordinary button,
795
+ * so absence is never proof that a box is unticked.
716
796
  */
717
797
  selected?: boolean;
718
798
  /** True when this button lives inside a currently-visible modal. */
@@ -721,6 +801,19 @@ interface ButtonSnapshot {
721
801
  interface ToggleSnapshot {
722
802
  /** Best identifier */
723
803
  id?: string;
804
+ /** How `id` was obtained. See {@link IdentityProvenance}. */
805
+ provenance?: IdentityProvenance;
806
+ /**
807
+ * False when the control is mounted but currently outside the window —
808
+ * below the fold of a ScrollView, scrolled off the top, pushed sideways
809
+ * by a carousel.
810
+ *
811
+ * ABSENT MEANS UNKNOWN. The old React Native architecture cannot report a
812
+ * synchronous window-relative rect, and no SDK published before this
813
+ * field existed reports one at all; reading absence as `false` would make
814
+ * the agent refuse to press a control the user is looking at.
815
+ */
816
+ onScreen?: boolean;
724
817
  /** Human-readable label */
725
818
  label?: string;
726
819
  /** Current on/off state */
@@ -731,6 +824,19 @@ interface ToggleSnapshot {
731
824
  interface SliderSnapshot {
732
825
  /** Registry id — the executable handle. */
733
826
  id?: string;
827
+ /** How `id` was obtained. See {@link IdentityProvenance}. */
828
+ provenance?: IdentityProvenance;
829
+ /**
830
+ * False when the control is mounted but currently outside the window —
831
+ * below the fold of a ScrollView, scrolled off the top, pushed sideways
832
+ * by a carousel.
833
+ *
834
+ * ABSENT MEANS UNKNOWN. The old React Native architecture cannot report a
835
+ * synchronous window-relative rect, and no SDK published before this
836
+ * field existed reports one at all; reading absence as `false` would make
837
+ * the agent refuse to press a control the user is looking at.
838
+ */
839
+ onScreen?: boolean;
734
840
  /** Human-readable label */
735
841
  label?: string;
736
842
  /** Current numeric value */
@@ -821,6 +927,51 @@ interface ListDataPreviewEntry {
821
927
  /** Short human-readable projection of the item (capped length). */
822
928
  text: string;
823
929
  }
930
+ /**
931
+ * A scrollable surface that is NOT a collection — a long form, a detail
932
+ * page, a settings screen inside a `ScrollView`.
933
+ *
934
+ * It exists as its own concept, and not as a `ListSnapshot` with zero
935
+ * rows, because everything the agent knows how to do with a list
936
+ * (ordinals, totals, "select the third one") is meaningless here. The
937
+ * only affordance is paging toward content below the fold — and without
938
+ * it, a screen taller than the viewport ends at the fold.
939
+ */
940
+ interface ScrollableSnapshot {
941
+ /** Runtime id — the handle `scroll_list` addresses. */
942
+ id: string;
943
+ /** The container component as observed: ScrollView, ... */
944
+ containerType: string;
945
+ /** Human-readable label if the app supplied one. */
946
+ label?: string;
947
+ /** Current scroll offset in px. */
948
+ scrollOffsetY?: number;
949
+ /** True when there is content above the viewport. */
950
+ canScrollUp?: boolean;
951
+ /** True when there is content below the viewport. */
952
+ canScrollDown?: boolean;
953
+ /** True when the surface scrolls sideways rather than vertically. */
954
+ horizontal?: boolean;
955
+ }
956
+ /**
957
+ * A platform dialog covering the screen — React Native's `Alert.alert`,
958
+ * an action sheet, an OS permission prompt.
959
+ *
960
+ * It renders outside React, so no amount of tree walking finds it. It
961
+ * has to be reported separately or the agent keeps operating the app
962
+ * underneath a dialog that blocks every real finger.
963
+ */
964
+ interface NativeDialogSnapshot {
965
+ /** Stable for as long as this dialog is open. */
966
+ id: string;
967
+ title?: string;
968
+ message?: string;
969
+ /** The buttons the user can press. Never empty. */
970
+ buttons: Array<{
971
+ label: string;
972
+ style?: 'default' | 'cancel' | 'destructive';
973
+ }>;
974
+ }
824
975
  interface ChoiceOptionSnapshot {
825
976
  /** 1-indexed option position within this group. */
826
977
  index: number;
@@ -875,6 +1026,24 @@ interface InteractionElementSnapshot {
875
1026
  selected?: boolean;
876
1027
  /** Source that produced the element. */
877
1028
  source?: 'list' | 'button' | 'input' | 'toggle' | 'slider' | 'choice';
1029
+ /**
1030
+ * How the underlying control's identifier was obtained. Carried up from
1031
+ * the snapshot entry this element was derived from, so a consumer that
1032
+ * only reads `elements` still knows what it is trusting. See
1033
+ * {@link IdentityProvenance}.
1034
+ */
1035
+ provenance?: IdentityProvenance;
1036
+ /**
1037
+ * False when the control is mounted but currently outside the window —
1038
+ * below the fold of a ScrollView, scrolled off the top, pushed sideways
1039
+ * by a carousel.
1040
+ *
1041
+ * ABSENT MEANS UNKNOWN. The old React Native architecture cannot report a
1042
+ * synchronous window-relative rect, and no SDK published before this
1043
+ * field existed reports one at all; reading absence as `false` would make
1044
+ * the agent refuse to press a control the user is looking at.
1045
+ */
1046
+ onScreen?: boolean;
878
1047
  /** Legacy/fallback target id, if any. */
879
1048
  targetId?: string;
880
1049
  /** Context for row/list options. */
@@ -885,6 +1054,37 @@ interface InteractionElementSnapshot {
885
1054
  */
886
1055
  inModal?: boolean;
887
1056
  }
1057
+ /** Window-relative box, in the coordinate space the platform reports. */
1058
+ interface ElementRect {
1059
+ x: number;
1060
+ y: number;
1061
+ width: number;
1062
+ height: number;
1063
+ }
1064
+ /**
1065
+ * What the CLIENT keeps about an element, which is strictly more than what
1066
+ * the model is told about it.
1067
+ *
1068
+ * The wire shape (`InteractionElementSnapshot`) is sized for a language
1069
+ * model: names, roles, state, everything it needs to decide. This one adds
1070
+ * what only the executor needs — coordinates it will never read aloud —
1071
+ * and it exists because that data was being measured and then discarded
1072
+ * for want of somewhere to put it that wasn't the wire.
1073
+ *
1074
+ * The split is the point. Anything added here is free: it never reaches
1075
+ * `agentSnapshotSchema`, never crosses the network, and never costs a
1076
+ * token. Anything added to the wire type is paid for on every observation
1077
+ * of every session, so it has to earn the model's attention.
1078
+ */
1079
+ interface InteractionElementEntry extends InteractionElementSnapshot {
1080
+ /**
1081
+ * Where the control was on screen when the snapshot was taken. Absent
1082
+ * when the platform cannot measure synchronously (React Native's old
1083
+ * architecture) or when the element came from a source with no fiber
1084
+ * behind it.
1085
+ */
1086
+ rect?: ElementRect;
1087
+ }
888
1088
  interface ScreenSnapshot {
889
1089
  /** The currently active route name, if known */
890
1090
  route: string | null;
@@ -902,6 +1102,15 @@ interface ScreenSnapshot {
902
1102
  loading: boolean;
903
1103
  /** Whether a modal is currently open */
904
1104
  modalOpen: boolean;
1105
+ /**
1106
+ * A native dialog covering the screen, when the SDK could observe one.
1107
+ *
1108
+ * Its presence also forces `modalOpen`, because for every purpose the
1109
+ * agent cares about it IS a modal — nothing behind it is touchable.
1110
+ * Absence is not proof there is no dialog: an OS permission prompt or
1111
+ * a share sheet cannot be instrumented at all.
1112
+ */
1113
+ nativeDialog?: NativeDialogSnapshot;
905
1114
  /**
906
1115
  * Lists detected in the visible tree. Each list's items have their
907
1116
  * own per-item texts/buttons/inputs/toggles, NOT duplicated in the
@@ -914,6 +1123,12 @@ interface ScreenSnapshot {
914
1123
  * for select-like flows where no text input exists.
915
1124
  */
916
1125
  choiceGroups: ChoiceGroupSnapshot[];
1126
+ /**
1127
+ * Scrollable surfaces that carry no rows. Absent/empty means either
1128
+ * the screen does not scroll or the SDK could not observe that it
1129
+ * does — never that the visible content is all the content.
1130
+ */
1131
+ scrollables?: ScrollableSnapshot[];
917
1132
  /**
918
1133
  * Interaction graph: visible actionable elements with stable ids,
919
1134
  * semantic roles, labels, and execution fallbacks. Agents should
@@ -936,6 +1151,21 @@ interface ScreenSnapshot {
936
1151
  stats?: {
937
1152
  visitedFibers: number;
938
1153
  skippedHidden: number;
1154
+ /**
1155
+ * How many controls the walker could name, and how well.
1156
+ *
1157
+ * `WalkDetectorCounts` counts RECOGNITIONS, not emissions, so a screen
1158
+ * whose controls were all silently dropped still reported healthy
1159
+ * detector numbers. This is the emission side: `positional` climbing is
1160
+ * the signal that an app needs annotating, and comparing it between a
1161
+ * debug and a release build is the first real measurement of what
1162
+ * minification costs the agent.
1163
+ */
1164
+ identity?: {
1165
+ declared: number;
1166
+ derived: number;
1167
+ positional: number;
1168
+ };
939
1169
  };
940
1170
  }
941
1171
  /**
@@ -1059,6 +1289,24 @@ interface AppilotsConfig {
1059
1289
  * @default true
1060
1290
  */
1061
1291
  suppressNativeConfirm?: boolean;
1292
+ /**
1293
+ * Record the app's own `Alert.alert` dialogs so the agent can SEE
1294
+ * them.
1295
+ *
1296
+ * A native dialog renders outside React, so it is invisible to the
1297
+ * tree walk — and because every press invokes the React handler
1298
+ * directly, the agent otherwise keeps operating the app underneath a
1299
+ * dialog that blocks every real finger. With tracking on, the
1300
+ * observation reports the dialog, presses behind it fail honestly,
1301
+ * and the agent can answer it.
1302
+ *
1303
+ * Like the suppression above, this replaces a global that belongs to
1304
+ * your app, so it is opt-outable: set `false` to keep `Alert.alert`
1305
+ * untouched — at the cost of the agent acting blind whenever one is
1306
+ * up. See `platform/nativeDialogTracking.ts`.
1307
+ * @default true
1308
+ */
1309
+ trackNativeDialogs?: boolean;
1062
1310
  }
1063
1311
  interface AppilotsProviderProps {
1064
1312
  /**
@@ -1646,4 +1894,4 @@ interface UseSuggestedPromptsReturn {
1646
1894
  */
1647
1895
  declare function useSuggestedPrompts(options: UseSuggestedPromptsOptions): UseSuggestedPromptsReturn;
1648
1896
 
1649
- export { createComponentRegistry as $, type AppilotsThemeTokens as A, type BreadcrumbItem as B, type ComponentRegistry as C, type RemotePersonalization as D, type EscalationState as E, type FieldEntry as F, type SliderEntry as G, type SuggestedPrompt as H, type InteractionElementSnapshot as I, type ToggleEntry as J, type ToggleSnapshot as K, type ListItemSnapshot as L, type MessageRole as M, type NavigationPayload as N, type UseAppilotsFieldOptions as O, type PartialThemeTokens as P, type UseAppilotsSliderOptions as Q, RateLimitedError as R, type ScreenSnapshot as S, type TargetEntry as T, type UIInteractionPayload as U, type UseAppilotsTargetOptions as V, type UseAppilotsToggleOptions as W, type UseSuggestedPromptsOptions as X, type UseSuggestedPromptsReturn as Y, clearAppilotsDebugTraces as Z, componentRegistry as _, type AppilotsLocale as a, defaultDarkTheme as a0, defaultLightTheme as a1, describeAction as a2, getAppilotsDebugTraces as a3, humanizeError as a4, mergeThemeTokens as a5, recordAppilotsDebugTrace as a6, subscribeAppilotsDebugTraces as a7, useAppilots as a8, useAppilotsActions as a9, useAppilotsChat as aa, useAppilotsContext as ab, useAppilotsField as ac, useAppilotsNavigation as ad, useAppilotsSlider as ae, useAppilotsTarget as af, useAppilotsToggle as ag, useSuggestedPrompts as ah, type AgentAction as b, type AgentPermissions as c, type AppilotsEvent as d, type AgentActionType as e, type AgentMessage as f, AppilotsClient as g, type AppilotsClientOptions as h, type AppilotsConfig as i, type AppilotsEventHandler as j, type AppilotsEventType as k, AppilotsProvider as l, type AppilotsProviderProps as m, type AppilotsTraceEntry as n, type AppilotsUser as o, type BreadcrumbState as p, type ButtonSnapshot as q, type ChatMessage as r, type ChoiceGroupSnapshot as s, type ChoiceOptionSnapshot as t, type ComponentEntry as u, type ComponentKind as v, type FormFillPayload as w, type InputSnapshot as x, type InteractionElementListContext as y, type ListSnapshot as z };
1897
+ export { componentRegistry as $, type AppilotsThemeTokens as A, type BreadcrumbItem as B, type ComponentRegistry as C, type ListSnapshot as D, type EscalationState as E, type FieldEntry as F, type RemotePersonalization as G, type SliderEntry as H, type InteractionElementEntry as I, type SuggestedPrompt as J, type ToggleEntry as K, type ListItemSnapshot as L, type MessageRole as M, type NavigationPayload as N, type ToggleSnapshot as O, type PartialThemeTokens as P, type UseAppilotsFieldOptions as Q, RateLimitedError as R, type ScreenSnapshot as S, type TargetEntry as T, type UIInteractionPayload as U, type UseAppilotsSliderOptions as V, type UseAppilotsTargetOptions as W, type UseAppilotsToggleOptions as X, type UseSuggestedPromptsOptions as Y, type UseSuggestedPromptsReturn as Z, clearAppilotsDebugTraces as _, type AppilotsLocale as a, createComponentRegistry as a0, defaultDarkTheme as a1, defaultLightTheme as a2, describeAction as a3, getAppilotsDebugTraces as a4, humanizeError as a5, mergeThemeTokens as a6, recordAppilotsDebugTrace as a7, subscribeAppilotsDebugTraces as a8, useAppilots as a9, useAppilotsActions as aa, useAppilotsChat as ab, useAppilotsContext as ac, useAppilotsField as ad, useAppilotsNavigation as ae, useAppilotsSlider as af, useAppilotsTarget as ag, useAppilotsToggle as ah, useSuggestedPrompts as ai, type AgentAction as b, type AgentPermissions as c, type AppilotsEvent as d, type AgentActionType as e, type AgentMessage as f, AppilotsClient as g, type AppilotsClientOptions as h, type AppilotsConfig as i, type AppilotsEventHandler as j, type AppilotsEventType as k, AppilotsProvider as l, type AppilotsProviderProps as m, type AppilotsTraceEntry as n, type AppilotsUser as o, type BreadcrumbState as p, type ButtonSnapshot as q, type ChatMessage as r, type ChoiceGroupSnapshot as s, type ChoiceOptionSnapshot as t, type ComponentEntry as u, type ComponentKind as v, type FormFillPayload as w, type InputSnapshot as x, type InteractionElementListContext as y, type InteractionElementSnapshot as z };