@hypercli.com/sdk 2026.3.13-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +205 -0
  2. package/dist/agent.d.ts +63 -0
  3. package/dist/agent.d.ts.map +1 -0
  4. package/dist/agent.js +128 -0
  5. package/dist/agent.js.map +1 -0
  6. package/dist/agents.d.ts +245 -0
  7. package/dist/agents.d.ts.map +1 -0
  8. package/dist/agents.js +602 -0
  9. package/dist/agents.js.map +1 -0
  10. package/dist/billing.d.ts +38 -0
  11. package/dist/billing.d.ts.map +1 -0
  12. package/dist/billing.js +53 -0
  13. package/dist/billing.js.map +1 -0
  14. package/dist/claw.d.ts +83 -0
  15. package/dist/claw.d.ts.map +1 -0
  16. package/dist/claw.js +148 -0
  17. package/dist/claw.js.map +1 -0
  18. package/dist/client.d.ts +62 -0
  19. package/dist/client.d.ts.map +1 -0
  20. package/dist/client.js +82 -0
  21. package/dist/client.js.map +1 -0
  22. package/dist/config.d.ts +28 -0
  23. package/dist/config.d.ts.map +1 -0
  24. package/dist/config.js +107 -0
  25. package/dist/config.js.map +1 -0
  26. package/dist/errors.d.ts +9 -0
  27. package/dist/errors.d.ts.map +1 -0
  28. package/dist/errors.js +15 -0
  29. package/dist/errors.js.map +1 -0
  30. package/dist/files.d.ts +60 -0
  31. package/dist/files.d.ts.map +1 -0
  32. package/dist/files.js +128 -0
  33. package/dist/files.js.map +1 -0
  34. package/dist/gateway.d.ts +216 -0
  35. package/dist/gateway.d.ts.map +1 -0
  36. package/dist/gateway.js +1306 -0
  37. package/dist/gateway.js.map +1 -0
  38. package/dist/http.d.ts +41 -0
  39. package/dist/http.d.ts.map +1 -0
  40. package/dist/http.js +206 -0
  41. package/dist/http.js.map +1 -0
  42. package/dist/index.d.ts +22 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +36 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/instances.d.ts +93 -0
  47. package/dist/instances.d.ts.map +1 -0
  48. package/dist/instances.js +196 -0
  49. package/dist/instances.js.map +1 -0
  50. package/dist/job/base.d.ts +80 -0
  51. package/dist/job/base.d.ts.map +1 -0
  52. package/dist/job/base.js +200 -0
  53. package/dist/job/base.js.map +1 -0
  54. package/dist/job/comfyui.d.ts +75 -0
  55. package/dist/job/comfyui.d.ts.map +1 -0
  56. package/dist/job/comfyui.js +454 -0
  57. package/dist/job/comfyui.js.map +1 -0
  58. package/dist/job/gradio.d.ts +48 -0
  59. package/dist/job/gradio.d.ts.map +1 -0
  60. package/dist/job/gradio.js +90 -0
  61. package/dist/job/gradio.js.map +1 -0
  62. package/dist/jobs.d.ts +132 -0
  63. package/dist/jobs.d.ts.map +1 -0
  64. package/dist/jobs.js +244 -0
  65. package/dist/jobs.js.map +1 -0
  66. package/dist/keys.d.ts +39 -0
  67. package/dist/keys.d.ts.map +1 -0
  68. package/dist/keys.js +53 -0
  69. package/dist/keys.js.map +1 -0
  70. package/dist/logs.d.ts +54 -0
  71. package/dist/logs.d.ts.map +1 -0
  72. package/dist/logs.js +256 -0
  73. package/dist/logs.js.map +1 -0
  74. package/dist/renders.d.ts +168 -0
  75. package/dist/renders.d.ts.map +1 -0
  76. package/dist/renders.js +228 -0
  77. package/dist/renders.js.map +1 -0
  78. package/dist/user.d.ts +20 -0
  79. package/dist/user.d.ts.map +1 -0
  80. package/dist/user.js +23 -0
  81. package/dist/user.js.map +1 -0
  82. package/package.json +65 -0
