@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.
- package/dist/agent.d.ts +350 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +620 -0
- package/dist/agent.js.map +1 -0
- package/dist/agents.d.ts +433 -0
- package/dist/agents.d.ts.map +1 -0
- package/dist/agents.js +1140 -0
- package/dist/agents.js.map +1 -0
- package/dist/billing.d.ts +72 -0
- package/dist/billing.d.ts.map +1 -0
- package/dist/billing.js +93 -0
- package/dist/billing.js.map +1 -0
- package/dist/browser.d.ts +25 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +33 -0
- package/dist/browser.js.map +1 -0
- package/dist/client.d.ts +67 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +100 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +46 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +235 -0
- package/dist/config.js.map +1 -0
- package/dist/errors.d.ts +9 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +15 -0
- package/dist/errors.js.map +1 -0
- package/dist/files.d.ts +60 -0
- package/dist/files.d.ts.map +1 -0
- package/dist/files.js +128 -0
- package/dist/files.js.map +1 -0
- package/dist/gateway.d.ts +2 -0
- package/dist/gateway.d.ts.map +1 -0
- package/dist/gateway.js +2 -0
- package/dist/gateway.js.map +1 -0
- package/dist/http.d.ts +42 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +238 -0
- package/dist/http.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +42 -0
- package/dist/index.js.map +1 -0
- package/dist/instances.d.ts +94 -0
- package/dist/instances.d.ts.map +1 -0
- package/dist/instances.js +197 -0
- package/dist/instances.js.map +1 -0
- package/dist/job/base.d.ts +80 -0
- package/dist/job/base.d.ts.map +1 -0
- package/dist/job/base.js +200 -0
- package/dist/job/base.js.map +1 -0
- package/dist/job/comfyui.d.ts +75 -0
- package/dist/job/comfyui.d.ts.map +1 -0
- package/dist/job/comfyui.js +454 -0
- package/dist/job/comfyui.js.map +1 -0
- package/dist/job/gradio.d.ts +48 -0
- package/dist/job/gradio.d.ts.map +1 -0
- package/dist/job/gradio.js +90 -0
- package/dist/job/gradio.js.map +1 -0
- package/dist/jobs.d.ts +153 -0
- package/dist/jobs.d.ts.map +1 -0
- package/dist/jobs.js +352 -0
- package/dist/jobs.js.map +1 -0
- package/dist/keys.d.ts +83 -0
- package/dist/keys.d.ts.map +1 -0
- package/dist/keys.js +69 -0
- package/dist/keys.js.map +1 -0
- package/dist/logs.d.ts +54 -0
- package/dist/logs.d.ts.map +1 -0
- package/dist/logs.js +256 -0
- package/dist/logs.js.map +1 -0
- package/dist/models.d.ts +15 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +19 -0
- package/dist/models.js.map +1 -0
- package/dist/openclaw/gateway.d.ts +269 -0
- package/dist/openclaw/gateway.d.ts.map +1 -0
- package/dist/openclaw/gateway.js +2021 -0
- package/dist/openclaw/gateway.js.map +1 -0
- package/dist/renders.d.ts +187 -0
- package/dist/renders.d.ts.map +1 -0
- package/dist/renders.js +360 -0
- package/dist/renders.js.map +1 -0
- package/dist/user.d.ts +49 -0
- package/dist/user.d.ts.map +1 -0
- package/dist/user.js +57 -0
- package/dist/user.js.map +1 -0
- package/dist/voice.d.ts +31 -0
- package/dist/voice.d.ts.map +1 -0
- package/dist/voice.js +36 -0
- package/dist/voice.js.map +1 -0
- package/dist/x402.d.ts +79 -0
- package/dist/x402.d.ts.map +1 -0
- package/dist/x402.js +295 -0
- package/dist/x402.js.map +1 -0
- package/package.json +2 -1
package/dist/http.js
ADDED
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP client utilities with retry logic
|
|
3
|
+
*/
|
|
4
|
+
import { APIError } from './errors.js';
|
|
5
|
+
/**
|
|
6
|
+
* Make an HTTP request with retry logic for transient errors
|
|
7
|
+
*/
|
|
8
|
+
export async function requestWithRetry(options) {
|
|
9
|
+
const { method, url, headers = {}, body, params, retries = 3, backoff = 1.0, timeout = 30000, } = options;
|
|
10
|
+
// Build URL with query params
|
|
11
|
+
let finalUrl = url;
|
|
12
|
+
if (params) {
|
|
13
|
+
const searchParams = new URLSearchParams();
|
|
14
|
+
for (const [key, value] of Object.entries(params)) {
|
|
15
|
+
if (value !== undefined && value !== null) {
|
|
16
|
+
if (Array.isArray(value)) {
|
|
17
|
+
for (const item of value) {
|
|
18
|
+
if (item !== undefined && item !== null) {
|
|
19
|
+
searchParams.append(key, String(item));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
searchParams.append(key, String(value));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const queryString = searchParams.toString();
|
|
28
|
+
if (queryString) {
|
|
29
|
+
finalUrl = `${url}${url.includes('?') ? '&' : '?'}${queryString}`;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
let lastError;
|
|
33
|
+
for (let attempt = 0; attempt < retries; attempt++) {
|
|
34
|
+
try {
|
|
35
|
+
const controller = new AbortController();
|
|
36
|
+
const timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
37
|
+
const response = await fetch(finalUrl, {
|
|
38
|
+
method,
|
|
39
|
+
headers,
|
|
40
|
+
body: body ? JSON.stringify(body) : undefined,
|
|
41
|
+
signal: controller.signal,
|
|
42
|
+
});
|
|
43
|
+
clearTimeout(timeoutId);
|
|
44
|
+
return response;
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
lastError = error;
|
|
48
|
+
// Check if it's a transient error (network, timeout, etc.)
|
|
49
|
+
const isTransient = error.name === 'AbortError' ||
|
|
50
|
+
error.cause?.code === 'ECONNREFUSED' ||
|
|
51
|
+
error.cause?.code === 'ECONNRESET' ||
|
|
52
|
+
error.cause?.code === 'ETIMEDOUT';
|
|
53
|
+
if (isTransient && attempt < retries - 1) {
|
|
54
|
+
// Wait before retry with exponential backoff
|
|
55
|
+
await new Promise(resolve => setTimeout(resolve, backoff * (attempt + 1) * 1000));
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
throw error;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
throw lastError || new Error('Request failed');
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Handle API response, raise on error
|
|
65
|
+
*/
|
|
66
|
+
async function handleResponse(response) {
|
|
67
|
+
if (response.status >= 400) {
|
|
68
|
+
let detail;
|
|
69
|
+
try {
|
|
70
|
+
const json = await response.json();
|
|
71
|
+
detail = json.detail || response.statusText;
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
detail = response.statusText || await response.text();
|
|
75
|
+
}
|
|
76
|
+
throw new APIError(response.status, detail);
|
|
77
|
+
}
|
|
78
|
+
if (response.status === 204) {
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
return (await response.json());
|
|
82
|
+
}
|
|
83
|
+
async function handleBytesResponse(response) {
|
|
84
|
+
if (response.status >= 400) {
|
|
85
|
+
let detail;
|
|
86
|
+
try {
|
|
87
|
+
const json = await response.json();
|
|
88
|
+
detail = json.detail || response.statusText;
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
detail = response.statusText || await response.text();
|
|
92
|
+
}
|
|
93
|
+
throw new APIError(response.status, detail);
|
|
94
|
+
}
|
|
95
|
+
return new Uint8Array(await response.arrayBuffer());
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* HTTP Client for making authenticated requests to the API
|
|
99
|
+
*/
|
|
100
|
+
export class HTTPClient {
|
|
101
|
+
baseUrl;
|
|
102
|
+
apiKey;
|
|
103
|
+
timeout;
|
|
104
|
+
constructor(baseUrl, apiKey, timeout = 30000) {
|
|
105
|
+
this.baseUrl = baseUrl.replace(/\/$/, ''); // Remove trailing slash
|
|
106
|
+
this.apiKey = apiKey;
|
|
107
|
+
this.timeout = timeout;
|
|
108
|
+
}
|
|
109
|
+
get headers() {
|
|
110
|
+
return {
|
|
111
|
+
'Authorization': `Bearer ${this.apiKey}`,
|
|
112
|
+
'Content-Type': 'application/json',
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
async get(path, params) {
|
|
116
|
+
const response = await requestWithRetry({
|
|
117
|
+
method: 'GET',
|
|
118
|
+
url: `${this.baseUrl}${path}`,
|
|
119
|
+
headers: this.headers,
|
|
120
|
+
params,
|
|
121
|
+
timeout: this.timeout,
|
|
122
|
+
});
|
|
123
|
+
return handleResponse(response);
|
|
124
|
+
}
|
|
125
|
+
async post(path, body) {
|
|
126
|
+
const response = await requestWithRetry({
|
|
127
|
+
method: 'POST',
|
|
128
|
+
url: `${this.baseUrl}${path}`,
|
|
129
|
+
headers: this.headers,
|
|
130
|
+
body,
|
|
131
|
+
timeout: this.timeout,
|
|
132
|
+
});
|
|
133
|
+
return handleResponse(response);
|
|
134
|
+
}
|
|
135
|
+
async postBytes(path, body) {
|
|
136
|
+
const response = await requestWithRetry({
|
|
137
|
+
method: 'POST',
|
|
138
|
+
url: `${this.baseUrl}${path}`,
|
|
139
|
+
headers: this.headers,
|
|
140
|
+
body,
|
|
141
|
+
timeout: this.timeout,
|
|
142
|
+
});
|
|
143
|
+
return handleBytesResponse(response);
|
|
144
|
+
}
|
|
145
|
+
async patch(path, body) {
|
|
146
|
+
const response = await requestWithRetry({
|
|
147
|
+
method: 'PATCH',
|
|
148
|
+
url: `${this.baseUrl}${path}`,
|
|
149
|
+
headers: this.headers,
|
|
150
|
+
body,
|
|
151
|
+
timeout: this.timeout,
|
|
152
|
+
});
|
|
153
|
+
return handleResponse(response);
|
|
154
|
+
}
|
|
155
|
+
async delete(path) {
|
|
156
|
+
const response = await requestWithRetry({
|
|
157
|
+
method: 'DELETE',
|
|
158
|
+
url: `${this.baseUrl}${path}`,
|
|
159
|
+
headers: this.headers,
|
|
160
|
+
timeout: this.timeout,
|
|
161
|
+
});
|
|
162
|
+
return handleResponse(response);
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* POST with multipart form data for file uploads
|
|
166
|
+
*/
|
|
167
|
+
async postMultipart(path, files, params) {
|
|
168
|
+
const formData = new FormData();
|
|
169
|
+
for (const [fieldName, file] of Object.entries(files)) {
|
|
170
|
+
const blob = new Blob([file.content], { type: file.contentType });
|
|
171
|
+
formData.append(fieldName, blob, file.filename);
|
|
172
|
+
}
|
|
173
|
+
// Build URL with params
|
|
174
|
+
let url = `${this.baseUrl}${path}`;
|
|
175
|
+
if (params) {
|
|
176
|
+
const searchParams = new URLSearchParams(params);
|
|
177
|
+
const queryString = searchParams.toString();
|
|
178
|
+
if (queryString) {
|
|
179
|
+
url = `${url}?${queryString}`;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
// Don't set Content-Type for multipart - fetch will set it with boundary
|
|
183
|
+
const headers = {
|
|
184
|
+
'Authorization': `Bearer ${this.apiKey}`,
|
|
185
|
+
};
|
|
186
|
+
const response = await requestWithRetry({
|
|
187
|
+
method: 'POST',
|
|
188
|
+
url,
|
|
189
|
+
headers,
|
|
190
|
+
body: formData,
|
|
191
|
+
timeout: this.timeout,
|
|
192
|
+
});
|
|
193
|
+
return handleResponse(response);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Streaming POST for SSE responses
|
|
197
|
+
*/
|
|
198
|
+
async *streamPost(path, body) {
|
|
199
|
+
const response = await fetch(`${this.baseUrl}${path}`, {
|
|
200
|
+
method: 'POST',
|
|
201
|
+
headers: this.headers,
|
|
202
|
+
body: body ? JSON.stringify(body) : undefined,
|
|
203
|
+
});
|
|
204
|
+
if (!response.ok) {
|
|
205
|
+
const text = await response.text();
|
|
206
|
+
throw new APIError(response.status, text);
|
|
207
|
+
}
|
|
208
|
+
if (!response.body) {
|
|
209
|
+
throw new Error('Response body is null');
|
|
210
|
+
}
|
|
211
|
+
const reader = response.body.getReader();
|
|
212
|
+
const decoder = new TextDecoder();
|
|
213
|
+
let buffer = '';
|
|
214
|
+
try {
|
|
215
|
+
while (true) {
|
|
216
|
+
const { done, value } = await reader.read();
|
|
217
|
+
if (done)
|
|
218
|
+
break;
|
|
219
|
+
buffer += decoder.decode(value, { stream: true });
|
|
220
|
+
const lines = buffer.split('\n');
|
|
221
|
+
buffer = lines.pop() || '';
|
|
222
|
+
for (const line of lines) {
|
|
223
|
+
if (line.trim()) {
|
|
224
|
+
yield line;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
// Yield any remaining content in buffer
|
|
229
|
+
if (buffer.trim()) {
|
|
230
|
+
yield buffer;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
finally {
|
|
234
|
+
reader.releaseLock();
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=http.js.map
|
package/dist/http.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HyperCLI SDK - TypeScript client for HyperCLI API
|
|
3
|
+
*/
|
|
4
|
+
export { HyperCLI, type HyperCLIOptions } from './client.js';
|
|
5
|
+
export { BrowserHyperCLI, type BrowserHyperCLIOptions } from './browser.js';
|
|
6
|
+
export { configure, getApiKey, getAgentApiKey, getApiUrl, getAgentsApiBaseUrl, getAgentsWsUrl, getWsUrl, GHCR_IMAGES, COMFYUI_IMAGE, DEFAULT_API_URL, DEFAULT_AGENTS_API_BASE_URL, DEFAULT_AGENTS_WS_URL, DEV_AGENTS_API_BASE_URL, DEV_AGENTS_WS_URL, DEFAULT_WS_URL, } from './config.js';
|
|
7
|
+
export { APIError } from './errors.js';
|
|
8
|
+
export { HTTPClient } from './http.js';
|
|
9
|
+
export { Billing, type Balance, type Transaction } from './billing.js';
|
|
10
|
+
export { Jobs, type Job, type JobListPage, type GPUMetrics, type SystemMetrics, type JobMetrics, type ExecResult, type CreateJobOptions, type ListJobsOptions, findJob, findById, findByHostname, findByIp, isUuid, } from './jobs.js';
|
|
11
|
+
export { Instances, type GPUType, type GPUConfig, type Region, type GPUPricing, type PricingTier, type AvailableGPU, } from './instances.js';
|
|
12
|
+
export { Renders, type Render, type RenderStatus, } from './renders.js';
|
|
13
|
+
export { Files, type File, } from './files.js';
|
|
14
|
+
export { VoiceAPI, type TTSOptions, type CloneOptions, type DesignOptions, } from './voice.js';
|
|
15
|
+
export { UserAPI, type User, type AuthMe, } from './user.js';
|
|
16
|
+
export { KeysAPI, type ApiKey, type ApiKeyBaselineValue, type ApiKeyBaselineFamily, API_KEY_BASELINE_FAMILIES, } from './keys.js';
|
|
17
|
+
export { ModelsAPI, type Model, } from './models.js';
|
|
18
|
+
export { LogStream, streamLogs, fetchLogs, } from './logs.js';
|
|
19
|
+
export { HyperAgent, type HyperAgentPlan, type HyperAgentCurrentPlan, type HyperAgentEntitlements, type HyperAgentEntitlementsSummary, type HyperAgentSubscription, type HyperAgentSubscriptionMutationResult, type HyperAgentSubscriptionSummary, type HyperAgentModel, type HyperAgentUsageSummary, type HyperAgentUsageHistoryEntry, type HyperAgentUsageHistory, type HyperAgentKeyUsageEntry, type HyperAgentKeyUsage, type HyperAgentTypePreset, type HyperAgentTypePlan, type HyperAgentTypeCatalog, type HyperAgentBillingProfileFields, type HyperAgentBillingInfo, type HyperAgentBillingProfileResponse, type HyperAgentBillingUser, type HyperAgentPaymentSubscription, type HyperAgentPaymentEntitlement, type HyperAgentPayment, type HyperAgentPaymentsResponse, type HyperAgentPaymentsOptions, type HyperAgentStripeCheckoutRequest, type HyperAgentStripeCheckoutResponse, type HyperAgentX402CheckoutRequest, type HyperAgentX402CheckoutResponse, } from './agent.js';
|
|
20
|
+
export { Deployments, Agent, OpenClawAgent, buildAgentConfig, buildOpenClawRoutes, type OpenClawModelApi, type OpenClawModelProviderAuthMode, type OpenClawSecretInput, type OpenClawModelCompatConfig, type OpenClawModelDefinitionConfig, type OpenClawModelProviderConfig, type OpenClawModelProviderPatch, type AgentExecResult, type AgentTokenResponse, type AgentShellTokenResponse, type AgentRouteConfig, type RegistryAuth, type BuildAgentConfigOptions, type OpenClawRouteOptions, type CreateAgentOptions, type OpenClawCreateAgentOptions, type OpenClawStartAgentOptions, type StartAgentOptions, type AgentExecOptions, } from './agents.js';
|
|
21
|
+
export { BaseJob, type BaseJobOptions, } from './job/base.js';
|
|
22
|
+
export { ComfyUIJob, DEFAULT_OBJECT_INFO, findNode, findNodes, applyParams, applyGraphModes, graphToApi, } from './job/comfyui.js';
|
|
23
|
+
export { GradioJob, type GradioJobOptions, } from './job/gradio.js';
|
|
24
|
+
export { X402Client, type X402Signer, type X402JobLaunch, type X402FlowCreate, type FlowCatalogItem, type X402CreateJobOptions, type X402CreateFlowOptions, } from './x402.js';
|
|
25
|
+
export { GatewayClient, type GatewayOptions, type GatewayEvent, type ChatEvent, type ChatAttachment, type BrowserChatAttachment, type GatewayChatAttachmentPayload, type GatewayChatToolCall, type GatewayChatMessageSummary, type GatewayEventHandler, normalizeChatAttachments, extractGatewayChatThinking, extractGatewayChatMediaUrls, extractGatewayChatToolCalls, normalizeGatewayChatMessage, } from './openclaw/gateway.js';
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HyperCLI SDK - TypeScript client for HyperCLI API
|
|
3
|
+
*/
|
|
4
|
+
// Main client
|
|
5
|
+
export { HyperCLI } from './client.js';
|
|
6
|
+
export { BrowserHyperCLI } from './browser.js';
|
|
7
|
+
// Configuration
|
|
8
|
+
export { configure, getApiKey, getAgentApiKey, getApiUrl, getAgentsApiBaseUrl, getAgentsWsUrl, getWsUrl, GHCR_IMAGES, COMFYUI_IMAGE, DEFAULT_API_URL, DEFAULT_AGENTS_API_BASE_URL, DEFAULT_AGENTS_WS_URL, DEV_AGENTS_API_BASE_URL, DEV_AGENTS_WS_URL, DEFAULT_WS_URL, } from './config.js';
|
|
9
|
+
// Errors
|
|
10
|
+
export { APIError } from './errors.js';
|
|
11
|
+
// HTTP Client
|
|
12
|
+
export { HTTPClient } from './http.js';
|
|
13
|
+
// Billing API
|
|
14
|
+
export { Billing } from './billing.js';
|
|
15
|
+
// Jobs API
|
|
16
|
+
export { Jobs, findJob, findById, findByHostname, findByIp, isUuid, } from './jobs.js';
|
|
17
|
+
// Instances API
|
|
18
|
+
export { Instances, } from './instances.js';
|
|
19
|
+
// Renders API
|
|
20
|
+
export { Renders, } from './renders.js';
|
|
21
|
+
// Files API
|
|
22
|
+
export { Files, } from './files.js';
|
|
23
|
+
// Voice API
|
|
24
|
+
export { VoiceAPI, } from './voice.js';
|
|
25
|
+
// User API
|
|
26
|
+
export { UserAPI, } from './user.js';
|
|
27
|
+
// Keys API
|
|
28
|
+
export { KeysAPI, API_KEY_BASELINE_FAMILIES, } from './keys.js';
|
|
29
|
+
export { ModelsAPI, } from './models.js';
|
|
30
|
+
// Logs
|
|
31
|
+
export { LogStream, streamLogs, fetchLogs, } from './logs.js';
|
|
32
|
+
// HyperAgent
|
|
33
|
+
export { HyperAgent, } from './agent.js';
|
|
34
|
+
export { Deployments, Agent, OpenClawAgent, buildAgentConfig, buildOpenClawRoutes, } from './agents.js';
|
|
35
|
+
// Job helpers
|
|
36
|
+
export { BaseJob, } from './job/base.js';
|
|
37
|
+
export { ComfyUIJob, DEFAULT_OBJECT_INFO, findNode, findNodes, applyParams, applyGraphModes, graphToApi, } from './job/comfyui.js';
|
|
38
|
+
export { GradioJob, } from './job/gradio.js';
|
|
39
|
+
// x402 pay-per-use
|
|
40
|
+
export { X402Client, } from './x402.js';
|
|
41
|
+
export { GatewayClient, normalizeChatAttachments, extractGatewayChatThinking, extractGatewayChatMediaUrls, extractGatewayChatToolCalls, normalizeGatewayChatMessage, } from './openclaw/gateway.js';
|
|
42
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc;AACd,OAAO,EAAE,QAAQ,EAAwB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,eAAe,EAA+B,MAAM,cAAc,CAAC;AAE5E,gBAAgB;AAChB,OAAO,EACL,SAAS,EACT,SAAS,EACT,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,QAAQ,EACR,WAAW,EACX,aAAa,EACb,eAAe,EACf,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,SAAS;AACT,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,cAAc;AACd,OAAO,EAAE,OAAO,EAAkC,MAAM,cAAc,CAAC;AAEvE,WAAW;AACX,OAAO,EACL,IAAI,EASJ,OAAO,EACP,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,MAAM,GACP,MAAM,WAAW,CAAC;AAEnB,gBAAgB;AAChB,OAAO,EACL,SAAS,GAOV,MAAM,gBAAgB,CAAC;AAExB,cAAc;AACd,OAAO,EACL,OAAO,GAGR,MAAM,cAAc,CAAC;AAEtB,YAAY;AACZ,OAAO,EACL,KAAK,GAEN,MAAM,YAAY,CAAC;AAEpB,YAAY;AACZ,OAAO,EACL,QAAQ,GAIT,MAAM,YAAY,CAAC;AAEpB,WAAW;AACX,OAAO,EACL,OAAO,GAGR,MAAM,WAAW,CAAC;AAEnB,WAAW;AACX,OAAO,EACL,OAAO,EAIP,yBAAyB,GAC1B,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,SAAS,GAEV,MAAM,aAAa,CAAC;AAErB,OAAO;AACP,OAAO,EACL,SAAS,EACT,UAAU,EACV,SAAS,GACV,MAAM,WAAW,CAAC;AAEnB,aAAa;AACb,OAAO,EACL,UAAU,GA8BX,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,WAAW,EACX,KAAK,EACL,aAAa,EACb,gBAAgB,EAChB,mBAAmB,GAoBpB,MAAM,aAAa,CAAC;AAErB,cAAc;AACd,OAAO,EACL,OAAO,GAER,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,QAAQ,EACR,SAAS,EACT,WAAW,EACX,eAAe,EACf,UAAU,GACX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,SAAS,GAEV,MAAM,iBAAiB,CAAC;AAEzB,mBAAmB;AACnB,OAAO,EACL,UAAU,GAOX,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,aAAa,EAUb,wBAAwB,EACxB,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Instances API - GPU types, regions, and pricing
|
|
3
|
+
*/
|
|
4
|
+
import type { HTTPClient } from './http.js';
|
|
5
|
+
export interface GPUConfig {
|
|
6
|
+
gpuCount: number;
|
|
7
|
+
cpuCores: number;
|
|
8
|
+
memoryGb: number;
|
|
9
|
+
storageGb: number;
|
|
10
|
+
regions: string[];
|
|
11
|
+
constraints: Record<string, string> | null;
|
|
12
|
+
}
|
|
13
|
+
export interface GPUType {
|
|
14
|
+
id: string;
|
|
15
|
+
name: string;
|
|
16
|
+
description: string;
|
|
17
|
+
configs: GPUConfig[];
|
|
18
|
+
}
|
|
19
|
+
export interface Region {
|
|
20
|
+
id: string;
|
|
21
|
+
description: string;
|
|
22
|
+
country: string;
|
|
23
|
+
}
|
|
24
|
+
export interface PricingTier {
|
|
25
|
+
region: string;
|
|
26
|
+
onDemand: number | null;
|
|
27
|
+
interruptible: number | null;
|
|
28
|
+
}
|
|
29
|
+
export interface GPUPricing {
|
|
30
|
+
gpuType: string;
|
|
31
|
+
gpuCount: number;
|
|
32
|
+
tiers: PricingTier[];
|
|
33
|
+
}
|
|
34
|
+
export interface AvailableGPU {
|
|
35
|
+
gpuType: string;
|
|
36
|
+
gpuName: string;
|
|
37
|
+
gpuCount: number;
|
|
38
|
+
cpuCores: number;
|
|
39
|
+
memoryGb: number;
|
|
40
|
+
storageGb: number;
|
|
41
|
+
region: string;
|
|
42
|
+
regionName: string;
|
|
43
|
+
country: string;
|
|
44
|
+
priceSpot: number | null;
|
|
45
|
+
priceOnDemand: number | null;
|
|
46
|
+
}
|
|
47
|
+
export declare class Instances {
|
|
48
|
+
private http;
|
|
49
|
+
private typesCache;
|
|
50
|
+
private regionsCache;
|
|
51
|
+
private pricingCache;
|
|
52
|
+
constructor(http: HTTPClient);
|
|
53
|
+
/**
|
|
54
|
+
* Get available GPU types
|
|
55
|
+
*/
|
|
56
|
+
types(refresh?: boolean): Promise<Record<string, GPUType>>;
|
|
57
|
+
/**
|
|
58
|
+
* Get available regions
|
|
59
|
+
*/
|
|
60
|
+
regions(refresh?: boolean): Promise<Record<string, Region>>;
|
|
61
|
+
/**
|
|
62
|
+
* Get pricing information
|
|
63
|
+
*/
|
|
64
|
+
pricing(refresh?: boolean): Promise<Record<string, GPUPricing>>;
|
|
65
|
+
/**
|
|
66
|
+
* Get a specific GPU type by ID
|
|
67
|
+
*/
|
|
68
|
+
getType(gpuType: string): Promise<GPUType | null>;
|
|
69
|
+
/**
|
|
70
|
+
* Get a specific region by ID
|
|
71
|
+
*/
|
|
72
|
+
getRegion(regionId: string): Promise<Region | null>;
|
|
73
|
+
/**
|
|
74
|
+
* Get price for a specific GPU configuration
|
|
75
|
+
*/
|
|
76
|
+
getPrice(gpuType: string, gpuCount?: number, region?: string, interruptible?: boolean): Promise<number | null>;
|
|
77
|
+
/**
|
|
78
|
+
* Get real-time GPU capacity by type and region
|
|
79
|
+
*/
|
|
80
|
+
capacity(gpuType?: string): Promise<any>;
|
|
81
|
+
/**
|
|
82
|
+
* List available GPU configurations, optionally filtered
|
|
83
|
+
*/
|
|
84
|
+
listAvailable(gpuType?: string, region?: string): Promise<AvailableGPU[]>;
|
|
85
|
+
/**
|
|
86
|
+
* Get available regions for a GPU type and count
|
|
87
|
+
*/
|
|
88
|
+
availableRegions(gpu: GPUType, gpuCount?: number): string[];
|
|
89
|
+
/**
|
|
90
|
+
* Get available GPU counts for a type
|
|
91
|
+
*/
|
|
92
|
+
availableCounts(gpu: GPUType): number[];
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=instances.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instances.d.ts","sourceRoot":"","sources":["../src/instances.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
function gpuConfigFromDict(data) {
|
|
2
|
+
return {
|
|
3
|
+
gpuCount: data.gpu_count || 1,
|
|
4
|
+
cpuCores: data.cpu_cores || 0,
|
|
5
|
+
memoryGb: data.memory_gb || 0,
|
|
6
|
+
storageGb: data.storage_gb || 0,
|
|
7
|
+
regions: data.regions || [],
|
|
8
|
+
constraints: data.constraints || null,
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
function gpuTypeFromDict(id, data) {
|
|
12
|
+
return {
|
|
13
|
+
id,
|
|
14
|
+
name: data.name || id,
|
|
15
|
+
description: data.description || '',
|
|
16
|
+
configs: (data.configs || []).map(gpuConfigFromDict),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function regionFromDict(id, data) {
|
|
20
|
+
return {
|
|
21
|
+
id,
|
|
22
|
+
description: data.description || id,
|
|
23
|
+
country: data.country || '',
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function pricingTierFromDict(region, data) {
|
|
27
|
+
return {
|
|
28
|
+
region,
|
|
29
|
+
onDemand: data['on-demand'] ?? null,
|
|
30
|
+
interruptible: data.interruptable ?? null, // Note: API has typo
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function gpuPricingFromKey(key, data) {
|
|
34
|
+
// Parse key like "h100_x8" -> gpu_type="h100", gpu_count=8
|
|
35
|
+
const parts = key.split('_x');
|
|
36
|
+
const gpuType = parts[0];
|
|
37
|
+
const gpuCount = parts.length > 1 ? parseInt(parts[1]) : 1;
|
|
38
|
+
const tiers = Object.entries(data).map(([region, prices]) => pricingTierFromDict(region, prices));
|
|
39
|
+
return { gpuType, gpuCount, tiers };
|
|
40
|
+
}
|
|
41
|
+
export class Instances {
|
|
42
|
+
http;
|
|
43
|
+
typesCache = null;
|
|
44
|
+
regionsCache = null;
|
|
45
|
+
pricingCache = null;
|
|
46
|
+
constructor(http) {
|
|
47
|
+
this.http = http;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get available GPU types
|
|
51
|
+
*/
|
|
52
|
+
async types(refresh = false) {
|
|
53
|
+
if (this.typesCache === null || refresh) {
|
|
54
|
+
const data = await this.http.get('/instances/types');
|
|
55
|
+
this.typesCache = {};
|
|
56
|
+
for (const [id, info] of Object.entries(data)) {
|
|
57
|
+
this.typesCache[id] = gpuTypeFromDict(id, info);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return this.typesCache;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Get available regions
|
|
64
|
+
*/
|
|
65
|
+
async regions(refresh = false) {
|
|
66
|
+
if (this.regionsCache === null || refresh) {
|
|
67
|
+
const data = await this.http.get('/instances/regions');
|
|
68
|
+
this.regionsCache = {};
|
|
69
|
+
for (const [id, info] of Object.entries(data)) {
|
|
70
|
+
this.regionsCache[id] = regionFromDict(id, info);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return this.regionsCache;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Get pricing information
|
|
77
|
+
*/
|
|
78
|
+
async pricing(refresh = false) {
|
|
79
|
+
if (this.pricingCache === null || refresh) {
|
|
80
|
+
const data = await this.http.get('/instances/pricing');
|
|
81
|
+
this.pricingCache = {};
|
|
82
|
+
for (const [key, prices] of Object.entries(data)) {
|
|
83
|
+
this.pricingCache[key] = gpuPricingFromKey(key, prices);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return this.pricingCache;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Get a specific GPU type by ID
|
|
90
|
+
*/
|
|
91
|
+
async getType(gpuType) {
|
|
92
|
+
const types = await this.types();
|
|
93
|
+
return types[gpuType] || null;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Get a specific region by ID
|
|
97
|
+
*/
|
|
98
|
+
async getRegion(regionId) {
|
|
99
|
+
const regions = await this.regions();
|
|
100
|
+
return regions[regionId] || null;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Get price for a specific GPU configuration
|
|
104
|
+
*/
|
|
105
|
+
async getPrice(gpuType, gpuCount = 1, region, interruptible = true) {
|
|
106
|
+
const key = `${gpuType}_x${gpuCount}`;
|
|
107
|
+
const pricing = await this.pricing();
|
|
108
|
+
const gpuPricing = pricing[key];
|
|
109
|
+
if (gpuPricing && region) {
|
|
110
|
+
for (const tier of gpuPricing.tiers) {
|
|
111
|
+
if (tier.region === region) {
|
|
112
|
+
return interruptible ? tier.interruptible : tier.onDemand;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Get real-time GPU capacity by type and region
|
|
120
|
+
*/
|
|
121
|
+
async capacity(gpuType) {
|
|
122
|
+
const params = {};
|
|
123
|
+
if (gpuType) {
|
|
124
|
+
params.gpu_type = gpuType;
|
|
125
|
+
}
|
|
126
|
+
return await this.http.get('/api/jobs/instances/capacity', params);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* List available GPU configurations, optionally filtered
|
|
130
|
+
*/
|
|
131
|
+
async listAvailable(gpuType, region) {
|
|
132
|
+
const types = await this.types();
|
|
133
|
+
const regions = await this.regions();
|
|
134
|
+
const pricing = await this.pricing();
|
|
135
|
+
const results = [];
|
|
136
|
+
for (const [typeId, gpu] of Object.entries(types)) {
|
|
137
|
+
if (gpuType && typeId !== gpuType)
|
|
138
|
+
continue;
|
|
139
|
+
for (const config of gpu.configs) {
|
|
140
|
+
if (!config.regions.length)
|
|
141
|
+
continue;
|
|
142
|
+
if (region && !config.regions.includes(region))
|
|
143
|
+
continue;
|
|
144
|
+
const key = `${typeId}_x${config.gpuCount}`;
|
|
145
|
+
const gpuPricing = pricing[key];
|
|
146
|
+
for (const r of config.regions) {
|
|
147
|
+
if (region && r !== region)
|
|
148
|
+
continue;
|
|
149
|
+
const regionInfo = regions[r];
|
|
150
|
+
let priceSpot = null;
|
|
151
|
+
let priceOnDemand = null;
|
|
152
|
+
if (gpuPricing) {
|
|
153
|
+
for (const tier of gpuPricing.tiers) {
|
|
154
|
+
if (tier.region === r) {
|
|
155
|
+
priceSpot = tier.interruptible;
|
|
156
|
+
priceOnDemand = tier.onDemand;
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
results.push({
|
|
162
|
+
gpuType: typeId,
|
|
163
|
+
gpuName: gpu.name,
|
|
164
|
+
gpuCount: config.gpuCount,
|
|
165
|
+
cpuCores: config.cpuCores,
|
|
166
|
+
memoryGb: config.memoryGb,
|
|
167
|
+
storageGb: config.storageGb,
|
|
168
|
+
region: r,
|
|
169
|
+
regionName: regionInfo?.description || r,
|
|
170
|
+
country: regionInfo?.country || '',
|
|
171
|
+
priceSpot,
|
|
172
|
+
priceOnDemand,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return results;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Get available regions for a GPU type and count
|
|
181
|
+
*/
|
|
182
|
+
availableRegions(gpu, gpuCount = 1) {
|
|
183
|
+
for (const config of gpu.configs) {
|
|
184
|
+
if (config.gpuCount === gpuCount) {
|
|
185
|
+
return config.regions;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return [];
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Get available GPU counts for a type
|
|
192
|
+
*/
|
|
193
|
+
availableCounts(gpu) {
|
|
194
|
+
return gpu.configs.filter(c => c.regions.length > 0).map(c => c.gpuCount);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
//# sourceMappingURL=instances.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instances.js","sourceRoot":"","sources":["../src/instances.ts"],"names":[],"mappings":"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"}
|