gemi 0.133.0 → 0.135.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 (47) hide show
  1. package/dist/ai/index.d.ts +2 -2
  2. package/dist/ai/index.d.ts.map +1 -1
  3. package/dist/ai/index.js +9 -9
  4. package/dist/ai/index.js.map +4 -4
  5. package/dist/ai/providers/realtime.d.ts +75 -4
  6. package/dist/ai/providers/realtime.d.ts.map +1 -1
  7. package/dist/ai/providers/sideband.d.ts +7 -2
  8. package/dist/ai/providers/sideband.d.ts.map +1 -1
  9. package/dist/ai/voice/energyVad.d.ts +42 -0
  10. package/dist/ai/voice/energyVad.d.ts.map +1 -0
  11. package/dist/ai/voice/index.d.ts +7 -0
  12. package/dist/ai/voice/index.d.ts.map +1 -1
  13. package/dist/ai/voice/index.js +601 -1
  14. package/dist/ai/voice/index.js.map +1 -1
  15. package/dist/ai/voice/liveTranscription.d.ts +99 -0
  16. package/dist/ai/voice/liveTranscription.d.ts.map +1 -0
  17. package/dist/ai/voice/transcriptionState.d.ts +52 -0
  18. package/dist/ai/voice/transcriptionState.d.ts.map +1 -0
  19. package/dist/ai/voice/useLiveTranscription.d.ts +86 -0
  20. package/dist/ai/voice/useLiveTranscription.d.ts.map +1 -0
  21. package/dist/bin/gemi.js.map +1 -1
  22. package/dist/chunk-6hstj70n.js +24 -0
  23. package/dist/{chunk-s21kn0x8.js.map → chunk-6hstj70n.js.map} +3 -3
  24. package/dist/{chunk-wevj4981.js → chunk-e2tjw0qx.js} +7 -7
  25. package/dist/{chunk-wevj4981.js.map → chunk-e2tjw0qx.js.map} +4 -4
  26. package/dist/{chunk-s55t7rxw.js → chunk-n68a4r72.js} +1 -1
  27. package/dist/{chunk-b6yb3svm.js → chunk-rhjh79np.js} +2 -2
  28. package/dist/{chunk-b6yb3svm.js.map → chunk-rhjh79np.js.map} +1 -1
  29. package/dist/{chunk-4pvv8qs0.js → chunk-sxcxmwbt.js} +1 -1
  30. package/dist/client/index.js +8 -2
  31. package/dist/client/index.js.map +1 -1
  32. package/dist/client/islands.d.ts +10 -0
  33. package/dist/client/islands.d.ts.map +1 -1
  34. package/dist/facades/index.js +1 -1
  35. package/dist/http/index.js +1 -1
  36. package/dist/i18n/index.js +1 -1
  37. package/dist/kernel/index.js +1 -1
  38. package/dist/server/index.js +1 -1
  39. package/dist/server/modulePreloads.d.ts +14 -2
  40. package/dist/server/modulePreloads.d.ts.map +1 -1
  41. package/dist/services/index.js +1 -1
  42. package/dist/services/router/staticDocument.d.ts +6 -3
  43. package/dist/services/router/staticDocument.d.ts.map +1 -1
  44. package/package.json +1 -1
  45. package/dist/chunk-s21kn0x8.js +0 -24
  46. /package/dist/{chunk-s55t7rxw.js.map → chunk-n68a4r72.js.map} +0 -0
  47. /package/dist/{chunk-4pvv8qs0.js.map → chunk-sxcxmwbt.js.map} +0 -0
