@appilots/sdk 0.11.0 → 0.11.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.build-meta.json +3 -3
- package/dist/{chunk-NA5H4IHH.mjs → chunk-2ZDELL54.mjs} +352 -114
- package/dist/{chunk-IZEWWAA7.js → chunk-5UVMNKPT.js} +8 -8
- package/dist/{chunk-3K7ORC4X.mjs → chunk-JKLE5SLN.mjs} +1 -1
- package/dist/{chunk-G6KI7KVH.mjs → chunk-ROXXCDIG.mjs} +299 -15
- package/dist/{chunk-55Y2AQE7.js → chunk-SUMIABJK.js} +299 -14
- package/dist/{chunk-2YPEQTL2.js → chunk-UFMTRGML.js} +622 -384
- package/dist/hooks/index.d.mts +1 -1
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/index.js +11 -11
- package/dist/hooks/index.mjs +2 -2
- package/dist/{index-BPZ0j71S.d.mts → index-BR-33WMN.d.mts} +112 -1
- package/dist/{index-BPZ0j71S.d.ts → index-BR-33WMN.d.ts} +112 -1
- package/dist/index.d.mts +28 -3
- package/dist/index.d.ts +28 -3
- package/dist/index.js +112 -82
- package/dist/index.mjs +45 -15
- package/dist/navigation/index.d.mts +42 -6
- package/dist/navigation/index.d.ts +42 -6
- package/dist/navigation/index.js +13 -13
- package/dist/navigation/index.mjs +2 -2
- package/package.json +1 -1
package/dist/hooks/index.d.mts
CHANGED
|
@@ -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-
|
|
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-BR-33WMN.mjs';
|
|
2
2
|
import 'react';
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -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-
|
|
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-BR-33WMN.js';
|
|
2
2
|
import 'react';
|
package/dist/hooks/index.js
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../chunk-
|
|
3
|
+
var chunkUFMTRGML_js = require('../chunk-UFMTRGML.js');
|
|
4
|
+
require('../chunk-SUMIABJK.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
Object.defineProperty(exports, "useAppilots", {
|
|
9
9
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
10
|
+
get: function () { return chunkUFMTRGML_js.useAppilots; }
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "useAppilotsActions", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkUFMTRGML_js.useAppilotsActions; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "useAppilotsChat", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunkUFMTRGML_js.useAppilotsChat; }
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "useAppilotsField", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
22
|
+
get: function () { return chunkUFMTRGML_js.useAppilotsField; }
|
|
23
23
|
});
|
|
24
24
|
Object.defineProperty(exports, "useAppilotsNavigation", {
|
|
25
25
|
enumerable: true,
|
|
26
|
-
get: function () { return
|
|
26
|
+
get: function () { return chunkUFMTRGML_js.useAppilotsNavigation; }
|
|
27
27
|
});
|
|
28
28
|
Object.defineProperty(exports, "useAppilotsSlider", {
|
|
29
29
|
enumerable: true,
|
|
30
|
-
get: function () { return
|
|
30
|
+
get: function () { return chunkUFMTRGML_js.useAppilotsSlider; }
|
|
31
31
|
});
|
|
32
32
|
Object.defineProperty(exports, "useAppilotsTarget", {
|
|
33
33
|
enumerable: true,
|
|
34
|
-
get: function () { return
|
|
34
|
+
get: function () { return chunkUFMTRGML_js.useAppilotsTarget; }
|
|
35
35
|
});
|
|
36
36
|
Object.defineProperty(exports, "useAppilotsToggle", {
|
|
37
37
|
enumerable: true,
|
|
38
|
-
get: function () { return
|
|
38
|
+
get: function () { return chunkUFMTRGML_js.useAppilotsToggle; }
|
|
39
39
|
});
|
|
40
40
|
Object.defineProperty(exports, "useSuggestedPrompts", {
|
|
41
41
|
enumerable: true,
|
|
42
|
-
get: function () { return
|
|
42
|
+
get: function () { return chunkUFMTRGML_js.useSuggestedPrompts; }
|
|
43
43
|
});
|
package/dist/hooks/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { useAppilots, useAppilotsActions, useAppilotsChat, useAppilotsField, useAppilotsNavigation, useAppilotsSlider, useAppilotsTarget, useAppilotsToggle, useSuggestedPrompts } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { useAppilots, useAppilotsActions, useAppilotsChat, useAppilotsField, useAppilotsNavigation, useAppilotsSlider, useAppilotsTarget, useAppilotsToggle, useSuggestedPrompts } from '../chunk-2ZDELL54.mjs';
|
|
2
|
+
import '../chunk-ROXXCDIG.mjs';
|
|
@@ -250,7 +250,7 @@ interface UIInteractionPayload {
|
|
|
250
250
|
componentId: string;
|
|
251
251
|
/** Canonical server/LLM identifier. `componentId` is kept as SDK alias. */
|
|
252
252
|
targetId?: string;
|
|
253
|
-
action: 'press' | 'longPress' | 'scroll' | 'swipe' | 'focus' | 'set_value';
|
|
253
|
+
action: 'press' | 'longPress' | 'toggle' | 'scroll' | 'swipe' | 'focus' | 'set_value';
|
|
254
254
|
/**
|
|
255
255
|
* Numeric value for `set_value` (sliders / adjustable controls).
|
|
256
256
|
* The handler clamps to the slider's [min, max] and snaps to its step.
|
|
@@ -754,6 +754,45 @@ interface InputSnapshot {
|
|
|
754
754
|
* field declares no such handler, so the form needs a button.
|
|
755
755
|
*/
|
|
756
756
|
submitsOnReturn?: boolean;
|
|
757
|
+
/**
|
|
758
|
+
* The app is asking for this field before the form can be submitted.
|
|
759
|
+
*
|
|
760
|
+
* ABSENT MEANS UNKNOWN, not optional: most apps never declare it, and
|
|
761
|
+
* reading absence as "not required" would let the agent submit a form
|
|
762
|
+
* it could have known was incomplete.
|
|
763
|
+
*/
|
|
764
|
+
required?: boolean;
|
|
765
|
+
/**
|
|
766
|
+
* The app is currently rejecting this field's value.
|
|
767
|
+
*
|
|
768
|
+
* This is the fact the agent used to recover by READING — the error
|
|
769
|
+
* copy next to the input ("Campo obrigatório", "Formato inválido").
|
|
770
|
+
* Carrying the fact as a boolean is what lets a redacted observation
|
|
771
|
+
* still support recovery, and it is cheaper than the sentence even
|
|
772
|
+
* when nothing is redacted.
|
|
773
|
+
*
|
|
774
|
+
* Absent means the app declares no validity state — never that the
|
|
775
|
+
* field is valid.
|
|
776
|
+
*/
|
|
777
|
+
invalid?: boolean;
|
|
778
|
+
/**
|
|
779
|
+
* Whether the field currently holds anything.
|
|
780
|
+
*
|
|
781
|
+
* Deliberately its own field rather than an inference over `value`.
|
|
782
|
+
* The value belongs to the user and is the first thing a privacy
|
|
783
|
+
* policy withholds; the EXISTENCE of a value belongs to the agent and
|
|
784
|
+
* is what stops it from filling the same field twice on a later hop.
|
|
785
|
+
* Separating them is what lets the second survive without the first.
|
|
786
|
+
*/
|
|
787
|
+
filled?: boolean;
|
|
788
|
+
/**
|
|
789
|
+
* This input has keyboard focus right now.
|
|
790
|
+
*
|
|
791
|
+
* Tells apart "empty because nobody typed" from "empty because the
|
|
792
|
+
* user is typing in it at this moment" — the difference between
|
|
793
|
+
* completing a form and interrupting someone mid-sentence.
|
|
794
|
+
*/
|
|
795
|
+
focused?: boolean;
|
|
757
796
|
/**
|
|
758
797
|
* True when this input lives inside a currently-visible modal. When a
|
|
759
798
|
* modal is open, only inModal elements can actually receive input —
|
|
@@ -1085,6 +1124,67 @@ interface InteractionElementEntry extends InteractionElementSnapshot {
|
|
|
1085
1124
|
*/
|
|
1086
1125
|
rect?: ElementRect;
|
|
1087
1126
|
}
|
|
1127
|
+
/**
|
|
1128
|
+
* What changed between the previous observation and this one.
|
|
1129
|
+
*
|
|
1130
|
+
* The client holds both snapshots; the server only ever sees one. So the
|
|
1131
|
+
* question the agent loop asks most often — "did the action I just took
|
|
1132
|
+
* do anything?" — is one the client can answer as a FACT and the server
|
|
1133
|
+
* can only guess at. Today it guesses: `effect: 'none'` on the turn trail
|
|
1134
|
+
* is derived server-side from heuristics over a single snapshot.
|
|
1135
|
+
*
|
|
1136
|
+
* Everything here is shape, never content: counts, booleans, and field
|
|
1137
|
+
* ids that the app declared itself. That is not an accident of design —
|
|
1138
|
+
* it is what lets this survive a redacted or content-free observation
|
|
1139
|
+
* intact, and it is why the most useful signal in the observation is also
|
|
1140
|
+
* the cheapest one to send.
|
|
1141
|
+
*
|
|
1142
|
+
* ABSENT vs `unchanged: true` is the load-bearing distinction, and it is
|
|
1143
|
+
* the same one `truncated` exists to make. Absent means there was no
|
|
1144
|
+
* previous observation to compare against (the first capture of a
|
|
1145
|
+
* mission). `unchanged: true` means we DID compare and nothing moved —
|
|
1146
|
+
* which is the strongest evidence there is that an action did nothing.
|
|
1147
|
+
*/
|
|
1148
|
+
interface SnapshotDelta {
|
|
1149
|
+
/** The active route is not the one the previous observation reported. */
|
|
1150
|
+
routeChanged?: boolean;
|
|
1151
|
+
/** A modal or native dialog is up now and was not before. */
|
|
1152
|
+
modalOpened?: boolean;
|
|
1153
|
+
/** A modal or native dialog was up before and is gone now. */
|
|
1154
|
+
modalClosed?: boolean;
|
|
1155
|
+
/** A loading indicator appeared. */
|
|
1156
|
+
loadingStarted?: boolean;
|
|
1157
|
+
/** A loading indicator that was showing is gone. */
|
|
1158
|
+
loadingFinished?: boolean;
|
|
1159
|
+
/** How many distinct visible texts are present now that were not before. */
|
|
1160
|
+
textsAdded?: number;
|
|
1161
|
+
/** How many distinct visible texts are gone. */
|
|
1162
|
+
textsRemoved?: number;
|
|
1163
|
+
/** Net change in mounted list rows, summed across every list. */
|
|
1164
|
+
visibleRowsDelta?: number;
|
|
1165
|
+
/**
|
|
1166
|
+
* Net change in the lists' reported DATA totals, summed. This is the
|
|
1167
|
+
* one that answers "did the record actually get created", because it
|
|
1168
|
+
* moves even when virtualization keeps the new row unmounted.
|
|
1169
|
+
*/
|
|
1170
|
+
totalRowsDelta?: number;
|
|
1171
|
+
/**
|
|
1172
|
+
* Fields that went from empty to filled. Declared ids only — a
|
|
1173
|
+
* `derived` id is folded from visible copy, so publishing it here
|
|
1174
|
+
* would smuggle content through a field that claims to carry none.
|
|
1175
|
+
*/
|
|
1176
|
+
fieldsNewlyFilled?: string[];
|
|
1177
|
+
/** Fields that went from filled to empty. Declared ids only. */
|
|
1178
|
+
fieldsCleared?: string[];
|
|
1179
|
+
/** Some field is reporting invalid that was not reporting it before. */
|
|
1180
|
+
invalidAppeared?: boolean;
|
|
1181
|
+
/**
|
|
1182
|
+
* Nothing above fired: we compared two observations and the screen is
|
|
1183
|
+
* structurally identical. Present only when every other field is
|
|
1184
|
+
* absent, so a reader never has to check all of them to know.
|
|
1185
|
+
*/
|
|
1186
|
+
unchanged?: boolean;
|
|
1187
|
+
}
|
|
1088
1188
|
interface ScreenSnapshot {
|
|
1089
1189
|
/** The currently active route name, if known */
|
|
1090
1190
|
route: string | null;
|
|
@@ -1147,6 +1247,17 @@ interface ScreenSnapshot {
|
|
|
1147
1247
|
* from a short one.
|
|
1148
1248
|
*/
|
|
1149
1249
|
truncated?: boolean;
|
|
1250
|
+
/**
|
|
1251
|
+
* What moved since the previous observation. See {@link SnapshotDelta}
|
|
1252
|
+
* — absent means there was nothing to compare against, which is a
|
|
1253
|
+
* different statement from "nothing changed".
|
|
1254
|
+
*
|
|
1255
|
+
* Attached by the platform adapter rather than by the walker: the
|
|
1256
|
+
* baseline has to be the last snapshot that was actually SENT, and
|
|
1257
|
+
* `captureSnapshot` is also called for internal probes that never
|
|
1258
|
+
* leave the device.
|
|
1259
|
+
*/
|
|
1260
|
+
delta?: SnapshotDelta;
|
|
1150
1261
|
/** Diagnostic counts for debugging */
|
|
1151
1262
|
stats?: {
|
|
1152
1263
|
visitedFibers: number;
|
|
@@ -250,7 +250,7 @@ interface UIInteractionPayload {
|
|
|
250
250
|
componentId: string;
|
|
251
251
|
/** Canonical server/LLM identifier. `componentId` is kept as SDK alias. */
|
|
252
252
|
targetId?: string;
|
|
253
|
-
action: 'press' | 'longPress' | 'scroll' | 'swipe' | 'focus' | 'set_value';
|
|
253
|
+
action: 'press' | 'longPress' | 'toggle' | 'scroll' | 'swipe' | 'focus' | 'set_value';
|
|
254
254
|
/**
|
|
255
255
|
* Numeric value for `set_value` (sliders / adjustable controls).
|
|
256
256
|
* The handler clamps to the slider's [min, max] and snaps to its step.
|
|
@@ -754,6 +754,45 @@ interface InputSnapshot {
|
|
|
754
754
|
* field declares no such handler, so the form needs a button.
|
|
755
755
|
*/
|
|
756
756
|
submitsOnReturn?: boolean;
|
|
757
|
+
/**
|
|
758
|
+
* The app is asking for this field before the form can be submitted.
|
|
759
|
+
*
|
|
760
|
+
* ABSENT MEANS UNKNOWN, not optional: most apps never declare it, and
|
|
761
|
+
* reading absence as "not required" would let the agent submit a form
|
|
762
|
+
* it could have known was incomplete.
|
|
763
|
+
*/
|
|
764
|
+
required?: boolean;
|
|
765
|
+
/**
|
|
766
|
+
* The app is currently rejecting this field's value.
|
|
767
|
+
*
|
|
768
|
+
* This is the fact the agent used to recover by READING — the error
|
|
769
|
+
* copy next to the input ("Campo obrigatório", "Formato inválido").
|
|
770
|
+
* Carrying the fact as a boolean is what lets a redacted observation
|
|
771
|
+
* still support recovery, and it is cheaper than the sentence even
|
|
772
|
+
* when nothing is redacted.
|
|
773
|
+
*
|
|
774
|
+
* Absent means the app declares no validity state — never that the
|
|
775
|
+
* field is valid.
|
|
776
|
+
*/
|
|
777
|
+
invalid?: boolean;
|
|
778
|
+
/**
|
|
779
|
+
* Whether the field currently holds anything.
|
|
780
|
+
*
|
|
781
|
+
* Deliberately its own field rather than an inference over `value`.
|
|
782
|
+
* The value belongs to the user and is the first thing a privacy
|
|
783
|
+
* policy withholds; the EXISTENCE of a value belongs to the agent and
|
|
784
|
+
* is what stops it from filling the same field twice on a later hop.
|
|
785
|
+
* Separating them is what lets the second survive without the first.
|
|
786
|
+
*/
|
|
787
|
+
filled?: boolean;
|
|
788
|
+
/**
|
|
789
|
+
* This input has keyboard focus right now.
|
|
790
|
+
*
|
|
791
|
+
* Tells apart "empty because nobody typed" from "empty because the
|
|
792
|
+
* user is typing in it at this moment" — the difference between
|
|
793
|
+
* completing a form and interrupting someone mid-sentence.
|
|
794
|
+
*/
|
|
795
|
+
focused?: boolean;
|
|
757
796
|
/**
|
|
758
797
|
* True when this input lives inside a currently-visible modal. When a
|
|
759
798
|
* modal is open, only inModal elements can actually receive input —
|
|
@@ -1085,6 +1124,67 @@ interface InteractionElementEntry extends InteractionElementSnapshot {
|
|
|
1085
1124
|
*/
|
|
1086
1125
|
rect?: ElementRect;
|
|
1087
1126
|
}
|
|
1127
|
+
/**
|
|
1128
|
+
* What changed between the previous observation and this one.
|
|
1129
|
+
*
|
|
1130
|
+
* The client holds both snapshots; the server only ever sees one. So the
|
|
1131
|
+
* question the agent loop asks most often — "did the action I just took
|
|
1132
|
+
* do anything?" — is one the client can answer as a FACT and the server
|
|
1133
|
+
* can only guess at. Today it guesses: `effect: 'none'` on the turn trail
|
|
1134
|
+
* is derived server-side from heuristics over a single snapshot.
|
|
1135
|
+
*
|
|
1136
|
+
* Everything here is shape, never content: counts, booleans, and field
|
|
1137
|
+
* ids that the app declared itself. That is not an accident of design —
|
|
1138
|
+
* it is what lets this survive a redacted or content-free observation
|
|
1139
|
+
* intact, and it is why the most useful signal in the observation is also
|
|
1140
|
+
* the cheapest one to send.
|
|
1141
|
+
*
|
|
1142
|
+
* ABSENT vs `unchanged: true` is the load-bearing distinction, and it is
|
|
1143
|
+
* the same one `truncated` exists to make. Absent means there was no
|
|
1144
|
+
* previous observation to compare against (the first capture of a
|
|
1145
|
+
* mission). `unchanged: true` means we DID compare and nothing moved —
|
|
1146
|
+
* which is the strongest evidence there is that an action did nothing.
|
|
1147
|
+
*/
|
|
1148
|
+
interface SnapshotDelta {
|
|
1149
|
+
/** The active route is not the one the previous observation reported. */
|
|
1150
|
+
routeChanged?: boolean;
|
|
1151
|
+
/** A modal or native dialog is up now and was not before. */
|
|
1152
|
+
modalOpened?: boolean;
|
|
1153
|
+
/** A modal or native dialog was up before and is gone now. */
|
|
1154
|
+
modalClosed?: boolean;
|
|
1155
|
+
/** A loading indicator appeared. */
|
|
1156
|
+
loadingStarted?: boolean;
|
|
1157
|
+
/** A loading indicator that was showing is gone. */
|
|
1158
|
+
loadingFinished?: boolean;
|
|
1159
|
+
/** How many distinct visible texts are present now that were not before. */
|
|
1160
|
+
textsAdded?: number;
|
|
1161
|
+
/** How many distinct visible texts are gone. */
|
|
1162
|
+
textsRemoved?: number;
|
|
1163
|
+
/** Net change in mounted list rows, summed across every list. */
|
|
1164
|
+
visibleRowsDelta?: number;
|
|
1165
|
+
/**
|
|
1166
|
+
* Net change in the lists' reported DATA totals, summed. This is the
|
|
1167
|
+
* one that answers "did the record actually get created", because it
|
|
1168
|
+
* moves even when virtualization keeps the new row unmounted.
|
|
1169
|
+
*/
|
|
1170
|
+
totalRowsDelta?: number;
|
|
1171
|
+
/**
|
|
1172
|
+
* Fields that went from empty to filled. Declared ids only — a
|
|
1173
|
+
* `derived` id is folded from visible copy, so publishing it here
|
|
1174
|
+
* would smuggle content through a field that claims to carry none.
|
|
1175
|
+
*/
|
|
1176
|
+
fieldsNewlyFilled?: string[];
|
|
1177
|
+
/** Fields that went from filled to empty. Declared ids only. */
|
|
1178
|
+
fieldsCleared?: string[];
|
|
1179
|
+
/** Some field is reporting invalid that was not reporting it before. */
|
|
1180
|
+
invalidAppeared?: boolean;
|
|
1181
|
+
/**
|
|
1182
|
+
* Nothing above fired: we compared two observations and the screen is
|
|
1183
|
+
* structurally identical. Present only when every other field is
|
|
1184
|
+
* absent, so a reader never has to check all of them to know.
|
|
1185
|
+
*/
|
|
1186
|
+
unchanged?: boolean;
|
|
1187
|
+
}
|
|
1088
1188
|
interface ScreenSnapshot {
|
|
1089
1189
|
/** The currently active route name, if known */
|
|
1090
1190
|
route: string | null;
|
|
@@ -1147,6 +1247,17 @@ interface ScreenSnapshot {
|
|
|
1147
1247
|
* from a short one.
|
|
1148
1248
|
*/
|
|
1149
1249
|
truncated?: boolean;
|
|
1250
|
+
/**
|
|
1251
|
+
* What moved since the previous observation. See {@link SnapshotDelta}
|
|
1252
|
+
* — absent means there was nothing to compare against, which is a
|
|
1253
|
+
* different statement from "nothing changed".
|
|
1254
|
+
*
|
|
1255
|
+
* Attached by the platform adapter rather than by the walker: the
|
|
1256
|
+
* baseline has to be the last snapshot that was actually SENT, and
|
|
1257
|
+
* `captureSnapshot` is also called for internal probes that never
|
|
1258
|
+
* leave the device.
|
|
1259
|
+
*/
|
|
1260
|
+
delta?: SnapshotDelta;
|
|
1150
1261
|
/** Diagnostic counts for debugging */
|
|
1151
1262
|
stats?: {
|
|
1152
1263
|
visitedFibers: number;
|
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 InteractionElementEntry, C as ComponentRegistry, c as AgentPermissions, S as ScreenSnapshot, F as FieldEntry, d as AppilotsEvent } from './index-
|
|
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, z as InteractionElementSnapshot, L as ListItemSnapshot, D as ListSnapshot, M as MessageRole, N as NavigationPayload, R as RateLimitedError, G as RemotePersonalization, 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-
|
|
1
|
+
import { P as PartialThemeTokens, A as AppilotsThemeTokens, a as AppilotsLocale, b as AgentAction, I as InteractionElementEntry, C as ComponentRegistry, c as AgentPermissions, S as ScreenSnapshot, F as FieldEntry, d as AppilotsEvent } from './index-BR-33WMN.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, z as InteractionElementSnapshot, L as ListItemSnapshot, D as ListSnapshot, M as MessageRole, N as NavigationPayload, R as RateLimitedError, G as RemotePersonalization, 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-BR-33WMN.mjs';
|
|
3
3
|
import * as React$1 from 'react';
|
|
4
4
|
import React__default from 'react';
|
|
5
5
|
export { AppilotsNavigationContainer, NavigationConfig, ScreenMetadata, registerScreen, setCurrentScreen } from './navigation/index.mjs';
|
|
@@ -289,6 +289,31 @@ interface LegacyThemeShape {
|
|
|
289
289
|
borderRadius?: number;
|
|
290
290
|
fontFamily?: string;
|
|
291
291
|
}
|
|
292
|
+
/**
|
|
293
|
+
* testID contract — the SDK's e2e surface.
|
|
294
|
+
*
|
|
295
|
+
* Every control an integrator's e2e suite has to drive carries a stable
|
|
296
|
+
* `testID`, and the id is the ONLY handle we promise. Copy is not: the
|
|
297
|
+
* visible label and the `accessibilityLabel` both come from the i18n
|
|
298
|
+
* bundle, so a harness that matches on them has to try every locale the
|
|
299
|
+
* app ships and then guess.
|
|
300
|
+
*
|
|
301
|
+
* The close button was the hole. It had a localized `accessibilityLabel`
|
|
302
|
+
* and no id, so integrators matched its text in three languages and fell
|
|
303
|
+
* back to a swipe when none hit. `assistant-clear` was the same hole one
|
|
304
|
+
* button over.
|
|
305
|
+
*
|
|
306
|
+
* The id alone did not fix what found it, and it is worth knowing why:
|
|
307
|
+
* the run that failed was failing on REACHABILITY, not on matching — the
|
|
308
|
+
* sheet used to overflow off the top of the screen when the keyboard
|
|
309
|
+
* opened, taking this header with it, and a harness taps by coordinate.
|
|
310
|
+
* That is fixed in the styles below; see `chatContainer`.
|
|
311
|
+
*
|
|
312
|
+
* The ids live in `AppilotsChat.testIds.realTree.test.tsx` and are
|
|
313
|
+
* published in apps/docs (`sdk/test-ids`). Adding one is additive;
|
|
314
|
+
* renaming or removing one is a BREAKING change for every integrator's
|
|
315
|
+
* test suite, whether or not the TypeScript surface moved.
|
|
316
|
+
*/
|
|
292
317
|
/**
|
|
293
318
|
* Public entry point.
|
|
294
319
|
*
|
|
@@ -1259,6 +1284,6 @@ declare function executeAction(action: AgentAction, context: ExecutorContext): P
|
|
|
1259
1284
|
* (`X-Appilots-Sdk-Version`). Kept identical to package.json by the
|
|
1260
1285
|
* release flow; `version.test.ts` fails if the two ever disagree.
|
|
1261
1286
|
*/
|
|
1262
|
-
declare const SDK_VERSION = "0.11.
|
|
1287
|
+
declare const SDK_VERSION = "0.11.3";
|
|
1263
1288
|
|
|
1264
1289
|
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 AppilotsSelfCheckReport, type AppilotsStringKey, type AppilotsStrings, type AppilotsSwitchProps, AppilotsThemeProvider, type AppilotsThemeProviderProps, AppilotsThemeTokens, type AutoTrackingState, ChatIcon, type ChatIconProps, ComponentRegistry, ConfirmDialog, type ConfirmDialogProps, type ElementRegistry, type ExecutorContext, FieldEntry, HeadsetIcon, type HeadsetIconProps, InteractionElementEntry, type IntrospectionDiagnostics, type IntrospectionFailureReason, type ListEntry, type ListRegistry, type NameManglingProbe, PartialThemeTokens, SDK_VERSION, ScreenSnapshot, type SelfCheckRegistry, type SelfCheckWalk, type TailwindResolvedConfig, type WalkDetectorCounts, _patchJsxRuntimes, appilotsSelfCheck, appilotsTheme, appilotsThemeFromTailwind, captureSnapshot, createAppilotsButton, createAppilotsInput, createAppilotsSwitch, createElementRegistry, createListRegistry, detectDeviceLocale, elementRegistry, enableAppilotsAutoTracking, executeAction, getAutoTrackingState, 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 InteractionElementEntry, C as ComponentRegistry, c as AgentPermissions, S as ScreenSnapshot, F as FieldEntry, d as AppilotsEvent } from './index-
|
|
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, z as InteractionElementSnapshot, L as ListItemSnapshot, D as ListSnapshot, M as MessageRole, N as NavigationPayload, R as RateLimitedError, G as RemotePersonalization, 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-
|
|
1
|
+
import { P as PartialThemeTokens, A as AppilotsThemeTokens, a as AppilotsLocale, b as AgentAction, I as InteractionElementEntry, C as ComponentRegistry, c as AgentPermissions, S as ScreenSnapshot, F as FieldEntry, d as AppilotsEvent } from './index-BR-33WMN.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, z as InteractionElementSnapshot, L as ListItemSnapshot, D as ListSnapshot, M as MessageRole, N as NavigationPayload, R as RateLimitedError, G as RemotePersonalization, 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-BR-33WMN.js';
|
|
3
3
|
import * as React$1 from 'react';
|
|
4
4
|
import React__default from 'react';
|
|
5
5
|
export { AppilotsNavigationContainer, NavigationConfig, ScreenMetadata, registerScreen, setCurrentScreen } from './navigation/index.js';
|
|
@@ -289,6 +289,31 @@ interface LegacyThemeShape {
|
|
|
289
289
|
borderRadius?: number;
|
|
290
290
|
fontFamily?: string;
|
|
291
291
|
}
|
|
292
|
+
/**
|
|
293
|
+
* testID contract — the SDK's e2e surface.
|
|
294
|
+
*
|
|
295
|
+
* Every control an integrator's e2e suite has to drive carries a stable
|
|
296
|
+
* `testID`, and the id is the ONLY handle we promise. Copy is not: the
|
|
297
|
+
* visible label and the `accessibilityLabel` both come from the i18n
|
|
298
|
+
* bundle, so a harness that matches on them has to try every locale the
|
|
299
|
+
* app ships and then guess.
|
|
300
|
+
*
|
|
301
|
+
* The close button was the hole. It had a localized `accessibilityLabel`
|
|
302
|
+
* and no id, so integrators matched its text in three languages and fell
|
|
303
|
+
* back to a swipe when none hit. `assistant-clear` was the same hole one
|
|
304
|
+
* button over.
|
|
305
|
+
*
|
|
306
|
+
* The id alone did not fix what found it, and it is worth knowing why:
|
|
307
|
+
* the run that failed was failing on REACHABILITY, not on matching — the
|
|
308
|
+
* sheet used to overflow off the top of the screen when the keyboard
|
|
309
|
+
* opened, taking this header with it, and a harness taps by coordinate.
|
|
310
|
+
* That is fixed in the styles below; see `chatContainer`.
|
|
311
|
+
*
|
|
312
|
+
* The ids live in `AppilotsChat.testIds.realTree.test.tsx` and are
|
|
313
|
+
* published in apps/docs (`sdk/test-ids`). Adding one is additive;
|
|
314
|
+
* renaming or removing one is a BREAKING change for every integrator's
|
|
315
|
+
* test suite, whether or not the TypeScript surface moved.
|
|
316
|
+
*/
|
|
292
317
|
/**
|
|
293
318
|
* Public entry point.
|
|
294
319
|
*
|
|
@@ -1259,6 +1284,6 @@ declare function executeAction(action: AgentAction, context: ExecutorContext): P
|
|
|
1259
1284
|
* (`X-Appilots-Sdk-Version`). Kept identical to package.json by the
|
|
1260
1285
|
* release flow; `version.test.ts` fails if the two ever disagree.
|
|
1261
1286
|
*/
|
|
1262
|
-
declare const SDK_VERSION = "0.11.
|
|
1287
|
+
declare const SDK_VERSION = "0.11.3";
|
|
1263
1288
|
|
|
1264
1289
|
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 AppilotsSelfCheckReport, type AppilotsStringKey, type AppilotsStrings, type AppilotsSwitchProps, AppilotsThemeProvider, type AppilotsThemeProviderProps, AppilotsThemeTokens, type AutoTrackingState, ChatIcon, type ChatIconProps, ComponentRegistry, ConfirmDialog, type ConfirmDialogProps, type ElementRegistry, type ExecutorContext, FieldEntry, HeadsetIcon, type HeadsetIconProps, InteractionElementEntry, type IntrospectionDiagnostics, type IntrospectionFailureReason, type ListEntry, type ListRegistry, type NameManglingProbe, PartialThemeTokens, SDK_VERSION, ScreenSnapshot, type SelfCheckRegistry, type SelfCheckWalk, type TailwindResolvedConfig, type WalkDetectorCounts, _patchJsxRuntimes, appilotsSelfCheck, appilotsTheme, appilotsThemeFromTailwind, captureSnapshot, createAppilotsButton, createAppilotsInput, createAppilotsSwitch, createElementRegistry, createListRegistry, detectDeviceLocale, elementRegistry, enableAppilotsAutoTracking, executeAction, getAutoTrackingState, getGlobalConfig, getIntrospectionDiagnostics, initAppilots, isAutoTrackingEnabled, listRegistry, resolveLocale, useAppilotsI18n, useAppilotsTheme, useResolvedRegistry };
|