@burdenoff/fe-libs 2026.922.2 → 2026.922.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.
@@ -35,9 +35,35 @@ export declare function configureSpeechEngine(options: {
35
35
  /**
36
36
  * Read the rollout config.
37
37
  *
38
- * Order matters: explicit runtime configuration, then a global the host can set
39
- * before the bundle loads, and only then the build-time variable — which is
40
- * eliminated in the published package and therefore useful for local dev only.
38
+ * Order matters: explicit runtime configuration, then the build-time variable —
39
+ * which is eliminated in the published package and therefore useful for local
40
+ * dev only.
41
+ *
42
+ * ★★★ `window.__HB_TTS_ENDPOINT__` IS DELIBERATELY NOT READ (BOFF-7730).
43
+ *
44
+ * It used to be honoured here, and `getHeaders` rode along with it, so the
45
+ * config returned `{ endpoint: <whatever that global said>, getHeaders:
46
+ * liveHeaders }` — and `liveHeaders` yields `{ authorization: 'Bearer
47
+ * <accessToken>' }`. Anything able to write one global before this ran got the
48
+ * signed-in user's live token POSTed cross-origin to a URL of its choosing.
49
+ * That needs script execution on the page first, so it was not a hole by
50
+ * itself; it was a clean, low-noise exfiltration channel handed to any
51
+ * injection that found one, shipping in all four products.
52
+ *
53
+ * Two things made removal the right fix rather than a guard:
54
+ *
55
+ * 1. NOTHING SET IT. An org-wide search found six references and not one
56
+ * writer — this module, its test, and four comments describing the old
57
+ * three-source order.
58
+ * 2. THE DOCS SAID IT WAS SAFE. Both
59
+ * `healthybowl-specs/.../13-ai-assistant-integration.md` and
60
+ * microfe-healthybowl's `HealthyBowlContext` told readers the global
61
+ * "carries no headers" and could only enable an anonymous POST. True once;
62
+ * when headers were attached to every source the docs were never updated,
63
+ * so a reader reasoning from them concluded the opposite of what ran.
64
+ *
65
+ * Local development already has a first-precedence, header-carrying path in
66
+ * `configureSpeechEngine()`, which every product calls, so nothing is lost.
41
67
  */
42
68
  export declare function readSpeechEngineConfig(): SpeechEngineConfig;
43
69
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"createSpeechEngine.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/speech/createSpeechEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,WAAW,kBAAkB;IACjC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAqBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C,GAAG,IAAI,CA2BP;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI,kBAAkB,CAY3D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,kBAA6C,GAAG;IAC1F,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACnC,CASA;AAiBD,wBAAgB,eAAe,IAAI,YAAY,CAO9C;AAqBD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKtE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CASxC"}
1
+ {"version":3,"file":"createSpeechEngine.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/speech/createSpeechEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,WAAW,kBAAkB;IACjC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAqBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C,GAAG,IAAI,CA2BP;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,sBAAsB,IAAI,kBAAkB,CAO3D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,kBAA6C,GAAG;IAC1F,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACnC,CASA;AAiBD,wBAAgB,eAAe,IAAI,YAAY,CAO9C;AAqBD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKtE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CASxC"}
@@ -12,18 +12,10 @@ function o(e) {
12
12
  r = t, i = e.getHeaders, _();
13
13
  }
14
14
  function s() {
15
- if (r) return {
15
+ return r ? {
16
16
  endpoint: r,
17
17
  getHeaders: a
18
- };
19
- if (typeof window < "u") {
20
- let e = window.__HB_TTS_ENDPOINT__;
21
- if (e) return {
22
- endpoint: e,
23
- getHeaders: a
24
- };
25
- }
26
- return { endpoint: (void 0)?.trim() || null };
18
+ } : { endpoint: (void 0)?.trim() || null };
27
19
  }
28
20
  function c(n = s()) {
29
21
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.922.2",
3
+ "version": "2026.922.3",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "bin": {