@holostaff/sdk 0.4.1 → 0.9.0

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.
Files changed (51) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +102 -11
  4. package/dist/index.js.map +1 -1
  5. package/dist/presence/chip.d.ts +37 -0
  6. package/dist/presence/chip.d.ts.map +1 -0
  7. package/dist/presence/chip.js +348 -0
  8. package/dist/presence/chip.js.map +1 -0
  9. package/dist/presence/index.d.ts +35 -0
  10. package/dist/presence/index.d.ts.map +1 -0
  11. package/dist/presence/index.js +81 -0
  12. package/dist/presence/index.js.map +1 -0
  13. package/dist/presence/note.d.ts +47 -0
  14. package/dist/presence/note.d.ts.map +1 -0
  15. package/dist/presence/note.js +501 -0
  16. package/dist/presence/note.js.map +1 -0
  17. package/dist/presence/types.d.ts +69 -0
  18. package/dist/presence/types.d.ts.map +1 -0
  19. package/dist/presence/types.js +8 -0
  20. package/dist/presence/types.js.map +1 -0
  21. package/dist/stage/anamFace.d.ts +32 -0
  22. package/dist/stage/anamFace.d.ts.map +1 -0
  23. package/dist/stage/anamFace.js +95 -0
  24. package/dist/stage/anamFace.js.map +1 -0
  25. package/dist/stage/index.d.ts +39 -0
  26. package/dist/stage/index.d.ts.map +1 -0
  27. package/dist/stage/index.js +182 -0
  28. package/dist/stage/index.js.map +1 -0
  29. package/dist/stage/realtime.d.ts +50 -0
  30. package/dist/stage/realtime.d.ts.map +1 -0
  31. package/dist/stage/realtime.js +165 -0
  32. package/dist/stage/realtime.js.map +1 -0
  33. package/dist/stage/ui.d.ts +27 -0
  34. package/dist/stage/ui.d.ts.map +1 -0
  35. package/dist/stage/ui.js +176 -0
  36. package/dist/stage/ui.js.map +1 -0
  37. package/dist/theater/index.d.ts +46 -0
  38. package/dist/theater/index.d.ts.map +1 -0
  39. package/dist/theater/index.js +222 -0
  40. package/dist/theater/index.js.map +1 -0
  41. package/dist/transport.d.ts +6 -0
  42. package/dist/transport.d.ts.map +1 -1
  43. package/dist/transport.js +26 -0
  44. package/dist/transport.js.map +1 -1
  45. package/dist/types.d.ts +46 -0
  46. package/dist/types.d.ts.map +1 -1
  47. package/package.json +5 -2
  48. package/dist/widget.d.ts +0 -48
  49. package/dist/widget.d.ts.map +0 -1
  50. package/dist/widget.js +0 -311
  51. package/dist/widget.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"note.js","sourceRoot":"","sources":["../../src/presence/note.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Presence types — mirror the server's compiled presence manifest
3
+ * (server/.../runtime/presenceManifest.ts). The SDK ships to customer
4
+ * codebases and can't import server internals, so these are duplicated
5
+ * (the same pattern as BowtieStage in ../types.ts).
6
+ */
7
+ import type { BowtieStage, DockCorner, PresenceOptions } from '../types.js';
8
+ export type { DockCorner, PresenceOptions };
9
+ /** Living-portrait asset refs (P0 pipeline). All optional — the chip
10
+ * degrades idle-video → poster → monogram. */
11
+ export interface PortraitRefs {
12
+ poster?: string;
13
+ idle?: string;
14
+ idleMp4?: string;
15
+ gestures?: {
16
+ meet?: string;
17
+ nod?: string;
18
+ wave?: string;
19
+ glanceL?: string;
20
+ glanceR?: string;
21
+ };
22
+ }
23
+ /** One copilot's identity for a stage — the chip renders this. */
24
+ export interface PresenceCopilot {
25
+ copilotId: string;
26
+ name: string;
27
+ roleLine: string;
28
+ scopeLine: string;
29
+ intro: string;
30
+ avatar?: string | null;
31
+ portrait?: PortraitRefs | null;
32
+ anamAvatarId?: string | null;
33
+ voiceId?: string | null;
34
+ }
35
+ /** Host design tokens (P1) — used by the Theater (P5) + chip accent. */
36
+ export interface DesignTokens {
37
+ fontFamily?: string;
38
+ fontFamilyMono?: string;
39
+ radius?: string;
40
+ spacing?: string;
41
+ light?: ColorScheme;
42
+ dark?: ColorScheme;
43
+ source?: string[];
44
+ }
45
+ export interface ColorScheme {
46
+ primary?: string;
47
+ primaryForeground?: string;
48
+ accent?: string;
49
+ background?: string;
50
+ foreground?: string;
51
+ muted?: string;
52
+ border?: string;
53
+ }
54
+ /** The `presence` SSE event payload (identity, no ritual — connect /
55
+ * reconnect). */
56
+ export interface PresenceEvent {
57
+ stage: BowtieStage | null;
58
+ copilot: PresenceCopilot | null;
59
+ designTokens: DesignTokens | null;
60
+ }
61
+ /** The `copilot_changed` SSE event payload (P4 handoff — crossfade +
62
+ * greeting; `firstMeeting` adds the wave + intro note). */
63
+ export interface CopilotChangedEvent {
64
+ stage: BowtieStage | null;
65
+ copilot: PresenceCopilot;
66
+ firstMeeting: boolean;
67
+ designTokens: DesignTokens | null;
68
+ }
69
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/presence/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE3E,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,CAAA;AAE3C;+CAC+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;CACF;AAED,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,QAAQ,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAED,wEAAwE;AACxE,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;kBACkB;AAClB,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;IACzB,OAAO,EAAE,eAAe,GAAG,IAAI,CAAA;IAC/B,YAAY,EAAE,YAAY,GAAG,IAAI,CAAA;CAClC;AAED;4DAC4D;AAC5D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;IACzB,OAAO,EAAE,eAAe,CAAA;IACxB,YAAY,EAAE,OAAO,CAAA;IACrB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAA;CAClC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Presence types — mirror the server's compiled presence manifest
3
+ * (server/.../runtime/presenceManifest.ts). The SDK ships to customer
4
+ * codebases and can't import server internals, so these are duplicated
5
+ * (the same pattern as BowtieStage in ../types.ts).
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/presence/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Anam face — P6 (copilot-voice-stage-design.md §1, §2).
3
+ *
4
+ * The speaking face + voice. Anam runs with its brain disabled
5
+ * (llmId CUSTOMER_CLIENT_V1, set at mint) so it does native TTS +
6
+ * avatar lip-sync over text we stream in — the Realtime model's text
7
+ * deltas, sentence-chunked. NO audio forwarding (the old widget's
8
+ * BYO-audio path is deleted). This is the de-Vue-ified port of tutorLM's
9
+ * anamSessionManager.
10
+ *
11
+ * @anam-ai/js-sdk is an OPTIONAL dependency, lazy-loaded only when a
12
+ * Stage opens (keeps the base SDK lean — like rrweb). The specifier is a
13
+ * variable so the base build doesn't require it installed; if it's
14
+ * absent, voice is gracefully unavailable.
15
+ */
16
+ export interface AnamFace {
17
+ /** Speak a sentence (the model's text → Anam TTS + lip-sync). */
18
+ enqueueSentence(text: string): void;
19
+ /** Barge-in: stop mid-utterance when the user starts speaking. */
20
+ interrupt(): void;
21
+ stop(): void;
22
+ }
23
+ /**
24
+ * Connect Anam to a <video> element and return the text sink. Anam owns
25
+ * no microphone (`disableInputAudio: true`) — the Realtime model does.
26
+ */
27
+ export declare function startAnamFace(opts: {
28
+ sessionToken: string;
29
+ videoEl: HTMLVideoElement;
30
+ onError?: (err: Error) => void;
31
+ }): Promise<AnamFace>;
32
+ //# sourceMappingURL=anamFace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anamFace.d.ts","sourceRoot":"","sources":["../../src/stage/anamFace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,MAAM,WAAW,QAAQ;IACvB,iEAAiE;IACjE,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,kEAAkE;IAClE,SAAS,IAAI,IAAI,CAAA;IACjB,IAAI,IAAI,IAAI,CAAA;CACb;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,gBAAgB,CAAA;IACzB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAA;CAC/B,GAAG,OAAO,CAAC,QAAQ,CAAC,CAyDpB"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Anam face — P6 (copilot-voice-stage-design.md §1, §2).
3
+ *
4
+ * The speaking face + voice. Anam runs with its brain disabled
5
+ * (llmId CUSTOMER_CLIENT_V1, set at mint) so it does native TTS +
6
+ * avatar lip-sync over text we stream in — the Realtime model's text
7
+ * deltas, sentence-chunked. NO audio forwarding (the old widget's
8
+ * BYO-audio path is deleted). This is the de-Vue-ified port of tutorLM's
9
+ * anamSessionManager.
10
+ *
11
+ * @anam-ai/js-sdk is an OPTIONAL dependency, lazy-loaded only when a
12
+ * Stage opens (keeps the base SDK lean — like rrweb). The specifier is a
13
+ * variable so the base build doesn't require it installed; if it's
14
+ * absent, voice is gracefully unavailable.
15
+ */
16
+ const ANAM_SPECIFIER = '@anam-ai/js-sdk';
17
+ /**
18
+ * Connect Anam to a <video> element and return the text sink. Anam owns
19
+ * no microphone (`disableInputAudio: true`) — the Realtime model does.
20
+ */
21
+ export async function startAnamFace(opts) {
22
+ // Variable specifier → not statically resolved at build time.
23
+ const mod = await import(ANAM_SPECIFIER);
24
+ const createClient = mod.createClient ?? mod.default?.createClient;
25
+ if (typeof createClient !== 'function') {
26
+ throw new Error('@anam-ai/js-sdk: createClient not found (version mismatch)');
27
+ }
28
+ const client = createClient(opts.sessionToken, { disableInputAudio: true });
29
+ // Bind the avatar to the video element (API name varies by version).
30
+ const videoId = ensureId(opts.videoEl);
31
+ if (typeof client.streamToVideoElement === 'function') {
32
+ await client.streamToVideoElement(videoId);
33
+ }
34
+ else if (typeof client.startSession === 'function') {
35
+ await client.startSession();
36
+ }
37
+ let stream = null;
38
+ const ensureStream = () => {
39
+ if (stream)
40
+ return stream;
41
+ if (typeof client.createTalkMessageStream === 'function') {
42
+ stream = client.createTalkMessageStream();
43
+ }
44
+ return stream;
45
+ };
46
+ return {
47
+ enqueueSentence(text) {
48
+ const t = text.trim();
49
+ if (!t)
50
+ return;
51
+ try {
52
+ const s = ensureStream();
53
+ if (s?.streamMessageChunk)
54
+ s.streamMessageChunk(t, false);
55
+ else if (typeof client.talk === 'function')
56
+ void client.talk(t);
57
+ }
58
+ catch (err) {
59
+ opts.onError?.(err instanceof Error ? err : new Error(String(err)));
60
+ }
61
+ },
62
+ interrupt() {
63
+ try {
64
+ // End the current utterance + drop the stream so the next
65
+ // sentence starts a fresh turn (stale chunks are abandoned).
66
+ if (stream?.endMessage)
67
+ stream.endMessage();
68
+ else if (typeof client.interruptPersona === 'function')
69
+ client.interruptPersona();
70
+ }
71
+ catch { /* best-effort */ }
72
+ stream = null;
73
+ },
74
+ stop() {
75
+ try {
76
+ stream?.endMessage?.();
77
+ }
78
+ catch { /* */ }
79
+ stream = null;
80
+ try {
81
+ if (typeof client.stopStreaming === 'function')
82
+ void client.stopStreaming();
83
+ else if (typeof client.disconnect === 'function')
84
+ void client.disconnect();
85
+ }
86
+ catch { /* */ }
87
+ },
88
+ };
89
+ }
90
+ function ensureId(el) {
91
+ if (!el.id)
92
+ el.id = `holostaff-anam-${Math.random().toString(36).slice(2, 9)}`;
93
+ return el.id;
94
+ }
95
+ //# sourceMappingURL=anamFace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anamFace.js","sourceRoot":"","sources":["../../src/stage/anamFace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Voice Stage — P6 orchestration (copilot-voice-stage-design.md §3).
3
+ *
4
+ * Path A lifecycle: mint → connect (Anam face + text-mode Realtime brain)
5
+ * → converse (Realtime text deltas → sentence-chunk → Anam TTS) →
6
+ * barge-in → teardown. The Stage opens from the chip click or a note's
7
+ * "Talk"; while open it reports `conversationActive` so the runtime
8
+ * suppresses autonomous fires (the copilot doesn't interrupt itself).
9
+ *
10
+ * The voice engine (realtime.ts, anamFace.ts) + UI (ui.ts) are lazy —
11
+ * this whole module + the Anam SDK load only when a Stage first opens.
12
+ */
13
+ import { type TransportConfig } from '../transport.js';
14
+ import type { DockCorner } from '../types.js';
15
+ import type { PresenceBinding } from '../presence/index.js';
16
+ import type { TheaterBinding } from '../theater/index.js';
17
+ export interface StageDeps {
18
+ cfg: TransportConfig;
19
+ getSessionId: () => string;
20
+ buildBody: () => Record<string, unknown>;
21
+ presence: PresenceBinding;
22
+ /** Theater for the present() tool (voice-driven show). May be null. */
23
+ theater: TheaterBinding | null;
24
+ dock: DockCorner;
25
+ /** Report Stage open/close so the runtime can suppress fires. */
26
+ reportConversationActive: (active: boolean) => void;
27
+ }
28
+ export interface StageSeed {
29
+ /** The suggestion the visitor tapped "Talk" on. */
30
+ intent?: string;
31
+ }
32
+ export interface StageBinding {
33
+ open(seed?: StageSeed): void;
34
+ close(): void;
35
+ isOpen(): boolean;
36
+ dispose(): void;
37
+ }
38
+ export declare function startStage(deps: StageDeps): StageBinding;
39
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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;AAKzD,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,OAAO,IAAI,IAAI,CAAA;CAChB;AAyBD,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,YAAY,CA+IxD"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * Voice Stage — P6 orchestration (copilot-voice-stage-design.md §3).
3
+ *
4
+ * Path A lifecycle: mint → connect (Anam face + text-mode Realtime brain)
5
+ * → converse (Realtime text deltas → sentence-chunk → Anam TTS) →
6
+ * barge-in → teardown. The Stage opens from the chip click or a note's
7
+ * "Talk"; while open it reports `conversationActive` so the runtime
8
+ * suppresses autonomous fires (the copilot doesn't interrupt itself).
9
+ *
10
+ * The voice engine (realtime.ts, anamFace.ts) + UI (ui.ts) are lazy —
11
+ * this whole module + the Anam SDK load only when a Stage first opens.
12
+ */
13
+ import { postJsonResult } from '../transport.js';
14
+ import { connectRealtime } from './realtime.js';
15
+ import { startAnamFace } from './anamFace.js';
16
+ import { startStageUi } from './ui.js';
17
+ const PRESENT_TOOL = {
18
+ name: 'present',
19
+ description: 'Show a visual frame in the Theater when a picture beats words. Call again to show the next thing.',
20
+ parameters: {
21
+ type: 'object',
22
+ properties: {
23
+ intent: { type: 'string', description: 'What to show, e.g. "how attention works".' },
24
+ context: { type: 'string', description: 'Optional extra detail for the frame.' },
25
+ },
26
+ required: ['intent'],
27
+ },
28
+ };
29
+ export function startStage(deps) {
30
+ if (typeof window === 'undefined') {
31
+ return { open: () => { }, close: () => { }, isOpen: () => false, dispose: () => { } };
32
+ }
33
+ let open = false;
34
+ let ui = null;
35
+ let face = null;
36
+ let realtime = null;
37
+ let micStream = null;
38
+ let sentenceBuf = '';
39
+ const reportErr = (err) => {
40
+ deps.cfg.onError?.(err, { method: 'STAGE', path: '(voice)' });
41
+ };
42
+ const teardown = () => {
43
+ open = false;
44
+ deps.reportConversationActive(false);
45
+ try {
46
+ realtime?.close();
47
+ }
48
+ catch { /* */ }
49
+ try {
50
+ face?.stop();
51
+ }
52
+ catch { /* */ }
53
+ try {
54
+ micStream?.getTracks().forEach(t => t.stop());
55
+ }
56
+ catch { /* */ }
57
+ try {
58
+ ui?.destroy();
59
+ }
60
+ catch { /* */ }
61
+ realtime = null;
62
+ face = null;
63
+ micStream = null;
64
+ ui = null;
65
+ sentenceBuf = '';
66
+ };
67
+ const flushSentences = (force) => {
68
+ // Emit complete sentences to Anam as they form; on force (turn done)
69
+ // flush whatever remains.
70
+ const re = /[^.!?]+[.!?]+(\s|$)/g;
71
+ let m;
72
+ let lastIdx = 0;
73
+ while ((m = re.exec(sentenceBuf)) !== null) {
74
+ face?.enqueueSentence(m[0]);
75
+ lastIdx = re.lastIndex;
76
+ }
77
+ sentenceBuf = sentenceBuf.slice(lastIdx);
78
+ if (force && sentenceBuf.trim()) {
79
+ face?.enqueueSentence(sentenceBuf);
80
+ sentenceBuf = '';
81
+ }
82
+ };
83
+ const connect = async (seed) => {
84
+ // Mic (STT) — a user gesture (the click opening the Stage) satisfies
85
+ // the autoplay/permission requirement. No mic → degrade to "show".
86
+ try {
87
+ micStream = await navigator.mediaDevices.getUserMedia({ audio: true });
88
+ }
89
+ catch {
90
+ reportErr(new Error('Microphone unavailable — voice needs mic access on the host origin.'));
91
+ if (deps.theater && seed?.intent)
92
+ deps.theater.present({ intent: seed.intent });
93
+ teardown();
94
+ return;
95
+ }
96
+ const mint = await postJsonResult(deps.cfg, `/api/runtime/sessions/${deps.getSessionId()}/voice`, deps.buildBody());
97
+ if (!mint || !mint.ephemeralKey || !mint.anamSessionToken) {
98
+ reportErr(new Error('voice mint failed or returned incomplete session'));
99
+ teardown();
100
+ return;
101
+ }
102
+ const copilot = deps.presence.getCopilot();
103
+ ui = startStageUi({
104
+ dock: deps.dock,
105
+ copilotName: mint.copilotName || copilot?.name || 'Copilot',
106
+ scopeLine: copilot?.scopeLine,
107
+ onClose: () => close(),
108
+ });
109
+ ui.setState('connecting');
110
+ try {
111
+ face = await startAnamFace({ sessionToken: mint.anamSessionToken, videoEl: ui.video, onError: reportErr });
112
+ }
113
+ catch (err) {
114
+ reportErr(err instanceof Error ? err : new Error('anam connect failed'));
115
+ teardown();
116
+ return;
117
+ }
118
+ try {
119
+ realtime = await connectRealtime({
120
+ ephemeralKey: mint.ephemeralKey,
121
+ realtimeUrl: mint.realtimeUrl,
122
+ realtimeModel: mint.realtimeModel,
123
+ instructions: mint.instructions,
124
+ tools: [PRESENT_TOOL],
125
+ micStream,
126
+ seedMessage: seed?.intent
127
+ ? `The visitor tapped "Talk" on your suggestion: "${seed.intent}". Open the conversation on that.`
128
+ : undefined,
129
+ }, {
130
+ onTextDelta: (delta) => {
131
+ ui?.setState('speaking');
132
+ sentenceBuf += delta;
133
+ ui?.appendCaption(delta);
134
+ flushSentences(false);
135
+ },
136
+ onTurnDone: () => {
137
+ flushSentences(true);
138
+ ui?.setState('listening');
139
+ },
140
+ onUserSpeechStarted: () => {
141
+ sentenceBuf = '';
142
+ face?.interrupt();
143
+ ui?.setState('listening');
144
+ },
145
+ onToolCall: ({ name, args, callId }) => {
146
+ if (name === 'present' && deps.theater) {
147
+ const intent = typeof args.intent === 'string' ? args.intent : '';
148
+ const context = typeof args.context === 'string' ? args.context : undefined;
149
+ if (intent)
150
+ deps.theater.present({ intent, context });
151
+ realtime?.sendToolResult(callId, { ok: true });
152
+ }
153
+ else {
154
+ realtime?.sendToolResult(callId, { error: `unknown tool ${name}` });
155
+ }
156
+ },
157
+ onError: reportErr,
158
+ });
159
+ ui?.setState('listening');
160
+ }
161
+ catch (err) {
162
+ reportErr(err instanceof Error ? err : new Error('realtime connect failed'));
163
+ teardown();
164
+ }
165
+ };
166
+ const close = () => { if (open)
167
+ teardown(); };
168
+ return {
169
+ open(seed) {
170
+ if (open)
171
+ return;
172
+ open = true;
173
+ deps.reportConversationActive(true);
174
+ void connect(seed);
175
+ },
176
+ close,
177
+ isOpen: () => open,
178
+ dispose() { if (open)
179
+ teardown(); },
180
+ };
181
+ }
182
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stage/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Realtime session — P6 (copilot-voice-stage-design.md §1, §2).
3
+ *
4
+ * The conversational brain + ears: GPT/Azure Realtime over WebRTC. It
5
+ * owns the mic (STT), runs the LLM, does turn-taking / VAD / barge-in,
6
+ * and — in **text mode** (modalities: ['text']) — emits TEXT deltas +
7
+ * tool calls over the data channel. NO audio output: the spoken voice is
8
+ * Anam's native TTS, fed the text (Path A). This is the de-Vue-ified
9
+ * port of tutorLM's useWebRTC + useToolDataChannel.
10
+ */
11
+ export interface RealtimeTool {
12
+ name: string;
13
+ description: string;
14
+ parameters: Record<string, unknown>;
15
+ }
16
+ export interface RealtimeConnectOptions {
17
+ ephemeralKey: string;
18
+ /** Provider SDP endpoint (from the mint). */
19
+ realtimeUrl: string;
20
+ realtimeModel: string;
21
+ /** System prompt — already set at mint, reinforced on session.update. */
22
+ instructions?: string;
23
+ tools: RealtimeTool[];
24
+ micStream: MediaStream;
25
+ /** When opened from a note's "Talk", seed the opening turn so the
26
+ * copilot speaks to that suggestion (design §2.3). */
27
+ seedMessage?: string;
28
+ }
29
+ export interface RealtimeCallbacks {
30
+ /** A text delta from the model (sentence-chunk → Anam). */
31
+ onTextDelta(delta: string, turnId: string): void;
32
+ /** The model finished a turn (flush the sentence buffer). */
33
+ onTurnDone(turnId: string): void;
34
+ /** Server VAD detected the user started speaking → barge-in. */
35
+ onUserSpeechStarted(): void;
36
+ /** The model invoked a tool. */
37
+ onToolCall(call: {
38
+ name: string;
39
+ args: Record<string, unknown>;
40
+ callId: string;
41
+ }): void;
42
+ onError(err: Error): void;
43
+ }
44
+ export interface RealtimeSession {
45
+ /** Return a tool result + ask the model to continue. */
46
+ sendToolResult(callId: string, output: unknown): void;
47
+ close(): void;
48
+ }
49
+ export declare function connectRealtime(opts: RealtimeConnectOptions, cb: RealtimeCallbacks): Promise<RealtimeSession>;
50
+ //# sourceMappingURL=realtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../src/stage/realtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;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;CACrB;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,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,KAAK,IAAI,IAAI,CAAA;CACd;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,sBAAsB,EAC5B,EAAE,EAAE,iBAAiB,GACpB,OAAO,CAAC,eAAe,CAAC,CAyH1B"}