@useago/sdk 1.4.3 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/CHANGELOG.md +15 -1
  2. package/dist/{AgoClient-S8oeNnAE.js → AgoClient-q39FIjSC.js} +105 -81
  3. package/dist/AgoClient-wcPRaIMs.cjs +8 -0
  4. package/dist/angular.cjs +1 -1
  5. package/dist/angular.d.cts +75 -5
  6. package/dist/angular.d.ts +75 -5
  7. package/dist/angular.js +5 -1
  8. package/dist/autoContinue-CcCTva-D.cjs +1 -0
  9. package/dist/autoContinue-D3Mmaaca.js +63 -0
  10. package/dist/{createConversationSession-CmBq7uGi.cjs → createConversationSession-BBYfQLLS.cjs} +1 -1
  11. package/dist/{createConversationSession-DoUHdVNR.js → createConversationSession-DCSWShaW.js} +1 -1
  12. package/dist/{createFormCollector-Bz_0IJ0Q.cjs → createFormCollector-eimwwWEi.cjs} +1 -1
  13. package/dist/{createFormCollector-vy-QvFja.js → createFormCollector-sB6rMccD.js} +1 -1
  14. package/dist/devtools.d.cts +32 -4
  15. package/dist/devtools.d.ts +32 -4
  16. package/dist/helpers.cjs +1 -1
  17. package/dist/helpers.d.cts +6 -0
  18. package/dist/helpers.d.ts +6 -0
  19. package/dist/index.cjs +1 -1
  20. package/dist/index.d.cts +101 -5
  21. package/dist/index.d.ts +101 -5
  22. package/dist/index.js +45 -43
  23. package/dist/react.cjs +3 -3
  24. package/dist/react.d.cts +40 -18
  25. package/dist/react.d.ts +40 -18
  26. package/dist/react.js +415 -471
  27. package/dist/testing.cjs +1 -1
  28. package/dist/testing.d.cts +32 -4
  29. package/dist/testing.d.ts +32 -4
  30. package/dist/testing.js +1 -1
  31. package/dist/vue.cjs +1 -1
  32. package/dist/vue.d.cts +38 -4
  33. package/dist/vue.d.ts +38 -4
  34. package/dist/vue.js +22 -21
  35. package/dist/widget.cjs +1 -1
  36. package/dist/widget.d.cts +32 -4
  37. package/dist/widget.d.ts +32 -4
  38. package/dist/widget.js +3 -3
  39. package/llms-full.txt +1932 -0
  40. package/package.json +5 -3
  41. package/dist/AgoClient-CMDVqNaH.cjs +0 -8
  42. /package/dist/{createMockClient-bAZ9KBHC.js → createMockClient-BUc9PSbo.js} +0 -0
  43. /package/dist/{createMockClient-BSr-UV8R.cjs → createMockClient-CjdCqixj.cjs} +0 -0
  44. /package/dist/{functions-Djnq-JAo.cjs → functions-IGSjjvF4.cjs} +0 -0
package/dist/index.d.cts CHANGED
@@ -39,6 +39,23 @@ export declare interface AgoAttachment {
39
39
  isSafeImage: boolean;
40
40
  }
41
41
 
42
+ export declare interface AgoAutoContinueOptions {
43
+ /** Function names whose invocation counts as "navigated". Default `["navigateToPage"]`. */
44
+ navigationFunctions?: string[];
45
+ /** Registered function that signals the destination has editable state. Default `"setPageState"`. */
46
+ pageStateFunctionName?: string;
47
+ /** The hidden continuation prompt. Override for i18n / tone. */
48
+ continuationPrompt?: string;
49
+ /** Max continuations per user gesture (guards navigate→continue→navigate loops). Default `1`. */
50
+ maxDepth?: number;
51
+ /** How long to wait for the destination page to register page-state before giving up. Default `4000`ms. */
52
+ readinessTimeoutMs?: number;
53
+ /** Extra settle delay after page-state appears, to let sibling state mount. Default `150`ms. */
54
+ settleMs?: number;
55
+ /** Opt-out escape hatch. Default `true`. */
56
+ enabled?: boolean;
57
+ }
58
+
42
59
  /**
43
60
  * Main SDK client for AGO Chat integration
44
61
  */
