@maroonedsoftware/rhapsode-sdk 0.1.10 → 0.1.11

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,6 +1,6 @@
1
1
  import type { SdkFetch } from '../sdk-options.js';
2
2
  import type { Capabilities, CatalogEntry, CoreHealth, EngineDialogueRequest, EngineSpeakRequest, EngineSummary, ErrorBody, InstallJob, PullRequest, ReinstallOutdated, ResidencyDetail, UpdateStatus, Voice } from '../rhapsode/types/rhapsode.types.js';
3
- import type { OpenApiDocument } from './types/rhapsode.public.js';
3
+ import type { OpenApiDocument, Settings, SettingsPatch } from './types/rhapsode.public.js';
4
4
  export declare class PublicClient {
5
5
  private fetch;
6
6
  constructor(fetch: SdkFetch);
@@ -8,6 +8,8 @@ export declare class PublicClient {
8
8
  health(): Promise<CoreHealth>;
9
9
  /** @description Open to every caller, like /health. It never waits on the network: a first call after boot */
10
10
  updateStatus(): Promise<UpdateStatus>;
11
+ /** @description Asks GitHub now rather than waiting out the day, and answers once it has, within the check's */
12
+ checkForUpdate(): Promise<UpdateStatus>;
11
13
  /** @description What is on the card, for an operator asking where their memory went. Reads the core's own */
12
14
  residency(): Promise<ResidencyDetail>;
13
15
  /** @description Open to every caller, like /health. The public API only: never a worker route. */
@@ -285,5 +287,40 @@ export declare class PublicClient {
285
287
  contentType: 'application/json';
286
288
  data: ErrorBody;
287
289
  }>;
290
+ settings(): Promise<{
291
+ status: 200;
292
+ contentType: 'application/json';
293
+ data: Settings;
294
+ } | {
295
+ status: 403;
296
+ contentType: 'application/json';
297
+ data: ErrorBody;
298
+ }>;
299
+ /** @description One transaction: a patch that is refused changes nothing. Answers the whole document after */
300
+ updateSettings(body: SettingsPatch): Promise<{
301
+ status: 200;
302
+ contentType: 'application/json';
303
+ data: Settings;
304
+ } | {
305
+ status: 400;
306
+ contentType: 'application/json';
307
+ data: ErrorBody;
308
+ } | {
309
+ status: 403;
310
+ contentType: 'application/json';
311
+ data: ErrorBody;
312
+ } | {
313
+ status: 404;
314
+ contentType: 'application/json';
315
+ data: ErrorBody;
316
+ } | {
317
+ status: 409;
318
+ contentType: 'application/json';
319
+ data: ErrorBody;
320
+ } | {
321
+ status: 422;
322
+ contentType: 'application/json';
323
+ data: ErrorBody;
324
+ }>;
288
325
  }
289
326
  //# sourceMappingURL=public.client.d.ts.map
@@ -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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"}
@@ -1,17 +1,158 @@
1
1
  import type { JsonValue } from '../../sdk-options.js';
2
2
  /**
3
- * generated from [ApiInfo](../../../../../../contracts/rhapsode.public.ck#L63)
3
+ * generated from [ApiInfo](../../../../../../contracts/rhapsode.public.ck#L75)
4
4
  */
5
5
  export interface ApiInfo {
6
6
  title: string;
7
7
  /** The running core's package version. Not the contract. */
8
8
  version: string;
9
9
  }
10
+ /**
11
+ * generated from [SettingsServer](../../../../../../contracts/rhapsode.public.ck#L414)
12
+ */
13
+ export interface SettingsServer {
14
+ port: number;
15
+ host: string;
16
+ shutdownGraceMs: number;
17
+ }
18
+ /**
19
+ * generated from [SettingsLog](../../../../../../contracts/rhapsode.public.ck#L420)
20
+ */
21
+ export interface SettingsLog {
22
+ level: 'error' | 'warn' | 'info' | 'debug' | 'trace';
23
+ }
24
+ /**
25
+ * generated from [SettingsResidency](../../../../../../contracts/rhapsode.public.ck#L424)
26
+ */
27
+ export interface SettingsResidency {
28
+ maxResidentModels: number;
29
+ evictionWaitSeconds: number;
30
+ keepAliveSeconds: number;
31
+ }
32
+ /**
33
+ * generated from [SettingsWorkers](../../../../../../contracts/rhapsode.public.ck#L430)
34
+ */
35
+ export interface SettingsWorkers {
36
+ socketDir: string;
37
+ voiceDir: string;
38
+ startupTimeoutSeconds: number;
39
+ drainGraceMs: number;
40
+ maxRestarts: number;
41
+ restartDecaySeconds: number;
42
+ }
43
+ /**
44
+ * generated from [SettingsInstall](../../../../../../contracts/rhapsode.public.ck#L439)
45
+ */
46
+ export interface SettingsInstall {
47
+ venvDir: string;
48
+ /** Absent when there is neither a setting nor a checkout to find. */
49
+ sourceDir?: string;
50
+ python: string;
51
+ }
52
+ /**
53
+ * generated from [SettingsManagement](../../../../../../contracts/rhapsode.public.ck#L445)
54
+ */
55
+ export interface SettingsManagement {
56
+ /** Never the token itself, which is a root password for the box. */
57
+ tokenSet: boolean;
58
+ origins: string[];
59
+ }
60
+ /**
61
+ * generated from [SettingsUpdate](../../../../../../contracts/rhapsode.public.ck#L450)
62
+ */
63
+ export interface SettingsUpdate {
64
+ check: boolean;
65
+ }
66
+ /**
67
+ * generated from [SettingsEngine](../../../../../../contracts/rhapsode.public.ck#L454)
68
+ */
69
+ export interface SettingsEngine {
70
+ /** Absent when the engine uses residency.keepAliveSeconds. */
71
+ keepAliveSeconds?: number;
72
+ }
73
+ /**
74
+ * generated from [SettingField](../../../../../../contracts/rhapsode.public.ck#L470)
75
+ */
76
+ export interface SettingField {
77
+ /** Dotted: residency.keepAliveSeconds, engines.kokoro.keepAliveSeconds. */
78
+ key: string;
79
+ /** The layer the value in use came from. */
80
+ source: 'default' | 'config' | 'database';
81
+ /** Whether a change takes effect when it is written. */
82
+ applies: 'live' | 'restart';
83
+ /** A value waiting for a restart. For management.token, `true` and never the token. */
84
+ saved?: JsonValue;
85
+ }
86
+ /**
87
+ * A change to some settings. Strict, so a misspelt key is refused rather than saved and ignored, and
88
+ * every member nullable: `null` clears the database's value and the file's, or the default, shows
89
+ * through again. The ranges here are the ones a value is refused outside of; § 10 lists them.
90
+ * generated from [SettingsServerPatch](../../../../../../contracts/rhapsode.public.ck#L485)
91
+ */
92
+ export interface SettingsServerPatch {
93
+ port?: number | null;
94
+ host?: string | null;
95
+ shutdownGraceMs?: number | null;
96
+ }
97
+ /**
98
+ * generated from [SettingsLogPatch](../../../../../../contracts/rhapsode.public.ck#L491)
99
+ */
100
+ export interface SettingsLogPatch {
101
+ level?: 'error' | 'warn' | 'info' | 'debug' | 'trace' | null;
102
+ }
103
+ /**
104
+ * generated from [SettingsResidencyPatch](../../../../../../contracts/rhapsode.public.ck#L495)
105
+ */
106
+ export interface SettingsResidencyPatch {
107
+ maxResidentModels?: number | null;
108
+ evictionWaitSeconds?: number | null;
109
+ keepAliveSeconds?: number | null;
110
+ }
111
+ /**
112
+ * generated from [SettingsWorkersPatch](../../../../../../contracts/rhapsode.public.ck#L501)
113
+ */
114
+ export interface SettingsWorkersPatch {
115
+ socketDir?: string | null;
116
+ voiceDir?: string | null;
117
+ startupTimeoutSeconds?: number | null;
118
+ drainGraceMs?: number | null;
119
+ maxRestarts?: number | null;
120
+ restartDecaySeconds?: number | null;
121
+ }
122
+ /**
123
+ * generated from [SettingsInstallPatch](../../../../../../contracts/rhapsode.public.ck#L510)
124
+ */
125
+ export interface SettingsInstallPatch {
126
+ venvDir?: string | null;
127
+ sourceDir?: string | null;
128
+ python?: string | null;
129
+ }
130
+ /**
131
+ * generated from [SettingsManagementPatch](../../../../../../contracts/rhapsode.public.ck#L516)
132
+ */
133
+ export interface SettingsManagementPatch {
134
+ /** Empty is no token, even where the file has one. */
135
+ token?: string | null;
136
+ /** The whole list, replacing the file's rather than adding to it. */
137
+ origins?: string[] | null;
138
+ }
139
+ /**
140
+ * generated from [SettingsUpdatePatch](../../../../../../contracts/rhapsode.public.ck#L521)
141
+ */
142
+ export interface SettingsUpdatePatch {
143
+ check?: boolean | null;
144
+ }
145
+ /**
146
+ * generated from [SettingsEnginePatch](../../../../../../contracts/rhapsode.public.ck#L525)
147
+ */
148
+ export interface SettingsEnginePatch {
149
+ keepAliveSeconds?: number | null;
150
+ }
10
151
  /**
11
152
  * This file, `rhapsode.types.ck` and `rhapsode.openai.ck` as OpenAPI 3.1. protocol.md § 9. Only the
12
153
  * top of the document is declared: the rest is OpenAPI's own shape, and a client that wants it typed
13
154
  * already has a library that types it.
14
- * generated from [OpenApiDocument](../../../../../../contracts/rhapsode.public.ck#L56)
155
+ * generated from [OpenApiDocument](../../../../../../contracts/rhapsode.public.ck#L68)
15
156
  */
16
157
  export interface OpenApiDocument {
17
158
  openapi: string;
@@ -19,4 +160,39 @@ export interface OpenApiDocument {
19
160
  paths: Record<string, JsonValue>;
20
161
  components?: Record<string, JsonValue>;
21
162
  }
163
+ /**
164
+ * What the running process is using. A setting waiting for a restart shows its old value here.
165
+ * generated from [SettingsValues](../../../../../../contracts/rhapsode.public.ck#L459)
166
+ */
167
+ export interface SettingsValues {
168
+ server: SettingsServer;
169
+ log: SettingsLog;
170
+ residency: SettingsResidency;
171
+ workers: SettingsWorkers;
172
+ install: SettingsInstall;
173
+ management: SettingsManagement;
174
+ update: SettingsUpdate;
175
+ /** One per engine in the registry. */
176
+ engines: Record<string, SettingsEngine>;
177
+ }
178
+ /**
179
+ * generated from [SettingsPatch](../../../../../../contracts/rhapsode.public.ck#L529)
180
+ */
181
+ export interface SettingsPatch {
182
+ server?: SettingsServerPatch;
183
+ log?: SettingsLogPatch;
184
+ residency?: SettingsResidencyPatch;
185
+ workers?: SettingsWorkersPatch;
186
+ install?: SettingsInstallPatch;
187
+ management?: SettingsManagementPatch;
188
+ update?: SettingsUpdatePatch;
189
+ engines?: Record<string, SettingsEnginePatch>;
190
+ }
191
+ /**
192
+ * generated from [Settings](../../../../../../contracts/rhapsode.public.ck#L477)
193
+ */
194
+ export interface Settings {
195
+ values: SettingsValues;
196
+ fields: SettingField[];
197
+ }
22
198
  //# sourceMappingURL=rhapsode.public.d.ts.map
@@ -1 +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"}
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;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,oEAAoE;IACpE,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC1C,wDAAwD;IACxD,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,uFAAuF;IACvF,KAAK,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;CAChE;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;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;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,cAAc,CAAC;IACvB,GAAG,EAAE,WAAW,CAAC;IACjB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACnC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,YAAY,EAAE,CAAC;CAC1B"}
package/dist/index.js CHANGED
@@ -128,6 +128,13 @@ var PublicClient = class {
128
128
  });
129
129
  return await parseJson(result);
130
130
  }
