@burdenoff/fe-libs 2026.903.5 → 2026.903.7

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.
@@ -25,4 +25,11 @@ export { buildVoiceTranscriptMarkdown, voiceTranscriptFilename, buildContinuedFr
25
25
  export { resolveLanguagePair, replyFollowsInput } from './voice/languagePair';
26
26
  export { ASSISTANT_LANGUAGES, resolveAssistantLanguage, findAssistantLanguage } from './voice/languages';
27
27
  export type { AssistantLanguage } from './voice/languages';
28
+ export { browserSpeechEngine } from './speech/browserSpeechEngine';
29
+ export { createHostedTtsEngine } from './speech/hostedTtsSpeechEngine';
30
+ export { createRoutingSpeechEngine } from './speech/routingSpeechEngine';
31
+ export { HOSTED_VOICES, HOSTED_TTS_TIER, hostedSupportsLanguage } from './speech/hostedVoiceCatalogue';
32
+ export type { SpeechEngineConfig } from './speech/createSpeechEngine';
33
+ export { getSpeechEngine, resetSpeechEngine, configureSpeechEngine, readSpeechEngineConfig, } from './speech/createSpeechEngine';
34
+ export type { SpeechVoiceLike } from './speech/types';
28
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAKpB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,aAAa,EACb,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,OAAO,CAAC;AAEf,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,sBAAsB,EACtB,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,EAC3B,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,cAAc,EACd,cAAc,EACd,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxG,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC/G,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAC7H,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACzG,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAKpB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,aAAa,EACb,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,OAAO,CAAC;AAEf,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,sBAAsB,EACtB,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,EAC3B,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,cAAc,EACd,cAAc,EACd,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxG,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC/G,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAC7H,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACzG,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAK3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvG,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAMtE,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,23 +1,27 @@
1
1
  import { browserSpeechEngine as e } from "./browserSpeechEngine.js";
2
2
  import { createHostedTtsEngine as t } from "./hostedTtsSpeechEngine.js";
3
- import "./routingSpeechEngine.js";
3
+ import { createRoutingSpeechEngine as n } from "./routingSpeechEngine.js";
4
4
  //#region src/shared/assistant/speech/createSpeechEngine.ts
5
- var n, r;
6
- function i() {
7
- if (n) return {
8
- endpoint: n,
9
- getHeaders: r
5
+ var r, i;
6
+ function a(e) {
7
+ let t = e.ttsEndpoint?.trim() || void 0;
8
+ t === r && e.getHeaders === i || (r = t, i = e.getHeaders, u());
9
+ }
10
+ function o() {
11
+ if (r) return {
12
+ endpoint: r,
13
+ getHeaders: i
10
14
  };
11
15
  if (typeof window < "u") {
12
16
  let e = window.__HB_TTS_ENDPOINT__;
13
17
  if (e) return {
14
18
  endpoint: e,
15
- getHeaders: r
19
+ getHeaders: i
16
20
  };
17
21
  }
18
22
  return { endpoint: (void 0)?.trim() || null };
19
23
  }
20
- function a(n = i()) {
24
+ function s(n = o()) {
21
25
  return {
22
26
  device: e,
23
27
  hosted: n.endpoint ? t({
@@ -27,5 +31,12 @@ function a(n = i()) {
27
31
  }) : null
28
32
  };
29
33
  }
34
+ var c = null;
35
+ function l() {
36
+ return c ||= n(s()), c;
37
+ }
38
+ function u() {
39
+ c = null;
40
+ }
30
41
  //#endregion
31
- export { a as createSpeechEngines };
42
+ export { a as configureSpeechEngine, s as createSpeechEngines, l as getSpeechEngine, o as readSpeechEngineConfig, u as resetSpeechEngine };
@@ -49,5 +49,8 @@ function c(e) {
49
49
  let r = t.toLowerCase().split("-")[0];
50
50
  return o.get(r) ?? null;
51
51
  }
52
+ function l(e) {
53
+ return c(e) !== null;
54
+ }
52
55
  //#endregion
53
- export { e as HOSTED_TTS_TIER, a as HOSTED_VOICES, c as hostedLocaleFor };
56
+ export { e as HOSTED_TTS_TIER, a as HOSTED_VOICES, c as hostedLocaleFor, l as hostedSupportsLanguage };
@@ -1 +1,44 @@
1
- import "./hostedVoiceCatalogue.js";
1
+ import { hostedSupportsLanguage as e } from "./hostedVoiceCatalogue.js";
2
+ //#region src/shared/assistant/speech/routingSpeechEngine.ts
3
+ function t({ device: t, hosted: n }) {
4
+ if (!n) return t;
5
+ let r = new Set(n.listVoices().map((e) => e.name)), i = (i) => n.isSupported() ? i.voice ? r.has(i.voice.name) ? n : t : e(i.lang) ? n : t : t;
6
+ return {
7
+ id: `routing(${n.id}+${t.id})`,
8
+ isSupported() {
9
+ return n.isSupported() || t.isSupported();
10
+ },
11
+ listVoices() {
12
+ return [...n.listVoices(), ...t.listVoices()];
13
+ },
14
+ subscribeVoices(e) {
15
+ return t.subscribeVoices(e);
16
+ },
17
+ speak(e, r, a) {
18
+ if (t.cancel(), n.cancel(), i(r) !== n) {
19
+ t.speak(e, r, a);
20
+ return;
21
+ }
22
+ let o = !1;
23
+ n.speak(e, r, {
24
+ onStart: () => {
25
+ o = !0, a?.onStart?.();
26
+ },
27
+ onEnd: () => a?.onEnd?.(),
28
+ onChunkStart: (e) => a?.onChunkStart?.(e),
29
+ onError: (n) => {
30
+ if (n === "cancelled" || o) {
31
+ a?.onError?.(n);
32
+ return;
33
+ }
34
+ t.speak(e, r, a);
35
+ }
36
+ });
37
+ },
38
+ cancel() {
39
+ t.cancel(), n.cancel();
40
+ }
41
+ };
42
+ }
43
+ //#endregion
44
+ export { t as createRoutingSpeechEngine };
@@ -8,8 +8,12 @@ import { useSandboxAssistantTransport as E } from "./shared/assistant/useSandbox
8
8
  import { chatTurns as D, groupBySession as O, groupConsecutiveBySession as k, isVoiceTurn as A, voiceMarker as j, voiceSessionIdOf as M, voiceTurnsOnly as N } from "./shared/assistant/voice/turnVisibility.js";
9
9
  import { toCaptionText as P } from "./shared/assistant/voice/captionText.js";
10
10
  import { findPendingWrite as F, parseConfirmationRefusal as I } from "./shared/assistant/pendingWrite.js";
11
- import { createSpeechEngines as L } from "./shared/assistant/speech/createSpeechEngine.js";
12
- import { buildContinuedFromVoiceNote as R, buildVoiceTranscriptMarkdown as z, voiceTranscriptFilename as B } from "./shared/assistant/voice/voiceTranscript.js";
13
- import { ASSISTANT_LANGUAGES as V, findAssistantLanguage as H, resolveAssistantLanguage as U } from "./shared/assistant/voice/languages.js";
14
- import { replyFollowsInput as W, resolveLanguagePair as G } from "./shared/assistant/voice/languagePair.js";
15
- export { V as ASSISTANT_LANGUAGES, v as AssistantRuntimeManager, R as buildContinuedFromVoiceNote, y as buildProgress, n as buildPromptRequestBody, z as buildVoiceTranscriptMarkdown, D as chatTurns, r as checkAssistantAiCredits, i as createAssistantSandbox, a as createAssistantSession, T as createSandboxAssistantTransport, L as createSpeechEngines, o as downloadAssistantArtifact, s as extendAssistantSandboxTTL, H as findAssistantLanguage, c as findExistingSandbox, F as findPendingWrite, l as getAssistantArtifacts, b as getAssistantMedia, u as getAssistantMessages, d as getAssistantSession, f as getAssistantStreamAccess, O as groupBySession, k as groupConsecutiveBySession, t as isQuotaExhaustedError, x as isRecoverable, A as isVoiceTurn, S as mapSessionToHistory, C as mergeMessagesById, I as parseConfirmationRefusal, W as replyFollowsInput, p as reportAssistantAiTokenUsage, U as resolveAssistantLanguage, G as resolveLanguagePair, w as sanitize, m as sendAssistantPromptAsync, h as sendHeartbeat, P as toCaptionText, E as useSandboxAssistantTransport, e as useVoiceInput, j as voiceMarker, M as voiceSessionIdOf, B as voiceTranscriptFilename, N as voiceTurnsOnly, g as waitForAssistantServiceReady, _ as waitForSandboxRunning };
11
+ import { browserSpeechEngine as L } from "./shared/assistant/speech/browserSpeechEngine.js";
12
+ import { HOSTED_TTS_TIER as R, HOSTED_VOICES as z, hostedSupportsLanguage as B } from "./shared/assistant/speech/hostedVoiceCatalogue.js";
13
+ import { createHostedTtsEngine as V } from "./shared/assistant/speech/hostedTtsSpeechEngine.js";
14
+ import { createRoutingSpeechEngine as H } from "./shared/assistant/speech/routingSpeechEngine.js";
15
+ import { configureSpeechEngine as U, createSpeechEngines as W, getSpeechEngine as G, readSpeechEngineConfig as K, resetSpeechEngine as q } from "./shared/assistant/speech/createSpeechEngine.js";
16
+ import { buildContinuedFromVoiceNote as J, buildVoiceTranscriptMarkdown as Y, voiceTranscriptFilename as X } from "./shared/assistant/voice/voiceTranscript.js";
17
+ import { ASSISTANT_LANGUAGES as Z, findAssistantLanguage as Q, resolveAssistantLanguage as $ } from "./shared/assistant/voice/languages.js";
18
+ import { replyFollowsInput as ee, resolveLanguagePair as te } from "./shared/assistant/voice/languagePair.js";
19
+ export { Z as ASSISTANT_LANGUAGES, v as AssistantRuntimeManager, R as HOSTED_TTS_TIER, z as HOSTED_VOICES, L as browserSpeechEngine, J as buildContinuedFromVoiceNote, y as buildProgress, n as buildPromptRequestBody, Y as buildVoiceTranscriptMarkdown, D as chatTurns, r as checkAssistantAiCredits, U as configureSpeechEngine, i as createAssistantSandbox, a as createAssistantSession, V as createHostedTtsEngine, H as createRoutingSpeechEngine, T as createSandboxAssistantTransport, W as createSpeechEngines, o as downloadAssistantArtifact, s as extendAssistantSandboxTTL, Q as findAssistantLanguage, c as findExistingSandbox, F as findPendingWrite, l as getAssistantArtifacts, b as getAssistantMedia, u as getAssistantMessages, d as getAssistantSession, f as getAssistantStreamAccess, G as getSpeechEngine, O as groupBySession, k as groupConsecutiveBySession, B as hostedSupportsLanguage, t as isQuotaExhaustedError, x as isRecoverable, A as isVoiceTurn, S as mapSessionToHistory, C as mergeMessagesById, I as parseConfirmationRefusal, K as readSpeechEngineConfig, ee as replyFollowsInput, p as reportAssistantAiTokenUsage, q as resetSpeechEngine, $ as resolveAssistantLanguage, te as resolveLanguagePair, w as sanitize, m as sendAssistantPromptAsync, h as sendHeartbeat, P as toCaptionText, E as useSandboxAssistantTransport, e as useVoiceInput, j as voiceMarker, M as voiceSessionIdOf, X as voiceTranscriptFilename, N as voiceTurnsOnly, g as waitForAssistantServiceReady, _ as waitForSandboxRunning };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.903.5",
3
+ "version": "2026.903.7",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "bin": {