@deepseek-ai/dsh-experimental-api-speech-to-text 0.1.7-alpha.1

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.
@@ -0,0 +1,432 @@
1
+ /* Generated by @deepseek-ai/dsh-typert-generator from FaceModel — do not edit. */
2
+ import { z } from 'zod'
3
+
4
+ let _deepseek_ai_dsh_experimental_api_speech_to_text_speech_cancelPreparation_parameter_0$schema$value
5
+ const _deepseek_ai_dsh_experimental_api_speech_to_text_speech_cancelPreparation_parameter_0$schema = () => (_deepseek_ai_dsh_experimental_api_speech_to_text_speech_cancelPreparation_parameter_0$schema$value ??= z.intersection(z.string(), z.unknown()))
6
+ let _deepseek_ai_dsh_experimental_api_speech_to_text_speech_cancelPreparation_result$schema$value
7
+ const _deepseek_ai_dsh_experimental_api_speech_to_text_speech_cancelPreparation_result$schema = () => (_deepseek_ai_dsh_experimental_api_speech_to_text_speech_cancelPreparation_result$schema$value ??= z.void())
8
+ let _deepseek_ai_dsh_experimental_api_speech_to_text_speech_catalog_result$schema$value
9
+ const _deepseek_ai_dsh_experimental_api_speech_to_text_speech_catalog_result$schema = () => (_deepseek_ai_dsh_experimental_api_speech_to_text_speech_catalog_result$schema$value ??= z.object({
10
+ 'maxAudioBytes': z.number().readonly(),
11
+ 'maxDurationSeconds': z.number().readonly(),
12
+ 'providers': z.array(z.object({
13
+ 'preparation': z.union([z.intersection(z.object({
14
+ 'phase': z.union([z.literal("cancelled"), z.literal("ready"), z.literal("unprepared"), z.literal("standby")]).readonly(),
15
+ }), z.object({
16
+ 'step': z.union([z.literal("check"), z.literal("model"), z.literal("vad"), z.literal("verify"), z.literal("load")]).readonly().optional(),
17
+ 'steps': z.array(z.object({
18
+ 'kind': z.union([z.literal("check"), z.literal("model"), z.literal("vad"), z.literal("verify"), z.literal("load")]).readonly(),
19
+ 'status': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("running"), z.literal("pending"), z.literal("complete")]).readonly(),
20
+ 'startedAt': z.number().readonly().optional(),
21
+ })).readonly().optional(),
22
+ })), z.intersection(z.object({
23
+ 'phase': z.literal("downloading").readonly(),
24
+ 'resource': z.string().readonly(),
25
+ 'completedBytes': z.number().readonly(),
26
+ 'totalBytes': z.number().readonly().optional(),
27
+ }), z.object({
28
+ 'step': z.union([z.literal("check"), z.literal("model"), z.literal("vad"), z.literal("verify"), z.literal("load")]).readonly().optional(),
29
+ 'steps': z.array(z.object({
30
+ 'kind': z.union([z.literal("check"), z.literal("model"), z.literal("vad"), z.literal("verify"), z.literal("load")]).readonly(),
31
+ 'status': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("running"), z.literal("pending"), z.literal("complete")]).readonly(),
32
+ 'startedAt': z.number().readonly().optional(),
33
+ })).readonly().optional(),
34
+ })), z.intersection(z.object({
35
+ 'phase': z.union([z.literal("checking"), z.literal("loading"), z.literal("waking"), z.literal("cancelling")]).readonly(),
36
+ 'startedAt': z.number().readonly(),
37
+ }), z.object({
38
+ 'step': z.union([z.literal("check"), z.literal("model"), z.literal("vad"), z.literal("verify"), z.literal("load")]).readonly().optional(),
39
+ 'steps': z.array(z.object({
40
+ 'kind': z.union([z.literal("check"), z.literal("model"), z.literal("vad"), z.literal("verify"), z.literal("load")]).readonly(),
41
+ 'status': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("running"), z.literal("pending"), z.literal("complete")]).readonly(),
42
+ 'startedAt': z.number().readonly().optional(),
43
+ })).readonly().optional(),
44
+ })), z.intersection(z.object({
45
+ 'phase': z.literal("failed").readonly(),
46
+ 'message': z.string().readonly(),
47
+ 'download': z.object({
48
+ 'resource': z.string().readonly(),
49
+ 'source': z.string().readonly(),
50
+ 'reason': z.union([z.literal("network"), z.literal("storage"), z.literal("unknown"), z.literal("dns"), z.literal("timeout"), z.literal("certificate"), z.literal("http"), z.literal("integrity")]).readonly(),
51
+ 'code': z.string().readonly().optional(),
52
+ 'status': z.number().readonly().optional(),
53
+ }).readonly().optional(),
54
+ }), z.object({
55
+ 'step': z.union([z.literal("check"), z.literal("model"), z.literal("vad"), z.literal("verify"), z.literal("load")]).readonly().optional(),
56
+ 'steps': z.array(z.object({
57
+ 'kind': z.union([z.literal("check"), z.literal("model"), z.literal("vad"), z.literal("verify"), z.literal("load")]).readonly(),
58
+ 'status': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("running"), z.literal("pending"), z.literal("complete")]).readonly(),
59
+ 'startedAt': z.number().readonly().optional(),
60
+ })).readonly().optional(),
61
+ }))]).readonly(),
62
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
63
+ 'name': z.string().readonly(),
64
+ 'location': z.union([z.literal("host-local"), z.literal("cloud")]).readonly(),
65
+ 'languages': z.array(z.string()).readonly(),
66
+ 'setupEstimate': z.object({
67
+ 'recommendedDiskBytes': z.number().readonly(),
68
+ 'expectedMemoryBytes': z.number().readonly(),
69
+ 'minimumMinutes': z.number().readonly(),
70
+ 'maximumMinutes': z.number().readonly(),
71
+ }).readonly().optional(),
72
+ })).readonly(),
73
+ 'selection': z.object({
74
+ 'providerId': z.intersection(z.string(), z.unknown()).readonly(),
75
+ 'language': z.string().readonly(),
76
+ }).readonly(),
77
+ }))
78
+ let _deepseek_ai_dsh_experimental_api_speech_to_text_speech_configure_parameter_0$schema$value
79
+ const _deepseek_ai_dsh_experimental_api_speech_to_text_speech_configure_parameter_0$schema = () => (_deepseek_ai_dsh_experimental_api_speech_to_text_speech_configure_parameter_0$schema$value ??= z.object({
80
+ 'providerId': z.intersection(z.string(), z.unknown()).readonly().optional(),
81
+ 'language': z.string().readonly().optional(),
82
+ }))
83
+ let _deepseek_ai_dsh_experimental_api_speech_to_text_speech_configure_result$schema$value
84
+ const _deepseek_ai_dsh_experimental_api_speech_to_text_speech_configure_result$schema = () => (_deepseek_ai_dsh_experimental_api_speech_to_text_speech_configure_result$schema$value ??= z.void())
85
+ let _deepseek_ai_dsh_experimental_api_speech_to_text_speech_follow_result$schema$value
86
+ const _deepseek_ai_dsh_experimental_api_speech_to_text_speech_follow_result$schema = () => (_deepseek_ai_dsh_experimental_api_speech_to_text_speech_follow_result$schema$value ??= z.object({
87
+ 'maxAudioBytes': z.number().readonly(),
88
+ 'maxDurationSeconds': z.number().readonly(),
89
+ 'providers': z.array(z.object({
90
+ 'preparation': z.union([z.intersection(z.object({
91
+ 'phase': z.union([z.literal("cancelled"), z.literal("ready"), z.literal("unprepared"), z.literal("standby")]).readonly(),
92
+ }), z.object({
93
+ 'step': z.union([z.literal("check"), z.literal("model"), z.literal("vad"), z.literal("verify"), z.literal("load")]).readonly().optional(),
94
+ 'steps': z.array(z.object({
95
+ 'kind': z.union([z.literal("check"), z.literal("model"), z.literal("vad"), z.literal("verify"), z.literal("load")]).readonly(),
96
+ 'status': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("running"), z.literal("pending"), z.literal("complete")]).readonly(),
97
+ 'startedAt': z.number().readonly().optional(),
98
+ })).readonly().optional(),
99
+ })), z.intersection(z.object({
100
+ 'phase': z.literal("downloading").readonly(),
101
+ 'resource': z.string().readonly(),
102
+ 'completedBytes': z.number().readonly(),
103
+ 'totalBytes': z.number().readonly().optional(),
104
+ }), z.object({
105
+ 'step': z.union([z.literal("check"), z.literal("model"), z.literal("vad"), z.literal("verify"), z.literal("load")]).readonly().optional(),
106
+ 'steps': z.array(z.object({
107
+ 'kind': z.union([z.literal("check"), z.literal("model"), z.literal("vad"), z.literal("verify"), z.literal("load")]).readonly(),
108
+ 'status': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("running"), z.literal("pending"), z.literal("complete")]).readonly(),
109
+ 'startedAt': z.number().readonly().optional(),
110
+ })).readonly().optional(),
111
+ })), z.intersection(z.object({
112
+ 'phase': z.union([z.literal("checking"), z.literal("loading"), z.literal("waking"), z.literal("cancelling")]).readonly(),
113
+ 'startedAt': z.number().readonly(),
114
+ }), z.object({
115
+ 'step': z.union([z.literal("check"), z.literal("model"), z.literal("vad"), z.literal("verify"), z.literal("load")]).readonly().optional(),
116
+ 'steps': z.array(z.object({
117
+ 'kind': z.union([z.literal("check"), z.literal("model"), z.literal("vad"), z.literal("verify"), z.literal("load")]).readonly(),
118
+ 'status': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("running"), z.literal("pending"), z.literal("complete")]).readonly(),
119
+ 'startedAt': z.number().readonly().optional(),
120
+ })).readonly().optional(),
121
+ })), z.intersection(z.object({
122
+ 'phase': z.literal("failed").readonly(),
123
+ 'message': z.string().readonly(),
124
+ 'download': z.object({
125
+ 'resource': z.string().readonly(),
126
+ 'source': z.string().readonly(),
127
+ 'reason': z.union([z.literal("network"), z.literal("storage"), z.literal("unknown"), z.literal("dns"), z.literal("timeout"), z.literal("certificate"), z.literal("http"), z.literal("integrity")]).readonly(),
128
+ 'code': z.string().readonly().optional(),
129
+ 'status': z.number().readonly().optional(),
130
+ }).readonly().optional(),
131
+ }), z.object({
132
+ 'step': z.union([z.literal("check"), z.literal("model"), z.literal("vad"), z.literal("verify"), z.literal("load")]).readonly().optional(),
133
+ 'steps': z.array(z.object({
134
+ 'kind': z.union([z.literal("check"), z.literal("model"), z.literal("vad"), z.literal("verify"), z.literal("load")]).readonly(),
135
+ 'status': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("running"), z.literal("pending"), z.literal("complete")]).readonly(),
136
+ 'startedAt': z.number().readonly().optional(),
137
+ })).readonly().optional(),
138
+ }))]).readonly(),
139
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
140
+ 'name': z.string().readonly(),
141
+ 'location': z.union([z.literal("host-local"), z.literal("cloud")]).readonly(),
142
+ 'languages': z.array(z.string()).readonly(),
143
+ 'setupEstimate': z.object({
144
+ 'recommendedDiskBytes': z.number().readonly(),
145
+ 'expectedMemoryBytes': z.number().readonly(),
146
+ 'minimumMinutes': z.number().readonly(),
147
+ 'maximumMinutes': z.number().readonly(),
148
+ }).readonly().optional(),
149
+ })).readonly(),
150
+ 'selection': z.object({
151
+ 'providerId': z.intersection(z.string(), z.unknown()).readonly(),
152
+ 'language': z.string().readonly(),
153
+ }).readonly(),
154
+ }))
155
+ let _deepseek_ai_dsh_experimental_api_speech_to_text_speech_prepare_parameter_0$schema$value
156
+ const _deepseek_ai_dsh_experimental_api_speech_to_text_speech_prepare_parameter_0$schema = () => (_deepseek_ai_dsh_experimental_api_speech_to_text_speech_prepare_parameter_0$schema$value ??= z.intersection(z.string(), z.unknown()))
157
+ let _deepseek_ai_dsh_experimental_api_speech_to_text_speech_prepare_result$schema$value
158
+ const _deepseek_ai_dsh_experimental_api_speech_to_text_speech_prepare_result$schema = () => (_deepseek_ai_dsh_experimental_api_speech_to_text_speech_prepare_result$schema$value ??= z.void())
159
+ let _deepseek_ai_dsh_experimental_api_speech_to_text_speech_transcribe_parameter_0$schema$value
160
+ const _deepseek_ai_dsh_experimental_api_speech_to_text_speech_transcribe_parameter_0$schema = () => (_deepseek_ai_dsh_experimental_api_speech_to_text_speech_transcribe_parameter_0$schema$value ??= z.object({
161
+ 'audioBase64': z.string().readonly(),
162
+ 'providerId': z.intersection(z.string(), z.unknown()).readonly().optional(),
163
+ 'language': z.string().readonly().optional(),
164
+ }))
165
+ let _deepseek_ai_dsh_experimental_api_speech_to_text_speech_transcribe_result$schema$value
166
+ const _deepseek_ai_dsh_experimental_api_speech_to_text_speech_transcribe_result$schema = () => (_deepseek_ai_dsh_experimental_api_speech_to_text_speech_transcribe_result$schema$value ??= z.object({
167
+ 'text': z.string().readonly(),
168
+ 'audioSeconds': z.number().readonly(),
169
+ 'inferenceSeconds': z.number().readonly(),
170
+ }))
171
+
172
+ export const TYPERT = {
173
+ package: '@deepseek-ai/dsh-experimental-api-speech-to-text',
174
+ face: 'host',
175
+ schemas: [
176
+ ],
177
+ invocations: [
178
+ {
179
+ id: '@deepseek-ai/dsh-experimental-api-speech-to-text#speech/cancelPreparation',
180
+ service: 'speechController',
181
+ namespace: 'speech',
182
+ method: 'cancelPreparation',
183
+ invocation: { kind: 'direct' },
184
+ parameters: [
185
+ {
186
+ name: 'providerId',
187
+ wire: 'providerId',
188
+ source: 'json',
189
+ codec: {
190
+ mode: 'strict',
191
+ typeSymbol: '@deepseek-ai/dsh-experimental-speech-to-text/types#SpeechProviderId',
192
+ create: _deepseek_ai_dsh_experimental_api_speech_to_text_speech_cancelPreparation_parameter_0$schema,
193
+ },
194
+ },
195
+ ],
196
+ result: {
197
+ mode: 'strict',
198
+ typeSymbol: '@deepseek-ai/dsh-experimental-api-speech-to-text#speech/cancelPreparation:result',
199
+ create: _deepseek_ai_dsh_experimental_api_speech_to_text_speech_cancelPreparation_result$schema,
200
+ },
201
+ sourceLocation: {"file":"packages/experimental/api-speech-to-text/src/index.ts","line":79,"column":3},
202
+ },
203
+ {
204
+ id: '@deepseek-ai/dsh-experimental-api-speech-to-text#speech/catalog',
205
+ service: 'speechController',
206
+ namespace: 'speech',
207
+ method: 'catalog',
208
+ invocation: { kind: 'direct' },
209
+ parameters: [
210
+ ],
211
+ result: {
212
+ mode: 'strict',
213
+ typeSymbol: '@deepseek-ai/dsh-experimental-api-speech-to-text/types#SpeechCatalog',
214
+ create: _deepseek_ai_dsh_experimental_api_speech_to_text_speech_catalog_result$schema,
215
+ },
216
+ sourceLocation: {"file":"packages/experimental/api-speech-to-text/src/index.ts","line":44,"column":3},
217
+ },
218
+ {
219
+ id: '@deepseek-ai/dsh-experimental-api-speech-to-text#speech/configure',
220
+ service: 'speechController',
221
+ namespace: 'speech',
222
+ method: 'configure',
223
+ invocation: { kind: 'direct' },
224
+ parameters: [
225
+ {
226
+ name: 'patch',
227
+ wire: 'patch',
228
+ source: 'json',
229
+ codec: {
230
+ mode: 'strict',
231
+ typeSymbol: '@deepseek-ai/dsh-experimental-speech-to-text/types#SpeechSelectionPatch',
232
+ create: _deepseek_ai_dsh_experimental_api_speech_to_text_speech_configure_parameter_0$schema,
233
+ },
234
+ },
235
+ ],
236
+ result: {
237
+ mode: 'strict',
238
+ typeSymbol: '@deepseek-ai/dsh-experimental-api-speech-to-text#speech/configure:result',
239
+ create: _deepseek_ai_dsh_experimental_api_speech_to_text_speech_configure_result$schema,
240
+ },
241
+ sourceLocation: {"file":"packages/experimental/api-speech-to-text/src/index.ts","line":64,"column":3},
242
+ },
243
+ {
244
+ id: '@deepseek-ai/dsh-experimental-api-speech-to-text#speech/follow',
245
+ service: 'speechController',
246
+ namespace: 'speech',
247
+ method: 'follow',
248
+ mode: 'stream',
249
+ invocation: { kind: 'direct' },
250
+ parameters: [
251
+ ],
252
+ cancellation: { parameter: 'signal' },
253
+ result: {
254
+ mode: 'strict',
255
+ typeSymbol: '@deepseek-ai/dsh-experimental-api-speech-to-text/types#SpeechCatalog',
256
+ create: _deepseek_ai_dsh_experimental_api_speech_to_text_speech_follow_result$schema,
257
+ },
258
+ sourceLocation: {"file":"packages/experimental/api-speech-to-text/src/index.ts","line":54,"column":10},
259
+ },
260
+ {
261
+ id: '@deepseek-ai/dsh-experimental-api-speech-to-text#speech/prepare',
262
+ service: 'speechController',
263
+ namespace: 'speech',
264
+ method: 'prepare',
265
+ invocation: { kind: 'direct' },
266
+ parameters: [
267
+ {
268
+ name: 'providerId',
269
+ wire: 'providerId',
270
+ source: 'json',
271
+ codec: {
272
+ mode: 'strict',
273
+ typeSymbol: '@deepseek-ai/dsh-experimental-speech-to-text/types#SpeechProviderId',
274
+ create: _deepseek_ai_dsh_experimental_api_speech_to_text_speech_prepare_parameter_0$schema,
275
+ },
276
+ },
277
+ ],
278
+ result: {
279
+ mode: 'strict',
280
+ typeSymbol: '@deepseek-ai/dsh-experimental-api-speech-to-text#speech/prepare:result',
281
+ create: _deepseek_ai_dsh_experimental_api_speech_to_text_speech_prepare_result$schema,
282
+ },
283
+ sourceLocation: {"file":"packages/experimental/api-speech-to-text/src/index.ts","line":71,"column":3},
284
+ },
285
+ {
286
+ id: '@deepseek-ai/dsh-experimental-api-speech-to-text#speech/transcribe',
287
+ service: 'speechController',
288
+ namespace: 'speech',
289
+ method: 'transcribe',
290
+ invocation: { kind: 'direct' },
291
+ parameters: [
292
+ {
293
+ name: 'request',
294
+ wire: 'request',
295
+ source: 'json',
296
+ codec: {
297
+ mode: 'strict',
298
+ typeSymbol: '@deepseek-ai/dsh-experimental-api-speech-to-text/types#TranscriptionRequest',
299
+ create: _deepseek_ai_dsh_experimental_api_speech_to_text_speech_transcribe_parameter_0$schema,
300
+ },
301
+ },
302
+ ],
303
+ cancellation: { parameter: 'signal' },
304
+ result: {
305
+ mode: 'strict',
306
+ typeSymbol: '@deepseek-ai/dsh-experimental-speech-to-text/types#Transcript',
307
+ create: _deepseek_ai_dsh_experimental_api_speech_to_text_speech_transcribe_result$schema,
308
+ },
309
+ sourceLocation: {"file":"packages/experimental/api-speech-to-text/src/index.ts","line":88,"column":9},
310
+ },
311
+ ],
312
+ model: {
313
+ "services": [
314
+ {
315
+ "description": "Speech calls never activate or submit to an Agent.",
316
+ "summary": "Speech calls never activate or submit to an Agent.",
317
+ "tags": [],
318
+ "jsDoc": "/** Speech calls never activate or submit to an Agent. */",
319
+ "key": "speechController",
320
+ "exportName": "default",
321
+ "members": [
322
+ {
323
+ "kind": "method",
324
+ "name": "catalog",
325
+ "signature": "@Remote catalog(): SpeechCatalog",
326
+ "summary": "Read provider choices without preparing a recognizer.",
327
+ "jsDoc": "/**\n * Read provider choices without preparing a recognizer.\n * @returns available providers, resolved default, and recording limits.\n */"
328
+ },
329
+ {
330
+ "kind": "method",
331
+ "name": "follow",
332
+ "signature": "@Remote({ mode: 'stream' }) async *follow(signal: AbortSignal): AsyncIterable<SpeechCatalog>",
333
+ "summary": "Follow provider readiness independently of Session and preparation lifetimes.",
334
+ "jsDoc": "/**\n * Follow provider readiness independently of Session and preparation lifetimes.\n * @param signal - Client observation lifetime.\n * @returns initial and subsequent complete readiness snapshots.\n */"
335
+ },
336
+ {
337
+ "kind": "method",
338
+ "name": "configure",
339
+ "signature": "@Remote configure(patch: SpeechSelectionPatch): Promise<void>",
340
+ "summary": "Persist the user's recognition preferences.",
341
+ "jsDoc": "/**\n * Persist the user's recognition preferences.\n * @param patch - changed preference fields.\n * @returns after preferences are saved.\n */"
342
+ },
343
+ {
344
+ "kind": "method",
345
+ "name": "prepare",
346
+ "signature": "@Remote prepare(providerId: SpeechProviderId): void",
347
+ "summary": "Start or join one Host-owned preparation task.",
348
+ "jsDoc": "/**\n * Start or join one Host-owned preparation task.\n * @param providerId - selected recognizer.\n */"
349
+ },
350
+ {
351
+ "kind": "method",
352
+ "name": "cancelPreparation",
353
+ "signature": "@Remote cancelPreparation(providerId: SpeechProviderId): Promise<void>",
354
+ "summary": "Explicitly cancel resource preparation.",
355
+ "jsDoc": "/**\n * Explicitly cancel resource preparation.\n * @param providerId - selected recognizer.\n * @returns after the preparation task settles.\n */"
356
+ },
357
+ {
358
+ "kind": "method",
359
+ "name": "transcribe",
360
+ "signature": "@Remote async transcribe(request: TranscriptionRequest, signal: AbortSignal): Promise<Transcript>",
361
+ "summary": "Validate and transcribe one recording through the explicit provider selection.",
362
+ "jsDoc": "/**\n * Validate and transcribe one recording through the explicit provider selection.\n * @param request - canonical WAV encoded as base64, provider id and language hint.\n * @param signal - Client cancellation or Remote contribution disposal.\n * @returns final transcript without adding a Session event.\n */"
363
+ }
364
+ ],
365
+ "types": [
366
+ {
367
+ "name": "Branded",
368
+ "declaration": "export type Branded<B extends string> = string & { readonly [BRAND]: B; };"
369
+ },
370
+ {
371
+ "name": "SpeechCatalog",
372
+ "declaration": "export interface SpeechCatalog extends SpeechSnapshot {\n readonly maxAudioBytes: number;\n readonly maxDurationSeconds: number;\n}"
373
+ },
374
+ {
375
+ "name": "SpeechDownloadFailure",
376
+ "declaration": "export interface SpeechDownloadFailure {\n readonly resource: string;\n readonly source: string;\n readonly reason: 'network' | 'dns' | 'timeout' | 'certificate' | 'http' | 'integrity' | 'storage' | 'unknown';\n readonly code?: string;\n readonly status?: number;\n}"
377
+ },
378
+ {
379
+ "name": "SpeechPreparationState",
380
+ "declaration": "export type SpeechPreparationState = ({ readonly phase: 'unprepared' | 'ready' | 'standby' | 'cancelled'; } | { readonly phase: 'downloading'; readonly resource: string; readonly completedBytes: number; readonly totalBytes?: number; } | { readonly phase: 'checking' | 'loading' | 'waking' | 'cancelling'; readonly startedAt: number; } | { readonly phase: 'failed'; readonly message: string; readonly download?: SpeechDownloadFailure; }) & { readonly step?: SpeechPreparationStepKind; readonly steps?: readonly SpeechPreparationStep[]; };"
381
+ },
382
+ {
383
+ "name": "SpeechPreparationStep",
384
+ "declaration": "export interface SpeechPreparationStep {\n readonly kind: SpeechPreparationStepKind;\n readonly status: 'pending' | 'running' | 'complete' | 'failed' | 'cancelled';\n readonly startedAt?: number;\n}"
385
+ },
386
+ {
387
+ "name": "SpeechPreparationStepKind",
388
+ "declaration": "export type SpeechPreparationStepKind = 'check' | 'model' | 'vad' | 'verify' | 'load';"
389
+ },
390
+ {
391
+ "name": "SpeechProviderId",
392
+ "declaration": "export type SpeechProviderId = Branded<'SpeechProviderId'>;"
393
+ },
394
+ {
395
+ "name": "SpeechProviderInfo",
396
+ "declaration": "export interface SpeechProviderInfo {\n readonly id: SpeechProviderId;\n readonly name: string;\n readonly location: 'host-local' | 'cloud';\n readonly languages: readonly string[];\n readonly setupEstimate?: SpeechSetupEstimate;\n}"
397
+ },
398
+ {
399
+ "name": "SpeechProviderView",
400
+ "declaration": "export interface SpeechProviderView extends SpeechProviderInfo {\n readonly preparation: SpeechPreparationState;\n}"
401
+ },
402
+ {
403
+ "name": "SpeechSelection",
404
+ "declaration": "export interface SpeechSelection {\n readonly providerId: SpeechProviderId;\n readonly language: string;\n}"
405
+ },
406
+ {
407
+ "name": "SpeechSelectionPatch",
408
+ "declaration": "export interface SpeechSelectionPatch {\n readonly providerId?: SpeechProviderId;\n readonly language?: string;\n}"
409
+ },
410
+ {
411
+ "name": "SpeechSetupEstimate",
412
+ "declaration": "export interface SpeechSetupEstimate {\n readonly recommendedDiskBytes: number;\n readonly expectedMemoryBytes: number;\n readonly minimumMinutes: number;\n readonly maximumMinutes: number;\n}"
413
+ },
414
+ {
415
+ "name": "SpeechSnapshot",
416
+ "declaration": "export interface SpeechSnapshot {\n readonly providers: readonly SpeechProviderView[];\n readonly selection: SpeechSelection;\n}"
417
+ },
418
+ {
419
+ "name": "Transcript",
420
+ "declaration": "export interface Transcript {\n readonly text: string;\n readonly audioSeconds: number;\n readonly inferenceSeconds: number;\n}"
421
+ },
422
+ {
423
+ "name": "TranscriptionRequest",
424
+ "declaration": "export interface TranscriptionRequest {\n readonly audioBase64: string;\n readonly providerId?: SpeechProviderId;\n readonly language?: string;\n}"
425
+ }
426
+ ]
427
+ }
428
+ ],
429
+ "events": [],
430
+ "objects": []
431
+ },
432
+ }
@@ -0,0 +1,34 @@
1
+ /* Generated by @deepseek-ai/dsh-typert-generator from the Host FaceModel — do not edit. */
2
+ import type {
3
+ RemoteResult,
4
+ RemoteStreamHandle,
5
+ TypertRemoteContribution,
6
+ } from '@deepseek-ai/dsh-typert-protocol'
7
+ import type { SpeechCatalog, TranscriptionRequest } from '@deepseek-ai/dsh-experimental-api-speech-to-text/types'
8
+ import type { SpeechProviderId, SpeechSelectionPatch, Transcript } from '@deepseek-ai/dsh-experimental-speech-to-text/types'
9
+
10
+ declare module '@deepseek-ai/dsh-typert-protocol' {
11
+ interface TypertRemoteNamespace$737065656368 {
12
+ cancelPreparation: (providerId: SpeechProviderId) => Promise<RemoteResult<void>>
13
+ catalog: () => Promise<RemoteResult<SpeechCatalog>>
14
+ configure: (patch: SpeechSelectionPatch) => Promise<RemoteResult<void>>
15
+ follow: (signal?: AbortSignal) => RemoteStreamHandle<SpeechCatalog, never>
16
+ prepare: (providerId: SpeechProviderId) => Promise<RemoteResult<void>>
17
+ transcribe: (request: TranscriptionRequest, signal?: AbortSignal) => Promise<RemoteResult<Transcript>>
18
+ }
19
+ interface TypertRemoteMap {
20
+ 'speech/cancelPreparation': (providerId: SpeechProviderId) => Promise<RemoteResult<void>>
21
+ 'speech/catalog': () => Promise<RemoteResult<SpeechCatalog>>
22
+ 'speech/configure': (patch: SpeechSelectionPatch) => Promise<RemoteResult<void>>
23
+ 'speech/follow': (signal?: AbortSignal) => RemoteStreamHandle<SpeechCatalog, never>
24
+ 'speech/prepare': (providerId: SpeechProviderId) => Promise<RemoteResult<void>>
25
+ 'speech/transcribe': (request: TranscriptionRequest, signal?: AbortSignal) => Promise<RemoteResult<Transcript>>
26
+ }
27
+ interface TypertRemoteNamespaceMap {
28
+ 'speech': TypertRemoteNamespace$737065656368
29
+ }
30
+ }
31
+
32
+ export declare const TYPERT_REMOTE: TypertRemoteContribution
33
+ export default TYPERT_REMOTE
34
+ //# sourceMappingURL=typert.remote-client.d.ts.map