@@ -186,7 +203,7 @@ export declare class AgoClient {
186
203
  * ```
187
204
  */
188
205
  registerFunction(definition: ClientFunctionDefinition): void;
189
- registerFunction(name: string, handler: ClientFunctionHandler, schema: Omit<ClientFunctionSchema, "name">): void;
206
+ registerFunction(name: string, handler: ClientFunctionHandler, schema: ClientFunctionRegisterOptions): void;
190
207
  /**
191
208
  * Short alias for `registerFunction`. Also accepts an array of definitions.
192
209
  *
@@ -487,14 +504,22 @@ export declare interface AgoConfig {
487
504
  warnOnEmptyReply?: boolean;
488
505
  /**
489
506
  * How the agent loop treats client function calls (requires backend support):
490
- * - `"placeholder"` (default): the turn continues immediately on a placeholder
491
- * result; the real result is only visible to the agent on later turns.
492
- * - `"pause"`: the turn stops on client function call(s) with status
507
+ * - `"pause"` (default): the turn stops on client function call(s) with status
493
508
  * `WAITING_CLIENT`; once every result is submitted, the SDK resumes the SAME
494
509
  * turn via `POST /messages/{id}/continue`, so the agent sees the real results.
510
+ * - `"placeholder"` (legacy): the turn continues immediately on a placeholder
511
+ * result; the real result is only visible to the agent on later turns.
495
512
  * Older backends ignore the flag, so `"pause"` degrades to legacy behavior.
496
513
  */
497
514
  clientFunctionsMode?: ClientFunctionsMode;
515
+ /**
516
+ * Max serialized size (bytes) of a client function result before the SDK
517
+ * replaces it with a flagged, truncated preview. Everything a handler
518
+ * returns is sent into the LLM context, so this caps runaway payloads
519
+ * (raw API responses, full tables). Default `50000`. Override per function
520
+ * with `maxResultBytes` on its definition; `Infinity` disables the guard.
521
+ */
522
+ maxFunctionResultBytes?: number;
498
523
  }
499
524
 
500
525
  /**
@@ -651,6 +676,38 @@ declare interface ApiErrorResponse {
651
676
  };
652
677
  }
653
678
 
679
+ /**
680
+ * Auto-continue the agent after it navigates, so a "go to page B and change X"
681
+ * request completes in one user gesture. Attach once per client; returns a
682
+ * detach function that removes every listener.
683
+ *
684
+ * Two mechanisms, picked by the turn's client-functions mode:
685
+ *
686
+ * - **Pause mode** (`clientFunctionsMode: "pause"`, the default): the backend pauses the turn
687
+ * on the navigation call (`message:waiting-client`) and the SDK resumes it once
688
+ * the result is submitted. This helper only registers a *resume gate* that delays
689
+ * the resume until the destination page's page-state registered (plus a settle
690
+ * delay), so the continued turn ships the new page's `setPageState` and current
691
+ * state. Same turn, no extra prompt, backend budget as the guardrail —
692
+ * `continuationPrompt` and `maxDepth` are unused here.
693
+ *
694
+ * - **Placeholder mode** (legacy, `clientFunctionsMode: "placeholder"`): when the agent calls the navigation
695
+ * function and that turn ends, this waits for the destination page's state to
696
+ * register, then sends a hidden continuation message; the agent applies the
697
+ * state in a second turn (requires backend support for the `hidden` flag).
698
+ *
699
+ * ```ts
700
+ * const detach = attachAutoContinueAfterNavigation(client);
701
+ * // later, on teardown:
702
+ * detach();
703
+ * ```
704
+ *
705
+ * Options can be a plain object, or a getter for live options: the getter is
706
+ * re-read on every event, so changing what it returns never re-subscribes the
707
+ * listeners (this is how the React hook keeps options reactive).
708
+ */
709
+ export declare function attachAutoContinueAfterNavigation(client: AgoClient, options?: AgoAutoContinueOptions | (() => AgoAutoContinueOptions | undefined)): () => void;
710
+
654
711
  /**
655
712
  * Auto-detect AGO configuration from the DOM environment.
656
713
  *
@@ -733,6 +790,12 @@ export declare interface ClientFunctionDefinition {
733
790
  description: string;
734
791
  parameters: ClientFunctionSchema["parameters"];
735
792
  handler: ClientFunctionHandler;
793
+ /**
794
+ * Max serialized result size in bytes before the SDK truncates it to a
795
+ * flagged preview (default: `AgoConfig.maxFunctionResultBytes`, 50 000).
796
+ * `Infinity` disables the guard for this function.
797
+ */
798
+ maxResultBytes?: number;
736
799
  }
737
800
 
738
801
  /**
@@ -747,6 +810,20 @@ export declare interface ClientFunctionInvocation {
747
810
  conversationId: string;
748
811
  }
749
812
 
813
+ /**
814
+ * Schema-plus-settings object accepted when registering a function: the schema
815
+ * (minus `name`) and SDK-side options that are NOT sent to the backend.
816
+ */
817
+ export declare type ClientFunctionRegisterOptions = Omit<ClientFunctionSchema, "name"> & {
818
+ /**
819
+ * Max serialized result size in bytes before the SDK truncates it to a
820
+ * flagged preview. Overrides the client-level default
821
+ * (`AgoConfig.maxFunctionResultBytes`, 50 000 by default). `Infinity`
822
+ * disables the guard for this function.
823
+ */
824
+ maxResultBytes?: number;
825
+ };
826
+
750
827
  /**
751
828
  * Schema for a client-side function that AGO can call
752
829
  */
@@ -1244,12 +1321,16 @@ export declare interface FunctionDefinition {
1244
1321
  */
1245
1322
  export declare class FunctionRegistry {
1246
1323
  private functions;
1324
+ private defaultMaxResultBytes;
1325
+ constructor(options?: FunctionRegistryOptions);
1326
+ /** Update the client-level result-size ceiling at runtime. */
1327
+ setDefaultMaxResultBytes(bytes: number): void;
1247
1328
  /**
1248
1329
  * Register a function that AGO can call.
1249
1330
  * Accepts either a single definition object or (name, handler, schema) args.
1250
1331
  */
1251
1332
  register(definition: ClientFunctionDefinition): void;
1252
- register(name: string, handler: ClientFunctionHandler, schema: Omit<ClientFunctionSchema, "name">): void;
1333
+ register(name: string, handler: ClientFunctionHandler, schema: ClientFunctionRegisterOptions): void;
1253
1334
  /**
1254
1335
  * Unregister a function
1255
1336
  */
@@ -1270,6 +1351,14 @@ export declare class FunctionRegistry {
1270
1351
  * Execute a registered function
1271
1352
  */
1272
1353
  execute(name: string, args: Record<string, unknown>): Promise<unknown>;
1354
+ /**
1355
+ * Cap the size of a function result before it goes back to the backend.
1356
+ * Everything a handler returns lands in the LLM context, so an unbounded
1357
+ * payload (a raw API response, a full table) inflates cost and can overflow
1358
+ * the model. Oversized results are replaced with a flagged preview so the
1359
+ * agent knows to request less instead of receiving hundreds of KB verbatim.
1360
+ */
1361
+ private guardResultSize;
1273
1362
  /**
1274
1363
  * Clear all registered functions
1275
1364
  */
@@ -1280,6 +1369,11 @@ export declare class FunctionRegistry {
1280
1369
  get size(): number;
1281
1370
  }
1282
1371
 
1372
+ declare interface FunctionRegistryOptions {
1373
+ /** Client-level default for the result-size ceiling, in bytes. */
1374
+ maxResultBytes?: number;
1375
+ }
1376
+
1283
1377
  /**
1284
1378
  * Client-side function types
1285
1379
  */
@@ -1471,6 +1565,8 @@ export declare interface PersistOptions {
1471
1565
  export declare interface RegisteredFunction {
1472
1566
  schema: ClientFunctionSchema;
1473
1567
  handler: ClientFunctionHandler;
1568
+ /** Per-function result-size ceiling; falls back to the registry default. */
1569
+ maxResultBytes?: number;
1474
1570
  }
1475
1571
 
1476
1572
  /**
package/dist/index.d.ts CHANGED
@@ -39,6 +39,23 @@ export declare interface AgoAttachment {
39
39
  isSafeImage: boolean;
40
40
  }
41
41
 
42
+ export declare interface AgoAutoContinueOptions {
43
+ /** Function names whose invocation counts as "navigated". Default `["navigateToPage"]`. */
44
+ navigationFunctions?: string[];
45
+ /** Registered function that signals the destination has editable state. Default `"setPageState"`. */
46
+ pageStateFunctionName?: string;
47
+ /** The hidden continuation prompt. Override for i18n / tone. */
48
+ continuationPrompt?: string;
49
+ /** Max continuations per user gesture (guards navigate→continue→navigate loops). Default `1`. */
50
+ maxDepth?: number;
51
+ /** How long to wait for the destination page to register page-state before giving up. Default `4000`ms. */
52
+ readinessTimeoutMs?: number;
53
+ /** Extra settle delay after page-state appears, to let sibling state mount. Default `150`ms. */
54
+ settleMs?: number;
55
+ /** Opt-out escape hatch. Default `true`. */
56
+ enabled?: boolean;
57
+ }
58
+
42
59
  /**
43
60
  * Main SDK client for AGO Chat integration
44
61
  */
@@ -186,7 +203,7 @@ export declare class AgoClient {
186
203
  * ```
187
204
  */
188
205
  registerFunction(definition: ClientFunctionDefinition): void;
189
- registerFunction(name: string, handler: ClientFunctionHandler, schema: Omit<ClientFunctionSchema, "name">): void;
206
+ registerFunction(name: string, handler: ClientFunctionHandler, schema: ClientFunctionRegisterOptions): void;
190
207
  /**
191
208
  * Short alias for `registerFunction`. Also accepts an array of definitions.
192
209
  *
@@ -487,14 +504,22 @@ export declare interface AgoConfig {
487
504
  warnOnEmptyReply?: boolean;
488
505
  /**
489
506
  * How the agent loop treats client function calls (requires backend support):
490
- * - `"placeholder"` (default): the turn continues immediately on a placeholder
491
- * result; the real result is only visible to the agent on later turns.
492
- * - `"pause"`: the turn stops on client function call(s) with status
507
+ * - `"pause"` (default): the turn stops on client function call(s) with status
493
508
  * `WAITING_CLIENT`; once every result is submitted, the SDK resumes the SAME
494
509
  * turn via `POST /messages/{id}/continue`, so the agent sees the real results.
510
+ * - `"placeholder"` (legacy): the turn continues immediately on a placeholder
511
+ * result; the real result is only visible to the agent on later turns.
495
512
  * Older backends ignore the flag, so `"pause"` degrades to legacy behavior.
496
513
  */
497
514
  clientFunctionsMode?: ClientFunctionsMode;
515
+ /**
516
+ * Max serialized size (bytes) of a client function result before the SDK
517
+ * replaces it with a flagged, truncated preview. Everything a handler
518
+ * returns is sent into the LLM context, so this caps runaway payloads
519
+ * (raw API responses, full tables). Default `50000`. Override per function
520
+ * with `maxResultBytes` on its definition; `Infinity` disables the guard.
521
+ */
522
+ maxFunctionResultBytes?: number;
498
523
  }