package/dist/logs.js ADDED
@@ -0,0 +1,256 @@
1
+ /**
2
+ * Async log streaming for jobs using WebSocket
3
+ */
4
+ import WebSocket from 'ws';
5
+ import { getWsUrl, WS_LOGS_PATH } from './config.js';
6
+ // Default limits to prevent memory blowup
7
+ const DEFAULT_MAX_INITIAL_LINES = 1000;
8
+ const DEFAULT_MAX_BUFFER = 5000;
9
+ /**
10
+ * Fetch logs via REST API (one-time call)
11
+ */
12
+ export async function fetchLogs(client, jobId, tail) {
13
+ try {
14
+ const logs = await client.jobs.logs(jobId);
15
+ if (!logs) {
16
+ return [];
17
+ }
18
+ const lines = logs.trim().split('\n');
19
+ if (tail && lines.length > tail) {
20
+ return lines.slice(-tail);
21
+ }
22
+ return lines;
23
+ }
24
+ catch {
25
+ return [];
26
+ }
27
+ }
28
+ /**
29
+ * Async log streamer - WebSocket streaming with optional initial fetch
30
+ */
31
+ export class LogStream {
32
+ client;
33
+ jobId;
34
+ jobKey;
35
+ fetchInitial;
36
+ maxInitialLines;
37
+ maxBuffer;
38
+ ws = null;
39
+ buffer = [];
40
+ initialFetched = false;
41
+ connected = false;
42
+ closed = false;
43
+ constructor(client, jobId, jobKey, fetchInitial = true, maxInitialLines = DEFAULT_MAX_INITIAL_LINES, maxBuffer = DEFAULT_MAX_BUFFER) {
44
+ this.client = client;
45
+ this.jobId = jobId;
46
+ this.jobKey = jobKey;
47
+ this.fetchInitial = fetchInitial;
48
+ this.maxInitialLines = maxInitialLines;
49
+ this.maxBuffer = maxBuffer;
50
+ }
51
+ get status() {
52
+ if (this.closed)
53
+ return 'closed';
54
+ if (this.connected)
55
+ return 'connected';
56
+ if (this.ws)
57
+ return 'connecting';
58
+ return 'disconnected';
59
+ }
60
+ /**
61
+ * Connect to log stream. Returns initial logs if fetchInitial=true.
62
+ */
63
+ async connect() {
64
+ if (this.closed) {
65
+ throw new Error('LogStream is closed');
66
+ }
67
+ const initialLines = [];
68
+ // Fetch initial logs ONCE (bounded)
69
+ if (this.fetchInitial && !this.initialFetched) {
70
+ const logs = await fetchLogs(this.client, this.jobId, this.maxInitialLines);
71
+ for (const line of logs) {
72
+ this.buffer.push(line);
73
+ if (this.buffer.length > this.maxBuffer) {
74
+ this.buffer.shift(); // Remove oldest
75
+ }
76
+ }
77
+ initialLines.push(...logs);
78
+ this.initialFetched = true;
79
+ }
80
+ // Get job_key if not provided
81
+ if (!this.jobKey) {
82
+ const job = await this.client.jobs.get(this.jobId);
83
+ this.jobKey = job.jobKey;
84
+ }
85
+ // Connect WebSocket
86
+ if (this.jobKey && !this.ws) {
87
+ const wsUrl = getWsUrl();
88
+ const fullUrl = `${wsUrl}${WS_LOGS_PATH}/${this.jobKey}`;
89
+ await new Promise((resolve, reject) => {
90
+ const timeout = setTimeout(() => {
91
+ reject(new Error('WebSocket connection timeout'));
92
+ }, 30000);
93
+ this.ws = new WebSocket(fullUrl);
94
+ this.ws.on('open', () => {
95
+ clearTimeout(timeout);
96
+ this.connected = true;
97
+ resolve();
98
+ });
99
+ this.ws.on('error', (error) => {
100
+ clearTimeout(timeout);
101
+ reject(error);
102
+ });
103
+ });
104
+ }
105
+ return initialLines;
106
+ }
107
+ /**
108
+ * Close the WebSocket connection
109
+ */
110
+ async close() {
111
+ this.closed = true;
112
+ this.connected = false;
113
+ if (this.ws) {
114
+ this.ws.close();
115
+ this.ws = null;
116
+ }
117
+ }
118
+ /**
119
+ * Get current buffer contents (bounded, oldest may be dropped)
120
+ */
121
+ getBuffer() {
122
+ return [...this.buffer];
123
+ }
124
+ /**
125
+ * Clear the buffer
126
+ */
127
+ clearBuffer() {
128
+ this.buffer = [];
129
+ }
130
+ /**
131
+ * Async iterate over NEW log lines from WebSocket
132
+ */
133
+ async *[Symbol.asyncIterator]() {
134
+ if (!this.ws) {
135
+ throw new Error('Not connected. Call connect() first.');
136
+ }
137
+ const messageQueue = [];
138
+ let resolveNext = null;
139
+ let rejectNext = null;
140
+ this.ws.on('message', (data) => {
141
+ if (this.closed)
142
+ return;
143
+ try {
144
+ const message = JSON.parse(data.toString());
145
+ if (message.event === 'log' && message.log) {
146
+ for (const line of message.log.split('\n')) {
147
+ if (line) {
148
+ this.buffer.push(line);
149
+ if (this.buffer.length > this.maxBuffer) {
150
+ this.buffer.shift();
151
+ }
152
+ if (resolveNext) {
153
+ resolveNext({ done: false, value: line });
154
+ resolveNext = null;
155
+ }
156
+ else {
157
+ messageQueue.push(line);
158
+ }
159
+ }
160
+ }
161
+ }
162
+ }
163
+ catch {
164
+ // Ignore JSON parse errors
165
+ }
166
+ });
167
+ this.ws.on('close', () => {
168
+ this.connected = false;
169
+ if (resolveNext) {
170
+ resolveNext({ done: true, value: undefined });
171
+ resolveNext = null;
172
+ }
173
+ });
174
+ this.ws.on('error', (error) => {
175
+ if (rejectNext) {
176
+ rejectNext(error);
177
+ rejectNext = null;
178
+ }
179
+ });
180
+ while (!this.closed) {
181
+ if (messageQueue.length > 0) {
182
+ yield messageQueue.shift();
183
+ }
184
+ else {
185
+ // Wait for next message
186
+ const result = await new Promise((resolve, reject) => {
187
+ resolveNext = resolve;
188
+ rejectNext = reject;
189
+ });
190
+ if (result.done) {
191
+ break;
192
+ }
193
+ yield result.value;
194
+ }
195
+ }
196
+ }
197
+ }
198
+ /**
199
+ * Stream logs until job reaches a terminal state
200
+ */
201
+ export async function streamLogs(client, jobId, onLine, options) {
202
+ const { untilState = new Set(['succeeded', 'failed', 'canceled', 'terminated']), pollStateInterval = 2000, fetchInitial = true, fetchFinal = true, maxInitialLines = DEFAULT_MAX_INITIAL_LINES, } = options || {};
203
+ let job = await client.jobs.get(jobId);
204
+ // Wait for job to be assigned/running
205
+ while (job.state === 'pending' || job.state === 'queued') {
206
+ await new Promise(resolve => setTimeout(resolve, pollStateInterval));
207
+ job = await client.jobs.get(jobId);
208
+ }
209
+ // Check for immediate terminal state
210
+ if (untilState.has(job.state)) {
211
+ if (fetchFinal) {
212
+ const logs = await fetchLogs(client, jobId, maxInitialLines);
213
+ for (const line of logs) {
214
+ onLine(line);
215
+ }
216
+ }
217
+ return;
218
+ }
219
+ // Fetch initial logs if running
220
+ if (fetchInitial && job.state === 'running') {
221
+ const logs = await fetchLogs(client, jobId, maxInitialLines);
222
+ for (const line of logs) {
223
+ onLine(line);
224
+ }
225
+ }
226
+ // Connect WebSocket
227
+ if (job.jobKey) {
228
+ const stream = new LogStream(client, jobId, job.jobKey, false);
229
+ await stream.connect();
230
+ try {
231
+ // Stream logs while checking job state periodically
232
+ const checkInterval = setInterval(async () => {
233
+ job = await client.jobs.get(jobId);
234
+ if (untilState.has(job.state)) {
235
+ await stream.close();
236
+ }
237
+ }, pollStateInterval);
238
+ for await (const line of stream) {
239
+ onLine(line);
240
+ }
241
+ clearInterval(checkInterval);
242
+ }
243
+ finally {
244
+ await stream.close();
245
+ }
246
+ }
247
+ // Fetch final logs
248
+ if (fetchFinal) {
249
+ await new Promise(resolve => setTimeout(resolve, 500));
250
+ const logs = await fetchLogs(client, jobId, maxInitialLines);
251
+ for (const line of logs) {
252
+ onLine(line);
253
+ }
254
+ }
255
+ }
256
+ //# sourceMappingURL=logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../src/logs.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,SAAS,MAAM,IAAI,CAAC;AAE3B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAErD,0CAA0C;AAC1C,MAAM,yBAAyB,GAAG,IAAI,CAAC;AACvC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAgB,EAChB,KAAa,EACb,IAAa;IAEb,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,SAAS;IAQV;IACA;IACA;IACA;IACA;IACA;IAZF,EAAE,GAAqB,IAAI,CAAC;IAC5B,MAAM,GAAa,EAAE,CAAC;IACtB,cAAc,GAAG,KAAK,CAAC;IACvB,SAAS,GAAG,KAAK,CAAC;IAClB,MAAM,GAAG,KAAK,CAAC;IAEvB,YACU,MAAgB,EAChB,KAAa,EACb,MAAe,EACf,eAAwB,IAAI,EAC5B,kBAA0B,yBAAyB,EACnD,YAAoB,kBAAkB;QALtC,WAAM,GAAN,MAAM,CAAU;QAChB,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAS;QACf,iBAAY,GAAZ,YAAY,CAAgB;QAC5B,oBAAe,GAAf,eAAe,CAAoC;QACnD,cAAS,GAAT,SAAS,CAA6B;IAC7C,CAAC;IAEJ,IAAI,MAAM;QACR,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,QAAQ,CAAC;QACjC,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,WAAW,CAAC;QACvC,IAAI,IAAI,CAAC,EAAE;YAAE,OAAO,YAAY,CAAC;QACjC,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,oCAAoC;QACpC,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5E,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,gBAAgB;gBACvC,CAAC;YACH,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC3B,CAAC;QAED,oBAAoB;QACpB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,GAAG,KAAK,GAAG,YAAY,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAEzD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBACpD,CAAC,EAAE,KAAK,CAAC,CAAC;gBAEV,IAAI,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;gBAEjC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;oBACtB,YAAY,CAAC,OAAO,CAAC,CAAC;oBACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC5B,YAAY,CAAC,OAAO,CAAC,CAAC;oBACtB,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,WAAW,GAAqD,IAAI,CAAC;QACzE,IAAI,UAAU,GAAoC,IAAI,CAAC;QAEvD,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAY,EAAE,EAAE;YACrC,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO;YAExB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC5C,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;oBAC3C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3C,IAAI,IAAI,EAAE,CAAC;4BACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACvB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gCACxC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;4BACtB,CAAC;4BAED,IAAI,WAAW,EAAE,CAAC;gCAChB,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gCAC1C,WAAW,GAAG,IAAI,CAAC;4BACrB,CAAC;iCAAM,CAAC;gCACN,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAC1B,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,2BAA2B;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC9C,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;YACnC,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClB,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,YAAY,CAAC,KAAK,EAAG,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,wBAAwB;gBACxB,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC3E,WAAW,GAAG,OAAO,CAAC;oBACtB,UAAU,GAAG,MAAM,CAAC;gBACtB,CAAC,CAAC,CAAC;gBAEH,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAChB,MAAM;gBACR,CAAC;gBAED,MAAM,MAAM,CAAC,KAAK,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAgB,EAChB,KAAa,EACb,MAA8B,EAC9B,OAMC;IAED,MAAM,EACJ,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,EACvE,iBAAiB,GAAG,IAAI,EACxB,YAAY,GAAG,IAAI,EACnB,UAAU,GAAG,IAAI,EACjB,eAAe,GAAG,yBAAyB,GAC5C,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,IAAI,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEvC,sCAAsC;IACtC,OAAO,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACzD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACrE,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,qCAAqC;IACrC,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;YAC7D,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IAED,gCAAgC;IAChC,IAAI,YAAY,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;QAC7D,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/D,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QAEvB,IAAI,CAAC;YACH,oDAAoD;YACpD,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;gBAC3C,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC9B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;gBACvB,CAAC;YACH,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAEtB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,CAAC;YACf,CAAC;YAED,aAAa,CAAC,aAAa,CAAC,CAAC;QAC/B,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;QAC7D,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * Renders API - managed AI rendering workflows
3
+ */
4
+ import type { HTTPClient } from './http.js';
5
+ export interface Render {
6
+ renderId: string;
7
+ state: string;
8
+ template: string | null;
9
+ renderType: string | null;
10
+ resultUrl: string | null;
11
+ error: string | null;
12
+ createdAt: number | null;
13
+ startedAt: number | null;
14
+ completedAt: number | null;
15
+ }
16
+ export interface RenderStatus {
17
+ renderId: string;
18
+ state: string;
19
+ progress: number | null;
20
+ }
21
+ export declare class Renders {
22
+ private http;
23
+ constructor(http: HTTPClient);
24
+ /**
25
+ * List all renders
26
+ */
27
+ list(options?: {
28
+ state?: string;
29
+ template?: string;
30
+ type?: string;
31
+ }): Promise<Render[]>;
32
+ /**
33
+ * Get render details
34
+ */
35
+ get(renderId: string): Promise<Render>;
36
+ /**
37
+ * Create a new render
38
+ */
39
+ create(params: Record<string, any>, renderType?: string, notifyUrl?: string): Promise<Render>;
40
+ /**
41
+ * Cancel a render
42
+ */
43
+ cancel(renderId: string): Promise<any>;
44
+ /**
45
+ * Get render status (lightweight polling endpoint)
46
+ */
47
+ status(renderId: string): Promise<RenderStatus>;
48
+ private flow;
49
+ /**
50
+ * Generate an image using Qwen-Image
51
+ */
52
+ textToImage(options: {
53
+ prompt: string;
54
+ negative?: string;
55
+ width?: number;
56
+ height?: number;
57
+ notifyUrl?: string;
58
+ }): Promise<Render>;
59
+ /**
60
+ * Generate an image using HiDream I1 Full
61
+ */
62
+ textToImageHidream(options: {
63
+ prompt: string;
64
+ negative?: string;
65
+ width?: number;
66
+ height?: number;
67
+ notifyUrl?: string;
68
+ }): Promise<Render>;
69
+ /**
70
+ * Generate a video using Wan 2.2 14B
71
+ */
72
+ textToVideo(options: {
73
+ prompt: string;
74
+ negative?: string;
75
+ width?: number;
76
+ height?: number;
77
+ notifyUrl?: string;
78
+ }): Promise<Render>;
79
+ /**
80
+ * Animate an image using Wan 2.2 Animate
81
+ */
82
+ imageToVideo(options: {
83
+ prompt: string;
84
+ imageUrl?: string;
85
+ fileIds?: string[];
86
+ negative?: string;
87
+ width?: number;
88
+ height?: number;
89
+ notifyUrl?: string;
90
+ }): Promise<Render>;
91
+ /**
92
+ * Generate a lip-sync video using HuMo
93
+ */
94
+ speakingVideo(options: {
95
+ prompt: string;
96
+ imageUrl?: string;
97
+ audioUrl?: string;
98
+ fileIds?: string[];
99
+ negative?: string;
100
+ length?: number;
101
+ width?: number;
102
+ height?: number;
103
+ notifyUrl?: string;
104
+ }): Promise<Render>;
105
+ /**
106
+ * Generate an audio-driven video using Wan 2.2 S2V
107
+ */
108
+ speakingVideoWan(options: {
109
+ prompt: string;
110
+ imageUrl: string;
111
+ audioUrl: string;
112
+ negative?: string;
113
+ width?: number;
114
+ height?: number;
115
+ notifyUrl?: string;
116
+ }): Promise<Render>;
117
+ /**
118
+ * Transform images using Qwen Image Edit
119
+ */
120
+ imageToImage(options: {
121
+ prompt: string;
122
+ imageUrls?: string[];
123
+ fileIds?: string[];
124
+ negative?: string;
125
+ width?: number;
126
+ height?: number;
127
+ notifyUrl?: string;
128
+ }): Promise<Render>;
129
+ /**
130
+ * Generate video morphing between two images using Wan 2.2
131
+ */
132
+ firstLastFrameVideo(options: {
133
+ prompt: string;
134
+ startImageUrl?: string;
135
+ endImageUrl?: string;
136
+ fileIds?: string[];
137
+ negative?: string;
138
+ width?: number;
139
+ height?: number;
140
+ notifyUrl?: string;
141
+ }): Promise<Render>;
142
+ /**
143
+ * Transcribe audio/video to text using WhisperX
144
+ */
145
+ audioToText(options: {
146
+ audioUrl?: string;
147
+ fileIds?: string[];
148
+ notifyUrl?: string;
149
+ }): Promise<Render>;
150
+ /**
151
+ * Generate speech from text using Qwen3-TTS
152
+ */
153
+ textToSpeech(options: {
154
+ text: string;
155
+ mode?: string;
156
+ language?: string;
157
+ speaker?: string;
158
+ style?: string;
159
+ modelSize?: string;
160
+ voiceDescription?: string;
161
+ refAudioUrl?: string;
162
+ fileIds?: string[];
163
+ refText?: string;
164
+ useXvectorOnly?: boolean;
165
+ notifyUrl?: string;
166
+ }): Promise<Render>;
167
+ }
168
+ //# sourceMappingURL=renders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renders.d.ts","sourceRoot":"","sources":["../src/renders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,228 @@
1
+ function renderFromDict(data) {
2
+ return {
3
+ renderId: data.id || data.render_id || '',
4
+ state: data.state || '',
5
+ template: data.template || data.meta?.template || null,
6
+ renderType: data.type || data.render_type || null,
7
+ resultUrl: data.result_url || null,
8
+ error: data.error || null,
9
+ createdAt: data.created_at || null,
10
+ startedAt: data.started_at || null,
11
+ completedAt: data.completed_at || null,
12
+ };
13
+ }
14
+ function renderStatusFromDict(data) {
15
+ return {
16
+ renderId: data.id || data.render_id || '',
17
+ state: data.state || '',
18
+ progress: data.progress ?? null,
19
+ };
20
+ }
21
+ export class Renders {
22
+ http;
23
+ constructor(http) {
24
+ this.http = http;
25
+ }
26
+ /**
27
+ * List all renders
28
+ */
29
+ async list(options) {
30
+ const params = {};
31
+ if (options?.state)
32
+ params.state = options.state;
33
+ if (options?.template)
34
+ params.template = options.template;
35
+ if (options?.type)
36
+ params.type = options.type;
37
+ const data = await this.http.get('/api/renders', params);
38
+ const items = typeof data === 'object' && data.items ? data.items : data;
39
+ return (items || []).map(renderFromDict);
40
+ }
41
+ /**
42
+ * Get render details
43
+ */
44
+ async get(renderId) {
45
+ const data = await this.http.get(`/api/renders/${renderId}`);
46
+ return renderFromDict(data);
47
+ }
48
+ /**
49
+ * Create a new render
50
+ */
51
+ async create(params, renderType = 'comfyui', notifyUrl) {
52
+ const payload = {
53
+ type: renderType,
54
+ params,
55
+ };
56
+ if (notifyUrl) {
57
+ payload.notify_url = notifyUrl;
58
+ }
59
+ const data = await this.http.post('/api/renders', payload);
60
+ return renderFromDict(data);
61
+ }
62
+ /**
63
+ * Cancel a render
64
+ */
65
+ async cancel(renderId) {
66
+ return await this.http.delete(`/api/renders/${renderId}`);
67
+ }
68
+ /**
69
+ * Get render status (lightweight polling endpoint)
70
+ */
71
+ async status(renderId) {
72
+ const data = await this.http.get(`/api/renders/${renderId}/status`);
73
+ return renderStatusFromDict(data);
74
+ }
75
+ // =========================================================================
76
+ // Flow endpoints - simplified interfaces
77
+ // =========================================================================
78
+ async flow(endpoint, params) {
79
+ // Filter out null/undefined values
80
+ const payload = {};
81
+ for (const [key, value] of Object.entries(params)) {
82
+ if (value !== null && value !== undefined) {
83
+ payload[key] = value;
84
+ }
85
+ }
86
+ const data = await this.http.post(endpoint, payload);
87
+ return renderFromDict(data);
88
+ }
89
+ /**
90
+ * Generate an image using Qwen-Image
91
+ */
92
+ async textToImage(options) {
93
+ return this.flow('/api/flow/text-to-image', {
94
+ prompt: options.prompt,
95
+ negative: options.negative,
96
+ width: options.width,
97
+ height: options.height,
98
+ notify_url: options.notifyUrl,
99
+ });
100
+ }
101
+ /**
102
+ * Generate an image using HiDream I1 Full
103
+ */
104
+ async textToImageHidream(options) {
105
+ return this.flow('/api/flow/text-to-image-hidream', {
106
+ prompt: options.prompt,
107
+ negative: options.negative,
108
+ width: options.width,
109
+ height: options.height,
110
+ notify_url: options.notifyUrl,
111
+ });
112
+ }
113
+ /**
114
+ * Generate a video using Wan 2.2 14B
115
+ */
116
+ async textToVideo(options) {
117
+ return this.flow('/api/flow/text-to-video', {
118
+ prompt: options.prompt,
119
+ negative: options.negative,
120
+ width: options.width,
121
+ height: options.height,
122
+ notify_url: options.notifyUrl,
123
+ });
124
+ }
125
+ /**
126
+ * Animate an image using Wan 2.2 Animate
127
+ */
128
+ async imageToVideo(options) {
129
+ return this.flow('/api/flow/image-to-video', {
130
+ prompt: options.prompt,
131
+ image_url: options.imageUrl,
132
+ file_ids: options.fileIds,
133
+ negative: options.negative,
134
+ width: options.width,
135
+ height: options.height,
136
+ notify_url: options.notifyUrl,
137
+ });
138
+ }
139
+ /**
140
+ * Generate a lip-sync video using HuMo
141
+ */
142
+ async speakingVideo(options) {
143
+ return this.flow('/api/flow/speaking-video', {
144
+ prompt: options.prompt,
145
+ image_url: options.imageUrl,
146
+ audio_url: options.audioUrl,
147
+ file_ids: options.fileIds,
148
+ negative: options.negative,
149
+ length: options.length,
150
+ width: options.width,
151
+ height: options.height,
152
+ notify_url: options.notifyUrl,
153
+ });
154
+ }
155
+ /**
156
+ * Generate an audio-driven video using Wan 2.2 S2V
157
+ */
158
+ async speakingVideoWan(options) {
159
+ return this.flow('/api/flow/speaking-video-wan', {
160
+ prompt: options.prompt,
161
+ image_url: options.imageUrl,
162
+ audio_url: options.audioUrl,
163
+ negative: options.negative,
164
+ width: options.width,
165
+ height: options.height,
166
+ notify_url: options.notifyUrl,
167
+ });
168
+ }
169
+ /**
170
+ * Transform images using Qwen Image Edit
171
+ */
172
+ async imageToImage(options) {
173
+ return this.flow('/api/flow/image-to-image', {
174
+ prompt: options.prompt,
175
+ image_urls: options.imageUrls,
176
+ file_ids: options.fileIds,
177
+ negative: options.negative,
178
+ width: options.width,
179
+ height: options.height,
180
+ notify_url: options.notifyUrl,
181
+ });
182
+ }
183
+ /**
184
+ * Generate video morphing between two images using Wan 2.2
185
+ */
186
+ async firstLastFrameVideo(options) {
187
+ return this.flow('/api/flow/first-last-frame-video', {
188
+ prompt: options.prompt,
189
+ start_image_url: options.startImageUrl,
190
+ end_image_url: options.endImageUrl,
191
+ file_ids: options.fileIds,
192
+ negative: options.negative,
193
+ width: options.width,
194
+ height: options.height,
195
+ notify_url: options.notifyUrl,
196
+ });
197
+ }
198
+ /**
199
+ * Transcribe audio/video to text using WhisperX
200
+ */
201
+ async audioToText(options) {
202
+ return this.flow('/api/flow/audio-to-text', {
203
+ audio_url: options.audioUrl,
204
+ file_ids: options.fileIds,
205
+ notify_url: options.notifyUrl,
206
+ });
207
+ }
208
+ /**
209
+ * Generate speech from text using Qwen3-TTS
210
+ */
211
+ async textToSpeech(options) {
212
+ return this.flow('/api/flow/text-to-speech', {
213
+ text: options.text,
214
+ mode: options.mode,
215
+ language: options.language,
216
+ speaker: options.speaker,
217
+ style: options.style,
218
+ model_size: options.modelSize,
219
+ voice_description: options.voiceDescription,
220
+ ref_audio_url: options.refAudioUrl,
221
+ file_ids: options.fileIds,
222
+ ref_text: options.refText,
223
+ use_xvector_only: options.useXvectorOnly,
224
+ notify_url: options.notifyUrl,
225
+ });
226
+ }
227
+ }
228
+ //# sourceMappingURL=renders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renders.js","sourceRoot":"","sources":["../src/renders.ts"],"names":[],"mappings":"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"}