@hypercli.com/sdk 2026.4.13-3 → 2026.4.13-4

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 (97) hide show
  1. package/dist/agent.d.ts +350 -0
  2. package/dist/agent.d.ts.map +1 -0
  3. package/dist/agent.js +620 -0
  4. package/dist/agent.js.map +1 -0
  5. package/dist/agents.d.ts +433 -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 +67 -0
  18. package/dist/client.d.ts.map +1 -0
  19. package/dist/client.js +100 -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 +2 -0
  34. package/dist/gateway.d.ts.map +1 -0
  35. package/dist/gateway.js +2 -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 +26 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +42 -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/models.d.ts +15 -0
  74. package/dist/models.d.ts.map +1 -0
  75. package/dist/models.js +19 -0
  76. package/dist/models.js.map +1 -0
  77. package/dist/openclaw/gateway.d.ts +269 -0
  78. package/dist/openclaw/gateway.d.ts.map +1 -0
  79. package/dist/openclaw/gateway.js +2021 -0
  80. package/dist/openclaw/gateway.js.map +1 -0
  81. package/dist/renders.d.ts +187 -0
  82. package/dist/renders.d.ts.map +1 -0
  83. package/dist/renders.js +360 -0
  84. package/dist/renders.js.map +1 -0
  85. package/dist/user.d.ts +49 -0
  86. package/dist/user.d.ts.map +1 -0
  87. package/dist/user.js +57 -0
  88. package/dist/user.js.map +1 -0
  89. package/dist/voice.d.ts +31 -0
  90. package/dist/voice.d.ts.map +1 -0
  91. package/dist/voice.js +36 -0
  92. package/dist/voice.js.map +1 -0
  93. package/dist/x402.d.ts +79 -0
  94. package/dist/x402.d.ts.map +1 -0
  95. package/dist/x402.js +295 -0
  96. package/dist/x402.js.map +1 -0
  97. package/package.json +2 -1
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Base job class for GPU workloads
3
+ */
4
+ import type { HyperCLI } from '../client.js';
5
+ import type { Job } from '../jobs.js';
6
+ export interface BaseJobOptions {
7
+ image?: string;
8
+ gpuType?: string;
9
+ gpuCount?: number;
10
+ runtime?: number;
11
+ [key: string]: any;
12
+ }
13
+ /**
14
+ * Base class for managed GPU jobs with lifecycle helpers
15
+ */
16
+ export declare class BaseJob {
17
+ client: HyperCLI;
18
+ job: Job;
19
+ static DEFAULT_IMAGE: string;
20
+ static DEFAULT_GPU_TYPE: string;
21
+ static HEALTH_ENDPOINT: string;
22
+ static HEALTH_TIMEOUT: number;
23
+ protected _baseUrl: string | null;
24
+ constructor(client: HyperCLI, job: Job);
25
+ get jobId(): string;
26
+ get hostname(): string | null;
27
+ get baseUrl(): string;
28
+ get authHeaders(): Record<string, string>;
29
+ /**
30
+ * Find an existing running job, optionally filtering by image
31
+ */
32
+ static getRunning<T extends typeof BaseJob>(this: T, client: HyperCLI, imageFilter?: string): Promise<InstanceType<T> | null>;
33
+ /**
34
+ * Get a job by ID, hostname, or IP address
35
+ */
36
+ static getByInstance<T extends typeof BaseJob>(this: T, client: HyperCLI, instance: string, state?: string): Promise<InstanceType<T>>;
37
+ /**
38
+ * Create a new job
39
+ */
40
+ static create<T extends typeof BaseJob>(this: T, client: HyperCLI, options?: BaseJobOptions): Promise<InstanceType<T>>;
41
+ /**
42
+ * Get existing running job or create new one
43
+ */
44
+ static getOrCreate<T extends typeof BaseJob>(this: T, client: HyperCLI, options?: BaseJobOptions & {
45
+ reuse?: boolean;
46
+ }): Promise<InstanceType<T>>;
47
+ /**
48
+ * Refresh job state from API
49
+ */
50
+ refresh(): Promise<this>;
51
+ /**
52
+ * Wait for job to reach running state via API polling
53
+ */
54
+ waitForRunning(timeout?: number, pollInterval?: number): Promise<boolean>;
55
+ /**
56
+ * Alias for waitForRunning
57
+ */
58
+ waitForHostname(timeout?: number, pollInterval?: number): Promise<boolean>;
59
+ /**
60
+ * Check if the service is responding
61
+ */
62
+ checkHealth(): Promise<boolean>;
63
+ /**
64
+ * Wait for an EXISTING running job to respond to health checks
65
+ */
66
+ waitExisting(timeout?: number): Promise<boolean>;
67
+ /**
68
+ * Wait for a NEW job to be ready (running state + health check passing)
69
+ */
70
+ waitReady(timeout?: number, pollInterval?: number, dnsDelay?: number): Promise<boolean>;
71
+ /**
72
+ * Cancel the job
73
+ */
74
+ shutdown(): Promise<any>;
75
+ /**
76
+ * Extend job runtime
77
+ */
78
+ extend(runtime: number): Promise<this>;
79
+ }
80
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/job/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,200 @@
1
+ import { findJob } from '../jobs.js';
2
+ import { requestWithRetry } from '../http.js';
3
+ /**
4
+ * Base class for managed GPU jobs with lifecycle helpers
5
+ */
6
+ export class BaseJob {
7
+ client;
8
+ job;
9
+ static DEFAULT_IMAGE = '';
10
+ static DEFAULT_GPU_TYPE = 'l40s';
11
+ static HEALTH_ENDPOINT = '/';
12
+ static HEALTH_TIMEOUT = 5000;
13
+ _baseUrl = null;
14
+ constructor(client, job) {
15
+ this.client = client;
16
+ this.job = job;
17
+ }
18
+ get jobId() {
19
+ return this.job.jobId;
20
+ }
21
+ get hostname() {
22
+ return this.job.hostname;
23
+ }
24
+ get baseUrl() {
25
+ if (!this._baseUrl && this.hostname) {
26
+ this._baseUrl = `http://${this.hostname}`;
27
+ }
28
+ return this._baseUrl || '';
29
+ }
30
+ get authHeaders() {
31
+ return { 'Authorization': `Bearer ${this.client.apiKey}` };
32
+ }
33
+ /**
34
+ * Find an existing running job, optionally filtering by image
35
+ */
36
+ static async getRunning(client, imageFilter) {
37
+ const jobs = await client.jobs.list('running');
38
+ for (const job of jobs) {
39
+ if (imageFilter && !job.dockerImage.includes(imageFilter)) {
40
+ continue;
41
+ }
42
+ return new this(client, job);
43
+ }
44
+ return null;
45
+ }
46
+ /**
47
+ * Get a job by ID, hostname, or IP address
48
+ */
49
+ static async getByInstance(client, instance, state = 'running') {
50
+ const job = await findJob(client.jobs, instance, state);
51
+ if (!job) {
52
+ throw new Error(`No job found matching: ${instance}`);
53
+ }
54
+ return new this(client, job);
55
+ }
56
+ /**
57
+ * Create a new job
58
+ */
59
+ static async create(client, options = {}) {
60
+ const { image, gpuType, gpuCount = 1, runtime = 3600, ...kwargs } = options;
61
+ const job = await client.jobs.create({
62
+ image: image || this.DEFAULT_IMAGE,
63
+ gpuType: gpuType || this.DEFAULT_GPU_TYPE,
64
+ gpuCount,
65
+ runtime,
66
+ ...kwargs,
67
+ });
68
+ return new this(client, job);
69
+ }
70
+ /**
71
+ * Get existing running job or create new one
72
+ */
73
+ static async getOrCreate(client, options = {}) {
74
+ const { reuse = true, image, ...restOptions } = options;
75
+ if (reuse) {
76
+ const existing = await this.getRunning(client, image || this.DEFAULT_IMAGE);
77
+ if (existing) {
78
+ return existing;
79
+ }
80
+ }
81
+ return this.create(client, { image, ...restOptions });
82
+ }
83
+ /**
84
+ * Refresh job state from API
85
+ */
86
+ async refresh() {
87
+ this.job = await this.client.jobs.get(this.jobId);
88
+ this._baseUrl = null;
89
+ return this;
90
+ }
91
+ /**
92
+ * Wait for job to reach running state via API polling
93
+ */
94
+ async waitForRunning(timeout = 300000, pollInterval = 5000) {
95
+ const start = Date.now();
96
+ while (Date.now() - start < timeout) {
97
+ await this.refresh();
98
+ if (this.job.state === 'running' && this.hostname) {
99
+ return true;
100
+ }
101
+ if (['failed', 'cancelled', 'completed', 'terminated'].includes(this.job.state)) {
102
+ return false;
103
+ }
104
+ await new Promise(resolve => setTimeout(resolve, pollInterval));
105
+ }
106
+ return false;
107
+ }
108
+ /**
109
+ * Alias for waitForRunning
110
+ */
111
+ async waitForHostname(timeout = 300000, pollInterval = 5000) {
112
+ return this.waitForRunning(timeout, pollInterval);
113
+ }
114
+ /**
115
+ * Check if the service is responding
116
+ */
117
+ async checkHealth() {
118
+ if (!this.baseUrl || this.job.state !== 'running') {
119
+ return false;
120
+ }
121
+ try {
122
+ const Constructor = this.constructor;
123
+ const response = await requestWithRetry({
124
+ method: 'GET',
125
+ url: `${this.baseUrl}${Constructor.HEALTH_ENDPOINT}`,
126
+ headers: this.authHeaders,
127
+ timeout: Constructor.HEALTH_TIMEOUT,
128
+ retries: 3,
129
+ });
130
+ return response.status === 200;
131
+ }
132
+ catch {
133
+ return false;
134
+ }
135
+ }
136
+ /**
137
+ * Wait for an EXISTING running job to respond to health checks
138
+ */
139
+ async waitExisting(timeout = 15000) {
140
+ await this.refresh();
141
+ if (this.job.state !== 'running' || !this.hostname) {
142
+ return false;
143
+ }
144
+ const start = Date.now();
145
+ while (Date.now() - start < timeout) {
146
+ if (await this.checkHealth()) {
147
+ return true;
148
+ }
149
+ await new Promise(resolve => setTimeout(resolve, 2000));
150
+ }
151
+ return false;
152
+ }
153
+ /**
154
+ * Wait for a NEW job to be ready (running state + health check passing)
155
+ */
156
+ async waitReady(timeout = 300000, pollInterval = 5000, dnsDelay = 15000) {
157
+ const start = Date.now();
158
+ // Wait for running state via API
159
+ await this.refresh();
160
+ if (['failed', 'cancelled', 'completed', 'terminated'].includes(this.job.state)) {
161
+ return false;
162
+ }
163
+ if (this.job.state !== 'running' || !this.hostname) {
164
+ if (!await this.waitForRunning(timeout, pollInterval)) {
165
+ return false;
166
+ }
167
+ }
168
+ // DNS propagation delay
169
+ if (dnsDelay > 0) {
170
+ await new Promise(resolve => setTimeout(resolve, dnsDelay));
171
+ }
172
+ // Job is running, check health
173
+ const elapsed = Date.now() - start;
174
+ const remaining = timeout - elapsed;
175
+ while (remaining > 0) {
176
+ if (await this.checkHealth()) {
177
+ return true;
178
+ }
179
+ await new Promise(resolve => setTimeout(resolve, 2000));
180
+ const newRemaining = timeout - (Date.now() - start);
181
+ if (newRemaining <= 0)
182
+ break;
183
+ }
184
+ return false;
185
+ }
186
+ /**
187
+ * Cancel the job
188
+ */
189
+ async shutdown() {
190
+ return await this.client.jobs.cancel(this.jobId);
191
+ }
192
+ /**
193
+ * Extend job runtime
194
+ */
195
+ async extend(runtime) {
196
+ this.job = await this.client.jobs.extend(this.jobId, runtime);
197
+ return this;
198
+ }
199
+ }
200
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/job/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * ComfyUI job helpers and workflow conversion utilities
3
+ */
4
+ import type { HyperCLI } from '../client.js';
5
+ import type { Job } from '../jobs.js';
6
+ import { BaseJob } from './base.js';
7
+ export declare const DEFAULT_OBJECT_INFO: Record<string, any>;
8
+ /**
9
+ * Find nodes in API-format workflow by class_type and optional title pattern
10
+ */
11
+ export declare function findNodes(workflow: Record<string, any>, classType: string, titleContains?: string): Array<[string, any]>;
12
+ /**
13
+ * Find first node matching class_type and optional title pattern
14
+ */
15
+ export declare function findNode(workflow: Record<string, any>, classType: string, titleContains?: string): [string, any] | [null, null];
16
+ /**
17
+ * Apply parameters to workflow nodes
18
+ */
19
+ export declare function applyParams(workflow: Record<string, any>, params: Record<string, any>): Record<string, any>;
20
+ /**
21
+ * Convert ComfyUI graph format to API format
22
+ */
23
+ export declare function graphToApi(graph: any, objectInfo?: Record<string, any>, _debug?: boolean): Record<string, any>;
24
+ /**
25
+ * Apply graph modes (enable/disable nodes)
26
+ */
27
+ export declare function applyGraphModes(graph: any, nodesConfig: Record<string, any>): any;
28
+ /**
29
+ * ComfyUI-specific job with workflow execution helpers
30
+ */
31
+ export declare class ComfyUIJob extends BaseJob {
32
+ static DEFAULT_IMAGE: string;
33
+ static DEFAULT_GPU_TYPE: string;
34
+ static HEALTH_ENDPOINT: string;
35
+ static COMFYUI_PORT: number;
36
+ private _objectInfo;
37
+ private _jobToken;
38
+ private _useLb;
39
+ useAuth: boolean;
40
+ template: string | null;
41
+ constructor(client: HyperCLI, job: Job, template?: string, useLb?: boolean, useAuth?: boolean);
42
+ get useLb(): boolean;
43
+ set useLb(value: boolean);
44
+ get baseUrl(): string;
45
+ get authHeaders(): Record<string, string>;
46
+ jobToken(): Promise<string>;
47
+ /**
48
+ * Create a new ComfyUI job configured for a specific template
49
+ */
50
+ static createForTemplate(client: HyperCLI, template: string, options?: {
51
+ gpuType?: string;
52
+ gpuCount?: number;
53
+ runtime?: number;
54
+ lb?: number;
55
+ auth?: boolean;
56
+ [key: string]: any;
57
+ }): Promise<ComfyUIJob>;
58
+ /**
59
+ * Get object_info from ComfyUI (cached)
60
+ */
61
+ getObjectInfo(refresh?: boolean): Promise<Record<string, any>>;
62
+ /**
63
+ * Convert graph format workflow to API format
64
+ */
65
+ convertWorkflow(graph: any, debug?: boolean): Promise<Record<string, any>>;
66
+ /**
67
+ * Upload image to ComfyUI server
68
+ */
69
+ uploadImage(filePath: string, filename?: string): Promise<string>;
70
+ /**
71
+ * Upload audio to ComfyUI server
72
+ */
73
+ uploadAudio(filePath: string, filename?: string): Promise<string>;
74
+ }
75
+ //# sourceMappingURL=comfyui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comfyui.d.ts","sourceRoot":"","sources":["../../src/job/comfyui.ts"],"names":[],"mappings":"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"}