@hypercli.com/sdk 2026.4.7-1 → 2026.4.7-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/agent.d.ts +127 -0
  2. package/dist/agent.d.ts.map +1 -0
  3. package/dist/agent.js +255 -0
  4. package/dist/agent.js.map +1 -0
  5. package/dist/agents.d.ts +437 -0
  6. package/dist/agents.d.ts.map +1 -0
  7. package/dist/agents.js +1140 -0
  8. package/dist/agents.js.map +1 -0
  9. package/dist/billing.d.ts +72 -0
  10. package/dist/billing.d.ts.map +1 -0
  11. package/dist/billing.js +93 -0
  12. package/dist/billing.js.map +1 -0
  13. package/dist/browser.d.ts +25 -0
  14. package/dist/browser.d.ts.map +1 -0
  15. package/dist/browser.js +33 -0
  16. package/dist/browser.js.map +1 -0
  17. package/dist/client.d.ts +65 -0
  18. package/dist/client.d.ts.map +1 -0
  19. package/dist/client.js +97 -0
  20. package/dist/client.js.map +1 -0
  21. package/dist/config.d.ts +46 -0
  22. package/dist/config.d.ts.map +1 -0
  23. package/dist/config.js +235 -0
  24. package/dist/config.js.map +1 -0
  25. package/dist/errors.d.ts +9 -0
  26. package/dist/errors.d.ts.map +1 -0
  27. package/dist/errors.js +15 -0
  28. package/dist/errors.js.map +1 -0
  29. package/dist/files.d.ts +60 -0
  30. package/dist/files.d.ts.map +1 -0
  31. package/dist/files.js +128 -0
  32. package/dist/files.js.map +1 -0
  33. package/dist/gateway.d.ts +269 -0
  34. package/dist/gateway.d.ts.map +1 -0
  35. package/dist/gateway.js +2020 -0
  36. package/dist/gateway.js.map +1 -0
  37. package/dist/http.d.ts +42 -0
  38. package/dist/http.d.ts.map +1 -0
  39. package/dist/http.js +238 -0
  40. package/dist/http.js.map +1 -0
  41. package/dist/index.d.ts +25 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +41 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/instances.d.ts +94 -0
  46. package/dist/instances.d.ts.map +1 -0
  47. package/dist/instances.js +197 -0
  48. package/dist/instances.js.map +1 -0
  49. package/dist/job/base.d.ts +80 -0
  50. package/dist/job/base.d.ts.map +1 -0
  51. package/dist/job/base.js +200 -0
  52. package/dist/job/base.js.map +1 -0
  53. package/dist/job/comfyui.d.ts +75 -0
  54. package/dist/job/comfyui.d.ts.map +1 -0
  55. package/dist/job/comfyui.js +454 -0
  56. package/dist/job/comfyui.js.map +1 -0
  57. package/dist/job/gradio.d.ts +48 -0
  58. package/dist/job/gradio.d.ts.map +1 -0
  59. package/dist/job/gradio.js +90 -0
  60. package/dist/job/gradio.js.map +1 -0
  61. package/dist/jobs.d.ts +153 -0
  62. package/dist/jobs.d.ts.map +1 -0
  63. package/dist/jobs.js +352 -0
  64. package/dist/jobs.js.map +1 -0
  65. package/dist/keys.d.ts +83 -0
  66. package/dist/keys.d.ts.map +1 -0
  67. package/dist/keys.js +69 -0
  68. package/dist/keys.js.map +1 -0
  69. package/dist/logs.d.ts +54 -0
  70. package/dist/logs.d.ts.map +1 -0
  71. package/dist/logs.js +256 -0
  72. package/dist/logs.js.map +1 -0
  73. package/dist/renders.d.ts +177 -0
  74. package/dist/renders.d.ts.map +1 -0
  75. package/dist/renders.js +310 -0
  76. package/dist/renders.js.map +1 -0
  77. package/dist/user.d.ts +49 -0
  78. package/dist/user.d.ts.map +1 -0
  79. package/dist/user.js +57 -0
  80. package/dist/user.js.map +1 -0
  81. package/dist/voice.d.ts +31 -0
  82. package/dist/voice.d.ts.map +1 -0
  83. package/dist/voice.js +36 -0
  84. package/dist/voice.js.map +1 -0
  85. package/dist/x402.d.ts +79 -0
  86. package/dist/x402.d.ts.map +1 -0
  87. package/dist/x402.js +295 -0
  88. package/dist/x402.js.map +1 -0
  89. package/package.json +1 -1
