@syntrologie/adapt-chatbot 2.8.0-canary.563 → 2.8.0-canary.565

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-UCMYGPMJ.js";
4
+ } from "./chunk-EAXJBB27.js";
5
5
  import "./chunk-EWPPVPJ4.js";
6
6
  import "./chunk-GN7Z5IVP.js";
7
7
  import "./chunk-TBQSOOCM.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"}
@@ -8606,6 +8606,42 @@ async function acquireTokenWithChallenge(options = {}) {
8606
8606
  removePanel();
8607
8607
  }
8608
8608
  }
8609
+ var BOT_CHECK_MODE_TIMEOUT_MS = 3e3;
8610
+ var botCheckModeCache = /* @__PURE__ */ new Map();
8611
+ async function readBotCheckMode(backendUrl) {
8612
+ const controller = new AbortController();
8613
+ const timer = setTimeout(() => controller.abort(), BOT_CHECK_MODE_TIMEOUT_MS);
8614
+ try {
8615
+ const response = await fetch(`${backendUrl}/api/adaptive/bot_check`, {
8616
+ signal: controller.signal
8617
+ });
8618
+ if (!response.ok) return null;
8619
+ const body = await response.json();
8620
+ return body.mode === "off" || body.mode === "soft" || body.mode === "hard" ? body.mode : null;
8621
+ } catch {
8622
+ return null;
8623
+ } finally {
8624
+ clearTimeout(timer);
8625
+ }
8626
+ }
8627
+ function fetchBotCheckMode(backendUrl) {
8628
+ const key = backendUrl.replace(/\/$/, "");
8629
+ let pending = botCheckModeCache.get(key);
8630
+ if (!pending) {
8631
+ pending = readBotCheckMode(key);
8632
+ pending.then((mode) => {
8633
+ if (mode === null) botCheckModeCache.delete(key);
8634
+ });
8635
+ botCheckModeCache.set(key, pending);
8636
+ }
8637
+ return pending;
8638
+ }
8639
+ async function acquireBotCheckTokenForSend(backendUrl, options = {}) {
8640
+ if (!TURNSTILE_SITEKEY) return { token: null, outcome: "disabled" };
8641
+ const mode = await fetchBotCheckMode(backendUrl);
8642
+ if (mode === "off") return { token: null, outcome: "disabled" };
8643
+ return acquireTokenWithChallenge(options);
8644
+ }
8609
8645
 
8610
8646
  // src/ChatAssistantLit.ts
8611
8647
  var ERROR_DEBOUNCE_MS = 1500;
@@ -8666,6 +8702,34 @@ function renderFallbackHtml(fallback) {
8666
8702
  const ctaHtml = ctaHref && /^https?:\/\//.test(ctaHref) ? `<a href="${escapeHtml(ctaHref)}" target="_blank" rel="noopener noreferrer" style="${ctaStyle}">${escapeHtml(ctaLabel)}</a>` : "";
8667
8703
  return `<div style="${wrapperStyle}" data-adaptive-chatbot-fallback="true"><div style="${titleStyle}">${escapeHtml(title)}</div><div style="${messageStyle}">${escapeHtml(message)}</div>${ctaHtml}</div>`;
8668
8704
  }
