@holostaff/sdk 0.10.4 → 0.10.6
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/stage/actions.d.ts +31 -0
- package/dist/stage/actions.d.ts.map +1 -0
- package/dist/stage/actions.js +307 -0
- package/dist/stage/actions.js.map +1 -0
- package/dist/stage/index.d.ts.map +1 -1
- package/dist/stage/index.js +88 -6
- package/dist/stage/index.js.map +1 -1
- package/dist/stage/realtime.d.ts +7 -0
- package/dist/stage/realtime.d.ts.map +1 -1
- package/dist/stage/realtime.js +43 -13
- package/dist/stage/realtime.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Voice Stage on-screen actions — voice-stage-actions-design.md.
|
|
3
|
+
*
|
|
4
|
+
* The `act` tool's executor: one small, visible action per call (click /
|
|
5
|
+
* fill / scroll_to / navigate), grounded by VISIBLE labels — the same
|
|
6
|
+
* vocabulary the perceive loop uses. Safety is layered here, not in the
|
|
7
|
+
* prompt: sensitive fields are hard-refused, consequential clicks require
|
|
8
|
+
* the visitor to press an inline Allow pill, every action highlights its
|
|
9
|
+
* target before landing, and actions are spaced (no burst scripting).
|
|
10
|
+
*/
|
|
11
|
+
export interface ActRequest {
|
|
12
|
+
action: 'click' | 'fill' | 'scroll_to' | 'navigate';
|
|
13
|
+
target?: string;
|
|
14
|
+
value?: string;
|
|
15
|
+
path?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ActResult {
|
|
18
|
+
ok: boolean;
|
|
19
|
+
/** What actually happened, past tense — the model must not embellish it. */
|
|
20
|
+
did?: string;
|
|
21
|
+
error?: string;
|
|
22
|
+
/** On ambiguity/no-match: visible labels the resolver DID find. */
|
|
23
|
+
candidates?: string[];
|
|
24
|
+
}
|
|
25
|
+
export interface ActionExecutor {
|
|
26
|
+
act(req: ActRequest, copilotName: string): Promise<ActResult>;
|
|
27
|
+
/** Remove any pending confirm pill + styles (Stage teardown). */
|
|
28
|
+
destroy(): void;
|
|
29
|
+
}
|
|
30
|
+
export declare function createActionExecutor(): ActionExecutor;
|
|
31
|
+
//# sourceMappingURL=actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/stage/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,CAAA;IACnD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,OAAO,CAAA;IACX,4EAA4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAkBD,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAC7D,iEAAiE;IACjE,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAuHrD"}
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Voice Stage on-screen actions — voice-stage-actions-design.md.
|
|
3
|
+
*
|
|
4
|
+
* The `act` tool's executor: one small, visible action per call (click /
|
|
5
|
+
* fill / scroll_to / navigate), grounded by VISIBLE labels — the same
|
|
6
|
+
* vocabulary the perceive loop uses. Safety is layered here, not in the
|
|
7
|
+
* prompt: sensitive fields are hard-refused, consequential clicks require
|
|
8
|
+
* the visitor to press an inline Allow pill, every action highlights its
|
|
9
|
+
* target before landing, and actions are spaced (no burst scripting).
|
|
10
|
+
*/
|
|
11
|
+
import { setDocumentStyles } from '../cspStyles.js';
|
|
12
|
+
/** Min spacing between actions — one deliberate step at a time. */
|
|
13
|
+
const MIN_INTERVAL_MS = 800;
|
|
14
|
+
/** Highlight dwell before the action lands (the visitor sees it coming). */
|
|
15
|
+
const HIGHLIGHT_MS = 600;
|
|
16
|
+
/** Guarded-click pill lifetime; expiry = deny. */
|
|
17
|
+
const CONFIRM_TIMEOUT_MS = 15000;
|
|
18
|
+
/** Fields the copilot must never type into — values it cannot truthfully
|
|
19
|
+
* know. Pointing (scroll_to) is the allowed alternative. */
|
|
20
|
+
const SENSITIVE_AUTOCOMPLETE = /^(cc-|one-time-code)/i;
|
|
21
|
+
const SENSITIVE_TEXT = /\b(password|passcode|card number|cvv|cvc|security code|ssn|social security|secret)\b/i;
|
|
22
|
+
/** Visible labels whose click is consequential enough to need the VISITOR's
|
|
23
|
+
* own click on the Allow pill. Matched against the resolved target's label. */
|
|
24
|
+
const GUARDED_CLICK = /\b(pay|payment|place order|buy|purchase|order now|check ?out|confirm|complete|delete|remove|cancel|unsubscribe|send|sign|submit|transfer|upgrade|downgrade)\b/i;
|
|
25
|
+
export function createActionExecutor() {
|
|
26
|
+
let lastActionAt = 0;
|
|
27
|
+
let pendingPill = null;
|
|
28
|
+
let pendingTimer = null;
|
|
29
|
+
const clearPill = () => {
|
|
30
|
+
if (pendingTimer) {
|
|
31
|
+
clearTimeout(pendingTimer);
|
|
32
|
+
pendingTimer = null;
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
pendingPill?.remove();
|
|
36
|
+
}
|
|
37
|
+
catch { /* gone */ }
|
|
38
|
+
pendingPill = null;
|
|
39
|
+
};
|
|
40
|
+
const act = async (req, copilotName) => {
|
|
41
|
+
const now = Date.now();
|
|
42
|
+
if (now - lastActionAt < MIN_INTERVAL_MS) {
|
|
43
|
+
await sleep(MIN_INTERVAL_MS - (now - lastActionAt));
|
|
44
|
+
}
|
|
45
|
+
if (pendingPill) {
|
|
46
|
+
return { ok: false, error: 'a previous action is still waiting for the visitor to Allow or Deny' };
|
|
47
|
+
}
|
|
48
|
+
switch (req.action) {
|
|
49
|
+
case 'navigate': {
|
|
50
|
+
const path = (req.path ?? '').trim();
|
|
51
|
+
if (!path)
|
|
52
|
+
return { ok: false, error: 'navigate needs a path' };
|
|
53
|
+
let dest;
|
|
54
|
+
try {
|
|
55
|
+
dest = new URL(path, window.location.origin);
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return { ok: false, error: `not a valid path: ${path}` };
|
|
59
|
+
}
|
|
60
|
+
if (dest.origin !== window.location.origin) {
|
|
61
|
+
return { ok: false, error: 'cross-origin navigation is not allowed' };
|
|
62
|
+
}
|
|
63
|
+
lastActionAt = Date.now();
|
|
64
|
+
window.location.assign(dest.href);
|
|
65
|
+
return { ok: true, did: `navigated to ${dest.pathname}${dest.search}` };
|
|
66
|
+
}
|
|
67
|
+
case 'scroll_to': {
|
|
68
|
+
const found = resolve(req.target ?? '', 'any');
|
|
69
|
+
if (!found.el)
|
|
70
|
+
return { ok: false, error: found.error, candidates: found.candidates };
|
|
71
|
+
found.el.scrollIntoView({ block: 'center', behavior: 'smooth' });
|
|
72
|
+
await highlight(found.el, HIGHLIGHT_MS * 2);
|
|
73
|
+
lastActionAt = Date.now();
|
|
74
|
+
return { ok: true, did: `scrolled to and highlighted "${found.label}"` };
|
|
75
|
+
}
|
|
76
|
+
case 'click': {
|
|
77
|
+
const found = resolve(req.target ?? '', 'clickable');
|
|
78
|
+
if (!found.el)
|
|
79
|
+
return { ok: false, error: found.error, candidates: found.candidates };
|
|
80
|
+
found.el.scrollIntoView({ block: 'center', behavior: 'smooth' });
|
|
81
|
+
if (GUARDED_CLICK.test(found.label)) {
|
|
82
|
+
const allowed = await confirmWithVisitor(found.el, found.label, copilotName);
|
|
83
|
+
if (!allowed) {
|
|
84
|
+
return { ok: false, error: `the visitor did not allow clicking "${found.label}"` };
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
await highlight(found.el, HIGHLIGHT_MS);
|
|
88
|
+
found.el.click();
|
|
89
|
+
lastActionAt = Date.now();
|
|
90
|
+
return { ok: true, did: `clicked "${found.label}"` };
|
|
91
|
+
}
|
|
92
|
+
case 'fill': {
|
|
93
|
+
const value = req.value ?? '';
|
|
94
|
+
if (!value)
|
|
95
|
+
return { ok: false, error: 'fill needs a value' };
|
|
96
|
+
const found = resolve(req.target ?? '', 'fillable');
|
|
97
|
+
if (!found.el)
|
|
98
|
+
return { ok: false, error: found.error, candidates: found.candidates };
|
|
99
|
+
const refusal = sensitiveFieldRefusal(found.el, found.label);
|
|
100
|
+
if (refusal)
|
|
101
|
+
return { ok: false, error: refusal };
|
|
102
|
+
found.el.scrollIntoView({ block: 'center', behavior: 'smooth' });
|
|
103
|
+
await highlight(found.el, HIGHLIGHT_MS);
|
|
104
|
+
const did = setFieldValue(found.el, value);
|
|
105
|
+
lastActionAt = Date.now();
|
|
106
|
+
if (!did)
|
|
107
|
+
return { ok: false, error: `could not set a value on "${found.label}"` };
|
|
108
|
+
return { ok: true, did: `filled "${found.label}"` };
|
|
109
|
+
}
|
|
110
|
+
default:
|
|
111
|
+
return { ok: false, error: `unknown action ${String(req.action)}` };
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
// ── Guarded-click confirmation pill ─────────────────────────────────────
|
|
115
|
+
const confirmWithVisitor = (el, label, copilotName) => {
|
|
116
|
+
ensurePillStyle();
|
|
117
|
+
return new Promise((resolvePromise) => {
|
|
118
|
+
const pill = document.createElement('div');
|
|
119
|
+
pill.className = 'holostaff-act-pill';
|
|
120
|
+
const text = document.createElement('span');
|
|
121
|
+
text.textContent = `${copilotName} wants to click "${label}"`;
|
|
122
|
+
const allow = document.createElement('button');
|
|
123
|
+
allow.type = 'button';
|
|
124
|
+
allow.textContent = 'Allow';
|
|
125
|
+
allow.className = 'allow';
|
|
126
|
+
const deny = document.createElement('button');
|
|
127
|
+
deny.type = 'button';
|
|
128
|
+
deny.textContent = 'Deny';
|
|
129
|
+
deny.className = 'deny';
|
|
130
|
+
pill.append(text, allow, deny);
|
|
131
|
+
const rect = el.getBoundingClientRect();
|
|
132
|
+
pill.style.top = `${Math.max(8, rect.top - 44)}px`;
|
|
133
|
+
pill.style.left = `${Math.max(8, rect.left)}px`;
|
|
134
|
+
document.body.appendChild(pill);
|
|
135
|
+
pendingPill = pill;
|
|
136
|
+
const finish = (verdict) => {
|
|
137
|
+
clearPill();
|
|
138
|
+
resolvePromise(verdict);
|
|
139
|
+
};
|
|
140
|
+
allow.addEventListener('click', () => finish(true));
|
|
141
|
+
deny.addEventListener('click', () => finish(false));
|
|
142
|
+
pendingTimer = setTimeout(() => finish(false), CONFIRM_TIMEOUT_MS);
|
|
143
|
+
});
|
|
144
|
+
};
|
|
145
|
+
return {
|
|
146
|
+
act,
|
|
147
|
+
destroy() { clearPill(); },
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
const CLICKABLE_SEL = 'a[href], button, [role="button"], input[type="submit"], input[type="button"], summary';
|
|
151
|
+
const FILLABLE_SEL = 'input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]), textarea, select, [contenteditable="true"]';
|
|
152
|
+
function resolve(target, kind) {
|
|
153
|
+
const want = norm(target);
|
|
154
|
+
if (!want)
|
|
155
|
+
return { el: null, label: '', error: 'target (visible label) required' };
|
|
156
|
+
const sel = kind === 'clickable' ? CLICKABLE_SEL
|
|
157
|
+
: kind === 'fillable' ? FILLABLE_SEL
|
|
158
|
+
: `${CLICKABLE_SEL}, ${FILLABLE_SEL}, h1, h2, h3, [aria-label]`;
|
|
159
|
+
const scored = [];
|
|
160
|
+
for (const el of Array.from(document.querySelectorAll(sel))) {
|
|
161
|
+
if (!isVisible(el))
|
|
162
|
+
continue;
|
|
163
|
+
const label = labelFor(el);
|
|
164
|
+
if (!label)
|
|
165
|
+
continue;
|
|
166
|
+
const score = matchScore(want, norm(label));
|
|
167
|
+
if (score > 0)
|
|
168
|
+
scored.push({ el, label, score });
|
|
169
|
+
}
|
|
170
|
+
if (!scored.length) {
|
|
171
|
+
const visible = Array.from(document.querySelectorAll(sel))
|
|
172
|
+
.filter(isVisible).map(labelFor).filter(Boolean).slice(0, 8);
|
|
173
|
+
return { el: null, label: '', error: `nothing on screen matches "${target}"`, candidates: visible };
|
|
174
|
+
}
|
|
175
|
+
scored.sort((a, b) => b.score - a.score);
|
|
176
|
+
const best = scored[0];
|
|
177
|
+
const rival = scored.find(s => s.el !== best.el && s.score === best.score && norm(s.label) !== norm(best.label));
|
|
178
|
+
if (rival) {
|
|
179
|
+
return {
|
|
180
|
+
el: null, label: '',
|
|
181
|
+
error: `"${target}" is ambiguous`,
|
|
182
|
+
candidates: [...new Set(scored.slice(0, 6).map(s => s.label))],
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
return { el: best.el, label: best.label };
|
|
186
|
+
}
|
|
187
|
+
function labelFor(el) {
|
|
188
|
+
const aria = el.getAttribute('aria-label');
|
|
189
|
+
if (aria?.trim())
|
|
190
|
+
return aria.trim();
|
|
191
|
+
if (el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement || el instanceof HTMLSelectElement) {
|
|
192
|
+
// Associated <label for=…> or wrapping <label>.
|
|
193
|
+
if (el.id) {
|
|
194
|
+
const lab = document.querySelector(`label[for="${cssEscape(el.id)}"]`);
|
|
195
|
+
if (lab?.textContent?.trim())
|
|
196
|
+
return lab.textContent.trim();
|
|
197
|
+
}
|
|
198
|
+
const wrap = el.closest('label');
|
|
199
|
+
if (wrap?.textContent?.trim())
|
|
200
|
+
return wrap.textContent.trim();
|
|
201
|
+
const ph = el.getAttribute('placeholder');
|
|
202
|
+
if (ph?.trim())
|
|
203
|
+
return ph.trim();
|
|
204
|
+
if (el instanceof HTMLInputElement && (el.type === 'submit' || el.type === 'button') && el.value.trim()) {
|
|
205
|
+
return el.value.trim();
|
|
206
|
+
}
|
|
207
|
+
return el.name || '';
|
|
208
|
+
}
|
|
209
|
+
const text = (el.textContent ?? '').trim().replace(/\s+/g, ' ');
|
|
210
|
+
return text.length > 80 ? '' : text;
|
|
211
|
+
}
|
|
212
|
+
function matchScore(want, have) {
|
|
213
|
+
if (!have)
|
|
214
|
+
return 0;
|
|
215
|
+
if (have === want)
|
|
216
|
+
return 3;
|
|
217
|
+
if (have.includes(want) || want.includes(have))
|
|
218
|
+
return 2;
|
|
219
|
+
const wantTokens = want.split(' ').filter(Boolean);
|
|
220
|
+
if (!wantTokens.length)
|
|
221
|
+
return 0;
|
|
222
|
+
const overlap = wantTokens.filter(t => have.includes(t)).length / wantTokens.length;
|
|
223
|
+
return overlap >= 0.6 ? 1 : 0;
|
|
224
|
+
}
|
|
225
|
+
function norm(s) {
|
|
226
|
+
return s.toLowerCase().replace(/\s+/g, ' ').trim();
|
|
227
|
+
}
|
|
228
|
+
function isVisible(el) {
|
|
229
|
+
if (el.disabled)
|
|
230
|
+
return false;
|
|
231
|
+
const rect = el.getBoundingClientRect();
|
|
232
|
+
if (rect.width < 2 || rect.height < 2)
|
|
233
|
+
return false;
|
|
234
|
+
const style = window.getComputedStyle(el);
|
|
235
|
+
return style.visibility !== 'hidden' && style.display !== 'none';
|
|
236
|
+
}
|
|
237
|
+
function cssEscape(s) {
|
|
238
|
+
return typeof CSS !== 'undefined' && CSS.escape ? CSS.escape(s) : s.replace(/["\\]/g, '\\$&');
|
|
239
|
+
}
|
|
240
|
+
// -------------------------------------------------------------------------
|
|
241
|
+
// Guards + mechanics
|
|
242
|
+
// -------------------------------------------------------------------------
|
|
243
|
+
function sensitiveFieldRefusal(el, label) {
|
|
244
|
+
const input = el;
|
|
245
|
+
const type = (input.type ?? '').toLowerCase();
|
|
246
|
+
const auto = (input.autocomplete ?? '');
|
|
247
|
+
const meta = `${label} ${input.name ?? ''} ${input.id ?? ''}`;
|
|
248
|
+
if (type === 'password' || SENSITIVE_AUTOCOMPLETE.test(auto) || SENSITIVE_TEXT.test(meta)) {
|
|
249
|
+
return `"${label}" looks like a sensitive field (password/payment/code). I can point the visitor to it, but they must type it themselves.`;
|
|
250
|
+
}
|
|
251
|
+
return null;
|
|
252
|
+
}
|
|
253
|
+
/** Set a field's value the framework-compatible way: native setter + events
|
|
254
|
+
* (React tracks the native value setter; Vue listens to input events). */
|
|
255
|
+
function setFieldValue(el, value) {
|
|
256
|
+
if (el instanceof HTMLSelectElement) {
|
|
257
|
+
const opt = Array.from(el.options).find(o => norm(o.textContent ?? '') === norm(value) || o.value === value);
|
|
258
|
+
if (!opt)
|
|
259
|
+
return false;
|
|
260
|
+
el.value = opt.value;
|
|
261
|
+
el.dispatchEvent(new Event('input', { bubbles: true }));
|
|
262
|
+
el.dispatchEvent(new Event('change', { bubbles: true }));
|
|
263
|
+
return true;
|
|
264
|
+
}
|
|
265
|
+
if (el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement) {
|
|
266
|
+
const proto = el instanceof HTMLInputElement ? HTMLInputElement.prototype : HTMLTextAreaElement.prototype;
|
|
267
|
+
const setter = Object.getOwnPropertyDescriptor(proto, 'value')?.set;
|
|
268
|
+
el.focus();
|
|
269
|
+
if (setter)
|
|
270
|
+
setter.call(el, value);
|
|
271
|
+
else
|
|
272
|
+
el.value = value;
|
|
273
|
+
el.dispatchEvent(new Event('input', { bubbles: true }));
|
|
274
|
+
el.dispatchEvent(new Event('change', { bubbles: true }));
|
|
275
|
+
return true;
|
|
276
|
+
}
|
|
277
|
+
if (el.isContentEditable) {
|
|
278
|
+
el.focus();
|
|
279
|
+
el.textContent = value;
|
|
280
|
+
el.dispatchEvent(new Event('input', { bubbles: true }));
|
|
281
|
+
return true;
|
|
282
|
+
}
|
|
283
|
+
return false;
|
|
284
|
+
}
|
|
285
|
+
/** Pulse-outline the target so the visitor sees what's about to be touched. */
|
|
286
|
+
async function highlight(el, ms) {
|
|
287
|
+
const prevOutline = el.style.outline;
|
|
288
|
+
const prevOffset = el.style.outlineOffset;
|
|
289
|
+
el.style.outline = '3px solid #4f8bff';
|
|
290
|
+
el.style.outlineOffset = '2px';
|
|
291
|
+
await sleep(ms);
|
|
292
|
+
el.style.outline = prevOutline;
|
|
293
|
+
el.style.outlineOffset = prevOffset;
|
|
294
|
+
}
|
|
295
|
+
function sleep(ms) {
|
|
296
|
+
return new Promise(r => setTimeout(r, ms));
|
|
297
|
+
}
|
|
298
|
+
const PILL_STYLE_ID = 'holostaff-act-pill-style';
|
|
299
|
+
function ensurePillStyle() {
|
|
300
|
+
setDocumentStyles(PILL_STYLE_ID, `
|
|
301
|
+
.holostaff-act-pill { position: fixed; z-index: 2147483647; display: flex; align-items: center; gap: 8px; padding: 8px 10px; background: #0e0f12; color: #fafafa; border-radius: 999px; box-shadow: 0 8px 24px rgba(0,0,0,0.35); font: 12px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif; }
|
|
302
|
+
.holostaff-act-pill button { appearance: none; border: 0; border-radius: 999px; padding: 5px 12px; font-weight: 600; font-size: 12px; cursor: pointer; }
|
|
303
|
+
.holostaff-act-pill .allow { background: #4f8bff; color: #fff; }
|
|
304
|
+
.holostaff-act-pill .deny { background: rgba(255,255,255,0.12); color: #cfd2d8; }
|
|
305
|
+
`);
|
|
306
|
+
}
|
|
307
|
+
//# sourceMappingURL=actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/stage/actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAOzD,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,eAAe,CAAA;IACpB,YAAY,EAAE,MAAM,MAAM,CAAA;IAC1B,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,QAAQ,EAAE,eAAe,CAAA;IACzB,uEAAuE;IACvE,OAAO,EAAE,cAAc,GAAG,IAAI,CAAA;IAC9B,IAAI,EAAE,UAAU,CAAA;IAChB,iEAAiE;IACjE,wBAAwB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;CACpD;AAED,MAAM,WAAW,SAAS;IACxB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;IAC5B,KAAK,IAAI,IAAI,CAAA;IACb,MAAM,IAAI,OAAO,CAAA;IACjB;;;;sCAIkC;IAClC,gBAAgB,IAAI,iBAAiB,GAAG,IAAI,CAAA;IAC5C,+DAA+D;IAC/D,gBAAgB,IAAI,IAAI,CAAA;IACxB,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,gBAAgB,CAAA;IACvB,2DAA2D;IAC3D,QAAQ,EAAE,OAAO,CAAA;CAClB;AAuED,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,YAAY,CA2VxD"}
|
package/dist/stage/index.js
CHANGED
|
@@ -15,6 +15,36 @@ import { connectRealtime } from './realtime.js';
|
|
|
15
15
|
import { startAnamFace } from './anamFace.js';
|
|
16
16
|
import { startAvtrFace } from './avtrFace.js';
|
|
17
17
|
import { startStageUi } from './ui.js';
|
|
18
|
+
import { createActionExecutor } from './actions.js';
|
|
19
|
+
const GET_SCREEN_TOOL = {
|
|
20
|
+
name: 'get_screen',
|
|
21
|
+
description: 'Look at what the visitor is doing RIGHT NOW: current page URL/title and a '
|
|
22
|
+
+ 'fresh summary of their recent on-screen activity. Call this whenever the '
|
|
23
|
+
+ 'answer depends on where they are, or whenever they may have moved since '
|
|
24
|
+
+ 'the conversation started. Cheap — prefer calling it over guessing.',
|
|
25
|
+
parameters: { type: 'object', properties: {}, required: [] },
|
|
26
|
+
};
|
|
27
|
+
const ACT_TOOL = {
|
|
28
|
+
name: 'act',
|
|
29
|
+
description: 'Perform ONE small visible action on the visitor\'s screen, on their behalf, '
|
|
30
|
+
+ 'with their knowledge. Always say aloud what you are about to do first. '
|
|
31
|
+
+ 'Targets are VISIBLE labels (button/link text, field label or placeholder). '
|
|
32
|
+
+ 'The result tells you what actually happened — never claim more than it says. '
|
|
33
|
+
+ 'Consequential clicks (pay, order, delete, send…) show the visitor an Allow/Deny '
|
|
34
|
+
+ 'pill; tell them to expect it. Sensitive fields (passwords, card numbers, codes) '
|
|
35
|
+
+ 'are refused — point with scroll_to and let the visitor type. After navigate, '
|
|
36
|
+
+ 'call get_screen before acting again.',
|
|
37
|
+
parameters: {
|
|
38
|
+
type: 'object',
|
|
39
|
+
properties: {
|
|
40
|
+
action: { type: 'string', enum: ['click', 'fill', 'scroll_to', 'navigate'] },
|
|
41
|
+
target: { type: 'string', description: 'Visible label of the element (for click/fill/scroll_to).' },
|
|
42
|
+
value: { type: 'string', description: 'Text to type (fill only).' },
|
|
43
|
+
path: { type: 'string', description: 'Same-origin path, e.g. "/checkout" (navigate only).' },
|
|
44
|
+
},
|
|
45
|
+
required: ['action'],
|
|
46
|
+
},
|
|
47
|
+
};
|
|
18
48
|
const PRESENT_TOOL = {
|
|
19
49
|
name: 'present',
|
|
20
50
|
description: 'Show a visual frame in the Theater when a picture beats words. Call again to show the next thing.',
|
|
@@ -43,6 +73,7 @@ export function startStage(deps) {
|
|
|
43
73
|
let firstFrameTimer = null;
|
|
44
74
|
let realtime = null;
|
|
45
75
|
let micStream = null;
|
|
76
|
+
let actions = null;
|
|
46
77
|
let sentenceBuf = '';
|
|
47
78
|
// Barge-in bookkeeping: the turn the user interrupted. Trailing deltas
|
|
48
79
|
// from a cancelled response share its turnId and must be dropped, or
|
|
@@ -71,6 +102,10 @@ export function startStage(deps) {
|
|
|
71
102
|
avtr?.stop();
|
|
72
103
|
}
|
|
73
104
|
catch { /* */ }
|
|
105
|
+
try {
|
|
106
|
+
actions?.destroy();
|
|
107
|
+
}
|
|
108
|
+
catch { /* */ }
|
|
74
109
|
// Release the scarce GPU avatar session server-side (best-effort).
|
|
75
110
|
if (avatarSessionId) {
|
|
76
111
|
void postJsonResult(deps.cfg, `/api/runtime/sessions/${deps.getSessionId()}/voice-stop`, { ...deps.buildBody(), avatarSessionId });
|
|
@@ -94,6 +129,7 @@ export function startStage(deps) {
|
|
|
94
129
|
voiceAudioEl = null;
|
|
95
130
|
micStream = null;
|
|
96
131
|
ui = null;
|
|
132
|
+
actions = null;
|
|
97
133
|
sentenceBuf = '';
|
|
98
134
|
};
|
|
99
135
|
const flushSentences = (force) => {
|
|
@@ -139,6 +175,7 @@ export function startStage(deps) {
|
|
|
139
175
|
return;
|
|
140
176
|
}
|
|
141
177
|
const copilot = deps.presence.getCopilot();
|
|
178
|
+
actions = createActionExecutor();
|
|
142
179
|
ui = startStageUi({
|
|
143
180
|
dock: deps.dock,
|
|
144
181
|
copilotName: mint.copilotName || copilot?.name || 'Copilot',
|
|
@@ -155,6 +192,32 @@ export function startStage(deps) {
|
|
|
155
192
|
deps.theater.present({ intent, context });
|
|
156
193
|
realtime?.sendToolResult(callId, { ok: true });
|
|
157
194
|
}
|
|
195
|
+
else if (name === 'act') {
|
|
196
|
+
const executor = actions;
|
|
197
|
+
if (!executor) {
|
|
198
|
+
realtime?.sendToolResult(callId, { ok: false, error: 'stage not ready' });
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
void executor.act(args, mint.copilotName || copilot?.name || 'The copilot')
|
|
202
|
+
.then((result) => realtime?.sendToolResult(callId, result))
|
|
203
|
+
.catch((err) => realtime?.sendToolResult(callId, { ok: false, error: err.message }));
|
|
204
|
+
}
|
|
205
|
+
else if (name === 'get_screen') {
|
|
206
|
+
// Client-side truth (URL/title) is instant; the server adds the
|
|
207
|
+
// rolling vision summary + stage. Merge and return.
|
|
208
|
+
const url = window.location.href;
|
|
209
|
+
const pageTitle = document.title;
|
|
210
|
+
void postJsonResult(deps.cfg, `/api/runtime/sessions/${deps.getSessionId()}/voice-context`, deps.buildBody()).then((sctx) => {
|
|
211
|
+
realtime?.sendToolResult(callId, {
|
|
212
|
+
url,
|
|
213
|
+
pageTitle,
|
|
214
|
+
stage: sctx?.stage ?? null,
|
|
215
|
+
recentActivity: sctx?.visionSummary ?? 'no activity summary available yet',
|
|
216
|
+
});
|
|
217
|
+
}).catch(() => {
|
|
218
|
+
realtime?.sendToolResult(callId, { url, pageTitle });
|
|
219
|
+
});
|
|
220
|
+
}
|
|
158
221
|
else {
|
|
159
222
|
realtime?.sendToolResult(callId, { error: `unknown tool ${name}` });
|
|
160
223
|
}
|
|
@@ -184,7 +247,7 @@ export function startStage(deps) {
|
|
|
184
247
|
realtimeUrl: mint.realtimeUrl,
|
|
185
248
|
realtimeModel: mint.realtimeModel,
|
|
186
249
|
instructions: mint.instructions,
|
|
187
|
-
tools: [PRESENT_TOOL],
|
|
250
|
+
tools: [PRESENT_TOOL, GET_SCREEN_TOOL, ACT_TOOL],
|
|
188
251
|
micStream,
|
|
189
252
|
seedMessage,
|
|
190
253
|
}, {
|
|
@@ -231,6 +294,9 @@ export function startStage(deps) {
|
|
|
231
294
|
document.body.appendChild(voiceAudioEl);
|
|
232
295
|
let firstFrame = false;
|
|
233
296
|
let realtimeStream = null;
|
|
297
|
+
// True once the endpoint emits output_audio_buffer events — from then on
|
|
298
|
+
// they own the avatar turn and the transcript-based fallback stands down.
|
|
299
|
+
let playbackDriven = false;
|
|
234
300
|
const degradeToVoiceOnly = () => {
|
|
235
301
|
if (firstFrame)
|
|
236
302
|
return;
|
|
@@ -274,15 +340,29 @@ export function startStage(deps) {
|
|
|
274
340
|
realtimeUrl: mint.realtimeUrl,
|
|
275
341
|
realtimeModel: mint.realtimeModel,
|
|
276
342
|
instructions: mint.instructions,
|
|
277
|
-
tools: [PRESENT_TOOL],
|
|
343
|
+
tools: [PRESENT_TOOL, GET_SCREEN_TOOL, ACT_TOOL],
|
|
278
344
|
micStream,
|
|
279
345
|
seedMessage,
|
|
280
346
|
audioOut: true,
|
|
281
347
|
voice: mint.voiceId ?? undefined,
|
|
282
348
|
}, {
|
|
349
|
+
// Preferred turn boundaries: output_audio_buffer events, which track
|
|
350
|
+
// actual PLAYBACK of the model's voice. The transcript-based fallback
|
|
351
|
+
// below (first delta / turn done) fires at GENERATION time — often
|
|
352
|
+
// seconds before playback drains — and closing the turn there gates
|
|
353
|
+
// off the PCM forwarder mid-tail, clipping the end of every utterance.
|
|
354
|
+
onAudioPlaybackStarted: () => {
|
|
355
|
+
playbackDriven = true;
|
|
356
|
+
avtr?.beginTurn();
|
|
357
|
+
ui?.setState('speaking');
|
|
358
|
+
},
|
|
359
|
+
onAudioPlaybackStopped: () => {
|
|
360
|
+
avtr?.speakEnd();
|
|
361
|
+
ui?.setState('listening');
|
|
362
|
+
},
|
|
283
363
|
onTextDelta: (delta, turnId) => {
|
|
284
|
-
if (turnId !== lastTurnId)
|
|
285
|
-
avtr?.beginTurn();
|
|
364
|
+
if (!playbackDriven && turnId !== lastTurnId)
|
|
365
|
+
avtr?.beginTurn();
|
|
286
366
|
lastTurnId = turnId;
|
|
287
367
|
if (turnId === mutedTurnId)
|
|
288
368
|
return;
|
|
@@ -294,8 +374,10 @@ export function startStage(deps) {
|
|
|
294
374
|
mutedTurnId = null;
|
|
295
375
|
return;
|
|
296
376
|
}
|
|
297
|
-
|
|
298
|
-
|
|
377
|
+
if (!playbackDriven) {
|
|
378
|
+
avtr?.speakEnd();
|
|
379
|
+
ui?.setState('listening');
|
|
380
|
+
}
|
|
299
381
|
},
|
|
300
382
|
onUserSpeechStarted: () => {
|
|
301
383
|
mutedTurnId = lastTurnId;
|
package/dist/stage/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stage/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stage/index.ts"],"names":[],"mappings":"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"}
|
package/dist/stage/realtime.d.ts
CHANGED
|
@@ -54,6 +54,13 @@ export interface RealtimeCallbacks {
|
|
|
54
54
|
}): void;
|
|
55
55
|
/** Audio mode only: the model's remote audio track (forward to the avatar). */
|
|
56
56
|
onRemoteAudio?(stream: MediaStream): void;
|
|
57
|
+
/** Audio mode only (WebRTC GA): server-side playback of the response audio
|
|
58
|
+
* started/stopped. `stopped` fires when the audio buffer actually DRAINS —
|
|
59
|
+
* unlike response.done, which fires when generation finishes, often seconds
|
|
60
|
+
* before playback. Use these to bound the avatar's spoken turn, or the
|
|
61
|
+
* utterance tail gets clipped. */
|
|
62
|
+
onAudioPlaybackStarted?(): void;
|
|
63
|
+
onAudioPlaybackStopped?(): void;
|
|
57
64
|
onError(err: Error): void;
|
|
58
65
|
}
|
|
59
66
|
export interface RealtimeSession {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../src/stage/realtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAA;IACpB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,SAAS,EAAE,WAAW,CAAA;IACtB;2DACuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;8EAC0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAChD,6DAA6D;IAC7D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,gEAAgE;IAChE,mBAAmB,IAAI,IAAI,CAAA;IAC3B,gCAAgC;IAChC,UAAU,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACvF,+EAA+E;IAC/E,aAAa,CAAC,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;IACzC,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAA;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IACrD,yEAAyE;IACzE,cAAc,IAAI,IAAI,CAAA;IACtB,KAAK,IAAI,IAAI,CAAA;CACd;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,sBAAsB,EAC5B,EAAE,EAAE,iBAAiB,GACpB,OAAO,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../src/stage/realtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAA;IACpB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,SAAS,EAAE,WAAW,CAAA;IACtB;2DACuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;8EAC0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAChD,6DAA6D;IAC7D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,gEAAgE;IAChE,mBAAmB,IAAI,IAAI,CAAA;IAC3B,gCAAgC;IAChC,UAAU,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACvF,+EAA+E;IAC/E,aAAa,CAAC,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;IACzC;;;;uCAImC;IACnC,sBAAsB,CAAC,IAAI,IAAI,CAAA;IAC/B,sBAAsB,CAAC,IAAI,IAAI,CAAA;IAC/B,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAA;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IACrD,yEAAyE;IACzE,cAAc,IAAI,IAAI,CAAA;IACtB,KAAK,IAAI,IAAI,CAAA;CACd;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,sBAAsB,EAC5B,EAAE,EAAE,iBAAiB,GACpB,OAAO,CAAC,eAAe,CAAC,CAoL1B"}
|
package/dist/stage/realtime.js
CHANGED
|
@@ -37,26 +37,47 @@ export async function connectRealtime(opts, cb) {
|
|
|
37
37
|
}
|
|
38
38
|
catch { /* closed */ }
|
|
39
39
|
};
|
|
40
|
+
// The GA WebRTC endpoints (…/realtime/calls) use the GA session shape:
|
|
41
|
+
// `session.type` is REQUIRED, modalities is `output_modalities`, and
|
|
42
|
+
// voice / transcription / turn_detection nest under `audio`. Sending the
|
|
43
|
+
// legacy preview shape gets the WHOLE update rejected
|
|
44
|
+
// ("missing_required_parameter: session.type") — silently costing the
|
|
45
|
+
// session its tools, voice pin, and VAD tuning.
|
|
46
|
+
const isGaCalls = /\/realtime\/calls(?:\?|$)/i.test(opts.realtimeUrl);
|
|
47
|
+
const toolDefs = opts.tools.map(t => ({
|
|
48
|
+
type: 'function',
|
|
49
|
+
name: t.name,
|
|
50
|
+
description: t.description,
|
|
51
|
+
parameters: t.parameters,
|
|
52
|
+
}));
|
|
40
53
|
dc.addEventListener('open', () => {
|
|
41
|
-
// Configure the session:
|
|
54
|
+
// Configure the session: output modality, server VAD (barge-in),
|
|
42
55
|
// input transcription, and our tool surface.
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
56
|
+
const session = isGaCalls
|
|
57
|
+
? {
|
|
58
|
+
type: 'realtime',
|
|
59
|
+
output_modalities: opts.audioOut ? ['audio'] : ['text'],
|
|
60
|
+
...(opts.instructions ? { instructions: opts.instructions } : {}),
|
|
61
|
+
tools: toolDefs,
|
|
62
|
+
tool_choice: 'auto',
|
|
63
|
+
audio: {
|
|
64
|
+
input: {
|
|
65
|
+
transcription: { model: 'whisper-1' },
|
|
66
|
+
turn_detection: { type: 'server_vad', threshold: 0.5, silence_duration_ms: 500 },
|
|
67
|
+
},
|
|
68
|
+
...(opts.audioOut && opts.voice ? { output: { voice: opts.voice } } : {}),
|
|
69
|
+
},
|
|
70
|
+
}
|
|
71
|
+
: {
|
|
46
72
|
modalities: opts.audioOut ? ['audio', 'text'] : ['text'],
|
|
47
73
|
...(opts.audioOut && opts.voice ? { voice: opts.voice } : {}),
|
|
48
74
|
...(opts.instructions ? { instructions: opts.instructions } : {}),
|
|
49
|
-
tools:
|
|
50
|
-
type: 'function',
|
|
51
|
-
name: t.name,
|
|
52
|
-
description: t.description,
|
|
53
|
-
parameters: t.parameters,
|
|
54
|
-
})),
|
|
75
|
+
tools: toolDefs,
|
|
55
76
|
tool_choice: 'auto',
|
|
56
77
|
input_audio_transcription: { model: 'whisper-1' },
|
|
57
78
|
turn_detection: { type: 'server_vad', threshold: 0.5, silence_duration_ms: 500 },
|
|
58
|
-
}
|
|
59
|
-
});
|
|
79
|
+
};
|
|
80
|
+
send({ type: 'session.update', session });
|
|
60
81
|
// If opened from a suggestion, seed the opening turn with it.
|
|
61
82
|
if (opts.seedMessage) {
|
|
62
83
|
send({
|
|
@@ -105,6 +126,16 @@ export async function connectRealtime(opts, cb) {
|
|
|
105
126
|
case 'input_audio_buffer.speech_started':
|
|
106
127
|
cb.onUserSpeechStarted();
|
|
107
128
|
break;
|
|
129
|
+
// WebRTC-only playback lifecycle for the model's output audio.
|
|
130
|
+
// `stopped` = the buffer drained (playback truly over); `cleared` =
|
|
131
|
+
// barge-in flushed it. Both mean the model's voice went silent.
|
|
132
|
+
case 'output_audio_buffer.started':
|
|
133
|
+
cb.onAudioPlaybackStarted?.();
|
|
134
|
+
break;
|
|
135
|
+
case 'output_audio_buffer.stopped':
|
|
136
|
+
case 'output_audio_buffer.cleared':
|
|
137
|
+
cb.onAudioPlaybackStopped?.();
|
|
138
|
+
break;
|
|
108
139
|
case 'response.function_call_arguments.done': {
|
|
109
140
|
const name = typeof msg.name === 'string' ? msg.name : '';
|
|
110
141
|
const callId = typeof msg.call_id === 'string' ? msg.call_id : '';
|
|
@@ -131,7 +162,6 @@ export async function connectRealtime(opts, cb) {
|
|
|
131
162
|
// The GA WebRTC endpoints (OpenAI …/v1/realtime/calls, Azure …/openai/v1/realtime/calls)
|
|
132
163
|
// take NO query params — the model is baked into the ephemeral token's session
|
|
133
164
|
// config. Only the legacy preview endpoint (…/v1/realtime) needs ?model=.
|
|
134
|
-
const isGaCalls = /\/realtime\/calls(?:\?|$)/i.test(opts.realtimeUrl);
|
|
135
165
|
const sdpUrl = isGaCalls
|
|
136
166
|
? opts.realtimeUrl
|
|
137
167
|
: `${opts.realtimeUrl}?model=${encodeURIComponent(opts.realtimeModel)}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../../src/stage/realtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../../src/stage/realtime.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@holostaff/sdk",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.6",
|
|
4
4
|
"description": "Holostaff SDK — lifetime identity, stage detection, custom signal probes, and the living-portrait presence layer (chip, note, Theater, voice Stage) for the Holostaff runtime.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://docs.holostaff.ai",
|