@appilots/sdk 0.6.0 → 0.8.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,4 +1,4 @@
1
- import { useAppilotsContext, setNavigationRef, setCurrentScreen } from './chunk-R4D34FEW.mjs';
1
+ import { useAppilotsContext, setNavigationRef, setCurrentScreen } from './chunk-C2KVVJ5K.mjs';
2
2
  import React, { useRef, useCallback, useEffect } from 'react';
3
3
 
4
4
  function getActiveRouteName(state) {
@@ -1,2 +1,2 @@
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-nI-s3Exg.mjs';
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';
2
2
  import 'react';
@@ -1,2 +1,2 @@
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-nI-s3Exg.js';
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';
2
2
  import 'react';
@@ -1,43 +1,43 @@
1
1
  'use strict';
2
2
 
3
- var chunkHFRIB4YN_js = require('../chunk-HFRIB4YN.js');
4
- require('../chunk-DZ7QRFHD.js');
3
+ var chunkN7EAOLBP_js = require('../chunk-N7EAOLBP.js');
4
+ require('../chunk-AYWMBMSN.js');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "useAppilots", {
9
9
  enumerable: true,
10
- get: function () { return chunkHFRIB4YN_js.useAppilots; }
10
+ get: function () { return chunkN7EAOLBP_js.useAppilots; }
11
11
  });
12
12
  Object.defineProperty(exports, "useAppilotsActions", {
13
13
  enumerable: true,
14
- get: function () { return chunkHFRIB4YN_js.useAppilotsActions; }
14
+ get: function () { return chunkN7EAOLBP_js.useAppilotsActions; }
15
15
  });
16
16
  Object.defineProperty(exports, "useAppilotsChat", {
17
17
  enumerable: true,
18
- get: function () { return chunkHFRIB4YN_js.useAppilotsChat; }
18
+ get: function () { return chunkN7EAOLBP_js.useAppilotsChat; }
19
19
  });
20
20
  Object.defineProperty(exports, "useAppilotsField", {
21
21
  enumerable: true,
22
- get: function () { return chunkHFRIB4YN_js.useAppilotsField; }
22
+ get: function () { return chunkN7EAOLBP_js.useAppilotsField; }
23
23
  });
24
24
  Object.defineProperty(exports, "useAppilotsNavigation", {
25
25
  enumerable: true,
26
- get: function () { return chunkHFRIB4YN_js.useAppilotsNavigation; }
26
+ get: function () { return chunkN7EAOLBP_js.useAppilotsNavigation; }
27
27
  });
28
28
  Object.defineProperty(exports, "useAppilotsSlider", {
29
29
  enumerable: true,
30
- get: function () { return chunkHFRIB4YN_js.useAppilotsSlider; }
30
+ get: function () { return chunkN7EAOLBP_js.useAppilotsSlider; }
31
31
  });
32
32
  Object.defineProperty(exports, "useAppilotsTarget", {
33
33
  enumerable: true,
34
- get: function () { return chunkHFRIB4YN_js.useAppilotsTarget; }
34
+ get: function () { return chunkN7EAOLBP_js.useAppilotsTarget; }
35
35
  });
36
36
  Object.defineProperty(exports, "useAppilotsToggle", {
37
37
  enumerable: true,
38
- get: function () { return chunkHFRIB4YN_js.useAppilotsToggle; }
38
+ get: function () { return chunkN7EAOLBP_js.useAppilotsToggle; }
39
39
  });
40
40
  Object.defineProperty(exports, "useSuggestedPrompts", {
41
41
  enumerable: true,
42
- get: function () { return chunkHFRIB4YN_js.useSuggestedPrompts; }
42
+ get: function () { return chunkN7EAOLBP_js.useSuggestedPrompts; }
43
43
  });