499
524
 
500
525
  /**
@@ -651,6 +676,38 @@ declare interface ApiErrorResponse {
651
676
  };
652
677
  }
653
678
 
679
+ /**
680
+ * Auto-continue the agent after it navigates, so a "go to page B and change X"
681
+ * request completes in one user gesture. Attach once per client; returns a
682
+ * detach function that removes every listener.
683
+ *
684
+ * Two mechanisms, picked by the turn's client-functions mode:
685
+ *
686
+ * - **Pause mode** (`clientFunctionsMode: "pause"`, the default): the backend pauses the turn
687
+ * on the navigation call (`message:waiting-client`) and the SDK resumes it once
688
+ * the result is submitted. This helper only registers a *resume gate* that delays
689
+ * the resume until the destination page's page-state registered (plus a settle
690
+ * delay), so the continued turn ships the new page's `setPageState` and current
691
+ * state. Same turn, no extra prompt, backend budget as the guardrail —
692
+ * `continuationPrompt` and `maxDepth` are unused here.
693
+ *
694
+ * - **Placeholder mode** (legacy, `clientFunctionsMode: "placeholder"`): when the agent calls the navigation
695
+ * function and that turn ends, this waits for the destination page's state to
696
+ * register, then sends a hidden continuation message; the agent applies the
697
+ * state in a second turn (requires backend support for the `hidden` flag).
698
+ *
699
+ * ```ts
700
+ * const detach = attachAutoContinueAfterNavigation(client);
701
+ * // later, on teardown:
702
+ * detach();
703
+ * ```
704
+ *
705
+ * Options can be a plain object, or a getter for live options: the getter is
706
+ * re-read on every event, so changing what it returns never re-subscribes the
707
+ * listeners (this is how the React hook keeps options reactive).
708
+ */
709
+ export declare function attachAutoContinueAfterNavigation(client: AgoClient, options?: AgoAutoContinueOptions | (() => AgoAutoContinueOptions | undefined)): () => void;
710
+
654
711
  /**
655
712
  * Auto-detect AGO configuration from the DOM environment.
656
713
  *
@@ -733,6 +790,12 @@ export declare interface ClientFunctionDefinition {
733
790
  description: string;
734
791
  parameters: ClientFunctionSchema["parameters"];
735
792
  handler: ClientFunctionHandler;
793
+ /**
794
+ * Max serialized result size in bytes before the SDK truncates it to a
795
+ * flagged preview (default: `AgoConfig.maxFunctionResultBytes`, 50 000).
796
+ * `Infinity` disables the guard for this function.
797
+ */
798
+ maxResultBytes?: number;
736
799
  }