8705
+ var BotCheckedTransport = class {
8706
+ constructor(inner, beforeUserMessage, isUnmounted) {
8707
+ this.inner = inner;
8708
+ this.beforeUserMessage = beforeUserMessage;
8709
+ this.isUnmounted = isUnmounted;
8710
+ }
8711
+ get connected() {
8712
+ return this.inner.connected;
8713
+ }
8714
+ connect(sessionId) {
8715
+ this.inner.connect(sessionId);
8716
+ }
8717
+ disconnect() {
8718
+ this.inner.disconnect();
8719
+ }
8720
+ subscribe(handler) {
8721
+ return this.inner.subscribe(handler);
8722
+ }
8723
+ send(action) {
8724
+ if (action.type !== "user-message") {
8725
+ this.inner.send(action);
8726
+ return;
8727
+ }
8728
+ void this.beforeUserMessage().then(() => {
8729
+ if (!this.isUnmounted()) this.inner.send(action);
8730
+ });
8731
+ }
8732
+ };
8669
8733
  var ChatAssistantLitMountable = {
8670
8734
  mount(container, mountConfig) {
8671
8735
  const incoming = mountConfig ?? null;
@@ -8788,11 +8852,11 @@ var ChatAssistantLitMountable = {
8788
8852
  el.remove();
8789
8853
  container.innerHTML = renderFallbackHtml(chatbotConfig?.fallback);
8790
8854
  };
8791
- const setupTransport = (cftToken) => {
8855
+ const setupTransport = (readCftToken, beforeUserMessage) => {
8792
8856
  if (isUnmounted) return;
8793
8857
  transport = new AgUiTransport({
8794
8858
  url: streamUrl,
8795
- headers: () => buildHeaders(cftToken),
8859
+ headers: () => buildHeaders(readCftToken()),
8796
8860
  // Adaptive runtime SDK needs the `syntro_chat_session` cookie to
8797
8861
  // round-trip cross-origin so subsequent boot fetches can rehydrate
8798
8862
  // LLM-authored UI elements. Editor / action-plan chat surfaces
@@ -8823,7 +8887,7 @@ var ChatAssistantLitMountable = {
8823
8887
  });
8824
8888
  }
8825
8889
  });
8826
- el.transport = transport;
8890
+ el.transport = new BotCheckedTransport(transport, beforeUserMessage, () => isUnmounted);
8827
8891
  unsubscribe = transport.subscribe((event) => {
8828
8892
  if (isUnmounted) return;
8829
8893
  debug("transport event", { type: event.type, hasSucceeded, fallbackRendered });
@@ -8897,32 +8961,27 @@ var ChatAssistantLitMountable = {
8897
8961
  container.appendChild(el);
8898
8962
  };
8899
8963
  const acquireAbort = new AbortController();
8900
- const acquireWithManagedChallenge = async () => {
8901
- const { token: token2, outcome } = await acquireTokenWithChallenge({
8902
- signal: acquireAbort.signal
8903
- });
8904
- if (isUnmounted) return null;
8905
- botCheckOutcome = outcome;
8906
- if (token2 === null) {
8907
- console.warn(
8908
- "[adaptive-chatbot] turnstile token acquisition failed \u2014 connecting without a bot-check token; backend may 403"
8964
+ let cftToken = null;
8965
+ let botCheck = null;
8966
+ const ensureBotCheck = () => {
8967
+ if (!botCheck) {
8968
+ botCheck = acquireBotCheckTokenForSend(baseUrl, { signal: acquireAbort.signal }).then(
8969
+ ({ token: token2, outcome }) => {
8970
+ if (isUnmounted) return;
8971
+ botCheckOutcome = outcome;
8972
+ hadTurnstileToken = outcome === "disabled" ? null : token2 !== null;
8973
+ cftToken = token2;
8974
+ if (token2 === null && outcome !== "disabled") {
8975
+ console.warn(
8976
+ "[adaptive-chatbot] turnstile token acquisition failed \u2014 sending without a bot-check token; backend may 403"
8977
+ );
8978
+ }
8979
+ }
8909
8980
  );
8910
8981
  }
8911
- return token2;
8982
+ return botCheck;
8912
8983
  };
8913
- if (TURNSTILE_SITEKEY) {
8914
- void acquireWithManagedChallenge().then((cft) => {
8915
- if (isUnmounted) return;
8916
- hadTurnstileToken = cft !== null;
8917
- if (cft === null) {
8918
- swapToFallback("connect_failed");
8919
- return;
8920
- }
8921
- setupTransport(cft);
8922
- });
8923
- } else {
8924
- setupTransport(null);
8925
- }
8984
+ setupTransport(() => cftToken, ensureBotCheck);
8926
8985
  return () => {
8927
8986
  debug("unmount", {
8928
8987
  ageMs: mountAgeMs(),
@@ -8954,7 +9013,7 @@ export {
8954
9013
  fetchMountedElements,
8955
9014
  ItemHandler,
8956
9015
  TileHandler,
8957
- acquireTokenWithChallenge,
9016
+ acquireBotCheckTokenForSend,
8958
9017
  renderFallbackHtml,
8959
9018
  ChatAssistantLitMountable
8960
9019
  };
@@ -8974,4 +9033,4 @@ fast-json-patch/module/duplex.mjs:
8974
9033
  * MIT license
8975
9034
  *)
8976
9035
  */
8977
- //# sourceMappingURL=chunk-UCMYGPMJ.js.map
9036
+ //# sourceMappingURL=chunk-EAXJBB27.js.map