131
+ /** @description Asks GitHub now rather than waiting out the day, and answers once it has, within the check's */
132
+ async checkForUpdate() {
133
+ const result = await this.fetch(`/update/check`, {
134
+ method: "POST"
135
+ });
136
+ return await parseJson(result);
137
+ }
131
138
  /** @description What is on the card, for an operator asking where their memory went. Reads the core's own */
132
139
  async residency() {
133
140
  const result = await this.fetch(`/residency`, {
@@ -729,6 +736,83 @@ var PublicClient = class {
729
736
  };
730
737
  }
731
738
  }
739
+ async settings() {
740
+ const result = await this.fetch(`/settings`, {
741
+ method: "GET",
742
+ expectStatuses: [
743
+ 403
744
+ ]
745
+ });
746
+ switch (result.status) {
747
+ case 403:
748
+ return {
749
+ status: 403,
750
+ contentType: "application/json",
751
+ data: await parseJson(result)
752
+ };
753
+ default:
754
+ return {
755
+ status: 200,
756
+ contentType: "application/json",
757
+ data: await parseJson(result)
758
+ };
759
+ }
760
+ }
761
+ /** @description One transaction: a patch that is refused changes nothing. Answers the whole document after */
762
+ async updateSettings(body) {
763
+ const result = await this.fetch(`/settings`, {
764
+ method: "PATCH",
765
+ headers: {
766
+ "Content-Type": "application/json"
767
+ },
768
+ body: JSON.stringify(body, bigIntReplacer),
769
+ expectStatuses: [
770
+ 400,
771
+ 403,
772
+ 404,
773
+ 409,
774
+ 422
775
+ ]
776
+ });
777
+ switch (result.status) {
778
+ case 400:
779
+ return {
780
+ status: 400,
781
+ contentType: "application/json",
782
+ data: await parseJson(result)
783
+ };
784
+ case 403:
785
+ return {
786
+ status: 403,
787
+ contentType: "application/json",
788
+ data: await parseJson(result)
789
+ };
790
+ case 404:
791
+ return {
792
+ status: 404,
793
+ contentType: "application/json",
794
+ data: await parseJson(result)
795
+ };
796
+ case 409:
797
+ return {
798
+ status: 409,
799
+ contentType: "application/json",
800
+ data: await parseJson(result)
801
+ };
802
+ case 422:
803
+ return {
804
+ status: 422,
805
+ contentType: "application/json",
806
+ data: await parseJson(result)
807
+ };
808
+ default:
809
+ return {
810
+ status: 200,
811
+ contentType: "application/json",
812
+ data: await parseJson(result)
813
+ };
814
+ }
815
+ }
732
816
  };