737
800
 
738
801
  /**
@@ -747,6 +810,20 @@ export declare interface ClientFunctionInvocation {
747
810
  conversationId: string;
748
811
  }
749
812
 
813
+ /**
814
+ * Schema-plus-settings object accepted when registering a function: the schema
815
+ * (minus `name`) and SDK-side options that are NOT sent to the backend.
816
+ */
817
+ export declare type ClientFunctionRegisterOptions = Omit<ClientFunctionSchema, "name"> & {
818
+ /**
819
+ * Max serialized result size in bytes before the SDK truncates it to a
820
+ * flagged preview. Overrides the client-level default
821
+ * (`AgoConfig.maxFunctionResultBytes`, 50 000 by default). `Infinity`
822
+ * disables the guard for this function.
823
+ */
824
+ maxResultBytes?: number;
825
+ };
826
+
750
827
  /**
751
828
  * Schema for a client-side function that AGO can call
752
829
  */
@@ -1244,12 +1321,16 @@ export declare interface FunctionDefinition {
1244
1321
  */
1245
1322
  export declare class FunctionRegistry {
1246
1323
  private functions;
1324
+ private defaultMaxResultBytes;
1325
+ constructor(options?: FunctionRegistryOptions);
1326
+ /** Update the client-level result-size ceiling at runtime. */
1327
+ setDefaultMaxResultBytes(bytes: number): void;
1247
1328
  /**
1248
1329
  * Register a function that AGO can call.
1249
1330
  * Accepts either a single definition object or (name, handler, schema) args.
1250
1331
  */
1251
1332
  register(definition: ClientFunctionDefinition): void;
1252
- register(name: string, handler: ClientFunctionHandler, schema: Omit<ClientFunctionSchema, "name">): void;
1333
+ register(name: string, handler: ClientFunctionHandler, schema: ClientFunctionRegisterOptions): void;
1253
1334
  /**
1254
1335
  * Unregister a function
1255
1336
  */
@@ -1270,6 +1351,14 @@ export declare class FunctionRegistry {
1270
1351
  * Execute a registered function
1271
1352
  */
1272
1353
  execute(name: string, args: Record<string, unknown>): Promise<unknown>;
1354
+ /**
1355
+ * Cap the size of a function result before it goes back to the backend.
1356
+ * Everything a handler returns lands in the LLM context, so an unbounded
1357
+ * payload (a raw API response, a full table) inflates cost and can overflow
1358
+ * the model. Oversized results are replaced with a flagged preview so the
1359
+ * agent knows to request less instead of receiving hundreds of KB verbatim.
1360
+ */
1361
+ private guardResultSize;
1273
1362
  /**
1274
1363
  * Clear all registered functions
1275
1364
  */
@@ -1280,6 +1369,11 @@ export declare class FunctionRegistry {
1280
1369
  get size(): number;
1281
1370
  }
1282
1371
 
1372
+ declare interface FunctionRegistryOptions {
1373
+ /** Client-level default for the result-size ceiling, in bytes. */
1374
+ maxResultBytes?: number;
1375
+ }
1376
+
1283
1377
  /**
1284
1378
  * Client-side function types
1285
1379
  */
@@ -1471,6 +1565,8 @@ export declare interface PersistOptions {
1471
1565
  export declare interface RegisteredFunction {
1472
1566
  schema: ClientFunctionSchema;
1473
1567
  handler: ClientFunctionHandler;
1568
+ /** Per-function result-size ceiling; falls back to the registry default. */
1569
+ maxResultBytes?: number;
1474
1570
  }
1475
1571
 
1476
1572
  /**
package/dist/index.js CHANGED
@@ -1,37 +1,38 @@
1
- import { a as h, c as A, d as y, f as C, i as E, l as S, m as b, o as v, p as F, r as M, s as I, t as k, u as T } from "./functions-CApuQZ2b.js";
2
- import { _ as G, a as O, c as _, d as q, f as x, g as L, h as N, l as D, m as d, n as H, o as J, p as R, r as j, s as z, t as c, u as B } from "./AgoClient-S8oeNnAE.js";
3
- import { i as $, n as K, r as Q, t as V } from "./createFormCollector-vy-QvFja.js";
4
- import { t as X } from "./createConversationSession-DoUHdVNR.js";
5
- import { t as Z } from "./createMockClient-bAZ9KBHC.js";
1
+ import { a as h, c as A, d as C, f as y, i as E, l as S, m as b, o as v, p as F, r as M, s as I, t as k, u as T } from "./functions-CApuQZ2b.js";
2
+ import { _ as G, a as N, c as O, d as _, f as q, g as x, h as L, l as D, m as d, n as H, o as J, p as R, r as j, s as z, t as c, u as B } from "./AgoClient-q39FIjSC.js";
3
+ import { t as $ } from "./autoContinue-D3Mmaaca.js";
4
+ import { i as Q, n as V, r as W, t as X } from "./createFormCollector-sB6rMccD.js";
5
+ import { t as Z } from "./createConversationSession-DCSWShaW.js";
6
+ import { t as oe } from "./createMockClient-BUc9PSbo.js";
6
7
  import "./testing.js";
7
- function oe(e) {
8
+ function re(e) {
8
9
  return e;
9
10
  }
10
- function te(e, o) {
11
+ function ne(e, o) {
11
12
  return e.on("message:complete", o), () => e.off("message:complete", o);
12
13
  }
13
- function re(e, o) {
14
+ function ae(e, o) {
14
15
  return e.on("message:chunk", o), () => e.off("message:chunk", o);
15
16
  }
16
- function ne(e, o) {
17
+ function se(e, o) {
17
18
  return e.on("message:start", o), () => e.off("message:start", o);
18
19
  }
19
- function ae(e, o) {
20
+ function ie(e, o) {
20
21
  return e.on("message:error", o), () => e.off("message:error", o);
21
22
  }
22
- function se(e, o) {
23
+ function ue(e, o) {
23
24
  return e.on("toolCall:received", o), () => e.off("toolCall:received", o);
24
25
  }
25
- function ie(e, o) {
26
+ function ge(e, o) {
26
27
  return e.on("form:submitted", o), () => e.off("form:submitted", o);
27
28
  }
28
- function ue(e, o) {
29
+ function fe(e, o) {
29
30
  return e.on("form:error", o), () => e.off("form:error", o);
30
31
  }
31
- function ge(e, o) {
32
+ function me(e, o) {
32
33
  return e.on("function:invoke", o), () => e.off("function:invoke", o);
33
34
  }
34
- async function* fe(e, o, u) {
35
+ async function* le(e, o, u) {
35
36
  const n = [];
36
37
  let r = null, a = !1;
37
38
  const g = (s) => {
@@ -94,12 +95,12 @@ function p(e) {
94
95
  debug: f
95
96
  } : null;
96
97
  }
97
- function me(e) {
98
+ function de(e) {
98
99
  const o = p(e);
99
100
  if (!o) throw new d('createAgo(): could not detect AGO configuration. Set window.AGO, add <meta name="ago-base-url">, or pass { baseUrl } explicitly.', "config_missing_base_url");
100
101
  return new c(o);
101
102
  }
102
- function le(e, o) {
103
+ function ce(e, o) {
103
104
  return {
104
105
  ...e,
105
106
  handler: o
@@ -109,49 +110,50 @@ export {
109
110
  R as AgoApiError,
110
111
  c as AgoClient,
111
112
  d as AgoError,
112
- N as AgoFunctionError,
113
- L as AgoNetworkError,
113
+ L as AgoFunctionError,
114
+ x as AgoNetworkError,
114
115
  G as AgoStreamError,
115
116
  B as ClientContextRegistry,
116
117
  j as EventEmitter,
117
- q as FunctionRegistry,
118
- _ as SSEHandler,
118
+ _ as FunctionRegistry,
119
+ O as SSEHandler,
120
+ $ as attachAutoContinueAfterNavigation,
119
121
  p as autoDetectConfig,
120
- O as canInlineImage,
122
+ N as canInlineImage,
121
123
  k as copyToClipboard,
122
- me as createAgo,
123
- X as createConversationSession,
124
- V as createFormCollector,
125
- fe as createMessageStream,
126
- Z as createMockClient,
127
- $ as createStore,
128
- oe as defineFunction,
129
- K as deriveFormStatus,
124
+ de as createAgo,
125
+ Z as createConversationSession,
126
+ X as createFormCollector,
127
+ le as createMessageStream,
128
+ oe as createMockClient,
129
+ Q as createStore,
130
+ re as defineFunction,
131
+ V as deriveFormStatus,
130
132
  J as formatFileSize,
131
133
  M as getLocalStorage,
132
134
  E as getUserLocation,
133
135
  h as highlightElement,
134
136
  D as isStreamNetworkError,
135
- Q as loadFormCollector,
136
- x as logger,
137
- ue as onFormError,
138
- ie as onFormSubmitted,
139
- ge as onFunctionInvoke,
140
- te as onMessage,
141
- re as onMessageChunk,
142
- ae as onMessageError,
143
- ne as onMessageStart,
144
- se as onToolCall,
137
+ W as loadFormCollector,
138
+ q as logger,
139
+ fe as onFormError,
140
+ ge as onFormSubmitted,
141
+ me as onFunctionInvoke,
142
+ ne as onMessage,
143
+ ae as onMessageChunk,
144
+ ie as onMessageError,
145
+ se as onMessageStart,
146
+ ue as onToolCall,
145
147
  v as openUrl,
146
148
  z as safeAttachmentUrl,
147
149
  I as scrollToElement,
148
150
  A as setLocalStorage,
149
151
  S as setTheme,
150
152
  T as showConfirmDialog,
151
- y as showNotification,
152
- C as showToast,
153
+ C as showNotification,
154
+ y as showToast,
153
155
  F as submitForm,
154
156
  b as trackEvent,
155
157
  H as validateConfig,
156
- le as withHandler
158
+ ce as withHandler
157
159
  };