@burdenoff/fe-libs 2026.1003.1 → 2026.1003.2
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.
- package/dist/shared/assistant/index.d.ts +1 -0
- package/dist/shared/assistant/index.d.ts.map +1 -1
- package/dist/shared/assistant/prewarm.d.ts +71 -0
- package/dist/shared/assistant/prewarm.d.ts.map +1 -1
- package/dist/shared/assistant/prewarm.js +49 -2
- package/dist/shared/assistant/speech/speechFeed.d.ts +63 -0
- package/dist/shared/assistant/speech/speechFeed.d.ts.map +1 -0
- package/dist/shared/assistant/speech/speechFeed.js +40 -0
- package/dist/shared/assistant/turnTimeline.d.ts +22 -2
- package/dist/shared/assistant/turnTimeline.d.ts.map +1 -1
- package/dist/shared/assistant/turnTimeline.js +18 -1
- package/dist/shared/assistant/turnTimingReport.d.ts.map +1 -1
- package/dist/shared/assistant/turnTimingReport.js +5 -4
- package/dist/shared/assistant/ui/AssistantChatArea.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantChatArea.js +981 -931
- package/dist/shared/assistant/ui/AssistantSpeechProvider.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantSpeechProvider.js +198 -169
- package/dist/shared/assistant/ui/useVoiceSession.d.ts.map +1 -1
- package/dist/shared/assistant/ui/useVoiceSession.js +165 -153
- package/dist/shared/assistant/voice/speakableText.d.ts +16 -1
- package/dist/shared/assistant/voice/speakableText.d.ts.map +1 -1
- package/dist/shared/assistant/voice/speakableText.js +116 -102
- package/dist/shared/assistant/voice/voiceSession.d.ts +12 -0
- package/dist/shared/assistant/voice/voiceSession.d.ts.map +1 -1
- package/dist/shared/assistant/voice/voiceSession.js +6 -0
- package/dist/shared-assistant.js +151 -150
- package/package.json +1 -1
|
@@ -44,6 +44,7 @@ export * from './speech/browserSpeechEngine';
|
|
|
44
44
|
export * from './speech/hostedTtsSpeechEngine';
|
|
45
45
|
export * from './speech/routingSpeechEngine';
|
|
46
46
|
export * from './speech/hostedVoiceCatalogue';
|
|
47
|
+
export * from './speech/speechFeed';
|
|
47
48
|
export * from './voice/useVoiceInput';
|
|
48
49
|
export * from './voice/voiceStageState';
|
|
49
50
|
export * from './voice/voiceStatus';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AAGxB,cAAc,wBAAwB,CAAC;AAKvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -171,4 +171,75 @@ export declare function settleWarmBeforeSend(workspaceId: string, mode: Assistan
|
|
|
171
171
|
export declare function consumeWarm(workspaceId: string, mode: AssistantMode, sandboxId: string): boolean;
|
|
172
172
|
/** Tests only: forget every warm. */
|
|
173
173
|
export declare function resetWarmsForTest(): void;
|
|
174
|
+
/** A pre-opened session no send has used is forgotten after this long. */
|
|
175
|
+
export declare const PREOPEN_MAX_AGE_MS: number;
|
|
176
|
+
/** At most this many in total; the oldest is evicted first. */
|
|
177
|
+
export declare const PREOPEN_MAX_ENTRIES = 8;
|
|
178
|
+
/**
|
|
179
|
+
* The key of a pre-opened session. All four parts matter: a session belongs to
|
|
180
|
+
* one sandbox, which belongs to one workspace, and carries one mode's docs
|
|
181
|
+
* note; the user is in the key so a switch of account never matches.
|
|
182
|
+
*/
|
|
183
|
+
export declare function preopenKey(parts: {
|
|
184
|
+
workspaceId: string;
|
|
185
|
+
mode: AssistantMode;
|
|
186
|
+
sandboxId: string;
|
|
187
|
+
userId: string | null | undefined;
|
|
188
|
+
}): string;
|
|
189
|
+
export interface PreopenWantedInput {
|
|
190
|
+
/**
|
|
191
|
+
* The conversation the send would continue, if any. Absent: the send starts
|
|
192
|
+
* a conversation of its own (a voice session's, or none open).
|
|
193
|
+
*/
|
|
194
|
+
active?: {
|
|
195
|
+
mode: AssistantMode;
|
|
196
|
+
backendSessionId?: string | null | undefined;
|
|
197
|
+
/** False for a read-only or another scope's conversation: never continued. */
|
|
198
|
+
continuable: boolean;
|
|
199
|
+
hasHistory: boolean;
|
|
200
|
+
} | undefined;
|
|
201
|
+
/** The mode the warm prepared. */
|
|
202
|
+
mode: AssistantMode;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Would the send this warm anticipates have to CREATE a session? Pure.
|
|
206
|
+
*
|
|
207
|
+
* True only when it would: no conversation is open, the open one is never
|
|
208
|
+
* continued, a conversation with history is open in another mode (the send
|
|
209
|
+
* starts a new one), or the conversation holds no session. A follow-up in a
|
|
210
|
+
* conversation that already holds a session issues no `POST /sessions`, so a
|
|
211
|
+
* pre-open there would only leave a session nobody adopts.
|
|
212
|
+
*/
|
|
213
|
+
export declare function preopenWanted(input: PreopenWantedInput): boolean;
|
|
214
|
+
/**
|
|
215
|
+
* Open a session ahead of the send, at most once per key. `create` is called
|
|
216
|
+
* synchronously (the request is on the wire at once) and may throw or reject:
|
|
217
|
+
* a failed pre-open is silent, and the send creates its own session as today.
|
|
218
|
+
*/
|
|
219
|
+
export declare function startPreopen(key: string, create: () => Promise<string>, now: number): void;
|
|
220
|
+
/**
|
|
221
|
+
* Take the pre-opened session for `key`. Atomic and single-use: the entry is
|
|
222
|
+
* deleted on claim, so a second claimer gets null. `ready` is adopted at once,
|
|
223
|
+
* `pending` is awaited (null if it fails), and a failed or absent one is null.
|
|
224
|
+
*/
|
|
225
|
+
export declare function claimPreopenedSession(key: string, now: number): {
|
|
226
|
+
sessionId: string;
|
|
227
|
+
} | {
|
|
228
|
+
pending: Promise<string | null>;
|
|
229
|
+
} | null;
|
|
230
|
+
/** A sandbox was proved dead, cleared or retired: nothing opened on it is adopted. */
|
|
231
|
+
export declare function dropPreopenedFor(sandboxId: string): void;
|
|
232
|
+
/**
|
|
233
|
+
* The sandboxes a panel has proved dead (`deadSandboxIds`), which it never
|
|
234
|
+
* selects again. Adding one ALSO drops every session pre-opened on it, so that
|
|
235
|
+
* invariant holds at every site that quarantines a sandbox — the probe, the
|
|
236
|
+
* warm, the release, the replace and the failover — without each having to
|
|
237
|
+
* remember to say so. Every `clearSandbox` and `retireSandbox` site in the
|
|
238
|
+
* panel quarantines first, so none can leave a pre-opened session behind.
|
|
239
|
+
*/
|
|
240
|
+
export declare class QuarantineSet extends Set<string> {
|
|
241
|
+
add(sandboxId: string): this;
|
|
242
|
+
}
|
|
243
|
+
/** Tests only: how many are held. */
|
|
244
|
+
export declare function preopenedCountForTest(): number;
|
|
174
245
|
//# sourceMappingURL=prewarm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prewarm.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/prewarm.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"prewarm.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/prewarm.ts"],"names":[],"mappings":"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"}
|
|
@@ -110,7 +110,54 @@ function p(e, t, n) {
|
|
|
110
110
|
}
|
|
111
111
|
function m() {
|
|
112
112
|
for (let e of a.values()) e.controller.abort();
|
|
113
|
-
a.clear(), o.clear(), s.clear(), c.clear();
|
|
113
|
+
a.clear(), o.clear(), s.clear(), c.clear(), _.clear();
|
|
114
|
+
}
|
|
115
|
+
var h = 10 * 6e4, g = 8, _ = /* @__PURE__ */ new Map();
|
|
116
|
+
function v(e) {
|
|
117
|
+
return [
|
|
118
|
+
e.workspaceId,
|
|
119
|
+
e.mode,
|
|
120
|
+
e.sandboxId,
|
|
121
|
+
e.userId ?? ""
|
|
122
|
+
].join("\0");
|
|
123
|
+
}
|
|
124
|
+
function y(e) {
|
|
125
|
+
let { active: t, mode: n } = e;
|
|
126
|
+
return !t || !t.continuable || t.mode !== n && t.hasHistory ? !0 : !t.backendSessionId;
|
|
127
|
+
}
|
|
128
|
+
function b(e) {
|
|
129
|
+
for (let [t, n] of _) e - n.createdAt > 6e5 && _.delete(t);
|
|
130
|
+
}
|
|
131
|
+
function x(e, t, n) {
|
|
132
|
+
if (b(n), _.has(e)) return;
|
|
133
|
+
for (; _.size >= 8;) {
|
|
134
|
+
let e = _.keys().next();
|
|
135
|
+
if (e.done) break;
|
|
136
|
+
_.delete(e.value);
|
|
137
|
+
}
|
|
138
|
+
let r = {
|
|
139
|
+
key: e,
|
|
140
|
+
state: "pending",
|
|
141
|
+
createdAt: n,
|
|
142
|
+
ready: Promise.resolve(null)
|
|
143
|
+
};
|
|
144
|
+
r.ready = new Promise((e) => e(t())).then((e) => (r.state = "ready", r.sessionId = e, e), () => (r.state = "failed", null)), _.set(e, r);
|
|
145
|
+
}
|
|
146
|
+
function S(e, t) {
|
|
147
|
+
b(t);
|
|
148
|
+
let n = _.get(e);
|
|
149
|
+
return n ? (_.delete(e), n.state === "ready" && n.sessionId ? { sessionId: n.sessionId } : n.state === "pending" ? { pending: n.ready } : null) : null;
|
|
150
|
+
}
|
|
151
|
+
function C(e) {
|
|
152
|
+
for (let t of [..._.keys()]) t.split("\0")[2] === e && _.delete(t);
|
|
153
|
+
}
|
|
154
|
+
var w = class extends Set {
|
|
155
|
+
add(e) {
|
|
156
|
+
return C(e), super.add(e);
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
function T() {
|
|
160
|
+
return _.size;
|
|
114
161
|
}
|
|
115
162
|
//#endregion
|
|
116
|
-
export { n as PREWARM_COOLDOWN_MS, i as WarmCancelled, p as consumeWarm, r as prewarmTarget, m as resetWarmsForTest, f as settleWarmBeforeSend, d as startWarm, u as warmState };
|
|
163
|
+
export { h as PREOPEN_MAX_AGE_MS, g as PREOPEN_MAX_ENTRIES, n as PREWARM_COOLDOWN_MS, w as QuarantineSet, i as WarmCancelled, S as claimPreopenedSession, p as consumeWarm, C as dropPreopenedFor, v as preopenKey, y as preopenWanted, T as preopenedCountForTest, r as prewarmTarget, m as resetWarmsForTest, f as settleWarmBeforeSend, x as startPreopen, d as startWarm, u as warmState };
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The speech feed (BOFF-8062, speed design 5.C / C1): how a finished answer
|
|
3
|
+
* reaches the speech provider BEFORE the turn's bookkeeping is done.
|
|
4
|
+
*
|
|
5
|
+
* Speech used to start on the store's in-flight to complete edge, which comes
|
|
6
|
+
* after the awaited artifacts read and the awaited usage report (~0.5 s in
|
|
7
|
+
* prod). The turn loop knows the answer is complete the moment the poll says
|
|
8
|
+
* so, so at that point — for voice-session turns only — it publishes the exact
|
|
9
|
+
* text `applyAssistantResponse` is about to write, and the provider speaks it.
|
|
10
|
+
*
|
|
11
|
+
* ★ DATA ONLY. This module holds no React, no audio and no store: a publisher
|
|
12
|
+
* (the turn loop) and a subscriber (the provider) that do not know each other,
|
|
13
|
+
* which is what lets it be tested without either.
|
|
14
|
+
*
|
|
15
|
+
* Contract:
|
|
16
|
+
* - `publish` is called only for text the person can already SEE. The poll
|
|
17
|
+
* writes every snapshot's content to the message before it reports done, so
|
|
18
|
+
* rule 4 of the design (never speak what has not been rendered) holds; the
|
|
19
|
+
* one addition `applyAssistantResponse` makes — the "photo not sent" note —
|
|
20
|
+
* is written by the publisher first.
|
|
21
|
+
* - `abort` is called on EVERY exit that follows a publish without completing
|
|
22
|
+
* the turn (abandonment, an error after the answer) — the same rule as the
|
|
23
|
+
* existing "never read a cancelled answer aloud" check.
|
|
24
|
+
* - A subscriber that throws never breaks the turn: speech is never worth an
|
|
25
|
+
* answer (BOFF-7283).
|
|
26
|
+
*/
|
|
27
|
+
export interface SpeechFeedItem {
|
|
28
|
+
/** The conversation the message belongs to. */
|
|
29
|
+
conversationId: string;
|
|
30
|
+
channel: "voice" | "chat";
|
|
31
|
+
/** The live voice session that asked, when `channel` is voice. */
|
|
32
|
+
voiceSessionId?: string | undefined;
|
|
33
|
+
/** The reply as `applyAssistantResponse` stores it (sanitised, markdown). */
|
|
34
|
+
text: string;
|
|
35
|
+
/** The turn's reply language, stamped on the message as `metadata.lang`. */
|
|
36
|
+
lang?: string | undefined;
|
|
37
|
+
/** Always true in C1: only a finished answer is published. */
|
|
38
|
+
final: true;
|
|
39
|
+
}
|
|
40
|
+
export type SpeechFeedEvent = {
|
|
41
|
+
type: "publish";
|
|
42
|
+
messageId: string;
|
|
43
|
+
item: SpeechFeedItem;
|
|
44
|
+
} | {
|
|
45
|
+
type: "abort";
|
|
46
|
+
messageId: string;
|
|
47
|
+
};
|
|
48
|
+
type Listener = (event: SpeechFeedEvent) => void;
|
|
49
|
+
export declare const speechFeed: {
|
|
50
|
+
publish(messageId: string, item: SpeechFeedItem): void;
|
|
51
|
+
/** Forget a published message and tell the subscriber to stop speaking it. */
|
|
52
|
+
abort(messageId: string): void;
|
|
53
|
+
subscribe(listener: Listener): () => void;
|
|
54
|
+
/**
|
|
55
|
+
* The item published for `messageId`, if it is still live (not aborted). The
|
|
56
|
+
* voice session reads it to tell THIS turn's reply from any other speech.
|
|
57
|
+
*/
|
|
58
|
+
peek(messageId: string): SpeechFeedItem | undefined;
|
|
59
|
+
};
|
|
60
|
+
/** Tests only. */
|
|
61
|
+
export declare function resetSpeechFeedForTest(): void;
|
|
62
|
+
export {};
|
|
63
|
+
//# sourceMappingURL=speechFeed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"speechFeed.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/speech/speechFeed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,8DAA8D;IAC9D,KAAK,EAAE,IAAI,CAAC;CACb;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC,KAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;AAmBjD,eAAO,MAAM,UAAU;uBACF,MAAM,QAAQ,cAAc,GAAG,IAAI;IAUtD,8EAA8E;qBAC7D,MAAM,GAAG,IAAI;wBAIV,QAAQ,GAAG,MAAM,IAAI;IAMzC;;;OAGG;oBACa,MAAM,GAAG,cAAc,GAAG,SAAS;CAGpD,CAAC;AAEF,kBAAkB;AAClB,wBAAgB,sBAAsB,IAAI,IAAI,CAG7C"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
//#region src/shared/assistant/speech/speechFeed.ts
|
|
2
|
+
var e = 16, t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Map();
|
|
3
|
+
function r(e) {
|
|
4
|
+
for (let n of [...t]) try {
|
|
5
|
+
n(e);
|
|
6
|
+
} catch {}
|
|
7
|
+
}
|
|
8
|
+
var i = {
|
|
9
|
+
publish(t, i) {
|
|
10
|
+
for (n.delete(t), n.set(t, i); n.size > e;) {
|
|
11
|
+
let e = n.keys().next();
|
|
12
|
+
if (e.done) break;
|
|
13
|
+
n.delete(e.value);
|
|
14
|
+
}
|
|
15
|
+
r({
|
|
16
|
+
type: "publish",
|
|
17
|
+
messageId: t,
|
|
18
|
+
item: i
|
|
19
|
+
});
|
|
20
|
+
},
|
|
21
|
+
abort(e) {
|
|
22
|
+
n.delete(e) && r({
|
|
23
|
+
type: "abort",
|
|
24
|
+
messageId: e
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
subscribe(e) {
|
|
28
|
+
return t.add(e), () => {
|
|
29
|
+
t.delete(e);
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
peek(e) {
|
|
33
|
+
return n.get(e);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
function a() {
|
|
37
|
+
t.clear(), n.clear();
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
export { a as resetSpeechFeedForTest, i as speechFeed };
|
|
@@ -40,8 +40,13 @@
|
|
|
40
40
|
* first narration: group reports by `mode`
|
|
41
41
|
* answerDone the poll that saw the answer complete
|
|
42
42
|
* complete the turn ended (after artifacts and the credit report)
|
|
43
|
+
* speechQueued the answer was handed to the speech feed (BOFF-8062 C1):
|
|
44
|
+
* a voice turn publishes it at `answerDone`, before the
|
|
45
|
+
* artifacts and credit report — so `ttsStarted` and
|
|
46
|
+
* `firstAudio` can precede `complete`
|
|
43
47
|
* ttsStarted auto-speak handed the reply to the speech engine
|
|
44
48
|
* firstAudio the engine reported sound actually started
|
|
49
|
+
* audioEnded the auto-spoken reply finished playing
|
|
45
50
|
*
|
|
46
51
|
* ★ `graceStarted → graceEnded` is the 2s correction grace, and it is KEPT: it
|
|
47
52
|
* stops a pause mid-sentence from submitting half a question. It is a segment
|
|
@@ -73,12 +78,15 @@
|
|
|
73
78
|
* window event: any script on the page can dispatch that event, so a listener
|
|
74
79
|
* on it can be fed invented timings. Only this module calls subscribers.
|
|
75
80
|
*/
|
|
76
|
-
export declare const TURN_MILESTONES: readonly ["speechEnded", "graceStarted", "graceEnded", "handedOver", "accepted", "cleared", "attemptStarted", "prewarmJoined", "bootAdopted", "provisionStarted", "createRequested", "sandboxRunning", "serviceReady", "runtimeReady", "promptSent", "lastQuietPoll", "firstOutput", "firstText", "answerDone", "complete", "ttsStarted", "firstAudio"];
|
|
81
|
+
export declare const TURN_MILESTONES: readonly ["speechEnded", "graceStarted", "graceEnded", "handedOver", "accepted", "cleared", "attemptStarted", "prewarmJoined", "bootAdopted", "provisionStarted", "createRequested", "sandboxRunning", "serviceReady", "runtimeReady", "promptSent", "lastQuietPoll", "firstOutput", "firstText", "answerDone", "complete", "speechQueued", "ttsStarted", "firstAudio", "audioEnded"];
|
|
77
82
|
export type TurnMilestone = (typeof TURN_MILESTONES)[number];
|
|
78
83
|
/**
|
|
79
84
|
* How the runtime was found:
|
|
80
85
|
* - `warm`: a remembered sandbox with a fresh readiness proof, session reused
|
|
81
86
|
* - `new-session`: that sandbox, but a new session
|
|
87
|
+
* - `preopened`: that sandbox, and a new session the first-keystroke warm had
|
|
88
|
+
* already opened (BOFF-8015). The service counts it as `warm` until it learns
|
|
89
|
+
* the value; an unknown runtime folds to `other` rather than failing
|
|
82
90
|
* - `probed`: a RUNNING sandbox was reused only after a reachability probe
|
|
83
91
|
* - `adopted`: a boot was joined and waited out — the sandbox was listed
|
|
84
92
|
* PROVISIONING/PENDING, or its service answered "not up yet" during the
|
|
@@ -92,7 +100,7 @@ export type TurnMilestone = (typeof TURN_MILESTONES)[number];
|
|
|
92
100
|
* Written once the runtime is READY; while an attempt still waits out a boot
|
|
93
101
|
* it found, the `bootAdopted` mark says so.
|
|
94
102
|
*/
|
|
95
|
-
export type TurnRuntime = "warm" | "new-session" | "probed" | "adopted" | "cold";
|
|
103
|
+
export type TurnRuntime = "warm" | "preopened" | "new-session" | "probed" | "adopted" | "cold";
|
|
96
104
|
/**
|
|
97
105
|
* Counted as the person was SHOWN it (`classifyTurnFailure`):
|
|
98
106
|
* - `refused`: a usage wall, a permission refusal (server 403/429 included),
|
|
@@ -269,6 +277,18 @@ export declare const TURN_SEGMENTS: readonly [{
|
|
|
269
277
|
readonly name: "speechFetch";
|
|
270
278
|
readonly from: "ttsStarted";
|
|
271
279
|
readonly to: "firstAudio";
|
|
280
|
+
}, {
|
|
281
|
+
readonly name: "answerToSpeechQueued";
|
|
282
|
+
readonly from: "answerDone";
|
|
283
|
+
readonly to: "speechQueued";
|
|
284
|
+
}, {
|
|
285
|
+
readonly name: "answerToTtsStarted";
|
|
286
|
+
readonly from: "answerDone";
|
|
287
|
+
readonly to: "ttsStarted";
|
|
288
|
+
}, {
|
|
289
|
+
readonly name: "speechPlayback";
|
|
290
|
+
readonly from: "firstAudio";
|
|
291
|
+
readonly to: "audioEnded";
|
|
272
292
|
}, {
|
|
273
293
|
readonly name: "toFirstOutput";
|
|
274
294
|
readonly from: "accepted";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turnTimeline.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/turnTimeline.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"turnTimeline.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/turnTimeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,8 +20,10 @@ var e = [
|
|
|
20
20
|
"firstText",
|
|
21
21
|
"answerDone",
|
|
22
22
|
"complete",
|
|
23
|
+
"speechQueued",
|
|
23
24
|
"ttsStarted",
|
|
24
|
-
"firstAudio"
|
|
25
|
+
"firstAudio",
|
|
26
|
+
"audioEnded"
|
|
25
27
|
], t = [
|
|
26
28
|
"attemptStarted",
|
|
27
29
|
"prewarmJoined",
|
|
@@ -214,6 +216,21 @@ var v = [
|
|
|
214
216
|
from: "ttsStarted",
|
|
215
217
|
to: "firstAudio"
|
|
216
218
|
},
|
|
219
|
+
{
|
|
220
|
+
name: "answerToSpeechQueued",
|
|
221
|
+
from: "answerDone",
|
|
222
|
+
to: "speechQueued"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
name: "answerToTtsStarted",
|
|
226
|
+
from: "answerDone",
|
|
227
|
+
to: "ttsStarted"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
name: "speechPlayback",
|
|
231
|
+
from: "firstAudio",
|
|
232
|
+
to: "audioEnded"
|
|
233
|
+
},
|
|
217
234
|
{
|
|
218
235
|
name: "toFirstOutput",
|
|
219
236
|
from: "accepted",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turnTimingReport.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/turnTimingReport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwFG;AAEH,OAAO,KAAK,EAKV,YAAY,EACb,MAAM,gBAAgB,CAAC;AAExB;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAUD;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;AAEhE,kFAAkF;AAClF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;EAW5B,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAAqB,CAAC;AAEvD,yEAAyE;AACzE,eAAO,MAAM,yBAAyB,gNAS5B,CAAC;AAEX;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAM9D;
|
|
1
|
+
{"version":3,"file":"turnTimingReport.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/turnTimingReport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwFG;AAEH,OAAO,KAAK,EAKV,YAAY,EACb,MAAM,gBAAgB,CAAC;AAExB;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAUD;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;AAEhE,kFAAkF;AAClF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;EAW5B,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAAqB,CAAC;AAEvD,yEAAyE;AACzE,eAAO,MAAM,yBAAyB,gNAS5B,CAAC;AAEX;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAM9D;AAoJD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,YAAY,GACrB,yBAAyB,GAAG,IAAI,CAMlC;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,MAAM,GACb,yBAAyB,GAAG,IAAI,CAQlC"}
|
|
@@ -56,10 +56,11 @@ function o(e, t, n = !1) {
|
|
|
56
56
|
}
|
|
57
57
|
var s = {
|
|
58
58
|
warm: 0,
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
preopened: 1,
|
|
60
|
+
"new-session": 2,
|
|
61
|
+
probed: 3,
|
|
62
|
+
adopted: 4,
|
|
63
|
+
cold: 5
|
|
63
64
|
}, c = [
|
|
64
65
|
"createRequested",
|
|
65
66
|
"sandboxRunning",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssistantChatArea.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantChatArea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AssistantChatArea.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantChatArea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAoOf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AA8HvE;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,oBAAoB,CAAC;CACpC;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAwhKxD,CAAC"}
|