733
817
 
734
818
  // src/generated/rhapsode.sdk.ts
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 EngineDialogueRequest,\n EngineSpeakRequest,\n EngineSummary,\n ErrorBody,\n InstallJob,\n PullRequest,\n ReinstallOutdated,\n ResidencyDetail,\n UpdateStatus,\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. It never waits on the network: a first call after boot */\n async updateStatus(): Promise<UpdateStatus> {\n const result = await this.fetch(`/update`, { method: 'GET' });\n return await parseJson<UpdateStatus>(result);\n }\n\n /** @description What is on the card, for an operator asking where their memory went. Reads the core's own */\n async residency(): Promise<ResidencyDetail> {\n const result = await this.fetch(`/residency`, { method: 'GET' });\n return await parseJson<ResidencyDetail>(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: EngineDialogueRequest,\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 /** @description Free this engine's model now, rather than waiting out its keep-alive. Idempotent: an */\n async unloadEngine(\n engine: string,\n query?: { mode?: 'terminate' | 'unload' },\n ): Promise<\n | { status: 200; contentType: 'application/json'; data: EngineSummary }\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)}/unload${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: 200, contentType: 'application/json', data: await parseJson<EngineSummary>(result) };\n }\n }\n\n async installEngine(\n engine: string,\n query?: { pull?: string; accept?: string },\n ): Promise<\n | { status: 202; contentType: 'application/json'; data: InstallJob }\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: 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: [400, 403, 404, 409],\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 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 reinstallEngine(\n engine: string,\n query?: { accept?: string },\n ): Promise<\n | { status: 202; contentType: 'application/json'; data: InstallJob }\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: 409; contentType: 'application/json'; data: ErrorBody }\n > {\n const qs = buildQueryString(query);\n const result = await this.fetch(`/engines/${encodeURIComponent(engine)}/reinstall${qs}`, {\n method: 'POST',\n expectStatuses: [400, 403, 404, 409],\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 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 reinstallOutdated(): Promise<\n { status: 202; contentType: 'application/json'; data: ReinstallOutdated } | { status: 403; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/installs/outdated`, {\n method: 'POST',\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: 202, contentType: 'application/json', data: await parseJson<ReinstallOutdated>(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","updateStatus","residency","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","unloadEngine","query","qs","buildQueryString","installEngine","reinstallEngine","pullEngine","installJobs","reinstallOutdated","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 EngineDialogueRequest,\n EngineSpeakRequest,\n EngineSummary,\n ErrorBody,\n InstallJob,\n PullRequest,\n ReinstallOutdated,\n ResidencyDetail,\n UpdateStatus,\n Voice,\n} from '../rhapsode/types/rhapsode.types.js';\nimport type { OpenApiDocument, Settings, SettingsPatch } 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. It never waits on the network: a first call after boot */\n async updateStatus(): Promise<UpdateStatus> {\n const result = await this.fetch(`/update`, { method: 'GET' });\n return await parseJson<UpdateStatus>(result);\n }\n\n /** @description Asks GitHub now rather than waiting out the day, and answers once it has, within the check's */\n async checkForUpdate(): Promise<UpdateStatus> {\n const result = await this.fetch(`/update/check`, { method: 'POST' });\n return await parseJson<UpdateStatus>(result);\n }\n\n /** @description What is on the card, for an operator asking where their memory went. Reads the core's own */\n async residency(): Promise<ResidencyDetail> {\n const result = await this.fetch(`/residency`, { method: 'GET' });\n return await parseJson<ResidencyDetail>(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: EngineDialogueRequest,\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 /** @description Free this engine's model now, rather than waiting out its keep-alive. Idempotent: an */\n async unloadEngine(\n engine: string,\n query?: { mode?: 'terminate' | 'unload' },\n ): Promise<\n | { status: 200; contentType: 'application/json'; data: EngineSummary }\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)}/unload${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: 200, contentType: 'application/json', data: await parseJson<EngineSummary>(result) };\n }\n }\n\n async installEngine(\n engine: string,\n query?: { pull?: string; accept?: string },\n ): Promise<\n | { status: 202; contentType: 'application/json'; data: InstallJob }\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: 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: [400, 403, 404, 409],\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 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 reinstallEngine(\n engine: string,\n query?: { accept?: string },\n ): Promise<\n | { status: 202; contentType: 'application/json'; data: InstallJob }\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: 409; contentType: 'application/json'; data: ErrorBody }\n > {\n const qs = buildQueryString(query);\n const result = await this.fetch(`/engines/${encodeURIComponent(engine)}/reinstall${qs}`, {\n method: 'POST',\n expectStatuses: [400, 403, 404, 409],\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 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 reinstallOutdated(): Promise<\n { status: 202; contentType: 'application/json'; data: ReinstallOutdated } | { status: 403; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/installs/outdated`, {\n method: 'POST',\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: 202, contentType: 'application/json', data: await parseJson<ReinstallOutdated>(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 async settings(): Promise<\n { status: 200; contentType: 'application/json'; data: Settings } | { status: 403; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/settings`, {\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<Settings>(result) };\n }\n }\n\n /** @description One transaction: a patch that is refused changes nothing. Answers the whole document after */\n async updateSettings(\n body: SettingsPatch,\n ): Promise<\n | { status: 200; contentType: 'application/json'; data: Settings }\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: 409; contentType: 'application/json'; data: ErrorBody }\n | { status: 422; contentType: 'application/json'; data: ErrorBody }\n > {\n const result = await this.fetch(`/settings`, {\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(body, bigIntReplacer),\n expectStatuses: [400, 403, 404, 409, 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 409:\n return { status: 409, 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: 200, contentType: 'application/json', data: await parseJson<Settings>(result) };\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","updateStatus","checkForUpdate","residency","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","unloadEngine","query","qs","buildQueryString","installEngine","reinstallEngine","pullEngine","installJobs","reinstallOutdated","installJob","job","installJobEvents","text","settings","updateSettings","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.10",
3
+ "version": "0.1.11",
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.10",
28
+ "@rhapsode/core": "0.1.11",
29
29
  "vitest": "^5.0.0"
30
30
  },
31
31
  "publishConfig": {