@@ -1,2 +1,2 @@
1
- export { useAppilots, useAppilotsActions, useAppilotsChat, useAppilotsField, useAppilotsNavigation, useAppilotsSlider, useAppilotsTarget, useAppilotsToggle, useSuggestedPrompts } from '../chunk-KUFWRJC4.mjs';
2
- import '../chunk-R4D34FEW.mjs';
1
+ export { useAppilots, useAppilotsActions, useAppilotsChat, useAppilotsField, useAppilotsNavigation, useAppilotsSlider, useAppilotsTarget, useAppilotsToggle, useSuggestedPrompts } from '../chunk-MHWVRZYF.mjs';
2
+ import '../chunk-C2KVVJ5K.mjs';
@@ -303,11 +303,13 @@ interface EscalationState {
303
303
  /**
304
304
  * Mirrors `introspectionDiagnosticsSchema` on the wire. Declared here
305
305
  * rather than imported so client-core stays free of the server's
306
- * validator package.
306
+ * validator package — which means the two must be kept in step by hand.
307
+ * Adding a reason to one and not the other is a typecheck failure at
308
+ * the SDK, not a silent wire mismatch.
307
309
  */
308
310
  interface IntrospectionDiagnosticsInput {
309
311
  captured: boolean;
310
- failureReason?: 'sentinel-missing-internals' | 'never-mounted' | null;
312
+ failureReason?: 'sentinel-missing-internals' | 'never-mounted' | 'render-crashed' | null;
311
313
  reactVersion?: string | null;
312
314
  failureCount?: number;
313
315
  }
@@ -347,6 +349,20 @@ interface AppilotsClientOptions {
347
349
  * essential for OTA-updated fleets where multiple app versions coexist.
348
350
  */
349
351
  appVersion?: string;
352
+ /**
353
+ * The version of the SDK package driving this client, sent as
354
+ * `X-Appilots-Sdk-Version`. Each platform SDK passes its OWN published
355
+ * version (`@appilots/sdk`, `@appilots/web-sdk`); `@appilots/client-core`
356
+ * is private and never published, so its version means nothing to a
357
+ * customer and is only the fallback for a caller that constructs
358
+ * `AppilotsClient` directly.
359
+ *
360
+ * This is the server's only evidence of which SDKs are in the field,
361
+ * and therefore the only input to "is this field safe to tighten yet?"
362
+ * (issue #312). Leaving it wrong is not cosmetic: it makes the
363
+ * backward-compatibility promise in CLAUDE.md unverifiable.
364
+ */
365
+ sdkVersion?: string;
350
366
  /**
351
367
  * Who the app's current user is. `id` becomes the session's
352
368
  * externalUserId; `name`/`identifiers` are upserted into the
@@ -904,6 +920,18 @@ interface ScreenSnapshot {
904
920
  * prefer these ids over synthetic ordinal handles.
905
921
  */
906
922
  elements: InteractionElementSnapshot[];
923
+ /**
924
+ * Set when the walker's output exceeded the wire contract and
925
+ * `clampSnapshotToWireLimits` dropped part of it (see
926
+ * `introspection/wireLimits.ts`). Absent means the observation is
927
+ * complete.
928
+ *
929
+ * The server surfaces this to the model: a screen whose text was cut
930
+ * at 500 entries must not be read as a screen with only 500 things on
931
+ * it. Without the flag a truncated observation is indistinguishable
932
+ * from a short one.
933
+ */
934
+ truncated?: boolean;
907
935
  /** Diagnostic counts for debugging */
908
936
  stats?: {
909
937
  visitedFibers: number;
@@ -981,13 +1009,6 @@ declare function describeAction(action: AgentAction): BreadcrumbItem;
981
1009
  */
982
1010
  declare function humanizeError(raw: string | undefined, _action?: AgentAction): string | undefined;
983
1011
 
984
- /**
985
- * SDK version — bumped by changesets on release. Lives in its own module
986
- * so runtime code (AppilotsClient) can import it without pulling the whole
987
- * public barrel in and creating an import cycle.
988
- */
989
- declare const SDK_VERSION = "0.1.0";
990
-
991
1012
  interface AppilotsConfig {
992
1013
  /** Project ID from the Appilots dashboard */
993
1014
  projectId: string;
@@ -1025,6 +1046,19 @@ interface AppilotsConfig {
1025
1046
  * @default true
1026
1047
  */
1027
1048
  fetchPersonalization?: boolean;
1049
+ /**
1050
+ * While running a destructive action the user already approved on the
1051
+ * chat's confirm card, suppress the app's OWN `Alert.alert`
1052
+ * confirmation once — otherwise they answer the same question twice
1053
+ * and the second dialog is one the agent cannot press.
1054
+ *
1055
+ * Doing that means briefly replacing a global that belongs to your
1056
+ * app, so it is opt-outable: set `false` to keep `Alert.alert`
1057
+ * untouched at all times and show your own dialog instead. See
1058
+ * `platform/confirmedDestructiveAlert.ts` for the exact window.
1059
+ * @default true
1060
+ */
1061
+ suppressNativeConfirm?: boolean;
1028
1062
  }
1029
1063
  interface AppilotsProviderProps {
1030
1064
  /**
@@ -1049,8 +1083,26 @@ interface AppilotsContextValue {
1049
1083
  * and re-renders once this lands (accepted cold-start flash).
1050
1084
  */
1051
1085
  remotePersonalization: RemotePersonalization | null;
1086
+ /**
1087
+ * True when the provider crashed and the error boundary degraded it.
1088
+ * The host app is still mounted and still has a context (so its
1089
+ * `useAppilots()` calls don't throw), but nothing is wired: `client`
1090
+ * rejects, `emit`/`subscribe` are inert, and `AppilotsChat` renders
1091
+ * nothing. Consumers that show their own assistant affordance should
1092
+ * branch on this.
1093
+ */
1094
+ degraded?: boolean;
1052
1095
  }
1053
- declare function AppilotsProvider({ config: configProp, children, client: externalClient }: AppilotsProviderProps): React__default.JSX.Element;
1096
+ /**
1097
+ * Public entry point. Its only job is to keep an exception thrown by
1098
+ * anything Appilots renders from unmounting the host app's tree.
1099
+ *
1100
+ * The fallback deliberately re-renders `children` under a degraded
1101
+ * context instead of a "something went wrong" screen: the children ARE
1102
+ * the customer's app, and replacing them would be the same outage the
1103
+ * boundary is here to prevent, just with nicer wording.
1104
+ */
1105
+ declare function AppilotsProvider({ config, children, client }: AppilotsProviderProps): React__default.JSX.Element;
1054
1106
  declare function useAppilotsContext(): AppilotsContextValue;
1055
1107
 
1056
1108
  /**
@@ -1594,4 +1646,4 @@ interface UseSuggestedPromptsReturn {
1594
1646
  */
1595
1647
  declare function useSuggestedPrompts(options: UseSuggestedPromptsOptions): UseSuggestedPromptsReturn;
1596
1648
 
1597
- export { componentRegistry 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, SDK_VERSION as G, type SliderEntry as H, type InteractionElementSnapshot 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 ListSnapshot as z };
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 };
@@ -303,11 +303,13 @@ interface EscalationState {
303
303
  /**
304
304
  * Mirrors `introspectionDiagnosticsSchema` on the wire. Declared here
305
305
  * rather than imported so client-core stays free of the server's
306
- * validator package.
306
+ * validator package — which means the two must be kept in step by hand.
307
+ * Adding a reason to one and not the other is a typecheck failure at
308
+ * the SDK, not a silent wire mismatch.
307
309
  */
308
310
  interface IntrospectionDiagnosticsInput {
309
311
  captured: boolean;
310
- failureReason?: 'sentinel-missing-internals' | 'never-mounted' | null;
312
+ failureReason?: 'sentinel-missing-internals' | 'never-mounted' | 'render-crashed' | null;
311
313
  reactVersion?: string | null;
312
314
  failureCount?: number;
313
315
  }
@@ -347,6 +349,20 @@ interface AppilotsClientOptions {
347
349
  * essential for OTA-updated fleets where multiple app versions coexist.
348
350
  */
349
351
  appVersion?: string;
352
+ /**
353
+ * The version of the SDK package driving this client, sent as
354
+ * `X-Appilots-Sdk-Version`. Each platform SDK passes its OWN published
355
+ * version (`@appilots/sdk`, `@appilots/web-sdk`); `@appilots/client-core`
356
+ * is private and never published, so its version means nothing to a
357
+ * customer and is only the fallback for a caller that constructs
358
+ * `AppilotsClient` directly.
359
+ *
360
+ * This is the server's only evidence of which SDKs are in the field,
361
+ * and therefore the only input to "is this field safe to tighten yet?"
362
+ * (issue #312). Leaving it wrong is not cosmetic: it makes the
363
+ * backward-compatibility promise in CLAUDE.md unverifiable.
364
+ */
365
+ sdkVersion?: string;
350
366
  /**
351
367
  * Who the app's current user is. `id` becomes the session's
352
368
  * externalUserId; `name`/`identifiers` are upserted into the
@@ -904,6 +920,18 @@ interface ScreenSnapshot {
904
920
  * prefer these ids over synthetic ordinal handles.
905
921
  */
906
922
  elements: InteractionElementSnapshot[];
923
+ /**
924
+ * Set when the walker's output exceeded the wire contract and
925
+ * `clampSnapshotToWireLimits` dropped part of it (see
926
+ * `introspection/wireLimits.ts`). Absent means the observation is
927
+ * complete.
928
+ *
929
+ * The server surfaces this to the model: a screen whose text was cut
930
+ * at 500 entries must not be read as a screen with only 500 things on
931
+ * it. Without the flag a truncated observation is indistinguishable
932
+ * from a short one.
933
+ */
934
+ truncated?: boolean;
907
935
  /** Diagnostic counts for debugging */
908
936
  stats?: {
909
937
  visitedFibers: number;
@@ -981,13 +1009,6 @@ declare function describeAction(action: AgentAction): BreadcrumbItem;
981
1009
  */
982
1010
  declare function humanizeError(raw: string | undefined, _action?: AgentAction): string | undefined;
983
1011
 
984
- /**
985
- * SDK version — bumped by changesets on release. Lives in its own module
986
- * so runtime code (AppilotsClient) can import it without pulling the whole
987
- * public barrel in and creating an import cycle.
988
- */
989
- declare const SDK_VERSION = "0.1.0";
990
-
991
1012
  interface AppilotsConfig {
992
1013
  /** Project ID from the Appilots dashboard */
993
1014
  projectId: string;
@@ -1025,6 +1046,19 @@ interface AppilotsConfig {
1025
1046
  * @default true
1026
1047
  */
1027
1048
  fetchPersonalization?: boolean;
1049
+ /**
1050
+ * While running a destructive action the user already approved on the
1051
+ * chat's confirm card, suppress the app's OWN `Alert.alert`
1052
+ * confirmation once — otherwise they answer the same question twice
1053
+ * and the second dialog is one the agent cannot press.
1054
+ *
1055
+ * Doing that means briefly replacing a global that belongs to your
1056
+ * app, so it is opt-outable: set `false` to keep `Alert.alert`
1057
+ * untouched at all times and show your own dialog instead. See
1058
+ * `platform/confirmedDestructiveAlert.ts` for the exact window.
1059
+ * @default true
1060
+ */
1061
+ suppressNativeConfirm?: boolean;
1028
1062
  }
1029
1063
  interface AppilotsProviderProps {
1030
1064
  /**
@@ -1049,8 +1083,26 @@ interface AppilotsContextValue {
1049
1083
  * and re-renders once this lands (accepted cold-start flash).
1050
1084
  */
1051
1085
  remotePersonalization: RemotePersonalization | null;
1086
+ /**
1087
+ * True when the provider crashed and the error boundary degraded it.
1088
+ * The host app is still mounted and still has a context (so its
1089
+ * `useAppilots()` calls don't throw), but nothing is wired: `client`
1090
+ * rejects, `emit`/`subscribe` are inert, and `AppilotsChat` renders
1091
+ * nothing. Consumers that show their own assistant affordance should
1092
+ * branch on this.
1093
+ */
1094
+ degraded?: boolean;
1052
1095
  }
1053
- declare function AppilotsProvider({ config: configProp, children, client: externalClient }: AppilotsProviderProps): React__default.JSX.Element;
1096
+ /**
1097
+ * Public entry point. Its only job is to keep an exception thrown by
1098
+ * anything Appilots renders from unmounting the host app's tree.
1099
+ *
1100
+ * The fallback deliberately re-renders `children` under a degraded
1101
+ * context instead of a "something went wrong" screen: the children ARE
1102
+ * the customer's app, and replacing them would be the same outage the
1103
+ * boundary is here to prevent, just with nicer wording.
1104
+ */
1105
+ declare function AppilotsProvider({ config, children, client }: AppilotsProviderProps): React__default.JSX.Element;
1054
1106
  declare function useAppilotsContext(): AppilotsContextValue;
1055
1107
 
1056
1108
  /**
@@ -1594,4 +1646,4 @@ interface UseSuggestedPromptsReturn {
1594
1646
  */
1595
1647
  declare function useSuggestedPrompts(options: UseSuggestedPromptsOptions): UseSuggestedPromptsReturn;
1596
1648
 
1597
- export { componentRegistry 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, SDK_VERSION as G, type SliderEntry as H, type InteractionElementSnapshot 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 ListSnapshot as z };
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 };
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { P as PartialThemeTokens, A as AppilotsThemeTokens, a as AppilotsLocale, b as AgentAction, I as InteractionElementSnapshot, C as ComponentRegistry, c as AgentPermissions, S as ScreenSnapshot, F as FieldEntry, d as AppilotsEvent } from './index-nI-s3Exg.mjs';
2
- export { e as AgentActionType, f as AgentMessage, g as AppilotsClient, h as AppilotsClientOptions, i as AppilotsConfig, j as AppilotsEventHandler, k as AppilotsEventType, l as AppilotsProvider, m as AppilotsProviderProps, n as AppilotsTraceEntry, o as AppilotsUser, B as BreadcrumbItem, p as BreadcrumbState, q as ButtonSnapshot, r as ChatMessage, s as ChoiceGroupSnapshot, t as ChoiceOptionSnapshot, u as ComponentEntry, v as ComponentKind, E as EscalationState, w as FormFillPayload, x as InputSnapshot, y as InteractionElementListContext, L as ListItemSnapshot, z as ListSnapshot, M as MessageRole, N as NavigationPayload, R as RateLimitedError, D as RemotePersonalization, G as SDK_VERSION, H as SliderEntry, J as SuggestedPrompt, T as TargetEntry, K as ToggleEntry, O as ToggleSnapshot, U as UIInteractionPayload, Q as UseAppilotsFieldOptions, V as UseAppilotsSliderOptions, W as UseAppilotsTargetOptions, X as UseAppilotsToggleOptions, Y as UseSuggestedPromptsOptions, Z as UseSuggestedPromptsReturn, _ as clearAppilotsDebugTraces, $ as componentRegistry, a0 as createComponentRegistry, a1 as defaultDarkTheme, a2 as defaultLightTheme, a3 as describeAction, a4 as getAppilotsDebugTraces, a5 as humanizeError, a6 as mergeThemeTokens, a7 as recordAppilotsDebugTrace, a8 as subscribeAppilotsDebugTraces, a9 as useAppilots, aa as useAppilotsActions, ab as useAppilotsChat, ac as useAppilotsContext, ad as useAppilotsField, ae as useAppilotsNavigation, af as useAppilotsSlider, ag as useAppilotsTarget, ah as useAppilotsToggle, ai as useSuggestedPrompts } from './index-nI-s3Exg.mjs';
1
+ import { P as PartialThemeTokens, A as AppilotsThemeTokens, a as AppilotsLocale, b as AgentAction, I as InteractionElementSnapshot, C as ComponentRegistry, c as AgentPermissions, S as ScreenSnapshot, F as FieldEntry, d as AppilotsEvent } from './index-BdYY-dvG.mjs';
2
+ export { e as AgentActionType, f as AgentMessage, g as AppilotsClient, h as AppilotsClientOptions, i as AppilotsConfig, j as AppilotsEventHandler, k as AppilotsEventType, l as AppilotsProvider, m as AppilotsProviderProps, n as AppilotsTraceEntry, o as AppilotsUser, B as BreadcrumbItem, p as BreadcrumbState, q as ButtonSnapshot, r as ChatMessage, s as ChoiceGroupSnapshot, t as ChoiceOptionSnapshot, u as ComponentEntry, v as ComponentKind, E as EscalationState, w as FormFillPayload, x as InputSnapshot, y as InteractionElementListContext, L as ListItemSnapshot, z as ListSnapshot, M as MessageRole, N as NavigationPayload, R as RateLimitedError, D as RemotePersonalization, G as SliderEntry, H as SuggestedPrompt, T as TargetEntry, J as ToggleEntry, K as ToggleSnapshot, U as UIInteractionPayload, O as UseAppilotsFieldOptions, Q as UseAppilotsSliderOptions, V as UseAppilotsTargetOptions, W as UseAppilotsToggleOptions, X as UseSuggestedPromptsOptions, Y as UseSuggestedPromptsReturn, Z as clearAppilotsDebugTraces, _ as componentRegistry, $ as createComponentRegistry, a0 as defaultDarkTheme, a1 as defaultLightTheme, a2 as describeAction, a3 as getAppilotsDebugTraces, a4 as humanizeError, a5 as mergeThemeTokens, a6 as recordAppilotsDebugTrace, a7 as subscribeAppilotsDebugTraces, a8 as useAppilots, a9 as useAppilotsActions, aa as useAppilotsChat, ab as useAppilotsContext, ac as useAppilotsField, ad as useAppilotsNavigation, ae as useAppilotsSlider, af as useAppilotsTarget, ag as useAppilotsToggle, ah as useSuggestedPrompts } from './index-BdYY-dvG.mjs';
3
3
  import * as React$1 from 'react';
4
4
  import React__default from 'react';
5
5
  export { A as AppilotsNavigationContainer, N as NavigationConfig, b as ScreenMetadata, r as registerScreen } from './registerScreen-D1oGm28T.mjs';
@@ -276,12 +276,15 @@ interface LegacyThemeShape {
276
276
  fontFamily?: string;
277
277
  }
278
278
  /**
279
- * Outer wrapper — sets up Theme + i18n providers so the inner component
280
- * (and the ConfirmDialog) all read from the same resolved tokens. This
281
- * lets a developer mount AppilotsChat without also wrapping their app
282
- * in a `<AppilotsThemeProvider>` manually.
279
+ * Public entry point.
280
+ *
281
+ * The chat is a leaf in the host app's tree, so its failure barrier is
282
+ * the simple case: nothing of the customer's app is inside it, and the
283
+ * degraded state can just be "no assistant". Rendering an error card
284
+ * inside somebody else's product would be worse than rendering nothing
285
+ * — they did not ask us to put a broken box on their screen.
283
286
  */
284
- declare function AppilotsChat(props: AppilotsChatProps): React__default.JSX.Element;
287
+ declare function AppilotsChat(props: AppilotsChatProps): React__default.JSX.Element | null;
285
288
  /**
286
289
  * Re-exports kept for backwards compatibility — the legacy
287
290
  * `AppilotsChatTheme` type used to live on this module. Prefer
@@ -703,9 +706,12 @@ declare function captureSnapshot(): ScreenSnapshot;
703
706
  * AppilotsFiberRoot. The fiber reference is set during the first render
704
707
  * and is used by captureSnapshot() to walk the React tree on demand.
705
708
  *
706
- * Fiber nodes are mutable: React updates their .child/.sibling pointers
707
- * as the tree re-renders. Storing a reference once is sufficient — we
708
- * always see the latest tree when we walk.
709
+ * Fiber nodes are mutable, but the ROOT is not a single node: React
710
+ * double-buffers the tree, keeping two HostRoot fibers and swapping
711
+ * which one is live at every commit. Holding one of them — which is what
712
+ * the sentinel captures — means every other commit walks the previous
713
+ * render's tree. `getFiberRoot()` resolves through the container to the
714
+ * currently committed root instead; see `resolveCurrentRoot`.
709
715
  */
710
716
  /**
711
717
  * Why capture failed, when it did.
@@ -716,8 +722,11 @@ declare function captureSnapshot(): ScreenSnapshot;
716
722
  * other way — the app renders fine and only introspection is blind.
717
723
  * - `never-mounted`: something asked for a snapshot before
718
724
  * `<AppilotsProvider>` committed (or outside it entirely).
725
+ * - `render-crashed`: the SDK's own render surface threw and the error
726
+ * boundary degraded it. Unlike the other two this is OUR bug, not a
727
+ * host-app integration problem — see `recordRenderFailure`.
719
728
  */
720
- type IntrospectionFailureReason = 'sentinel-missing-internals' | 'never-mounted';
729
+ type IntrospectionFailureReason = 'sentinel-missing-internals' | 'never-mounted' | 'render-crashed';
721
730
  interface IntrospectionDiagnostics {
722
731
  /** True once a root fiber has been captured. */
723
732
  captured: boolean;
@@ -958,4 +967,13 @@ interface ExecutorContext {
958
967
  }
959
968
  declare function executeAction(action: AgentAction, context: ExecutorContext): Promise<ActionResult>;
960
969
 
961
- export { ActionBreadcrumb, type ActionBreadcrumbProps, type ActionResult, AgentAction, AgentPermissions, type AppilotsButtonProps, AppilotsChat, type AppilotsChatMode, type AppilotsChatPosition, type AppilotsChatProps, type AppilotsChatTheme, AppilotsEvent, AppilotsI18nProvider, type AppilotsI18nProviderProps, type AppilotsInputProps, AppilotsLocale, type AppilotsRC, AppilotsRegistryProvider, type AppilotsStringKey, type AppilotsStrings, type AppilotsSwitchProps, AppilotsThemeProvider, type AppilotsThemeProviderProps, AppilotsThemeTokens, ChatIcon, type ChatIconProps, ComponentRegistry, ConfirmDialog, type ConfirmDialogProps, type ElementRegistry, type ExecutorContext, FieldEntry, HeadsetIcon, type HeadsetIconProps, type InteractionElementEntry, InteractionElementSnapshot, type IntrospectionDiagnostics, type IntrospectionFailureReason, type ListEntry, type ListRegistry, PartialThemeTokens, ScreenSnapshot, type TailwindResolvedConfig, _patchJsxRuntimes, appilotsTheme, appilotsThemeFromTailwind, captureSnapshot, createAppilotsButton, createAppilotsInput, createAppilotsSwitch, createElementRegistry, createListRegistry, detectDeviceLocale, elementRegistry, enableAppilotsAutoTracking, executeAction, getGlobalConfig, getIntrospectionDiagnostics, initAppilots, isAutoTrackingEnabled, listRegistry, resolveLocale, useAppilotsI18n, useAppilotsTheme, useResolvedRegistry };
970
+ /**
971
+ * GENERATED by scripts/release/sync-sdk-versions.mjs — do not edit.
972
+ *
973
+ * The version `@appilots/sdk` reports on the wire
974
+ * (`X-Appilots-Sdk-Version`). Kept identical to package.json by the
975
+ * release flow; `version.test.ts` fails if the two ever disagree.
976
+ */
977
+ declare const SDK_VERSION = "0.8.0";
978
+
979
+ export { ActionBreadcrumb, type ActionBreadcrumbProps, type ActionResult, AgentAction, AgentPermissions, type AppilotsButtonProps, AppilotsChat, type AppilotsChatMode, type AppilotsChatPosition, type AppilotsChatProps, type AppilotsChatTheme, AppilotsEvent, AppilotsI18nProvider, type AppilotsI18nProviderProps, type AppilotsInputProps, AppilotsLocale, type AppilotsRC, AppilotsRegistryProvider, type AppilotsStringKey, type AppilotsStrings, type AppilotsSwitchProps, AppilotsThemeProvider, type AppilotsThemeProviderProps, AppilotsThemeTokens, ChatIcon, type ChatIconProps, ComponentRegistry, ConfirmDialog, type ConfirmDialogProps, type ElementRegistry, type ExecutorContext, FieldEntry, HeadsetIcon, type HeadsetIconProps, type InteractionElementEntry, InteractionElementSnapshot, type IntrospectionDiagnostics, type IntrospectionFailureReason, type ListEntry, type ListRegistry, PartialThemeTokens, SDK_VERSION, ScreenSnapshot, type TailwindResolvedConfig, _patchJsxRuntimes, appilotsTheme, appilotsThemeFromTailwind, captureSnapshot, createAppilotsButton, createAppilotsInput, createAppilotsSwitch, createElementRegistry, createListRegistry, detectDeviceLocale, elementRegistry, enableAppilotsAutoTracking, executeAction, getGlobalConfig, getIntrospectionDiagnostics, initAppilots, isAutoTrackingEnabled, listRegistry, resolveLocale, useAppilotsI18n, useAppilotsTheme, useResolvedRegistry };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { P as PartialThemeTokens, A as AppilotsThemeTokens, a as AppilotsLocale, b as AgentAction, I as InteractionElementSnapshot, C as ComponentRegistry, c as AgentPermissions, S as ScreenSnapshot, F as FieldEntry, d as AppilotsEvent } from './index-nI-s3Exg.js';
2
- export { e as AgentActionType, f as AgentMessage, g as AppilotsClient, h as AppilotsClientOptions, i as AppilotsConfig, j as AppilotsEventHandler, k as AppilotsEventType, l as AppilotsProvider, m as AppilotsProviderProps, n as AppilotsTraceEntry, o as AppilotsUser, B as BreadcrumbItem, p as BreadcrumbState, q as ButtonSnapshot, r as ChatMessage, s as ChoiceGroupSnapshot, t as ChoiceOptionSnapshot, u as ComponentEntry, v as ComponentKind, E as EscalationState, w as FormFillPayload, x as InputSnapshot, y as InteractionElementListContext, L as ListItemSnapshot, z as ListSnapshot, M as MessageRole, N as NavigationPayload, R as RateLimitedError, D as RemotePersonalization, G as SDK_VERSION, H as SliderEntry, J as SuggestedPrompt, T as TargetEntry, K as ToggleEntry, O as ToggleSnapshot, U as UIInteractionPayload, Q as UseAppilotsFieldOptions, V as UseAppilotsSliderOptions, W as UseAppilotsTargetOptions, X as UseAppilotsToggleOptions, Y as UseSuggestedPromptsOptions, Z as UseSuggestedPromptsReturn, _ as clearAppilotsDebugTraces, $ as componentRegistry, a0 as createComponentRegistry, a1 as defaultDarkTheme, a2 as defaultLightTheme, a3 as describeAction, a4 as getAppilotsDebugTraces, a5 as humanizeError, a6 as mergeThemeTokens, a7 as recordAppilotsDebugTrace, a8 as subscribeAppilotsDebugTraces, a9 as useAppilots, aa as useAppilotsActions, ab as useAppilotsChat, ac as useAppilotsContext, ad as useAppilotsField, ae as useAppilotsNavigation, af as useAppilotsSlider, ag as useAppilotsTarget, ah as useAppilotsToggle, ai as useSuggestedPrompts } from './index-nI-s3Exg.js';
1
+ import { P as PartialThemeTokens, A as AppilotsThemeTokens, a as AppilotsLocale, b as AgentAction, I as InteractionElementSnapshot, C as ComponentRegistry, c as AgentPermissions, S as ScreenSnapshot, F as FieldEntry, d as AppilotsEvent } from './index-BdYY-dvG.js';
2
+ export { e as AgentActionType, f as AgentMessage, g as AppilotsClient, h as AppilotsClientOptions, i as AppilotsConfig, j as AppilotsEventHandler, k as AppilotsEventType, l as AppilotsProvider, m as AppilotsProviderProps, n as AppilotsTraceEntry, o as AppilotsUser, B as BreadcrumbItem, p as BreadcrumbState, q as ButtonSnapshot, r as ChatMessage, s as ChoiceGroupSnapshot, t as ChoiceOptionSnapshot, u as ComponentEntry, v as ComponentKind, E as EscalationState, w as FormFillPayload, x as InputSnapshot, y as InteractionElementListContext, L as ListItemSnapshot, z as ListSnapshot, M as MessageRole, N as NavigationPayload, R as RateLimitedError, D as RemotePersonalization, G as SliderEntry, H as SuggestedPrompt, T as TargetEntry, J as ToggleEntry, K as ToggleSnapshot, U as UIInteractionPayload, O as UseAppilotsFieldOptions, Q as UseAppilotsSliderOptions, V as UseAppilotsTargetOptions, W as UseAppilotsToggleOptions, X as UseSuggestedPromptsOptions, Y as UseSuggestedPromptsReturn, Z as clearAppilotsDebugTraces, _ as componentRegistry, $ as createComponentRegistry, a0 as defaultDarkTheme, a1 as defaultLightTheme, a2 as describeAction, a3 as getAppilotsDebugTraces, a4 as humanizeError, a5 as mergeThemeTokens, a6 as recordAppilotsDebugTrace, a7 as subscribeAppilotsDebugTraces, a8 as useAppilots, a9 as useAppilotsActions, aa as useAppilotsChat, ab as useAppilotsContext, ac as useAppilotsField, ad as useAppilotsNavigation, ae as useAppilotsSlider, af as useAppilotsTarget, ag as useAppilotsToggle, ah as useSuggestedPrompts } from './index-BdYY-dvG.js';
3
3
  import * as React$1 from 'react';
4
4
  import React__default from 'react';
5
5
  export { A as AppilotsNavigationContainer, N as NavigationConfig, b as ScreenMetadata, r as registerScreen } from './registerScreen-D1oGm28T.js';
@@ -276,12 +276,15 @@ interface LegacyThemeShape {
276
276
  fontFamily?: string;
277
277
  }
278
278
  /**
279
- * Outer wrapper — sets up Theme + i18n providers so the inner component
280
- * (and the ConfirmDialog) all read from the same resolved tokens. This
281
- * lets a developer mount AppilotsChat without also wrapping their app
282
- * in a `<AppilotsThemeProvider>` manually.
279
+ * Public entry point.
280
+ *
281
+ * The chat is a leaf in the host app's tree, so its failure barrier is
282
+ * the simple case: nothing of the customer's app is inside it, and the
283
+ * degraded state can just be "no assistant". Rendering an error card
284
+ * inside somebody else's product would be worse than rendering nothing
285
+ * — they did not ask us to put a broken box on their screen.
283
286
  */
284
- declare function AppilotsChat(props: AppilotsChatProps): React__default.JSX.Element;
287
+ declare function AppilotsChat(props: AppilotsChatProps): React__default.JSX.Element | null;
285
288
  /**
286
289
  * Re-exports kept for backwards compatibility — the legacy
287
290
  * `AppilotsChatTheme` type used to live on this module. Prefer
@@ -703,9 +706,12 @@ declare function captureSnapshot(): ScreenSnapshot;
703
706
  * AppilotsFiberRoot. The fiber reference is set during the first render
704
707
  * and is used by captureSnapshot() to walk the React tree on demand.
705
708
  *
706
- * Fiber nodes are mutable: React updates their .child/.sibling pointers
707
- * as the tree re-renders. Storing a reference once is sufficient — we
708
- * always see the latest tree when we walk.
709
+ * Fiber nodes are mutable, but the ROOT is not a single node: React
710
+ * double-buffers the tree, keeping two HostRoot fibers and swapping
711
+ * which one is live at every commit. Holding one of them — which is what
712
+ * the sentinel captures — means every other commit walks the previous
713
+ * render's tree. `getFiberRoot()` resolves through the container to the
714
+ * currently committed root instead; see `resolveCurrentRoot`.
709
715
  */
710
716
  /**
711
717
  * Why capture failed, when it did.
@@ -716,8 +722,11 @@ declare function captureSnapshot(): ScreenSnapshot;
716
722
  * other way — the app renders fine and only introspection is blind.
717
723
  * - `never-mounted`: something asked for a snapshot before
718
724
  * `<AppilotsProvider>` committed (or outside it entirely).
725
+ * - `render-crashed`: the SDK's own render surface threw and the error
726
+ * boundary degraded it. Unlike the other two this is OUR bug, not a
727
+ * host-app integration problem — see `recordRenderFailure`.
719
728
  */
720
- type IntrospectionFailureReason = 'sentinel-missing-internals' | 'never-mounted';
729
+ type IntrospectionFailureReason = 'sentinel-missing-internals' | 'never-mounted' | 'render-crashed';
721
730
  interface IntrospectionDiagnostics {
722
731
  /** True once a root fiber has been captured. */
723
732
  captured: boolean;
@@ -958,4 +967,13 @@ interface ExecutorContext {
958
967
  }
959
968
  declare function executeAction(action: AgentAction, context: ExecutorContext): Promise<ActionResult>;
960
969
 
961
- export { ActionBreadcrumb, type ActionBreadcrumbProps, type ActionResult, AgentAction, AgentPermissions, type AppilotsButtonProps, AppilotsChat, type AppilotsChatMode, type AppilotsChatPosition, type AppilotsChatProps, type AppilotsChatTheme, AppilotsEvent, AppilotsI18nProvider, type AppilotsI18nProviderProps, type AppilotsInputProps, AppilotsLocale, type AppilotsRC, AppilotsRegistryProvider, type AppilotsStringKey, type AppilotsStrings, type AppilotsSwitchProps, AppilotsThemeProvider, type AppilotsThemeProviderProps, AppilotsThemeTokens, ChatIcon, type ChatIconProps, ComponentRegistry, ConfirmDialog, type ConfirmDialogProps, type ElementRegistry, type ExecutorContext, FieldEntry, HeadsetIcon, type HeadsetIconProps, type InteractionElementEntry, InteractionElementSnapshot, type IntrospectionDiagnostics, type IntrospectionFailureReason, type ListEntry, type ListRegistry, PartialThemeTokens, ScreenSnapshot, type TailwindResolvedConfig, _patchJsxRuntimes, appilotsTheme, appilotsThemeFromTailwind, captureSnapshot, createAppilotsButton, createAppilotsInput, createAppilotsSwitch, createElementRegistry, createListRegistry, detectDeviceLocale, elementRegistry, enableAppilotsAutoTracking, executeAction, getGlobalConfig, getIntrospectionDiagnostics, initAppilots, isAutoTrackingEnabled, listRegistry, resolveLocale, useAppilotsI18n, useAppilotsTheme, useResolvedRegistry };
970
+ /**
971
+ * GENERATED by scripts/release/sync-sdk-versions.mjs — do not edit.
972
+ *
973
+ * The version `@appilots/sdk` reports on the wire
974
+ * (`X-Appilots-Sdk-Version`). Kept identical to package.json by the
975
+ * release flow; `version.test.ts` fails if the two ever disagree.
976
+ */
977
+ declare const SDK_VERSION = "0.8.0";
978
+
979
+ export { ActionBreadcrumb, type ActionBreadcrumbProps, type ActionResult, AgentAction, AgentPermissions, type AppilotsButtonProps, AppilotsChat, type AppilotsChatMode, type AppilotsChatPosition, type AppilotsChatProps, type AppilotsChatTheme, AppilotsEvent, AppilotsI18nProvider, type AppilotsI18nProviderProps, type AppilotsInputProps, AppilotsLocale, type AppilotsRC, AppilotsRegistryProvider, type AppilotsStringKey, type AppilotsStrings, type AppilotsSwitchProps, AppilotsThemeProvider, type AppilotsThemeProviderProps, AppilotsThemeTokens, ChatIcon, type ChatIconProps, ComponentRegistry, ConfirmDialog, type ConfirmDialogProps, type ElementRegistry, type ExecutorContext, FieldEntry, HeadsetIcon, type HeadsetIconProps, type InteractionElementEntry, InteractionElementSnapshot, type IntrospectionDiagnostics, type IntrospectionFailureReason, type ListEntry, type ListRegistry, PartialThemeTokens, SDK_VERSION, ScreenSnapshot, type TailwindResolvedConfig, _patchJsxRuntimes, appilotsTheme, appilotsThemeFromTailwind, captureSnapshot, createAppilotsButton, createAppilotsInput, createAppilotsSwitch, createElementRegistry, createListRegistry, detectDeviceLocale, elementRegistry, enableAppilotsAutoTracking, executeAction, getGlobalConfig, getIntrospectionDiagnostics, initAppilots, isAutoTrackingEnabled, listRegistry, resolveLocale, useAppilotsI18n, useAppilotsTheme, useResolvedRegistry };