@syntrologie/adapt-chatbot 2.55.0 → 2.55.1

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.
@@ -13,8 +13,10 @@
13
13
  * mount time and forward it via `Authorization: Bearer` header. Never
14
14
  * a window global (BUG-1785360157).
15
15
  *
16
- * 2. Cloudflare Turnstile bot-check token. When `TURNSTILE_SITEKEY` is
17
- * set, render a single `size: 'flexible'` widget with
16
+ * 2. Cloudflare Turnstile bot-check token, acquired on the visitor's FIRST
17
+ * SEND (never at mount) and only when the backend reports it enforces
18
+ * the check (`GET /api/adaptive/bot_check`, BUG-1789605814). When it
19
+ * runs, it renders a single `size: 'flexible'` widget with
18
20
  * `appearance: 'interaction-only'` against a `managed`-mode sitekey:
19
21
  * • Clean traffic: CF passive-grades silently, token resolves in
20
22
  * ~100ms, no UI is ever shown.
@@ -29,7 +31,7 @@
29
31
  * rejects any `size` other than `invisible`, and `size: 'invisible'`
30
32
  * against `mode = 'managed'` fails with a synchronous TurnstileError —
31
33
  * don't mix.)
32
- * If sitekey is empty, this step is skipped entirely.
34
+ * Skipped entirely when the sitekey is empty or the backend mode is `off`.
33
35
  *
34
36
  * 3. Fallback card. If the first agent run fails (Cloudflare Turnstile
35
37
  * bot-check failure, CORS / network error, or a server-side rejection),