@@ -0,0 +1,310 @@
1
+ import { APIError } from './errors.js';
2
+ function renderFromDict(data) {
3
+ return {
4
+ renderId: data.id || data.render_id || '',
5
+ state: data.state || '',
6
+ template: data.template || data.meta?.template || null,
7
+ renderType: data.type || data.render_type || null,
8
+ tags: Array.isArray(data.tags) ? data.tags : null,
9
+ resultUrl: data.result_url || null,
10
+ error: data.error || null,
11
+ createdAt: data.created_at || null,
12
+ startedAt: data.started_at || null,
13
+ completedAt: data.completed_at || null,
14
+ };
15
+ }
16
+ function renderStatusFromDict(data) {
17
+ return {
18
+ renderId: data.id || data.render_id || '',
19
+ state: data.state || '',
20
+ progress: data.progress ?? null,
21
+ };
22
+ }
23
+ export class Renders {
24
+ http;
25
+ authHttp;
26
+ authMeCache = null;
27
+ constructor(http, authHttp = http) {
28
+ this.http = http;
29
+ this.authHttp = authHttp;
30
+ }
31
+ async authMe() {
32
+ if (this.authMeCache == null) {
33
+ this.authMeCache = await this.authHttp.get('/api/auth/me');
34
+ }
35
+ return this.authMeCache;
36
+ }
37
+ async supportsSubscriptionFamily(family, resource) {
38
+ try {
39
+ const authMe = await this.authMe();
40
+ if (!authMe?.has_active_subscription) {
41
+ return false;
42
+ }
43
+ if (authMe.auth_type === 'user') {
44
+ return true;
45
+ }
46
+ const capabilities = new Set(Array.isArray(authMe.capabilities) ? authMe.capabilities : []);
47
+ if (capabilities.has(`${family}:*`)) {
48
+ return true;
49
+ }
50
+ return Boolean(resource && capabilities.has(`${family}:${resource}`));
51
+ }
52
+ catch (error) {
53
+ if (error instanceof APIError) {
54
+ return false;
55
+ }
56
+ throw error;
57
+ }
58
+ }
59
+ async postFlow(flowType, payload) {
60
+ const primary = (await this.supportsSubscriptionFamily('flows', flowType))
61
+ ? `/agents/flow/${flowType}`
62
+ : `/api/flow/${flowType}`;
63
+ try {
64
+ return await this.http.post(primary, payload);
65
+ }
66
+ catch (error) {
67
+ if (primary.startsWith('/agents/flow/') && error instanceof APIError && (error.statusCode === 403 || error.statusCode === 404)) {
68
+ return await this.http.post(`/api/flow/${flowType}`, payload);
69
+ }
70
+ throw error;
71
+ }
72
+ }
73
+ async getRender(renderId, status = false) {
74
+ const suffix = status ? '/status' : '';
75
+ const primary = (await this.supportsSubscriptionFamily('flows'))
76
+ ? `/agents/flow/renders/${renderId}${suffix}`
77
+ : `/api/renders/${renderId}${suffix}`;
78
+ try {
79
+ return await this.http.get(primary);
80
+ }
81
+ catch (error) {
82
+ if (primary.startsWith('/agents/flow/') && error instanceof APIError && (error.statusCode === 403 || error.statusCode === 404)) {
83
+ return await this.http.get(`/api/renders/${renderId}${suffix}`);
84
+ }
85
+ throw error;
86
+ }
87
+ }
88
+ async deleteRender(renderId) {
89
+ const primary = (await this.supportsSubscriptionFamily('flows'))
90
+ ? `/agents/flow/renders/${renderId}`
91
+ : `/api/renders/${renderId}`;
92
+ try {
93
+ return await this.http.delete(primary);
94
+ }
95
+ catch (error) {
96
+ if (primary.startsWith('/agents/flow/') && error instanceof APIError && (error.statusCode === 403 || error.statusCode === 404)) {
97
+ return await this.http.delete(`/api/renders/${renderId}`);
98
+ }
99
+ throw error;
100
+ }
101
+ }
102
+ /**
103
+ * List all renders
104
+ */
105
+ async list(options) {
106
+ const params = {};
107
+ if (options?.state)
108
+ params.state = options.state;
109
+ if (options?.template)
110
+ params.template = options.template;
111
+ if (options?.type)
112
+ params.type = options.type;
113
+ if (options?.tags?.length) {
114
+ params.tag = [...options.tags];
115
+ }
116
+ const data = await this.http.get('/api/renders', params);
117
+ const items = typeof data === 'object' && data.items ? data.items : data;
118
+ return (items || []).map(renderFromDict);
119
+ }
120
+ /**
121
+ * Get render details
122
+ */
123
+ async get(renderId) {
124
+ const data = await this.getRender(renderId);
125
+ return renderFromDict(data);
126
+ }
127
+ /**
128
+ * Create a new render
129
+ */
130
+ async create(params, renderType = 'comfyui', notifyUrl, tags) {
131
+ const payload = {
132
+ type: renderType,
133
+ params,
134
+ };
135
+ if (notifyUrl) {
136
+ payload.notify_url = notifyUrl;
137
+ }
138
+ if (tags?.length) {
139
+ payload.tags = [...tags];
140
+ }
141
+ const data = await this.http.post('/api/renders', payload);
142
+ return renderFromDict(data);
143
+ }
144
+ /**
145
+ * Cancel a render
146
+ */
147
+ async cancel(renderId) {
148
+ return await this.deleteRender(renderId);
149
+ }
150
+ /**
151
+ * Get render status (lightweight polling endpoint)
152
+ */
153
+ async status(renderId) {
154
+ const data = await this.getRender(renderId, true);
155
+ return renderStatusFromDict(data);
156
+ }
157
+ // =========================================================================
158
+ // Flow endpoints - simplified interfaces
159
+ // =========================================================================
160
+ async flow(flowType, params) {
161
+ // Filter out null/undefined values
162
+ const payload = {};
163
+ for (const [key, value] of Object.entries(params)) {
164
+ if (value !== null && value !== undefined) {
165
+ payload[key] = value;
166
+ }
167
+ }
168
+ const data = await this.postFlow(flowType, payload);
169
+ return renderFromDict(data);
170
+ }
171
+ /**
172
+ * Generate an image using Qwen-Image
173
+ */
174
+ async textToImage(options) {
175
+ return this.flow('text-to-image', {
176
+ prompt: options.prompt,
177
+ negative: options.negative,
178
+ width: options.width,
179
+ height: options.height,
180
+ notify_url: options.notifyUrl,
181
+ });
182
+ }
183
+ /**
184
+ * Generate an image using HiDream I1 Full
185
+ */
186
+ async textToImageHidream(options) {
187
+ return this.flow('text-to-image-hidream', {
188
+ prompt: options.prompt,
189
+ negative: options.negative,
190
+ width: options.width,
191
+ height: options.height,
192
+ notify_url: options.notifyUrl,
193
+ });
194
+ }
195
+ /**
196
+ * Generate a video using Wan 2.2 14B
197
+ */
198
+ async textToVideo(options) {
199
+ return this.flow('text-to-video', {
200
+ prompt: options.prompt,
201
+ negative: options.negative,
202
+ width: options.width,
203
+ height: options.height,
204
+ notify_url: options.notifyUrl,
205
+ });
206
+ }
207
+ /**
208
+ * Animate an image using Wan 2.2 Animate
209
+ */
210
+ async imageToVideo(options) {
211
+ return this.flow('image-to-video', {
212
+ prompt: options.prompt,
213
+ image_url: options.imageUrl,
214
+ file_ids: options.fileIds,
215
+ negative: options.negative,
216
+ width: options.width,
217
+ height: options.height,
218
+ notify_url: options.notifyUrl,
219
+ });
220
+ }
221
+ /**
222
+ * Generate a lip-sync video using HuMo
223
+ */
224
+ async speakingVideo(options) {
225
+ return this.flow('speaking-video', {
226
+ prompt: options.prompt,
227
+ image_url: options.imageUrl,
228
+ audio_url: options.audioUrl,
229
+ file_ids: options.fileIds,
230
+ negative: options.negative,
231
+ length: options.length,
232
+ width: options.width,
233
+ height: options.height,
234
+ notify_url: options.notifyUrl,
235
+ });
236
+ }
237
+ /**
238
+ * Generate an audio-driven video using Wan 2.2 S2V
239
+ */
240
+ async speakingVideoWan(options) {
241
+ return this.flow('speaking-video-wan', {
242
+ prompt: options.prompt,
243
+ image_url: options.imageUrl,
244
+ audio_url: options.audioUrl,
245
+ negative: options.negative,
246
+ width: options.width,
247
+ height: options.height,
248
+ notify_url: options.notifyUrl,
249
+ });
250
+ }
251
+ /**
252
+ * Transform images using Qwen Image Edit
253
+ */
254
+ async imageToImage(options) {
255
+ return this.flow('image-to-image', {
256
+ prompt: options.prompt,
257
+ image_urls: options.imageUrls,
258
+ file_ids: options.fileIds,
259
+ negative: options.negative,
260
+ width: options.width,
261
+ height: options.height,
262
+ notify_url: options.notifyUrl,
263
+ });
264
+ }
265
+ /**
266
+ * Generate video morphing between two images using Wan 2.2
267
+ */
268
+ async firstLastFrameVideo(options) {
269
+ return this.flow('first-last-frame-video', {
270
+ prompt: options.prompt,
271
+ start_image_url: options.startImageUrl,
272
+ end_image_url: options.endImageUrl,
273
+ file_ids: options.fileIds,
274
+ negative: options.negative,
275
+ width: options.width,
276
+ height: options.height,
277
+ notify_url: options.notifyUrl,
278
+ });
279
+ }
280
+ /**
281
+ * Transcribe audio/video to text using WhisperX
282
+ */
283
+ async audioToText(options) {
284
+ return this.flow('audio-to-text', {
285
+ audio_url: options.audioUrl,
286
+ file_ids: options.fileIds,
287
+ notify_url: options.notifyUrl,
288
+ });
289
+ }
290
+ /**
291
+ * Generate speech from text using Qwen3-TTS
292
+ */
293
+ async textToSpeech(options) {
294
+ return this.flow('text-to-speech', {
295
+ text: options.text,
296
+ mode: options.mode,
297
+ language: options.language,
298
+ speaker: options.speaker,
299
+ style: options.style,
300
+ model_size: options.modelSize,
301
+ voice_description: options.voiceDescription,
302
+ ref_audio_url: options.refAudioUrl,
303
+ file_ids: options.fileIds,
304
+ ref_text: options.refText,
305
+ use_xvector_only: options.useXvectorOnly,
306
+ notify_url: options.notifyUrl,
307
+ });
308
+ }
309
+ }
310
+ //# sourceMappingURL=renders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renders.js","sourceRoot":"","sources":["../src/renders.ts"],"names":[],"mappings":"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"}
package/dist/user.d.ts ADDED
@@ -0,0 +1,49 @@
1
+ /**
2
+ * User API - current user information
3
+ */
4
+ import type { HTTPClient } from './http.js';
5
+ export interface User {
6
+ userId: string;
7
+ email: string | null;
8
+ name: string | null;
9
+ isActive: boolean;
10
+ createdAt: string;
11
+ emailVerified?: boolean;
12
+ updatedAt?: string;
13
+ userType?: string | null;
14
+ meta?: string | null;
15
+ }
16
+ export interface AuthMe {
17
+ userId: string;
18
+ orchestraUserId: string | null;
19
+ teamId: string;
20
+ planId: string;
21
+ email: string | null;
22
+ authType: string;
23
+ capabilities: string[];
24
+ hasActiveSubscription: boolean;
25
+ keyId: string | null;
26
+ keyName: string | null;
27
+ }
28
+ export interface UpdateUserOptions {
29
+ name?: string;
30
+ email?: string;
31
+ }
32
+ export declare class UserAPI {
33
+ private http;
34
+ private authHttp;
35
+ constructor(http: HTTPClient, authHttp?: HTTPClient);
36
+ /**
37
+ * Get current user info
38
+ */
39
+ get(): Promise<User>;
40
+ /**
41
+ * Resolve the current auth context, including key capabilities.
42
+ */
43
+ authMe(): Promise<AuthMe>;
44
+ /**
45
+ * Update the current user profile.
46
+ */
47
+ update(options: UpdateUserOptions): Promise<User>;
48
+ }
49
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,WAAW,IAAI;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA+BD,qBAAa,OAAO;IACN,OAAO,CAAC,IAAI;IAAc,OAAO,CAAC,QAAQ;gBAAlC,IAAI,EAAE,UAAU,EAAU,QAAQ,GAAE,UAAiB;IAEzE;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAK1B;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAK/B;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAIxD"}
package/dist/user.js ADDED
@@ -0,0 +1,57 @@
1
+ function userFromDict(data) {
2
+ return {
3
+ userId: data.user_id || '',
4
+ email: data.email || null,
5
+ name: data.name || null,
6
+ isActive: data.is_active !== false,
7
+ createdAt: data.created_at || '',
8
+ emailVerified: data.email_verified,
9
+ updatedAt: data.updated_at || '',
10
+ userType: data.user_type ?? null,
11
+ meta: data.meta ?? null,
12
+ };
13
+ }
14
+ function authMeFromDict(data) {
15
+ return {
16
+ userId: data.user_id || '',
17
+ orchestraUserId: data.orchestra_user_id || null,
18
+ teamId: data.team_id || '',
19
+ planId: data.plan_id || '',
20
+ email: data.email || null,
21
+ authType: data.auth_type || '',
22
+ capabilities: Array.isArray(data.capabilities) ? data.capabilities : [],
23
+ hasActiveSubscription: Boolean(data.has_active_subscription),
24
+ keyId: data.key_id || null,
25
+ keyName: data.key_name || null,
26
+ };
27
+ }
28
+ export class UserAPI {
29
+ http;
30
+ authHttp;
31
+ constructor(http, authHttp = http) {
32
+ this.http = http;
33
+ this.authHttp = authHttp;
34
+ }
35
+ /**
36
+ * Get current user info
37
+ */
38
+ async get() {
39
+ const data = await this.http.get('/api/user');
40
+ return userFromDict(data);
41
+ }
42
+ /**
43
+ * Resolve the current auth context, including key capabilities.
44
+ */
45
+ async authMe() {
46
+ const data = await this.authHttp.get('/api/auth/me');
47
+ return authMeFromDict(data);
48
+ }
49
+ /**
50
+ * Update the current user profile.
51
+ */
52
+ async update(options) {
53
+ const data = await this.http.patch('/api/user', options);
54
+ return userFromDict(data);
55
+ }
56
+ }
57
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AAmCA,SAAS,YAAY,CAAC,IAAS;IAC7B,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;QAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;QACzB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;QACvB,QAAQ,EAAE,IAAI,CAAC,SAAS,KAAK,KAAK;QAClC,SAAS,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;QAChC,aAAa,EAAE,IAAI,CAAC,cAAc;QAClC,SAAS,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;QAChC,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;QAChC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAS;IAC/B,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;QAC1B,eAAe,EAAE,IAAI,CAAC,iBAAiB,IAAI,IAAI;QAC/C,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;QAC1B,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;QAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;QACzB,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;QAC9B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;QACvE,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC;QAC5D,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;QAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,OAAO;IACE;IAA0B;IAA9C,YAAoB,IAAgB,EAAU,WAAuB,IAAI;QAArD,SAAI,GAAJ,IAAI,CAAY;QAAU,aAAQ,GAAR,QAAQ,CAAmB;IAAG,CAAC;IAE7E;;OAEG;IACH,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9C,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACrD,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAA0B;QACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACzD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Voice capability API
3
+ */
4
+ import type { HTTPClient } from './http.js';
5
+ export interface TTSOptions {
6
+ text: string;
7
+ voice?: string;
8
+ language?: string;
9
+ responseFormat?: string;
10
+ }
11
+ export interface CloneOptions {
12
+ text: string;
13
+ refAudio: Uint8Array | ArrayBuffer;
14
+ language?: string;
15
+ xVectorOnly?: boolean;
16
+ responseFormat?: string;
17
+ }
18
+ export interface DesignOptions {
19
+ text: string;
20
+ description: string;
21
+ language?: string;
22
+ responseFormat?: string;
23
+ }
24
+ export declare class VoiceAPI {
25
+ private http;
26
+ constructor(http: HTTPClient);
27
+ tts(options: TTSOptions): Promise<Uint8Array>;
28
+ clone(options: CloneOptions): Promise<Uint8Array>;
29
+ design(options: DesignOptions): Promise<Uint8Array>;
30
+ }
31
+ //# sourceMappingURL=voice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../src/voice.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,GAAG,WAAW,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAOD,qBAAa,QAAQ;IACP,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE9B,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAS7C,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IAUjD,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;CAQ1D"}
package/dist/voice.js ADDED
@@ -0,0 +1,36 @@
1
+ function encodeBase64(bytes) {
2
+ const data = bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes);
3
+ return Buffer.from(data).toString('base64');
4
+ }
5
+ export class VoiceAPI {
6
+ http;
7
+ constructor(http) {
8
+ this.http = http;
9
+ }
10
+ async tts(options) {
11
+ return this.http.postBytes('/agents/voice/tts', {
12
+ text: options.text,
13
+ voice: options.voice ?? 'Chelsie',
14
+ language: options.language ?? 'auto',
15
+ response_format: options.responseFormat ?? 'mp3',
16
+ });
17
+ }
18
+ async clone(options) {
19
+ return this.http.postBytes('/agents/voice/clone', {
20
+ text: options.text,
21
+ ref_audio_base64: encodeBase64(options.refAudio),
22
+ language: options.language ?? 'auto',
23
+ x_vector_only: options.xVectorOnly ?? true,
24
+ response_format: options.responseFormat ?? 'mp3',
25
+ });
26
+ }
27
+ async design(options) {
28
+ return this.http.postBytes('/agents/voice/design', {
29
+ text: options.text,
30
+ instruct: options.description,
31
+ language: options.language ?? 'auto',
32
+ response_format: options.responseFormat ?? 'mp3',
33
+ });
34
+ }
35
+ }
36
+ //# sourceMappingURL=voice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice.js","sourceRoot":"","sources":["../src/voice.ts"],"names":[],"mappings":"AA2BA,SAAS,YAAY,CAAC,KAA+B;IACnD,MAAM,IAAI,GAAG,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,OAAO,QAAQ;IACC;IAApB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExC,KAAK,CAAC,GAAG,CAAC,OAAmB;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE;YAC9C,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;YACjC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,MAAM;YACpC,eAAe,EAAE,OAAO,CAAC,cAAc,IAAI,KAAK;SACjD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAqB;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE;YAChD,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,gBAAgB,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;YAChD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,MAAM;YACpC,aAAa,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;YAC1C,eAAe,EAAE,OAAO,CAAC,cAAc,IAAI,KAAK;SACjD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAsB;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE;YACjD,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,WAAW;YAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,MAAM;YACpC,eAAe,EAAE,OAAO,CAAC,cAAc,IAAI,KAAK;SACjD,CAAC,CAAC;IACL,CAAC;CACF"}
package/dist/x402.d.ts ADDED
@@ -0,0 +1,79 @@
1
+ import type { Job } from './jobs.js';
2
+ import type { Render } from './renders.js';
3
+ export interface X402Signer {
4
+ address: string;
5
+ signTypedData: (params: {
6
+ domain: Record<string, unknown>;
7
+ types: Record<string, unknown>;
8
+ primaryType: string;
9
+ message: Record<string, unknown>;
10
+ }) => Promise<string>;
11
+ }
12
+ export interface X402JobLaunch {
13
+ job: Job;
14
+ accessKey: string;
15
+ statusUrl: string;
16
+ logsUrl: string;
17
+ cancelUrl: string;
18
+ }
19
+ export interface X402FlowCreate {
20
+ render: Render;
21
+ accessKey: string;
22
+ statusUrl: string;
23
+ cancelUrl: string;
24
+ }
25
+ export interface FlowCatalogItem {
26
+ flowType: string;
27
+ priceUsd: number;
28
+ template?: string | null;
29
+ type: string;
30
+ regions?: Record<string, string> | null;
31
+ interruptible?: boolean | null;
32
+ }
33
+ export interface X402CreateJobOptions {
34
+ amount: number;
35
+ signer: X402Signer;
36
+ image: string;
37
+ command?: string;
38
+ gpuType?: string;
39
+ gpuCount?: number;
40
+ region?: string;
41
+ constraints?: Record<string, string>;
42
+ interruptible?: boolean;
43
+ env?: Record<string, string>;
44
+ ports?: Record<string, number>;
45
+ auth?: boolean;
46
+ registryAuth?: {
47
+ username: string;
48
+ password: string;
49
+ };
50
+ }
51
+ export interface X402CreateFlowOptions {
52
+ flowType: string;
53
+ amount: number;
54
+ signer: X402Signer;
55
+ params?: Record<string, any>;
56
+ notifyUrl?: string;
57
+ }
58
+ export declare class X402Client {
59
+ private readonly apiUrl;
60
+ private readonly timeout;
61
+ constructor(apiUrl?: string, timeout?: number);
62
+ /**
63
+ * Fetch the public flow catalog (available flow types and prices).
64
+ */
65
+ getFlowCatalog(): Promise<FlowCatalogItem[]>;
66
+ /**
67
+ * Get the price for a specific flow type.
68
+ */
69
+ getFlowPrice(flowType: string): Promise<number>;
70
+ /**
71
+ * Launch a GPU job paid via x402 (USDC on Base chain).
72
+ */
73
+ createJob(options: X402CreateJobOptions): Promise<X402JobLaunch>;
74
+ /**
75
+ * Create a flow render paid via x402 (USDC on Base chain).
76
+ */
77
+ createFlow(options: X402CreateFlowOptions): Promise<X402FlowCreate>;
78
+ }
79
+ //# sourceMappingURL=x402.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x402.d.ts","sourceRoot":"","sources":["../src/x402.ts"],"names":[],"mappings":"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"}