@maroonedsoftware/rhapsode-sdk 0.1.3 → 0.1.5

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.
@@ -1,4 +1,5 @@
1
1
  export * from './public/public.client.js';
2
+ export * from './public/types/index.js';
2
3
  export * from './rhapsode.sdk.js';
3
4
  export * from './rhapsode/types/index.js';
4
5
  export * from './sdk-options.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generated/index.ts"],"names":[],"mappings":"AACA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generated/index.ts"],"names":[],"mappings":"AACA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC"}
@@ -1,10 +1,13 @@
1
1
  import type { SdkFetch } from '../sdk-options.js';
2
- import type { Capabilities, CatalogEntry, CoreHealth, EngineSpeakRequest, EngineSummary, ErrorBody, InstallJob, PullRequest, Voice } from '../rhapsode/types/rhapsode.types.js';
2
+ import type { Capabilities, CatalogEntry, CoreHealth, DialogueRequest, EngineSpeakRequest, EngineSummary, ErrorBody, InstallJob, PullRequest, Voice } from '../rhapsode/types/rhapsode.types.js';
3
+ import type { OpenApiDocument } from './types/rhapsode.public.js';
3
4
  export declare class PublicClient {
4
5
  private fetch;
5
6
  constructor(fetch: SdkFetch);
6
7
  /** @description The core's own. It answers while every worker is down and never blocks on one, because a */
7
8
  health(): Promise<CoreHealth>;
9
+ /** @description Open to every caller, like /health. The public API only: never a worker route. */
10
+ openapi(): Promise<OpenApiDocument>;
8
11
  /** @description Every declared engine, whether or not it is running. Never spawns one: this is the list an */
9
12
  engines(): Promise<EngineSummary[]>;
10
13
  engineCapabilities(engine: string): Promise<{
@@ -105,6 +108,32 @@ export declare class PublicClient {
105
108
  contentType: 'application/json';
106
109
  data: ErrorBody;
107
110
  }>;
111
+ /** @description A conversation in one take, on a variant that declares `dialogue`. Cues are stripped per */
112
+ dialogue(engine: string, body: DialogueRequest): Promise<{
113
+ status: 200;
114
+ contentType: 'audio/wav' | 'audio/mpeg' | 'audio/opus' | 'audio/flac' | 'audio/l16';
115
+ data: Blob;
116
+ } | {
117
+ status: 400;
118
+ contentType: 'application/json';
119
+ data: ErrorBody;
120
+ } | {
121
+ status: 404;
122
+ contentType: 'application/json';
123
+ data: ErrorBody;
124
+ } | {
125
+ status: 422;
126
+ contentType: 'application/json';
127
+ data: ErrorBody;
128
+ } | {
129
+ status: 429;
130
+ contentType: 'application/json';
131
+ data: ErrorBody;
132
+ } | {
133
+ status: 503;
134
+ contentType: 'application/json';
135
+ data: ErrorBody;
136
+ }>;
108
137
  /** @description Open to every caller: it only reads, and its licences are what § 4 promises before install. */
109
138
  catalog(): Promise<CatalogEntry[]>;
110
139
  /** @description Only an engine this API installed. One the operator configured is theirs to remove. */
@@ -1 +1 @@
1
- {"version":3,"file":"public.client.d.ts","sourceRoot":"","sources":["../../../src/generated/public/public.client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public.client.d.ts","sourceRoot":"","sources":["../../../src/generated/public/public.client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './rhapsode.public.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/generated/public/types/index.ts"],"names":[],"mappings":"AACA,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { JsonValue } from '../../sdk-options.js';
2
+ /**
3
+ * generated from [ApiInfo](../../../../../../contracts/rhapsode.public.ck#L36)
4
+ */
5
+ export interface ApiInfo {
6
+ title: string;
7
+ /** The running core's package version. Not the contract. */
8
+ version: string;
9
+ }
10
+ /**
11
+ * This file, `rhapsode.types.ck` and `rhapsode.openai.ck` as OpenAPI 3.1. protocol.md § 9. Only the
12
+ * top of the document is declared: the rest is OpenAPI's own shape, and a client that wants it typed
13
+ * already has a library that types it.
14
+ * generated from [OpenApiDocument](../../../../../../contracts/rhapsode.public.ck#L29)
15
+ */
16
+ export interface OpenApiDocument {
17
+ openapi: string;
18
+ info: ApiInfo;
19
+ paths: Record<string, JsonValue>;
20
+ components?: Record<string, JsonValue>;
21
+ }
22
+ //# sourceMappingURL=rhapsode.public.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rhapsode.public.d.ts","sourceRoot":"","sources":["../../../../src/generated/public/types/rhapsode.public.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC1C"}
@@ -11,23 +11,51 @@ export interface Dial {
11
11
  default: number;
12
12
  }
13
13
  /**
14
- * generated from [Cloning](../../../../../../contracts/rhapsode.types.ck#L32)
14
+ * A build that speaks a conversation in one pass. protocol.md § 6.
15
+ * generated from [Dialogue](../../../../../../contracts/rhapsode.types.ck#L37)
16
+ */
17
+ export interface Dialogue {
18
+ maxSpeakers: number;
19
+ }
20
+ /**
21
+ * generated from [Cloning](../../../../../../contracts/rhapsode.types.ck#L41)
15
22
  */
16
23
  export interface Cloning {
17
24
  supported: boolean;
18
25
  /** [min, max] of usable reference audio. */
19
26
  referenceSeconds?: number[];
27
+ /** File types a `reference` may be. § 7. */
20
28
  formats?: string[];
21
29
  }
22
30
  /**
23
- * generated from [Streaming](../../../../../../contracts/rhapsode.types.ck#L38)
31
+ * Whether a create may carry a `blend` recipe instead of a `reference`. § 7.
32
+ * generated from [Blending](../../../../../../contracts/rhapsode.types.ck#L48)
33
+ */
34
+ export interface Blending {
35
+ supported: boolean;
36
+ }
37
+ /**
38
+ * Whether text longer than one generation is split rather than refused. protocol.md § 8.
39
+ *
40
+ * Declared because a client cannot see the split and is affected by it: a `seed` reproduces a
41
+ * generation, so a request split four ways is four seeded generations, and prosody carries across a
42
+ * joint only where the engine carries it.
43
+ * generated from [Segmentation](../../../../../../contracts/rhapsode.types.ck#L57)
44
+ */
45
+ export interface Segmentation {
46
+ supported: boolean;
47
+ /** The most one generation gets. Absent where nothing splits. */
48
+ segmentCharacters?: number;
49
+ }
50
+ /**
51
+ * generated from [Streaming](../../../../../../contracts/rhapsode.types.ck#L62)
24
52
  */
25
53
  export interface Streaming {
26
54
  supported: boolean;
27
55
  granularity?: 'chunk' | 'sentence';
28
56
  }
29
57
  /**
30
- * generated from [NativeFormat](../../../../../../contracts/rhapsode.types.ck#L43)
58
+ * generated from [NativeFormat](../../../../../../contracts/rhapsode.types.ck#L67)
31
59
  */
32
60
  export interface NativeFormat {
33
61
  /** v1 accepts pcm_s16le and nothing else. */
@@ -36,7 +64,7 @@ export interface NativeFormat {
36
64
  channels: number;
37
65
  }
38
66
  /**
39
- * generated from [EngineIdentity](../../../../../../contracts/rhapsode.types.ck#L59)
67
+ * generated from [EngineIdentity](../../../../../../contracts/rhapsode.types.ck#L84)
40
68
  */
41
69
  export interface EngineIdentity {
42
70
  id: string;
@@ -48,7 +76,7 @@ export interface EngineIdentity {
48
76
  * Code and weights separately, because the weights licence is the one package metadata never reveals
49
77
  * and the one that decides whether a commercial user may ship. A scanner reads the package, reports
50
78
  * the code licence, and is wrong in the way that matters.
51
- * generated from [License](../../../../../../contracts/rhapsode.types.ck#L69)
79
+ * generated from [License](../../../../../../contracts/rhapsode.types.ck#L94)
52
80
  */
53
81
  export interface License {
54
82
  code: string;
@@ -57,7 +85,7 @@ export interface License {
57
85
  notes?: string;
58
86
  }
59
87
  /**
60
- * generated from [Device](../../../../../../contracts/rhapsode.types.ck#L76)
88
+ * generated from [Device](../../../../../../contracts/rhapsode.types.ck#L101)
61
89
  */
62
90
  export interface Device {
63
91
  type: 'cuda' | 'rocm' | 'mps' | 'cpu';
@@ -65,7 +93,7 @@ export interface Device {
65
93
  vramBytes?: number;
66
94
  }
67
95
  /**
68
- * generated from [Voice](../../../../../../contracts/rhapsode.types.ck#L96)
96
+ * generated from [Voice](../../../../../../contracts/rhapsode.types.ck#L121)
69
97
  */
70
98
  export interface Voice {
71
99
  id: string;
@@ -78,15 +106,20 @@ export interface Voice {
78
106
  previewUrl?: string;
79
107
  }
80
108
  /**
81
- * generated from [CreateVoiceForm](../../../../../../contracts/rhapsode.types.ck#L105)
109
+ * generated from [CreateVoiceForm](../../../../../../contracts/rhapsode.types.ck#L130)
82
110
  */
83
111
  export interface CreateVoiceForm {
84
112
  id: string;
85
113
  label?: string;
86
- reference: Blob;
114
+ /** Exactly one of `reference` and `blend`. § 7. */
115
+ reference?: Blob;
116
+ /** A recipe, `name(weight)+name(weight)`, over voices the engine has. */
117
+ blend?: string;
118
+ /** The words spoken in the reference. Required by an engine that continues from it. */
119
+ transcript?: string;
87
120
  }
88
121
  /**
89
- * generated from [SpeakRequest](../../../../../../contracts/rhapsode.types.ck#L115)
122
+ * generated from [SpeakRequest](../../../../../../contracts/rhapsode.types.ck#L142)
90
123
  */
91
124
  export interface SpeakRequest {
92
125
  text: string;
@@ -104,7 +137,15 @@ export interface SpeakRequest {
104
137
  stream?: boolean;
105
138
  }
106
139
  /**
107
- * generated from [LoadRequest](../../../../../../contracts/rhapsode.types.ck#L131)
140
+ * One speaker's line in a conversation. `speaker` is a label the request makes up, not a voice.
141
+ * generated from [DialogueTurn](../../../../../../contracts/rhapsode.types.ck#L159)
142
+ */
143
+ export interface DialogueTurn {
144
+ speaker: string;
145
+ text: string;
146
+ }
147
+ /**
148
+ * generated from [LoadRequest](../../../../../../contracts/rhapsode.types.ck#L177)
108
149
  */
109
150
  export interface LoadRequest {
110
151
  variant?: string;
@@ -112,7 +153,7 @@ export interface LoadRequest {
112
153
  /**
113
154
  * Required, unlike a load's: there is no "whatever is loaded" to fall back on for weights that are
114
155
  * not loaded yet. protocol.md § 8.
115
- * generated from [FetchRequest](../../../../../../contracts/rhapsode.types.ck#L137)
156
+ * generated from [FetchRequest](../../../../../../contracts/rhapsode.types.ck#L183)
116
157
  */
117
158
  export interface FetchRequest {
118
159
  variant: string;
@@ -122,7 +163,7 @@ export interface FetchRequest {
122
163
  * distinction that matters is between "this request was wrong" and "this request was fine and the
123
164
  * server was not". A caller that conflates them either retries a permanent failure forever or
124
165
  * discards work that would have succeeded on the next pass.
125
- * generated from [ErrorDetail](../../../../../../contracts/rhapsode.types.ck#L149)
166
+ * generated from [ErrorDetail](../../../../../../contracts/rhapsode.types.ck#L195)
126
167
  */
127
168
  export interface ErrorDetail {
128
169
  /**
@@ -136,7 +177,7 @@ export interface ErrorDetail {
136
177
  retryable: boolean;
137
178
  }
138
179
  /**
139
- * generated from [WorkerHealth](../../../../../../contracts/rhapsode.types.ck#L167)
180
+ * generated from [WorkerHealth](../../../../../../contracts/rhapsode.types.ck#L213)
140
181
  */
141
182
  export interface WorkerHealth {
142
183
  process: 'up' | 'draining';
@@ -146,7 +187,7 @@ export interface WorkerHealth {
146
187
  vramBytes?: number;
147
188
  }
148
189
  /**
149
- * generated from [ResidencySummary](../../../../../../contracts/rhapsode.types.ck#L186)
190
+ * generated from [ResidencySummary](../../../../../../contracts/rhapsode.types.ck#L232)
150
191
  */
151
192
  export interface ResidencySummary {
152
193
  resident: number;
@@ -156,7 +197,7 @@ export interface ResidencySummary {
156
197
  blockedBy?: string;
157
198
  }
158
199
  /**
159
- * generated from [PullRequest](../../../../../../contracts/rhapsode.types.ck#L229)
200
+ * generated from [PullRequest](../../../../../../contracts/rhapsode.types.ck#L275)
160
201
  */
161
202
  export interface PullRequest {
162
203
  /** Absent means the engine's default variant. */
@@ -165,7 +206,7 @@ export interface PullRequest {
165
206
  /**
166
207
  * One event on a job's stream, `GET /installs/{job}/events`. The shape is ServerKit's server feed,
167
208
  * declared here so a client can parse it without depending on ServerKit.
168
- * generated from [FeedProgress](../../../../../../contracts/rhapsode.types.ck#L235)
209
+ * generated from [FeedProgress](../../../../../../contracts/rhapsode.types.ck#L281)
169
210
  */
170
211
  export interface FeedProgress {
171
212
  /** The job's step. */
@@ -190,9 +231,17 @@ export interface Variant {
190
231
  languages?: string[];
191
232
  /** Overrides the engine's own ceiling for this build. */
192
233
  maxCharacters?: number;
234
+ /** Optional only because contract 1 shipped without it. § 4. */
235
+ cloning?: Cloning;
236
+ /** Beside cloning, for the same reason: it needs no model. § 7. */
237
+ blending?: Blending;
238
+ /** Whether long text is split into several generations. § 8. */
239
+ segmentation?: Segmentation;
240
+ /** Present only where this build answers /dialogue. § 6. */
241
+ dialogue?: Dialogue;
193
242
  }
194
243
  /**
195
- * generated from [EngineSummary](../../../../../../contracts/rhapsode.types.ck#L175)
244
+ * generated from [EngineSummary](../../../../../../contracts/rhapsode.types.ck#L221)
196
245
  */
197
246
  export interface EngineSummary {
198
247
  id: string;
@@ -207,7 +256,7 @@ export interface EngineSummary {
207
256
  /**
208
257
  * What exists, installed or not. `/engines` is what this box has; this is what it could have, with
209
258
  * both licences, because the weights licence is only worth reading before the install.
210
- * generated from [CatalogEntry](../../../../../../contracts/rhapsode.types.ck#L206)
259
+ * generated from [CatalogEntry](../../../../../../contracts/rhapsode.types.ck#L252)
211
260
  */
212
261
  export interface CatalogEntry {
213
262
  id: string;
@@ -221,19 +270,35 @@ export interface CatalogEntry {
221
270
  managed: boolean;
222
271
  }
223
272
  /**
224
- * generated from [EngineSpeakRequest](../../../../../../contracts/rhapsode.types.ck#L127)
273
+ * generated from [EngineSpeakRequest](../../../../../../contracts/rhapsode.types.ck#L154)
225
274
  */
226
275
  export interface EngineSpeakRequest extends SpeakRequest {
227
276
  engine: string;
228
277
  }
229
278
  /**
230
- * generated from [ErrorBody](../../../../../../contracts/rhapsode.types.ck#L159)
279
+ * A conversation in one take. protocol.md § 6. `/speak`'s fields except `text`, `voice` and
280
+ * `delivery`: a delivery reads a whole line one way, and a dialogue has more than one reader.
281
+ * generated from [DialogueRequest](../../../../../../contracts/rhapsode.types.ck#L166)
282
+ */
283
+ export interface DialogueRequest {
284
+ turns: DialogueTurn[];
285
+ /** Speaker label to voice id. */
286
+ voices?: Record<string, string>;
287
+ variant?: string;
288
+ format?: 'wav' | 'mp3' | 'opus' | 'flac' | 'pcm';
289
+ language?: string;
290
+ params?: Record<string, number>;
291
+ seed?: number;
292
+ stream?: boolean;
293
+ }
294
+ /**
295
+ * generated from [ErrorBody](../../../../../../contracts/rhapsode.types.ck#L205)
231
296
  */
232
297
  export interface ErrorBody {
233
298
  error: ErrorDetail;
234
299
  }
235
300
  /**
236
- * generated from [InstallJob](../../../../../../contracts/rhapsode.types.ck#L216)
301
+ * generated from [InstallJob](../../../../../../contracts/rhapsode.types.ck#L262)
237
302
  */
238
303
  export interface InstallJob {
239
304
  id: string;
@@ -251,7 +316,7 @@ export interface InstallJob {
251
316
  error?: ErrorDetail;
252
317
  }
253
318
  /**
254
- * generated from [FeedEvent](../../../../../../contracts/rhapsode.types.ck#L242)
319
+ * generated from [FeedEvent](../../../../../../contracts/rhapsode.types.ck#L288)
255
320
  */
256
321
  export interface FeedEvent {
257
322
  /** The Last-Event-ID resume key. */
@@ -270,16 +335,18 @@ export interface FeedEvent {
270
335
  * The resident build, and everything true only while it is resident. Absent from the capability
271
336
  * document entirely when nothing is loaded, because a worker in up(unloaded) has nothing to
272
337
  * describe and an invented answer is worse than no answer.
273
- * generated from [CurrentVariant](../../../../../../contracts/rhapsode.types.ck#L52)
338
+ * generated from [CurrentVariant](../../../../../../contracts/rhapsode.types.ck#L76)
274
339
  */
275
- export interface CurrentVariant extends Variant {
340
+ export interface CurrentVariant extends Omit<Variant, 'cloning' | 'blending'> {
276
341
  variant: string;
277
342
  cloning: Cloning;
343
+ /** Absent means no, so a worker that predates it is read correctly. */
344
+ blending?: Blending;
278
345
  streaming: Streaming;
279
346
  nativeFormat: NativeFormat;
280
347
  }
281
348
  /**
282
- * generated from [CoreHealth](../../../../../../contracts/rhapsode.types.ck#L193)
349
+ * generated from [CoreHealth](../../../../../../contracts/rhapsode.types.ck#L239)
283
350
  */
284
351
  export interface CoreHealth {
285
352
  contract: number;
@@ -288,7 +355,7 @@ export interface CoreHealth {
288
355
  residency: ResidencySummary;
289
356
  }
290
357
  /**
291
- * generated from [Capabilities](../../../../../../contracts/rhapsode.types.ck#L82)
358
+ * generated from [Capabilities](../../../../../../contracts/rhapsode.types.ck#L107)
292
359
  */
293
360
  export interface Capabilities {
294
361
  /** The contract major this worker settled on. § 9. */
@@ -1 +1 @@
1
- {"version":3,"file":"rhapsode.types.d.ts","sourceRoot":"","sources":["../../../../src/generated/rhapsode/types/rhapsode.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rhapsode.types.d.ts","sourceRoot":"","sources":["../../../../src/generated/rhapsode/types/rhapsode.types.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -121,6 +121,13 @@ var PublicClient = class {
121
121
  });
122
122
  return await parseJson(result);
123
123
  }
124
+ /** @description Open to every caller, like /health. The public API only: never a worker route. */
125
+ async openapi() {
126
+ const result = await this.fetch(`/openapi.json`, {
127
+ method: "GET"
128
+ });
129
+ return await parseJson(result);
130
+ }
124
131
  /** @description Every declared engine, whether or not it is running. Never spawns one: this is the list an */
125
132
  async engines() {
126
133
  const result = await this.fetch(`/engines`, {
@@ -342,6 +349,61 @@ var PublicClient = class {
342
349
  };
343
350
  }
344
351
  }
352
+ /** @description A conversation in one take, on a variant that declares `dialogue`. Cues are stripped per */
353
+ async dialogue(engine, body) {
354
+ const result = await this.fetch(`/engines/${encodeURIComponent(engine)}/dialogue`, {
355
+ method: "POST",
356
+ headers: {
357
+ "Content-Type": "application/json"
358
+ },
359
+ body: JSON.stringify(body, bigIntReplacer),
360
+ expectStatuses: [
361
+ 400,
362
+ 404,
363
+ 422,
364
+ 429,
365
+ 503
366
+ ]
367
+ });
368
+ switch (result.status) {
369
+ case 400:
370
+ return {
371
+ status: 400,
372
+ contentType: "application/json",
373
+ data: await parseJson(result)
374
+ };
375
+ case 404:
376
+ return {
377
+ status: 404,
378
+ contentType: "application/json",
379
+ data: await parseJson(result)
380
+ };
381
+ case 422:
382
+ return {
383
+ status: 422,
384
+ contentType: "application/json",
385
+ data: await parseJson(result)
386
+ };
387
+ case 429:
388
+ return {
389
+ status: 429,
390
+ contentType: "application/json",
391
+ data: await parseJson(result)
392
+ };
393
+ case 503:
394
+ return {
395
+ status: 503,
396
+ contentType: "application/json",
397
+ data: await parseJson(result)
398
+ };
399
+ default:
400
+ return {
401
+ status: 200,
402
+ contentType: readContentType(result),
403
+ data: await result.blob()
404
+ };
405
+ }
406
+ }
345
407
  /** @description Open to every caller: it only reads, and its licences are what § 4 promises before install. */
346
408
  async catalog() {
347
409
  const result = await this.fetch(`/catalog`, {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/generated/sdk-options.ts","../src/generated/public/public.client.ts","../src/generated/rhapsode.sdk.ts"],"sourcesContent":["export class SdkError<TBody = unknown> extends Error {\n constructor(\n public readonly status: number,\n public readonly statusText: string,\n public readonly body: TBody,\n public readonly headers: Headers,\n ) {\n super(`${status} ${statusText}`);\n this.name = 'SdkError';\n }\n}\n\nexport interface SdkRequestInit extends RequestInit {\n /**\n * Statuses this operation declares as values rather than errors — a 304 from\n * conditional-GET middleware, or an error status the service returns deliberately.\n * Anything else at or above 400 still throws SdkError.\n */\n expectStatuses?: number[];\n}\n\nexport type SdkFetch = (url: string, init: SdkRequestInit) => Promise<Response>;\n\nexport interface SdkOptions {\n baseUrl: string;\n headers?: Record<string, string> | (() => Record<string, string> | Promise<Record<string, string>>);\n fetch?: SdkFetch;\n /** Called once per request to produce a unique X-Request-ID header value */\n requestIdFactory?: () => string;\n}\n\nexport const bigIntReplacer = (_: string, value: any): any => {\n if (typeof value === 'bigint') {\n return value.toString() + 'n';\n }\n return value;\n};\n\nexport const bigIntReviver = (_: string, value: any): any => {\n if (typeof value === 'string' && /^-?\\d+n$/.test(value)) {\n return BigInt(value.slice(0, -1));\n }\n return value;\n};\n\nexport type JsonValue = string | number | boolean | null | JsonValue[] | { [key: string]: JsonValue };\n\nexport function readContentType(res: Response): string {\n return res.headers.get('content-type')?.split(';')[0]?.trim() ?? '';\n}\n\n/** A v4 UUID. `crypto.randomUUID` exists only in a secure context, so plain HTTP builds one by hand. */\nfunction randomRequestId(): string {\n if (typeof crypto.randomUUID === 'function') return crypto.randomUUID();\n const bytes = crypto.getRandomValues(new Uint8Array(16));\n bytes[6] = (bytes[6]! & 0x0f) | 0x40;\n bytes[8] = (bytes[8]! & 0x3f) | 0x80;\n const hex = Array.from(bytes, b => b.toString(16).padStart(2, '0')).join('');\n return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;\n}\n\nexport function createSdkFetch(options: SdkOptions): SdkFetch {\n const getRequestId = options.requestIdFactory ?? randomRequestId;\n return async (url: string, init: SdkRequestInit): Promise<Response> => {\n const baseHeaders = typeof options.headers === 'function' ? await options.headers() : (options.headers ?? {});\n const res = await fetch(`${options.baseUrl}${url}`, {\n ...init,\n headers: { ...baseHeaders, 'X-Request-ID': getRequestId(), ...(init.headers as Record<string, string>) },\n });\n if (!res.ok && !(init.expectStatuses ?? []).includes(res.status)) {\n const text = await res.text();\n let body: unknown;\n try {\n body = JSON.parse(text);\n } catch {\n body = text;\n }\n throw new SdkError(res.status, res.statusText, body, res.headers);\n }\n return res;\n };\n}\n\nexport function buildQueryString(query: object | undefined): string {\n const searchParams = new URLSearchParams();\n if (query) {\n for (const [k, v] of Object.entries(query)) {\n if (v === undefined || v === null) continue;\n if (Array.isArray(v)) {\n for (const item of v) searchParams.append(k, String(item));\n } else searchParams.set(k, String(v));\n }\n }\n const qs = searchParams.toString();\n return qs ? `?${qs}` : '';\n}\n\nexport function buildHeaders(headers: object | undefined): Record<string, string> {\n const out: Record<string, string> = {};\n if (headers) {\n for (const [k, v] of Object.entries(headers)) {\n if (v === undefined || v === null) continue;\n out[k] = Array.isArray(v) ? v.map(String).join(', ') : String(v);\n }\n }\n return out;\n}\n\nexport function parseBigIntHeader(name: string, value: string): bigint {\n if (/^-?\\d+n?$/.test(value)) return BigInt(value.replace(/n$/, ''));\n throw new Error(`Response header '${name}' is not a bigint: ${JSON.stringify(value)}`);\n}\n\n/**\n * Read a JSON response body.\n *\n * No reviver: `bigIntReviver` matches any string of the form `123n` anywhere in the\n * document, so a contract with no bigint field would still have a legitimate string like\n * \"123n\" silently turned into a BigInt. Clients whose contracts do use bigint import\n * `parseJsonWithBigInt` under this name instead.\n */\nexport async function parseJson<T>(res: Response): Promise<T> {\n return JSON.parse(await res.text()) as T;\n}\n\n/** `parseJson` for contracts that declare a bigint, applying the `123n` reviver. */\nexport async function parseJsonWithBigInt<T>(res: Response): Promise<T> {\n return JSON.parse(await res.text(), bigIntReviver) as T;\n}\n","import type { SdkFetch } from '../sdk-options.js';\nimport { bigIntReplacer, parseJson, buildQueryString, readContentType } from '../sdk-options.js';\nimport type {\n Capabilities,\n CatalogEntry,\n CoreHealth,\n EngineSpeakRequest,\n EngineSummary,\n ErrorBody,\n InstallJob,\n PullRequest,\n Voice,\n} from '../rhapsode/types/rhapsode.types.js';\n\nexport class PublicClient {\n constructor(private fetch: SdkFetch) {}\n\n /** @description The core's own. It answers while every worker is down and never blocks on one, because a */\n async health(): Promise<CoreHealth> {\n const result = await this.fetch(`/health`, { method: 'GET' });\n return await parseJson<CoreHealth>(result);\n }\n\n /** @description Every declared engine, whether or not it is running. Never spawns one: this is the list an */\n async engines(): Promise<EngineSummary[]> {\n const result = await this.fetch(`/engines`, { method: 'GET' });\n return await parseJson<EngineSummary[]>(result);\n }\n\n async engineCapabilities(\n engine: string,\n ): Promise<\n | { status: 200; contentType: 'application/json'; data: Capabilities }\n | { status: 404; contentType: 'application/json'; data: ErrorBody }\n | { status: 503; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/engines/${encodeURIComponent(engine)}/capabilities`, {\n method: 'GET',\n expectStatuses: [404, 503],\n });\n switch (result.status) {\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 503:\n return { status: 503, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 200, contentType: 'application/json', data: await parseJson<Capabilities>(result) };\n }\n }\n\n async engineVoices(\n engine: string,\n ): Promise<{ status: 200; contentType: 'application/json'; data: Voice[] } | { status: 404; contentType: 'application/json'; data: ErrorBody }> {\n const result = await this.fetch(`/engines/${encodeURIComponent(engine)}/voices`, {\n method: 'GET',\n expectStatuses: [404],\n });\n switch (result.status) {\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 200, contentType: 'application/json', data: await parseJson<Voice[]>(result) };\n }\n }\n\n /** @description Management, like § 10: it writes a file on the box. Streamed to the worker, capped at 25 MB. */\n async createVoice(\n engine: string,\n body: FormData,\n ): Promise<\n | { status: 201; contentType: 'application/json'; data: Voice }\n | { status: 400; contentType: 'application/json'; data: ErrorBody }\n | { status: 403; contentType: 'application/json'; data: ErrorBody }\n | { status: 404; contentType: 'application/json'; data: ErrorBody }\n | { status: 422; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/engines/${encodeURIComponent(engine)}/voices`, {\n method: 'POST',\n body: body,\n expectStatuses: [400, 403, 404, 422],\n });\n switch (result.status) {\n case 400:\n return { status: 400, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 403:\n return { status: 403, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 422:\n return { status: 422, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 201, contentType: 'application/json', data: await parseJson<Voice>(result) };\n }\n }\n\n async deleteVoice(\n engine: string,\n voice: string,\n ): Promise<\n | { status: 204 }\n | { status: 400; contentType: 'application/json'; data: ErrorBody }\n | { status: 403; contentType: 'application/json'; data: ErrorBody }\n | { status: 404; contentType: 'application/json'; data: ErrorBody }\n | { status: 422; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/engines/${encodeURIComponent(engine)}/voices/${encodeURIComponent(voice)}`, {\n method: 'DELETE',\n expectStatuses: [400, 403, 404, 422],\n });\n switch (result.status) {\n case 400:\n return { status: 400, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 403:\n return { status: 403, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 422:\n return { status: 422, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 204 };\n }\n }\n\n async voicePreview(\n engine: string,\n voice: string,\n ): Promise<{ status: 200; contentType: 'audio/wav'; data: Blob } | { status: 404; contentType: 'application/json'; data: ErrorBody }> {\n const result = await this.fetch(`/engines/${encodeURIComponent(engine)}/voices/${encodeURIComponent(voice)}/preview`, {\n method: 'GET',\n expectStatuses: [404],\n });\n switch (result.status) {\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 200, contentType: 'audio/wav', data: await result.blob() };\n }\n }\n\n /** @description The one endpoint that matters. Cues the effective variant does not claim are stripped */\n async speak(\n body: EngineSpeakRequest,\n ): Promise<\n | { status: 200; contentType: 'audio/wav' | 'audio/mpeg' | 'audio/opus' | 'audio/flac' | 'audio/l16'; data: Blob }\n | { status: 400; contentType: 'application/json'; data: ErrorBody }\n | { status: 404; contentType: 'application/json'; data: ErrorBody }\n | { status: 422; contentType: 'application/json'; data: ErrorBody }\n | { status: 429; contentType: 'application/json'; data: ErrorBody }\n | { status: 503; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/speak`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(body, bigIntReplacer),\n expectStatuses: [400, 404, 422, 429, 503],\n });\n switch (result.status) {\n case 400:\n return { status: 400, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 422:\n return { status: 422, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 429:\n return { status: 429, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 503:\n return { status: 503, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return {\n status: 200,\n contentType: readContentType(result) as 'audio/wav' | 'audio/mpeg' | 'audio/opus' | 'audio/flac' | 'audio/l16',\n data: await result.blob(),\n };\n }\n }\n\n /** @description Open to every caller: it only reads, and its licences are what § 4 promises before install. */\n async catalog(): Promise<CatalogEntry[]> {\n const result = await this.fetch(`/catalog`, { method: 'GET' });\n return await parseJson<CatalogEntry[]>(result);\n }\n\n /** @description Only an engine this API installed. One the operator configured is theirs to remove. */\n async uninstallEngine(\n engine: string,\n ): Promise<\n | { status: 204 }\n | { status: 403; contentType: 'application/json'; data: ErrorBody }\n | { status: 404; contentType: 'application/json'; data: ErrorBody }\n | { status: 409; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/engines/${encodeURIComponent(engine)}`, {\n method: 'DELETE',\n expectStatuses: [403, 404, 409],\n });\n switch (result.status) {\n case 403:\n return { status: 403, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 409:\n return { status: 409, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 204 };\n }\n }\n\n async installEngine(\n engine: string,\n query?: { pull?: string },\n ): Promise<\n | { status: 202; contentType: 'application/json'; data: InstallJob }\n | { status: 403; contentType: 'application/json'; data: ErrorBody }\n | { status: 404; contentType: 'application/json'; data: ErrorBody }\n | { status: 409; contentType: 'application/json'; data: ErrorBody }\n > {\n const qs = buildQueryString(query);\n const result = await this.fetch(`/engines/${encodeURIComponent(engine)}/install${qs}`, {\n method: 'POST',\n expectStatuses: [403, 404, 409],\n });\n switch (result.status) {\n case 403:\n return { status: 403, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 409:\n return { status: 409, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 202, contentType: 'application/json', data: await parseJson<InstallJob>(result) };\n }\n }\n\n async pullEngine(\n engine: string,\n body: PullRequest,\n ): Promise<\n | { status: 202; contentType: 'application/json'; data: InstallJob }\n | { status: 403; contentType: 'application/json'; data: ErrorBody }\n | { status: 404; contentType: 'application/json'; data: ErrorBody }\n | { status: 409; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/engines/${encodeURIComponent(engine)}/pull`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(body, bigIntReplacer),\n expectStatuses: [403, 404, 409],\n });\n switch (result.status) {\n case 403:\n return { status: 403, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 409:\n return { status: 409, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 202, contentType: 'application/json', data: await parseJson<InstallJob>(result) };\n }\n }\n\n async installJobs(): Promise<\n { status: 200; contentType: 'application/json'; data: InstallJob[] } | { status: 403; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/installs`, {\n method: 'GET',\n expectStatuses: [403],\n });\n switch (result.status) {\n case 403:\n return { status: 403, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 200, contentType: 'application/json', data: await parseJson<InstallJob[]>(result) };\n }\n }\n\n async installJob(\n job: string,\n ): Promise<\n | { status: 200; contentType: 'application/json'; data: InstallJob }\n | { status: 403; contentType: 'application/json'; data: ErrorBody }\n | { status: 404; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/installs/${encodeURIComponent(job)}`, {\n method: 'GET',\n expectStatuses: [403, 404],\n });\n switch (result.status) {\n case 403:\n return { status: 403, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 200, contentType: 'application/json', data: await parseJson<InstallJob>(result) };\n }\n }\n\n /** @description Server-sent events, each frame's data a FeedEvent. Hand-written, like /speak: ContractKit */\n async installJobEvents(\n job: string,\n ): Promise<\n | { status: 200; contentType: 'text/event-stream'; data: string }\n | { status: 403; contentType: 'application/json'; data: ErrorBody }\n | { status: 404; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/installs/${encodeURIComponent(job)}/events`, {\n method: 'GET',\n expectStatuses: [403, 404],\n });\n switch (result.status) {\n case 403:\n return { status: 403, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 200, contentType: 'text/event-stream', data: await result.text() };\n }\n }\n}\n","import type { SdkOptions } from './sdk-options.js';\nimport { createSdkFetch } from './sdk-options.js';\nimport { PublicClient } from './public/public.client.js';\n\nexport class RhapsodeSdk {\n readonly public: PublicClient;\n\n constructor(options: SdkOptions) {\n const sdkFetch = options.fetch ?? createSdkFetch(options);\n this.public = new PublicClient(sdkFetch);\n }\n}\n"],"mappings":"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","names":["SdkError","Error","status","statusText","body","headers","name","bigIntReplacer","_","value","toString","bigIntReviver","test","BigInt","slice","readContentType","res","get","split","trim","randomRequestId","crypto","randomUUID","bytes","getRandomValues","Uint8Array","hex","Array","from","b","padStart","join","createSdkFetch","options","getRequestId","requestIdFactory","url","init","baseHeaders","fetch","baseUrl","ok","expectStatuses","includes","text","JSON","parse","buildQueryString","query","searchParams","URLSearchParams","k","v","Object","entries","undefined","isArray","item","append","String","set","qs","buildHeaders","out","map","parseBigIntHeader","replace","stringify","parseJson","parseJsonWithBigInt","PublicClient","fetch","health","result","method","parseJson","engines","engineCapabilities","engine","encodeURIComponent","expectStatuses","status","contentType","data","engineVoices","createVoice","body","deleteVoice","voice","voicePreview","blob","speak","headers","JSON","stringify","bigIntReplacer","readContentType","catalog","uninstallEngine","installEngine","query","qs","buildQueryString","pullEngine","installJobs","installJob","job","installJobEvents","text","RhapsodeSdk","public","options","sdkFetch","fetch","createSdkFetch","PublicClient"]}
1
+ {"version":3,"sources":["../src/generated/sdk-options.ts","../src/generated/public/public.client.ts","../src/generated/rhapsode.sdk.ts"],"sourcesContent":["export class SdkError<TBody = unknown> extends Error {\n constructor(\n public readonly status: number,\n public readonly statusText: string,\n public readonly body: TBody,\n public readonly headers: Headers,\n ) {\n super(`${status} ${statusText}`);\n this.name = 'SdkError';\n }\n}\n\nexport interface SdkRequestInit extends RequestInit {\n /**\n * Statuses this operation declares as values rather than errors — a 304 from\n * conditional-GET middleware, or an error status the service returns deliberately.\n * Anything else at or above 400 still throws SdkError.\n */\n expectStatuses?: number[];\n}\n\nexport type SdkFetch = (url: string, init: SdkRequestInit) => Promise<Response>;\n\nexport interface SdkOptions {\n baseUrl: string;\n headers?: Record<string, string> | (() => Record<string, string> | Promise<Record<string, string>>);\n fetch?: SdkFetch;\n /** Called once per request to produce a unique X-Request-ID header value */\n requestIdFactory?: () => string;\n}\n\nexport const bigIntReplacer = (_: string, value: any): any => {\n if (typeof value === 'bigint') {\n return value.toString() + 'n';\n }\n return value;\n};\n\nexport const bigIntReviver = (_: string, value: any): any => {\n if (typeof value === 'string' && /^-?\\d+n$/.test(value)) {\n return BigInt(value.slice(0, -1));\n }\n return value;\n};\n\nexport type JsonValue = string | number | boolean | null | JsonValue[] | { [key: string]: JsonValue };\n\nexport function readContentType(res: Response): string {\n return res.headers.get('content-type')?.split(';')[0]?.trim() ?? '';\n}\n\n/** A v4 UUID. `crypto.randomUUID` exists only in a secure context, so plain HTTP builds one by hand. */\nfunction randomRequestId(): string {\n if (typeof crypto.randomUUID === 'function') return crypto.randomUUID();\n const bytes = crypto.getRandomValues(new Uint8Array(16));\n bytes[6] = (bytes[6]! & 0x0f) | 0x40;\n bytes[8] = (bytes[8]! & 0x3f) | 0x80;\n const hex = Array.from(bytes, b => b.toString(16).padStart(2, '0')).join('');\n return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;\n}\n\nexport function createSdkFetch(options: SdkOptions): SdkFetch {\n const getRequestId = options.requestIdFactory ?? randomRequestId;\n return async (url: string, init: SdkRequestInit): Promise<Response> => {\n const baseHeaders = typeof options.headers === 'function' ? await options.headers() : (options.headers ?? {});\n const res = await fetch(`${options.baseUrl}${url}`, {\n ...init,\n headers: { ...baseHeaders, 'X-Request-ID': getRequestId(), ...(init.headers as Record<string, string>) },\n });\n if (!res.ok && !(init.expectStatuses ?? []).includes(res.status)) {\n const text = await res.text();\n let body: unknown;\n try {\n body = JSON.parse(text);\n } catch {\n body = text;\n }\n throw new SdkError(res.status, res.statusText, body, res.headers);\n }\n return res;\n };\n}\n\nexport function buildQueryString(query: object | undefined): string {\n const searchParams = new URLSearchParams();\n if (query) {\n for (const [k, v] of Object.entries(query)) {\n if (v === undefined || v === null) continue;\n if (Array.isArray(v)) {\n for (const item of v) searchParams.append(k, String(item));\n } else searchParams.set(k, String(v));\n }\n }\n const qs = searchParams.toString();\n return qs ? `?${qs}` : '';\n}\n\nexport function buildHeaders(headers: object | undefined): Record<string, string> {\n const out: Record<string, string> = {};\n if (headers) {\n for (const [k, v] of Object.entries(headers)) {\n if (v === undefined || v === null) continue;\n out[k] = Array.isArray(v) ? v.map(String).join(', ') : String(v);\n }\n }\n return out;\n}\n\nexport function parseBigIntHeader(name: string, value: string): bigint {\n if (/^-?\\d+n?$/.test(value)) return BigInt(value.replace(/n$/, ''));\n throw new Error(`Response header '${name}' is not a bigint: ${JSON.stringify(value)}`);\n}\n\n/**\n * Read a JSON response body.\n *\n * No reviver: `bigIntReviver` matches any string of the form `123n` anywhere in the\n * document, so a contract with no bigint field would still have a legitimate string like\n * \"123n\" silently turned into a BigInt. Clients whose contracts do use bigint import\n * `parseJsonWithBigInt` under this name instead.\n */\nexport async function parseJson<T>(res: Response): Promise<T> {\n return JSON.parse(await res.text()) as T;\n}\n\n/** `parseJson` for contracts that declare a bigint, applying the `123n` reviver. */\nexport async function parseJsonWithBigInt<T>(res: Response): Promise<T> {\n return JSON.parse(await res.text(), bigIntReviver) as T;\n}\n","import type { SdkFetch } from '../sdk-options.js';\nimport { bigIntReplacer, parseJson, buildQueryString, readContentType } from '../sdk-options.js';\nimport type {\n Capabilities,\n CatalogEntry,\n CoreHealth,\n DialogueRequest,\n EngineSpeakRequest,\n EngineSummary,\n ErrorBody,\n InstallJob,\n PullRequest,\n Voice,\n} from '../rhapsode/types/rhapsode.types.js';\nimport type { OpenApiDocument } from './types/rhapsode.public.js';\n\nexport class PublicClient {\n constructor(private fetch: SdkFetch) {}\n\n /** @description The core's own. It answers while every worker is down and never blocks on one, because a */\n async health(): Promise<CoreHealth> {\n const result = await this.fetch(`/health`, { method: 'GET' });\n return await parseJson<CoreHealth>(result);\n }\n\n /** @description Open to every caller, like /health. The public API only: never a worker route. */\n async openapi(): Promise<OpenApiDocument> {\n const result = await this.fetch(`/openapi.json`, { method: 'GET' });\n return await parseJson<OpenApiDocument>(result);\n }\n\n /** @description Every declared engine, whether or not it is running. Never spawns one: this is the list an */\n async engines(): Promise<EngineSummary[]> {\n const result = await this.fetch(`/engines`, { method: 'GET' });\n return await parseJson<EngineSummary[]>(result);\n }\n\n async engineCapabilities(\n engine: string,\n ): Promise<\n | { status: 200; contentType: 'application/json'; data: Capabilities }\n | { status: 404; contentType: 'application/json'; data: ErrorBody }\n | { status: 503; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/engines/${encodeURIComponent(engine)}/capabilities`, {\n method: 'GET',\n expectStatuses: [404, 503],\n });\n switch (result.status) {\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 503:\n return { status: 503, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 200, contentType: 'application/json', data: await parseJson<Capabilities>(result) };\n }\n }\n\n async engineVoices(\n engine: string,\n ): Promise<{ status: 200; contentType: 'application/json'; data: Voice[] } | { status: 404; contentType: 'application/json'; data: ErrorBody }> {\n const result = await this.fetch(`/engines/${encodeURIComponent(engine)}/voices`, {\n method: 'GET',\n expectStatuses: [404],\n });\n switch (result.status) {\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 200, contentType: 'application/json', data: await parseJson<Voice[]>(result) };\n }\n }\n\n /** @description Management, like § 10: it writes a file on the box. Streamed to the worker, capped at 25 MB. */\n async createVoice(\n engine: string,\n body: FormData,\n ): Promise<\n | { status: 201; contentType: 'application/json'; data: Voice }\n | { status: 400; contentType: 'application/json'; data: ErrorBody }\n | { status: 403; contentType: 'application/json'; data: ErrorBody }\n | { status: 404; contentType: 'application/json'; data: ErrorBody }\n | { status: 422; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/engines/${encodeURIComponent(engine)}/voices`, {\n method: 'POST',\n body: body,\n expectStatuses: [400, 403, 404, 422],\n });\n switch (result.status) {\n case 400:\n return { status: 400, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 403:\n return { status: 403, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 422:\n return { status: 422, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 201, contentType: 'application/json', data: await parseJson<Voice>(result) };\n }\n }\n\n async deleteVoice(\n engine: string,\n voice: string,\n ): Promise<\n | { status: 204 }\n | { status: 400; contentType: 'application/json'; data: ErrorBody }\n | { status: 403; contentType: 'application/json'; data: ErrorBody }\n | { status: 404; contentType: 'application/json'; data: ErrorBody }\n | { status: 422; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/engines/${encodeURIComponent(engine)}/voices/${encodeURIComponent(voice)}`, {\n method: 'DELETE',\n expectStatuses: [400, 403, 404, 422],\n });\n switch (result.status) {\n case 400:\n return { status: 400, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 403:\n return { status: 403, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 422:\n return { status: 422, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 204 };\n }\n }\n\n async voicePreview(\n engine: string,\n voice: string,\n ): Promise<{ status: 200; contentType: 'audio/wav'; data: Blob } | { status: 404; contentType: 'application/json'; data: ErrorBody }> {\n const result = await this.fetch(`/engines/${encodeURIComponent(engine)}/voices/${encodeURIComponent(voice)}/preview`, {\n method: 'GET',\n expectStatuses: [404],\n });\n switch (result.status) {\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 200, contentType: 'audio/wav', data: await result.blob() };\n }\n }\n\n /** @description The one endpoint that matters. Cues the effective variant does not claim are stripped */\n async speak(\n body: EngineSpeakRequest,\n ): Promise<\n | { status: 200; contentType: 'audio/wav' | 'audio/mpeg' | 'audio/opus' | 'audio/flac' | 'audio/l16'; data: Blob }\n | { status: 400; contentType: 'application/json'; data: ErrorBody }\n | { status: 404; contentType: 'application/json'; data: ErrorBody }\n | { status: 422; contentType: 'application/json'; data: ErrorBody }\n | { status: 429; contentType: 'application/json'; data: ErrorBody }\n | { status: 503; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/speak`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(body, bigIntReplacer),\n expectStatuses: [400, 404, 422, 429, 503],\n });\n switch (result.status) {\n case 400:\n return { status: 400, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 422:\n return { status: 422, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 429:\n return { status: 429, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 503:\n return { status: 503, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return {\n status: 200,\n contentType: readContentType(result) as 'audio/wav' | 'audio/mpeg' | 'audio/opus' | 'audio/flac' | 'audio/l16',\n data: await result.blob(),\n };\n }\n }\n\n /** @description A conversation in one take, on a variant that declares `dialogue`. Cues are stripped per */\n async dialogue(\n engine: string,\n body: DialogueRequest,\n ): Promise<\n | { status: 200; contentType: 'audio/wav' | 'audio/mpeg' | 'audio/opus' | 'audio/flac' | 'audio/l16'; data: Blob }\n | { status: 400; contentType: 'application/json'; data: ErrorBody }\n | { status: 404; contentType: 'application/json'; data: ErrorBody }\n | { status: 422; contentType: 'application/json'; data: ErrorBody }\n | { status: 429; contentType: 'application/json'; data: ErrorBody }\n | { status: 503; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/engines/${encodeURIComponent(engine)}/dialogue`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(body, bigIntReplacer),\n expectStatuses: [400, 404, 422, 429, 503],\n });\n switch (result.status) {\n case 400:\n return { status: 400, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 422:\n return { status: 422, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 429:\n return { status: 429, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 503:\n return { status: 503, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return {\n status: 200,\n contentType: readContentType(result) as 'audio/wav' | 'audio/mpeg' | 'audio/opus' | 'audio/flac' | 'audio/l16',\n data: await result.blob(),\n };\n }\n }\n\n /** @description Open to every caller: it only reads, and its licences are what § 4 promises before install. */\n async catalog(): Promise<CatalogEntry[]> {\n const result = await this.fetch(`/catalog`, { method: 'GET' });\n return await parseJson<CatalogEntry[]>(result);\n }\n\n /** @description Only an engine this API installed. One the operator configured is theirs to remove. */\n async uninstallEngine(\n engine: string,\n ): Promise<\n | { status: 204 }\n | { status: 403; contentType: 'application/json'; data: ErrorBody }\n | { status: 404; contentType: 'application/json'; data: ErrorBody }\n | { status: 409; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/engines/${encodeURIComponent(engine)}`, {\n method: 'DELETE',\n expectStatuses: [403, 404, 409],\n });\n switch (result.status) {\n case 403:\n return { status: 403, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 409:\n return { status: 409, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 204 };\n }\n }\n\n async installEngine(\n engine: string,\n query?: { pull?: string },\n ): Promise<\n | { status: 202; contentType: 'application/json'; data: InstallJob }\n | { status: 403; contentType: 'application/json'; data: ErrorBody }\n | { status: 404; contentType: 'application/json'; data: ErrorBody }\n | { status: 409; contentType: 'application/json'; data: ErrorBody }\n > {\n const qs = buildQueryString(query);\n const result = await this.fetch(`/engines/${encodeURIComponent(engine)}/install${qs}`, {\n method: 'POST',\n expectStatuses: [403, 404, 409],\n });\n switch (result.status) {\n case 403:\n return { status: 403, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 409:\n return { status: 409, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 202, contentType: 'application/json', data: await parseJson<InstallJob>(result) };\n }\n }\n\n async pullEngine(\n engine: string,\n body: PullRequest,\n ): Promise<\n | { status: 202; contentType: 'application/json'; data: InstallJob }\n | { status: 403; contentType: 'application/json'; data: ErrorBody }\n | { status: 404; contentType: 'application/json'; data: ErrorBody }\n | { status: 409; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/engines/${encodeURIComponent(engine)}/pull`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(body, bigIntReplacer),\n expectStatuses: [403, 404, 409],\n });\n switch (result.status) {\n case 403:\n return { status: 403, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 409:\n return { status: 409, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 202, contentType: 'application/json', data: await parseJson<InstallJob>(result) };\n }\n }\n\n async installJobs(): Promise<\n { status: 200; contentType: 'application/json'; data: InstallJob[] } | { status: 403; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/installs`, {\n method: 'GET',\n expectStatuses: [403],\n });\n switch (result.status) {\n case 403:\n return { status: 403, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 200, contentType: 'application/json', data: await parseJson<InstallJob[]>(result) };\n }\n }\n\n async installJob(\n job: string,\n ): Promise<\n | { status: 200; contentType: 'application/json'; data: InstallJob }\n | { status: 403; contentType: 'application/json'; data: ErrorBody }\n | { status: 404; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/installs/${encodeURIComponent(job)}`, {\n method: 'GET',\n expectStatuses: [403, 404],\n });\n switch (result.status) {\n case 403:\n return { status: 403, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 200, contentType: 'application/json', data: await parseJson<InstallJob>(result) };\n }\n }\n\n /** @description Server-sent events, each frame's data a FeedEvent. Hand-written, like /speak: ContractKit */\n async installJobEvents(\n job: string,\n ): Promise<\n | { status: 200; contentType: 'text/event-stream'; data: string }\n | { status: 403; contentType: 'application/json'; data: ErrorBody }\n | { status: 404; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/installs/${encodeURIComponent(job)}/events`, {\n method: 'GET',\n expectStatuses: [403, 404],\n });\n switch (result.status) {\n case 403:\n return { status: 403, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n case 404:\n return { status: 404, contentType: 'application/json', data: await parseJson<ErrorBody>(result) };\n default:\n return { status: 200, contentType: 'text/event-stream', data: await result.text() };\n }\n }\n}\n","import type { SdkOptions } from './sdk-options.js';\nimport { createSdkFetch } from './sdk-options.js';\nimport { PublicClient } from './public/public.client.js';\n\nexport class RhapsodeSdk {\n readonly public: PublicClient;\n\n constructor(options: SdkOptions) {\n const sdkFetch = options.fetch ?? createSdkFetch(options);\n this.public = new PublicClient(sdkFetch);\n }\n}\n"],"mappings":"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","names":["SdkError","Error","status","statusText","body","headers","name","bigIntReplacer","_","value","toString","bigIntReviver","test","BigInt","slice","readContentType","res","get","split","trim","randomRequestId","crypto","randomUUID","bytes","getRandomValues","Uint8Array","hex","Array","from","b","padStart","join","createSdkFetch","options","getRequestId","requestIdFactory","url","init","baseHeaders","fetch","baseUrl","ok","expectStatuses","includes","text","JSON","parse","buildQueryString","query","searchParams","URLSearchParams","k","v","Object","entries","undefined","isArray","item","append","String","set","qs","buildHeaders","out","map","parseBigIntHeader","replace","stringify","parseJson","parseJsonWithBigInt","PublicClient","fetch","health","result","method","parseJson","openapi","engines","engineCapabilities","engine","encodeURIComponent","expectStatuses","status","contentType","data","engineVoices","createVoice","body","deleteVoice","voice","voicePreview","blob","speak","headers","JSON","stringify","bigIntReplacer","readContentType","dialogue","catalog","uninstallEngine","installEngine","query","qs","buildQueryString","pullEngine","installJobs","installJob","job","installJobEvents","text","RhapsodeSdk","public","options","sdkFetch","fetch","createSdkFetch","PublicClient"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maroonedsoftware/rhapsode-sdk",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "A typed client for the rhapsode public API, generated from contracts/.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -25,7 +25,7 @@
25
25
  "devDependencies": {
26
26
  "@repo/config-eslint": "0.0.0",
27
27
  "@repo/config-typescript": "0.0.0",
28
- "@rhapsode/core": "0.1.3",
28
+ "@rhapsode/core": "0.1.5",
29
29
  "vitest": "^5.0.0"
30
30
  },
31
31
  "publishConfig": {