@@ -86,6 +86,9 @@ export type RealtimeTurnDetection = {
86
86
  * does not need a gemi release.
87
87
  */
88
88
  export type RealtimeSession = {
89
+ /** A voice-agent session, the default. See `TranscriptionSession` for
90
+ * speech-to-text only. */
91
+ type?: "realtime";
89
92
  /** Defaults to the provider's model (the deployment, on Azure). */
90
93
  model?: string;
91
94
  instructions?: string;
@@ -113,14 +116,72 @@ export type RealtimeSession = {
113
116
  /** Merged into the vendor's session object last. */
114
117
  vendor?: Record<string, unknown>;
115
118
  };
119
+ /** OpenAI's recommended live speech-to-text model (realtime transcription
120
+ * guide, 10-2026): partial deltas as speech arrives, the final transcript on
121
+ * `input_audio_buffer.commit`. */
122
+ export declare const DEFAULT_TRANSCRIPTION_MODEL = "gpt-live-transcribe";
123
+ /** How long the model waits before emitting text: lower gives earlier
124
+ * partials, higher gives the model more audio and fewer errors. */
125
+ export type TranscriptionDelay = "minimal" | "low" | "medium" | "high" | "xhigh";
116
126
  /**
117
- * gemi's session onto the vendor's.
127
+ * A transcription session (`session.type: "transcription"`): the user's audio
128
+ * in, transcript deltas and final transcripts out, no spoken or written
129
+ * answer. Mapped by `toVendorSession` onto the vendor's
130
+ * `RealtimeTranscriptionSessionCreateRequest`, which has no top-level `model`:
131
+ * the model is the transcription's (`audio.input.transcription.model`).
132
+ *
133
+ * With `gpt-live-transcribe` there is no server-side turn detection (neither
134
+ * `server_vad` nor `semantic_vad`), so `turnDetection` defaults to `null` and
135
+ * the client commits each turn (`input_audio_buffer.commit`) when it hears the
136
+ * user stop — what `useLiveTranscription` in `gemi/ai/voice` does.
137
+ *
138
+ * @experimental Follows OpenAI's realtime transcription guide; not yet run
139
+ * against a live session, and not confirmed on Azure.
140
+ */
141
+ export type TranscriptionSession = {
142
+ type: "transcription";
143
+ /** Default `gpt-live-transcribe`. On Azure, the transcription deployment. */
144
+ model?: string;
145
+ /** Expected input languages (ISO 639-1 such as `en`, `tr`, or the selected
146
+ * ISO 639-3 / `zh-*` codes the vendor lists). `gpt-live-transcribe` and
147
+ * `gpt-transcribe` read this one. */
148
+ languages?: string[];
149
+ /** The single-language hint older models (`gpt-4o-transcribe`,
150
+ * `whisper-1`) read. Never together with `languages`. */
151
+ language?: string;
152
+ /** What the recording is about, in a sentence or two. */
153
+ prompt?: string;
154
+ /** Product names, acronyms and other literal terms likely to be said: hints,
155
+ * not required output. One line each, without `<` or `>`. */
156
+ keywords?: string[];
157
+ /** Latency against accuracy. See `TranscriptionDelay`. */
158
+ delay?: TranscriptionDelay;
159
+ noiseReduction?: "near_field" | "far_field" | null;
160
+ /** `null` by default (the client commits). Only for models that support
161
+ * server-side detection; `gpt-live-transcribe` does not. */
162
+ turnDetection?: RealtimeTurnDetection | null;
163
+ /** Adds `item.input_audio_transcription.logprobs` to `include`, for models
164
+ * that return them. */
165
+ logprobs?: boolean;
166
+ /** Merged into the vendor's session object last. */
167
+ vendor?: Record<string, unknown>;
168
+ };
169
+ /** Either kind of session `createCall`, `clientSecret` and the sideband's
170
+ * `updateSession` take. */
171
+ export type AnyRealtimeSession = RealtimeSession | TranscriptionSession;
172
+ /** gemi's transcription session onto the vendor's. Refuses, before any
173
+ * request, what the vendor documents it rejects. */
174
+ export declare function toVendorTranscriptionSession(session: TranscriptionSession): Record<string, unknown>;
175
+ /**
176
+ * gemi's session onto the vendor's. A `TranscriptionSession` goes to
177
+ * `toVendorTranscriptionSession` (its model is the transcription's, so the
178
+ * provider's realtime model is not used).
118
179
  *
119
180
  * `model` is written only when there is one: a `session.update` on a live call
120
181
  * must not try to change the model, and `createCall` always passes the
121
182
  * provider's.
122
183
  */
123
- export declare function toVendorSession(session: RealtimeSession, model?: string): Record<string, unknown>;
184
+ export declare function toVendorSession(session: AnyRealtimeSession, model?: string): Record<string, unknown>;
124
185
  /**
125
186
  * A realtime `response.done`'s `usage` onto gemi's.
126
187
  *
@@ -172,7 +233,9 @@ export type CreateCallParams = {
172
233
  * the events alone.
173
234
  */
174
235
  webrtcFilter?: boolean;
175
- session?: RealtimeSession;
236
+ /** A voice-agent session, or `{ type: "transcription", … }` for
237
+ * speech-to-text only. */
238
+ session?: AnyRealtimeSession;
176
239
  /**
177
240
  * A stable, non-identifying id for the end user (e.g. a hash of their id),
178
241
  * sent as `OpenAI-Safety-Identifier` so abuse is attributed to a user and not
@@ -188,9 +251,13 @@ export type CreateCallResult = {
188
251
  callId: string;
189
252
  };
190
253
  export type ClientSecretParams = {
191
- session?: RealtimeSession;
254
+ /** A voice-agent session, or `{ type: "transcription", … }`. */
255
+ session?: AnyRealtimeSession;
192
256
  /** 10–7200, default 600. */
193
257
  ttlSeconds?: number;
258
+ /** Sent as `OpenAI-Safety-Identifier`. The vendor binds it to the secret,
259
+ * so the browser need not send it when it connects. */
260
+ safetyIdentifier?: string;
194
261
  signal?: AbortSignal;
195
262
  };
196
263
  export type ClientSecret = {
@@ -199,6 +266,10 @@ export type ClientSecret = {
199
266
  expiresAt: number;
200
267
  /** The session the vendor resolved, verbatim. */
201
268
  session: unknown;
269
+ /** Where a browser holding this secret posts its SDP offer
270
+ * (`Authorization: Bearer <value>`, `Content-Type: application/sdp`):
271
+ * `…/realtime/calls` on this provider's host. */
272
+ callsUrl: string;
202
273
  };
203
274
  export type RealtimeClientOptions = {
204
275
  /** The model a call uses when its session names none. The deployment, on Azure. */
@@ -1 +1 @@
1
- {"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../../ai/providers/realtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../../ai/providers/realtime.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Usage } from "../types";
2
- import type { RealtimeSession } from "./realtime";
2
+ import type { AnyRealtimeSession } from "./realtime";
3
3
  /**
4
4
  * A realtime call's sideband: the server's own WebSocket to a call the browser
5
5
  * joined over WebRTC (`wss://…/realtime?call_id=…`).
@@ -73,6 +73,11 @@ export type RealtimeServerEvent = {
73
73
  transcriptionUsage?: Usage;
74
74
  /** gemi's: a duration-billed transcription's seconds. */
75
75
  transcriptionSeconds?: number;
76
+ } | {
77
+ type: "conversation.item.input_audio_transcription.failed";
78
+ item_id: string;
79
+ content_index?: number;
80
+ error: RealtimeErrorDetail;
76
81
  } | {
77
82
  type: "response.created";
78
83
  response: Record<string, any>;
@@ -211,7 +216,7 @@ export declare class RealtimeSideband implements AsyncIterable<RealtimeEvent> {
211
216
  constructor(init: SidebandInit);
212
217
  /** Sends a client event; queued while the socket is (re)connecting. */
213
218
  send(event: RealtimeClientEvent): void;
214
- updateSession(session: RealtimeSession): void;
219
+ updateSession(session: AnyRealtimeSession): void;
215
220
  /** Adds an item to the conversation without asking for a response. */
216
221
  addItem(item: Record<string, unknown>): void;
217
222
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sideband.d.ts","sourceRoot":"","sources":["../../../ai/providers/sideband.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sideband.d.ts","sourceRoot":"","sources":["../../../ai/providers/sideband.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * The built-in end-of-speech detector for `useLiveTranscription` (#929): a
3
+ * small energy (RMS) detector with an adaptive noise floor and hysteresis.
4
+ *
5
+ * WHY ENERGY AND NOT A MODEL. `gpt-live-transcribe` has no server-side turn
6
+ * detection, so the browser decides when the user stopped and commits the
7
+ * turn. A neural VAD (Silero through `@ricky0123/vad-web`) is better in
8
+ * noise, but it ships an ONNX runtime and a model, megabytes against the few
9
+ * hundred bytes here, and needs its wasm/model files served from the app's
10
+ * origin. What this detector has to do is narrow: the user is close to the
11
+ * mic, the browser's own noise suppression and echo cancellation are on, and
12
+ * the question is only "did the speech stop for `silenceMs`". An adaptive
13
+ * floor handles a fan or a room; a false end in a long pause costs one early
14
+ * commit, after which the rest of the sentence is the next turn. Apps that
15
+ * need more plug a model in through `vad` (see `VoiceActivityDetector`).
16
+ *
17
+ * Pure: frames in (RMS and a timestamp), `"start"` / `"end"` out, so it is
18
+ * tested without audio.
19
+ */
20
+ export type EnergyVadOptions = {
21
+ /** Silence after speech before the turn ends. Default 350 ms. */
22
+ silenceMs?: number;
23
+ /** Speech must last this long to count, so a click or a cough doesn't open a
24
+ * turn. Default 120 ms. */
25
+ minSpeechMs?: number;
26
+ /** The lowest RMS (0–1 float samples) that can count as speech, whatever
27
+ * the noise floor. Default 0.015. */
28
+ threshold?: number;
29
+ /** Speech is RMS above the noise floor times this. Default 3. */
30
+ floorRatio?: number;
31
+ };
32
+ export declare const DEFAULT_SILENCE_MS = 350;
33
+ export type EnergyVad = {
34
+ /** One analysis frame: its RMS and when it was taken (ms). */
35
+ push(rms: number, at: number): "start" | "end" | null;
36
+ readonly speaking: boolean;
37
+ reset(): void;
38
+ };
39
+ export declare function createEnergyVad(options?: EnergyVadOptions): EnergyVad;
40
+ /** RMS of float time-domain samples. */
41
+ export declare function rmsOf(samples: Float32Array): number;
42
+ //# sourceMappingURL=energyVad.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"energyVad.d.ts","sourceRoot":"","sources":["../../../ai/voice/energyVad.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;gCAC4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;0CACsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,MAAM,MAAM,SAAS,GAAG;IACtB,8DAA8D;IAC9D,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAEF,wBAAgB,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,SAAS,CAwDzE;AAED,wCAAwC;AACxC,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAInD"}
@@ -20,4 +20,11 @@
20
20
  export { useVoiceSession } from "./useVoiceSession";
21
21
  export type { UseVoiceSessionParams, UseVoiceSessionResult } from "./useVoiceSession";
22
22
  export type { VoiceCaption, VoiceStatus } from "./wire";
23
+ export { useLiveTranscription } from "./useLiveTranscription";
24
+ export type { LiveTranscriptionStatus, UseLiveTranscriptionOptions, UseLiveTranscriptionResult, } from "./useLiveTranscription";
25
+ export { createEnergyVad, DEFAULT_SILENCE_MS } from "./energyVad";
26
+ export type { EnergyVad, EnergyVadOptions } from "./energyVad";
27
+ export { OPENAI_REALTIME_CALLS_URL } from "./liveTranscription";
28
+ export type { LiveTranscriptionError, LiveTranscriptionToken, VoiceActivityDetector, } from "./liveTranscription";
29
+ export type { TranscriptTurn } from "./transcriptionState";
23
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ai/voice/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACtF,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ai/voice/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACtF,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EACV,uBAAuB,EACvB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAClE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EACV,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}