@@ -1 +1 @@
1
- {"version":3,"file":"ChatAssistantLit.d.ts","sourceRoot":"","sources":["../src/ChatAssistantLit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAGH,OAAO,mBAAmB,CAAC;AAa3B,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvF,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAwCD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,CAiEhF;AAED,eAAO,MAAM,yBAAyB;qBACnB,WAAW,gBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAqdpE,CAAC"}
1
+ {"version":3,"file":"ChatAssistantLit.d.ts","sourceRoot":"","sources":["../src/ChatAssistantLit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAGH,OAAO,mBAAmB,CAAC;AAa3B,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvF,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAuCD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,CAiEhF;AA0CD,eAAO,MAAM,yBAAyB;qBACnB,WAAW,gBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CA6cpE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ChatAssistantLitMountable,
3
3
  renderFallbackHtml
4
- } from "./chunk-57MPLQOL.js";
4
+ } from "./chunk-EXDL3OKE.js";
5
5
  import "./chunk-EWPPVPJ4.js";
6
6
  import "./chunk-TZA7572J.js";
7
7
  import "./chunk-NGV35N4T.js";
@@ -407,10 +407,10 @@ export declare class ChatTransport {
407
407
  */
408
408
  private _ensureConnected;
409
409
  /**
410
- * Acquire a Turnstile token via the managed-challenge flow.
411
- * Delegates to the shared Turnstile helper that owns the verify
412
- * panel lifecycle. Returns null when Turnstile is disabled at
413
- * build time or acquisition fails.
410
+ * Acquire a Turnstile token for a visitor send. Only reached from
411
+ * `_ensureConnected`, i.e. on interaction. Returns null without touching
412
+ * Cloudflare when the build has no sitekey or the backend does not enforce
413
+ * the check; null also when acquisition fails.
414
414
  */
415
415
  private _acquireTurnstileWithChallenge;
416
416
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ChatTransport.d.ts","sourceRoot":"","sources":["../src/ChatTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatTransport.d.ts","sourceRoot":"","sources":["../src/ChatTransport.ts"],"names":[],"mappings":"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"}
@@ -80,4 +80,22 @@ export interface AcquireWithChallengeResult {
80
80
  export declare function acquireTokenWithChallenge(options?: {
81
81
  signal?: AbortSignal;
82
82
  }): Promise<AcquireWithChallengeResult>;
83
+ export type BotCheckMode = 'off' | 'soft' | 'hard';
84
+ /** Test seam: forget cached modes (the cache is per page load). */
85
+ export declare function resetBotCheckModeCache(): void;
86
+ /**
87
+ * The backend's bot-check mode, read once per backend per page load.
88
+ * `null` means it could not be read.
89
+ */
90
+ export declare function fetchBotCheckMode(backendUrl: string): Promise<BotCheckMode | null>;
91
+ /**
92
+ * Acquire a bot-check token for a visitor SEND. Call this from the send path
93
+ * only — never from mount, configure, or a passive stream.
94
+ *
95
+ * Resolves `{ token: null, outcome: 'disabled' }` without touching Cloudflare
96
+ * when the build has no sitekey or the backend reports `off`.
97
+ */
98
+ export declare function acquireBotCheckTokenForSend(backendUrl: string, options?: {
99
+ signal?: AbortSignal;
100
+ }): Promise<AcquireWithChallengeResult>;
83
101
  //# sourceMappingURL=Turnstile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Turnstile.d.ts","sourceRoot":"","sources":["../src/Turnstile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAwBH,eAAO,MAAM,iBAAiB,6BAA6B,CAAC;AAmE5D,MAAM,WAAW,uBAAuB;IACtC,mEAAmE;IACnE,IAAI,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;IACvD,4EAA4E;IAC5E,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,kBAAkB,CAAC;IACvD,uEAAuE;IACvE,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,8EAA8E;IAC9E,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,qFAAqF;IACrF,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,GAAE,uBAA4B,GACjC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyFxB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAkC/C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAMjE;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,UAAU,GAAG,kBAAkB,GAAG,uBAAuB,GAAG,oBAAoB,CAAC;CAC3F;AAED;;;;;;;;;GASG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GACrC,OAAO,CAAC,0BAA0B,CAAC,CAgDrC"}
1
+ {"version":3,"file":"Turnstile.d.ts","sourceRoot":"","sources":["../src/Turnstile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAwBH,eAAO,MAAM,iBAAiB,6BAA6B,CAAC;AAmE5D,MAAM,WAAW,uBAAuB;IACtC,mEAAmE;IACnE,IAAI,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;IACvD,4EAA4E;IAC5E,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,kBAAkB,CAAC;IACvD,uEAAuE;IACvE,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,8EAA8E;IAC9E,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,qFAAqF;IACrF,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,GAAE,uBAA4B,GACjC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyFxB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAkC/C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAMjE;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,UAAU,GAAG,kBAAkB,GAAG,uBAAuB,GAAG,oBAAoB,CAAC;CAC3F;AAED;;;;;;;;;GASG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GACrC,OAAO,CAAC,0BAA0B,CAAC,CAgDrC;AAoBD,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAKnD,mEAAmE;AACnE,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAmBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAYlF;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GACrC,OAAO,CAAC,0BAA0B,CAAC,CAKrC"}
@@ -8609,6 +8609,42 @@ async function acquireTokenWithChallenge(options = {}) {
8609
8609
  removePanel();
8610
8610
  }
8611
8611
  }
8612
+ var BOT_CHECK_MODE_TIMEOUT_MS = 3e3;
8613
+ var botCheckModeCache = /* @__PURE__ */ new Map();
8614
+ async function readBotCheckMode(backendUrl) {
8615
+ const controller = new AbortController();
8616
+ const timer = setTimeout(() => controller.abort(), BOT_CHECK_MODE_TIMEOUT_MS);
8617
+ try {
8618
+ const response = await fetch(`${backendUrl}/api/adaptive/bot_check`, {
8619
+ signal: controller.signal
8620
+ });
8621
+ if (!response.ok) return null;
8622
+ const body = await response.json();
8623
+ return body.mode === "off" || body.mode === "soft" || body.mode === "hard" ? body.mode : null;
8624
+ } catch {
8625
+ return null;
8626
+ } finally {
8627
+ clearTimeout(timer);
8628
+ }
8629
+ }
8630
+ function fetchBotCheckMode(backendUrl) {
8631
+ const key = backendUrl.replace(/\/$/, "");
8632
+ let pending = botCheckModeCache.get(key);
8633
+ if (!pending) {
8634
+ pending = readBotCheckMode(key);
8635
+ pending.then((mode) => {
8636
+ if (mode === null) botCheckModeCache.delete(key);
8637
+ });
8638
+ botCheckModeCache.set(key, pending);
8639
+ }
8640
+ return pending;
8641
+ }
8642
+ async function acquireBotCheckTokenForSend(backendUrl, options = {}) {
8643
+ if (!TURNSTILE_SITEKEY) return { token: null, outcome: "disabled" };
8644
+ const mode = await fetchBotCheckMode(backendUrl);
8645
+ if (mode === "off") return { token: null, outcome: "disabled" };
8646
+ return acquireTokenWithChallenge(options);
8647
+ }
8612
8648
 
8613
8649
  // src/ChatAssistantLit.ts
8614
8650
  var ERROR_DEBOUNCE_MS = 1500;
@@ -8669,6 +8705,34 @@ function renderFallbackHtml(fallback) {
8669
8705
  const ctaHtml = ctaHref && /^https?:\/\//.test(ctaHref) ? `<a href="${escapeHtml(ctaHref)}" target="_blank" rel="noopener noreferrer" style="${ctaStyle}">${escapeHtml(ctaLabel)}</a>` : "";
8670
8706
  return `<div style="${wrapperStyle}" data-adaptive-chatbot-fallback="true"><div style="${titleStyle}">${escapeHtml(title)}</div><div style="${messageStyle}">${escapeHtml(message)}</div>${ctaHtml}</div>`;
8671
8707
  }
8708
+ var BotCheckedTransport = class {
8709
+ constructor(inner, beforeUserMessage, isUnmounted) {
8710
+ this.inner = inner;
8711
+ this.beforeUserMessage = beforeUserMessage;
8712
+ this.isUnmounted = isUnmounted;
8713
+ }
8714
+ get connected() {
8715
+ return this.inner.connected;
8716
+ }
8717
+ connect(sessionId) {
8718
+ this.inner.connect(sessionId);
8719
+ }
8720
+ disconnect() {
8721
+ this.inner.disconnect();
8722
+ }
8723
+ subscribe(handler) {
8724
+ return this.inner.subscribe(handler);
8725
+ }
8726
+ send(action) {
8727
+ if (action.type !== "user-message") {
8728
+ this.inner.send(action);
8729
+ return;
8730
+ }
8731
+ void this.beforeUserMessage().then(() => {
8732
+ if (!this.isUnmounted()) this.inner.send(action);
8733
+ });
8734
+ }
8735
+ };
8672
8736
  var ChatAssistantLitMountable = {
8673
8737
  mount(container, mountConfig) {
8674
8738
  const incoming = mountConfig ?? null;
@@ -8791,11 +8855,11 @@ var ChatAssistantLitMountable = {
8791
8855
  el.remove();
8792
8856
  container.innerHTML = renderFallbackHtml(chatbotConfig?.fallback);
8793
8857
  };
8794
- const setupTransport = (cftToken) => {
8858
+ const setupTransport = (readCftToken, beforeUserMessage) => {
8795
8859
  if (isUnmounted) return;
8796
8860
  transport = new AgUiTransport({
8797
8861
  url: streamUrl,
8798
- headers: () => buildHeaders(cftToken),
8862
+ headers: () => buildHeaders(readCftToken()),
8799
8863
  // Adaptive runtime SDK needs the `syntro_chat_session` cookie to
8800
8864
  // round-trip cross-origin so subsequent boot fetches can rehydrate
8801
8865
  // LLM-authored UI elements. Editor / action-plan chat surfaces
@@ -8826,7 +8890,7 @@ var ChatAssistantLitMountable = {
8826
8890
  });
8827
8891
  }
8828
8892
  });
8829
- el.transport = transport;
8893
+ el.transport = new BotCheckedTransport(transport, beforeUserMessage, () => isUnmounted);
8830
8894
  unsubscribe = transport.subscribe((event) => {
8831
8895
  if (isUnmounted) return;
8832
8896
  debug("transport event", { type: event.type, hasSucceeded, fallbackRendered });
@@ -8900,32 +8964,27 @@ var ChatAssistantLitMountable = {
8900
8964
  container.appendChild(el);
8901
8965
  };
8902
8966
  const acquireAbort = new AbortController();
8903
- const acquireWithManagedChallenge = async () => {
8904
- const { token: token2, outcome } = await acquireTokenWithChallenge({
8905
- signal: acquireAbort.signal
8906
- });
8907
- if (isUnmounted) return null;
8908
- botCheckOutcome = outcome;
8909
- if (token2 === null) {
8910
- console.warn(
8911
- "[adaptive-chatbot] turnstile token acquisition failed \u2014 connecting without a bot-check token; backend may 403"
8967
+ let cftToken = null;
8968
+ let botCheck = null;
8969
+ const ensureBotCheck = () => {
8970
+ if (!botCheck) {
8971
+ botCheck = acquireBotCheckTokenForSend(baseUrl, { signal: acquireAbort.signal }).then(
8972
+ ({ token: token2, outcome }) => {
8973
+ if (isUnmounted) return;
8974
+ botCheckOutcome = outcome;
8975
+ hadTurnstileToken = outcome === "disabled" ? null : token2 !== null;
8976
+ cftToken = token2;
8977
+ if (token2 === null && outcome !== "disabled") {
8978
+ console.warn(
8979
+ "[adaptive-chatbot] turnstile token acquisition failed \u2014 sending without a bot-check token; backend may 403"
8980
+ );
8981
+ }
8982
+ }
8912
8983
  );
8913
8984
  }
8914
- return token2;
8985
+ return botCheck;
8915
8986
  };
8916
- if (TURNSTILE_SITEKEY) {
8917
- void acquireWithManagedChallenge().then((cft) => {
8918
- if (isUnmounted) return;
8919
- hadTurnstileToken = cft !== null;
8920
- if (cft === null) {
8921
- swapToFallback("connect_failed");
8922
- return;
8923
- }
8924
- setupTransport(cft);
8925
- });
8926
- } else {
8927
- setupTransport(null);
8928
- }
8987
+ setupTransport(() => cftToken, ensureBotCheck);
8929
8988
  return () => {
8930
8989
  debug("unmount", {
8931
8990
  ageMs: mountAgeMs(),
@@ -8957,7 +9016,7 @@ export {
8957
9016
  fetchMountedElements,
8958
9017
  ItemHandler,
8959
9018
  TileHandler,
8960
- acquireTokenWithChallenge,
9019
+ acquireBotCheckTokenForSend,
8961
9020
  renderFallbackHtml,
8962
9021
  ChatAssistantLitMountable
8963
9022
  };
@@ -8977,4 +9036,4 @@ fast-json-patch/module/duplex.mjs:
8977
9036
  * MIT license
8978
9037
  *)
8979
9038
  */
8980
- //# sourceMappingURL=chunk-57MPLQOL.js.map
9039
+ //# sourceMappingURL=chunk-EXDL3OKE.js.map