n8n-nodes-render 1.0.0
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/LICENSE +46 -0
- package/README.md +454 -0
- package/dist/credentials/NodeOperator.credentials.d.ts +15 -0
- package/dist/credentials/NodeOperator.credentials.d.ts.map +1 -0
- package/dist/credentials/NodeOperator.credentials.js +127 -0
- package/dist/credentials/NodeOperator.credentials.js.map +1 -0
- package/dist/credentials/RenderApi.credentials.d.ts +15 -0
- package/dist/credentials/RenderApi.credentials.d.ts.map +1 -0
- package/dist/credentials/RenderApi.credentials.js +98 -0
- package/dist/credentials/RenderApi.credentials.js.map +1 -0
- package/dist/credentials/RenderNetwork.credentials.d.ts +15 -0
- package/dist/credentials/RenderNetwork.credentials.d.ts.map +1 -0
- package/dist/credentials/RenderNetwork.credentials.js +152 -0
- package/dist/credentials/RenderNetwork.credentials.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/nodes/Render/Render.node.d.ts +10 -0
- package/dist/nodes/Render/Render.node.d.ts.map +1 -0
- package/dist/nodes/Render/Render.node.js +290 -0
- package/dist/nodes/Render/Render.node.js.map +1 -0
- package/dist/nodes/Render/RenderTrigger.node.d.ts +10 -0
- package/dist/nodes/Render/RenderTrigger.node.d.ts.map +1 -0
- package/dist/nodes/Render/RenderTrigger.node.js +502 -0
- package/dist/nodes/Render/RenderTrigger.node.js.map +1 -0
- package/dist/nodes/Render/actions/aiCompute/aiCompute.d.ts +9 -0
- package/dist/nodes/Render/actions/aiCompute/aiCompute.d.ts.map +1 -0
- package/dist/nodes/Render/actions/aiCompute/aiCompute.js +248 -0
- package/dist/nodes/Render/actions/aiCompute/aiCompute.js.map +1 -0
- package/dist/nodes/Render/actions/burnMint/burnMint.d.ts +9 -0
- package/dist/nodes/Render/actions/burnMint/burnMint.d.ts.map +1 -0
- package/dist/nodes/Render/actions/burnMint/burnMint.js +335 -0
- package/dist/nodes/Render/actions/burnMint/burnMint.js.map +1 -0
- package/dist/nodes/Render/actions/escrow/escrow.d.ts +5 -0
- package/dist/nodes/Render/actions/escrow/escrow.d.ts.map +1 -0
- package/dist/nodes/Render/actions/escrow/escrow.js +86 -0
- package/dist/nodes/Render/actions/escrow/escrow.js.map +1 -0
- package/dist/nodes/Render/actions/frame/frame.d.ts +5 -0
- package/dist/nodes/Render/actions/frame/frame.d.ts.map +1 -0
- package/dist/nodes/Render/actions/frame/frame.js +107 -0
- package/dist/nodes/Render/actions/frame/frame.js.map +1 -0
- package/dist/nodes/Render/actions/gpu/gpu.d.ts +9 -0
- package/dist/nodes/Render/actions/gpu/gpu.d.ts.map +1 -0
- package/dist/nodes/Render/actions/gpu/gpu.js +243 -0
- package/dist/nodes/Render/actions/gpu/gpu.js.map +1 -0
- package/dist/nodes/Render/actions/job/job.d.ts +5 -0
- package/dist/nodes/Render/actions/job/job.d.ts.map +1 -0
- package/dist/nodes/Render/actions/job/job.js +352 -0
- package/dist/nodes/Render/actions/job/job.js.map +1 -0
- package/dist/nodes/Render/actions/networkStats/networkStats.d.ts +9 -0
- package/dist/nodes/Render/actions/networkStats/networkStats.d.ts.map +1 -0
- package/dist/nodes/Render/actions/networkStats/networkStats.js +230 -0
- package/dist/nodes/Render/actions/networkStats/networkStats.js.map +1 -0
- package/dist/nodes/Render/actions/node/node.d.ts +9 -0
- package/dist/nodes/Render/actions/node/node.d.ts.map +1 -0
- package/dist/nodes/Render/actions/node/node.js +196 -0
- package/dist/nodes/Render/actions/node/node.js.map +1 -0
- package/dist/nodes/Render/actions/nodeOperator/nodeOperator.d.ts +9 -0
- package/dist/nodes/Render/actions/nodeOperator/nodeOperator.d.ts.map +1 -0
- package/dist/nodes/Render/actions/nodeOperator/nodeOperator.js +245 -0
- package/dist/nodes/Render/actions/nodeOperator/nodeOperator.js.map +1 -0
- package/dist/nodes/Render/actions/output/output.d.ts +9 -0
- package/dist/nodes/Render/actions/output/output.d.ts.map +1 -0
- package/dist/nodes/Render/actions/output/output.js +189 -0
- package/dist/nodes/Render/actions/output/output.js.map +1 -0
- package/dist/nodes/Render/actions/pricing/pricing.d.ts +9 -0
- package/dist/nodes/Render/actions/pricing/pricing.d.ts.map +1 -0
- package/dist/nodes/Render/actions/pricing/pricing.js +274 -0
- package/dist/nodes/Render/actions/pricing/pricing.js.map +1 -0
- package/dist/nodes/Render/actions/queue/queue.d.ts +9 -0
- package/dist/nodes/Render/actions/queue/queue.d.ts.map +1 -0
- package/dist/nodes/Render/actions/queue/queue.js +179 -0
- package/dist/nodes/Render/actions/queue/queue.js.map +1 -0
- package/dist/nodes/Render/actions/rendering/rendering.d.ts +5 -0
- package/dist/nodes/Render/actions/rendering/rendering.d.ts.map +1 -0
- package/dist/nodes/Render/actions/rendering/rendering.js +388 -0
- package/dist/nodes/Render/actions/rendering/rendering.js.map +1 -0
- package/dist/nodes/Render/actions/scene/scene.d.ts +9 -0
- package/dist/nodes/Render/actions/scene/scene.d.ts.map +1 -0
- package/dist/nodes/Render/actions/scene/scene.js +196 -0
- package/dist/nodes/Render/actions/scene/scene.js.map +1 -0
- package/dist/nodes/Render/actions/staking/staking.d.ts +9 -0
- package/dist/nodes/Render/actions/staking/staking.d.ts.map +1 -0
- package/dist/nodes/Render/actions/staking/staking.js +255 -0
- package/dist/nodes/Render/actions/staking/staking.js.map +1 -0
- package/dist/nodes/Render/actions/utility/utility.d.ts +9 -0
- package/dist/nodes/Render/actions/utility/utility.d.ts.map +1 -0
- package/dist/nodes/Render/actions/utility/utility.js +348 -0
- package/dist/nodes/Render/actions/utility/utility.js.map +1 -0
- package/dist/nodes/Render/actions/wallet/wallet.d.ts +9 -0
- package/dist/nodes/Render/actions/wallet/wallet.d.ts.map +1 -0
- package/dist/nodes/Render/actions/wallet/wallet.js +358 -0
- package/dist/nodes/Render/actions/wallet/wallet.js.map +1 -0
- package/dist/nodes/Render/constants/formats.d.ts +329 -0
- package/dist/nodes/Render/constants/formats.d.ts.map +1 -0
- package/dist/nodes/Render/constants/formats.js +304 -0
- package/dist/nodes/Render/constants/formats.js.map +1 -0
- package/dist/nodes/Render/constants/gpuTypes.d.ts +53 -0
- package/dist/nodes/Render/constants/gpuTypes.d.ts.map +1 -0
- package/dist/nodes/Render/constants/gpuTypes.js +226 -0
- package/dist/nodes/Render/constants/gpuTypes.js.map +1 -0
- package/dist/nodes/Render/constants/index.d.ts +9 -0
- package/dist/nodes/Render/constants/index.d.ts.map +1 -0
- package/dist/nodes/Render/constants/index.js +25 -0
- package/dist/nodes/Render/constants/index.js.map +1 -0
- package/dist/nodes/Render/constants/networks.d.ts +63 -0
- package/dist/nodes/Render/constants/networks.d.ts.map +1 -0
- package/dist/nodes/Render/constants/networks.js +69 -0
- package/dist/nodes/Render/constants/networks.js.map +1 -0
- package/dist/nodes/Render/constants/programs.d.ts +37 -0
- package/dist/nodes/Render/constants/programs.d.ts.map +1 -0
- package/dist/nodes/Render/constants/programs.js +54 -0
- package/dist/nodes/Render/constants/programs.js.map +1 -0
- package/dist/nodes/Render/render.svg +12 -0
- package/dist/nodes/Render/transport/index.d.ts +9 -0
- package/dist/nodes/Render/transport/index.d.ts.map +1 -0
- package/dist/nodes/Render/transport/index.js +25 -0
- package/dist/nodes/Render/transport/index.js.map +1 -0
- package/dist/nodes/Render/transport/jobClient.d.ts +215 -0
- package/dist/nodes/Render/transport/jobClient.d.ts.map +1 -0
- package/dist/nodes/Render/transport/jobClient.js +313 -0
- package/dist/nodes/Render/transport/jobClient.js.map +1 -0
- package/dist/nodes/Render/transport/renderApi.d.ts +1198 -0
- package/dist/nodes/Render/transport/renderApi.d.ts.map +1 -0
- package/dist/nodes/Render/transport/renderApi.js +1587 -0
- package/dist/nodes/Render/transport/renderApi.js.map +1 -0
- package/dist/nodes/Render/transport/solanaClient.d.ts +86 -0
- package/dist/nodes/Render/transport/solanaClient.d.ts.map +1 -0
- package/dist/nodes/Render/transport/solanaClient.js +321 -0
- package/dist/nodes/Render/transport/solanaClient.js.map +1 -0
- package/dist/nodes/Render/transport/streamClient.d.ts +130 -0
- package/dist/nodes/Render/transport/streamClient.d.ts.map +1 -0
- package/dist/nodes/Render/transport/streamClient.js +252 -0
- package/dist/nodes/Render/transport/streamClient.js.map +1 -0
- package/dist/nodes/Render/utils/index.d.ts +9 -0
- package/dist/nodes/Render/utils/index.d.ts.map +1 -0
- package/dist/nodes/Render/utils/index.js +25 -0
- package/dist/nodes/Render/utils/index.js.map +1 -0
- package/dist/nodes/Render/utils/jobUtils.d.ts +77 -0
- package/dist/nodes/Render/utils/jobUtils.d.ts.map +1 -0
- package/dist/nodes/Render/utils/jobUtils.js +221 -0
- package/dist/nodes/Render/utils/jobUtils.js.map +1 -0
- package/dist/nodes/Render/utils/pricingUtils.d.ts +99 -0
- package/dist/nodes/Render/utils/pricingUtils.d.ts.map +1 -0
- package/dist/nodes/Render/utils/pricingUtils.js +213 -0
- package/dist/nodes/Render/utils/pricingUtils.js.map +1 -0
- package/dist/nodes/Render/utils/sceneUtils.d.ts +74 -0
- package/dist/nodes/Render/utils/sceneUtils.d.ts.map +1 -0
- package/dist/nodes/Render/utils/sceneUtils.js +201 -0
- package/dist/nodes/Render/utils/sceneUtils.js.map +1 -0
- package/dist/nodes/Render/utils/unitConverter.d.ts +99 -0
- package/dist/nodes/Render/utils/unitConverter.d.ts.map +1 -0
- package/dist/nodes/Render/utils/unitConverter.js +288 -0
- package/dist/nodes/Render/utils/unitConverter.js.map +1 -0
- package/package.json +90 -0
|
@@ -0,0 +1,1587 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Render API Client
|
|
4
|
+
* Handles all REST API interactions with Render Network
|
|
5
|
+
*/
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.RenderApiClient = void 0;
|
|
11
|
+
const axios_1 = __importDefault(require("axios"));
|
|
12
|
+
const form_data_1 = __importDefault(require("form-data"));
|
|
13
|
+
const networks_1 = require("../constants/networks");
|
|
14
|
+
class RenderApiClient {
|
|
15
|
+
constructor(config) {
|
|
16
|
+
const baseURL = config.apiEndpoint || networks_1.RENDER_API_ENDPOINTS.production;
|
|
17
|
+
this.client = axios_1.default.create({
|
|
18
|
+
baseURL,
|
|
19
|
+
timeout: (config.timeout || 30) * 1000,
|
|
20
|
+
headers: {
|
|
21
|
+
'Authorization': `Bearer ${config.apiKey}`,
|
|
22
|
+
'X-Creator-ID': config.creatorAccountId,
|
|
23
|
+
'Content-Type': 'application/json',
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
// Add response interceptor for error handling
|
|
27
|
+
this.client.interceptors.response.use(response => response, (error) => {
|
|
28
|
+
if (error.response) {
|
|
29
|
+
const errorData = error.response.data;
|
|
30
|
+
throw new Error(errorData?.message ||
|
|
31
|
+
errorData?.error ||
|
|
32
|
+
`API Error: ${error.response.status}`);
|
|
33
|
+
}
|
|
34
|
+
throw error;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
// ============ Job Operations ============
|
|
38
|
+
/**
|
|
39
|
+
* Create a new render job
|
|
40
|
+
*/
|
|
41
|
+
async createJob(params) {
|
|
42
|
+
try {
|
|
43
|
+
const response = await this.client.post('/jobs', params);
|
|
44
|
+
return { success: true, data: response.data };
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
48
|
+
return { success: false, error: errorMessage };
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Get job information
|
|
53
|
+
*/
|
|
54
|
+
async getJob(jobId) {
|
|
55
|
+
try {
|
|
56
|
+
const response = await this.client.get(`/jobs/${jobId}`);
|
|
57
|
+
return { success: true, data: response.data };
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
61
|
+
return { success: false, error: errorMessage };
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Get job status
|
|
66
|
+
*/
|
|
67
|
+
async getJobStatus(jobId) {
|
|
68
|
+
try {
|
|
69
|
+
const response = await this.client.get(`/jobs/${jobId}/status`);
|
|
70
|
+
return { success: true, data: response.data };
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
74
|
+
return { success: false, error: errorMessage };
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Cancel a job
|
|
79
|
+
*/
|
|
80
|
+
async cancelJob(jobId) {
|
|
81
|
+
try {
|
|
82
|
+
const response = await this.client.post(`/jobs/${jobId}/cancel`);
|
|
83
|
+
return { success: true, data: response.data };
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
87
|
+
return { success: false, error: errorMessage };
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* List user jobs
|
|
92
|
+
*/
|
|
93
|
+
async listJobs(params) {
|
|
94
|
+
try {
|
|
95
|
+
const response = await this.client.get('/jobs', { params });
|
|
96
|
+
return { success: true, data: response.data };
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
100
|
+
return { success: false, error: errorMessage };
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Get job results/outputs
|
|
105
|
+
*/
|
|
106
|
+
async getJobResults(jobId) {
|
|
107
|
+
try {
|
|
108
|
+
const response = await this.client.get(`/jobs/${jobId}/results`);
|
|
109
|
+
return { success: true, data: response.data };
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
113
|
+
return { success: false, error: errorMessage };
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Estimate job cost
|
|
118
|
+
*/
|
|
119
|
+
async estimateJobCost(params) {
|
|
120
|
+
try {
|
|
121
|
+
const response = await this.client.post('/jobs/estimate', params);
|
|
122
|
+
return { success: true, data: response.data };
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
126
|
+
return { success: false, error: errorMessage };
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
// ============ AI Compute Operations ============
|
|
130
|
+
/**
|
|
131
|
+
* Submit AI inference job
|
|
132
|
+
*/
|
|
133
|
+
async submitAIJob(params) {
|
|
134
|
+
try {
|
|
135
|
+
const response = await this.client.post('/ai/jobs', params);
|
|
136
|
+
return { success: true, data: response.data };
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
140
|
+
return { success: false, error: errorMessage };
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Get AI job results
|
|
145
|
+
*/
|
|
146
|
+
async getAIJobResults(jobId) {
|
|
147
|
+
try {
|
|
148
|
+
const response = await this.client.get(`/ai/jobs/${jobId}/results`);
|
|
149
|
+
return { success: true, data: response.data };
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
153
|
+
return { success: false, error: errorMessage };
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* List available AI models
|
|
158
|
+
*/
|
|
159
|
+
async listAIModels() {
|
|
160
|
+
try {
|
|
161
|
+
const response = await this.client.get('/ai/models');
|
|
162
|
+
return { success: true, data: response.data };
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
166
|
+
return { success: false, error: errorMessage };
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// ============ Scene Operations ============
|
|
170
|
+
/**
|
|
171
|
+
* Upload a scene file
|
|
172
|
+
*/
|
|
173
|
+
async uploadScene(fileBuffer, fileName, metadata) {
|
|
174
|
+
try {
|
|
175
|
+
const formData = new form_data_1.default();
|
|
176
|
+
formData.append('file', fileBuffer, fileName);
|
|
177
|
+
if (metadata) {
|
|
178
|
+
formData.append('metadata', JSON.stringify(metadata));
|
|
179
|
+
}
|
|
180
|
+
const response = await this.client.post('/scenes/upload', formData, {
|
|
181
|
+
headers: formData.getHeaders(),
|
|
182
|
+
});
|
|
183
|
+
return { success: true, data: response.data };
|
|
184
|
+
}
|
|
185
|
+
catch (error) {
|
|
186
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
187
|
+
return { success: false, error: errorMessage };
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Get scene information
|
|
192
|
+
*/
|
|
193
|
+
async getScene(sceneId) {
|
|
194
|
+
try {
|
|
195
|
+
const response = await this.client.get(`/scenes/${sceneId}`);
|
|
196
|
+
return { success: true, data: response.data };
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
200
|
+
return { success: false, error: errorMessage };
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Validate a scene
|
|
205
|
+
*/
|
|
206
|
+
async validateScene(sceneId) {
|
|
207
|
+
try {
|
|
208
|
+
const response = await this.client.post(`/scenes/${sceneId}/validate`);
|
|
209
|
+
return { success: true, data: response.data };
|
|
210
|
+
}
|
|
211
|
+
catch (error) {
|
|
212
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
213
|
+
return { success: false, error: errorMessage };
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
// ============ Node Operations ============
|
|
217
|
+
/**
|
|
218
|
+
* Get node information
|
|
219
|
+
*/
|
|
220
|
+
async getNode(nodeId) {
|
|
221
|
+
try {
|
|
222
|
+
const response = await this.client.get(`/nodes/${nodeId}`);
|
|
223
|
+
return { success: true, data: response.data };
|
|
224
|
+
}
|
|
225
|
+
catch (error) {
|
|
226
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
227
|
+
return { success: false, error: errorMessage };
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* List active nodes
|
|
232
|
+
*/
|
|
233
|
+
async listNodes(params) {
|
|
234
|
+
try {
|
|
235
|
+
const response = await this.client.get('/nodes', { params });
|
|
236
|
+
return { success: true, data: response.data };
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
240
|
+
return { success: false, error: errorMessage };
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
// ============ Pricing Operations ============
|
|
244
|
+
/**
|
|
245
|
+
* Get current pricing
|
|
246
|
+
*/
|
|
247
|
+
async getPricing() {
|
|
248
|
+
try {
|
|
249
|
+
const response = await this.client.get('/pricing');
|
|
250
|
+
return { success: true, data: response.data };
|
|
251
|
+
}
|
|
252
|
+
catch (error) {
|
|
253
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
254
|
+
return { success: false, error: errorMessage };
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Get GPU-specific pricing
|
|
259
|
+
*/
|
|
260
|
+
async getGpuPricing(gpuType) {
|
|
261
|
+
try {
|
|
262
|
+
const url = gpuType ? `/pricing/gpu/${gpuType}` : '/pricing/gpu';
|
|
263
|
+
const response = await this.client.get(url);
|
|
264
|
+
return { success: true, data: response.data };
|
|
265
|
+
}
|
|
266
|
+
catch (error) {
|
|
267
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
268
|
+
return { success: false, error: errorMessage };
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
// ============ Network Stats ============
|
|
272
|
+
/**
|
|
273
|
+
* Get network overview
|
|
274
|
+
*/
|
|
275
|
+
async getNetworkStats() {
|
|
276
|
+
try {
|
|
277
|
+
const response = await this.client.get('/network/stats');
|
|
278
|
+
return { success: true, data: response.data };
|
|
279
|
+
}
|
|
280
|
+
catch (error) {
|
|
281
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
282
|
+
return { success: false, error: errorMessage };
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Get GPU distribution
|
|
287
|
+
*/
|
|
288
|
+
async getGpuDistribution() {
|
|
289
|
+
try {
|
|
290
|
+
const response = await this.client.get('/network/gpu-distribution');
|
|
291
|
+
return { success: true, data: response.data };
|
|
292
|
+
}
|
|
293
|
+
catch (error) {
|
|
294
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
295
|
+
return { success: false, error: errorMessage };
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
// ============ Queue Operations ============
|
|
299
|
+
/**
|
|
300
|
+
* Get queue status
|
|
301
|
+
*/
|
|
302
|
+
async getQueueStatus() {
|
|
303
|
+
try {
|
|
304
|
+
const response = await this.client.get('/queue/status');
|
|
305
|
+
return { success: true, data: response.data };
|
|
306
|
+
}
|
|
307
|
+
catch (error) {
|
|
308
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
309
|
+
return { success: false, error: errorMessage };
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Get job queue position
|
|
314
|
+
*/
|
|
315
|
+
async getQueuePosition(jobId) {
|
|
316
|
+
try {
|
|
317
|
+
const response = await this.client.get(`/queue/position/${jobId}`);
|
|
318
|
+
return { success: true, data: response.data };
|
|
319
|
+
}
|
|
320
|
+
catch (error) {
|
|
321
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
322
|
+
return { success: false, error: errorMessage };
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
// ============ Escrow Operations ============
|
|
326
|
+
/**
|
|
327
|
+
* Get escrow balance
|
|
328
|
+
*/
|
|
329
|
+
async getEscrowBalance() {
|
|
330
|
+
try {
|
|
331
|
+
const response = await this.client.get('/escrow/balance');
|
|
332
|
+
return { success: true, data: response.data };
|
|
333
|
+
}
|
|
334
|
+
catch (error) {
|
|
335
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
336
|
+
return { success: false, error: errorMessage };
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Get escrow history
|
|
341
|
+
*/
|
|
342
|
+
async getEscrowHistory(params) {
|
|
343
|
+
try {
|
|
344
|
+
const response = await this.client.get('/escrow/history', { params });
|
|
345
|
+
return { success: true, data: response.data };
|
|
346
|
+
}
|
|
347
|
+
catch (error) {
|
|
348
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
349
|
+
return { success: false, error: errorMessage };
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
// ============ BME Operations ============
|
|
353
|
+
/**
|
|
354
|
+
* Get BME (Burn-Mint Equilibrium) stats
|
|
355
|
+
*/
|
|
356
|
+
async getBmeStats() {
|
|
357
|
+
try {
|
|
358
|
+
const response = await this.client.get('/bme/stats');
|
|
359
|
+
return { success: true, data: response.data };
|
|
360
|
+
}
|
|
361
|
+
catch (error) {
|
|
362
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
363
|
+
return { success: false, error: errorMessage };
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
// ============ Utility ============
|
|
367
|
+
/**
|
|
368
|
+
* Get API status
|
|
369
|
+
*/
|
|
370
|
+
async getStatus() {
|
|
371
|
+
try {
|
|
372
|
+
const response = await this.client.get('/status');
|
|
373
|
+
return { success: true, data: response.data };
|
|
374
|
+
}
|
|
375
|
+
catch (error) {
|
|
376
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
377
|
+
return { success: false, error: errorMessage };
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
// ============ Extended Node Operations ============
|
|
381
|
+
/**
|
|
382
|
+
* Get node info (alias for getNode)
|
|
383
|
+
*/
|
|
384
|
+
async getNodeInfo(nodeId) {
|
|
385
|
+
return this.getNode(nodeId);
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Get node stats
|
|
389
|
+
*/
|
|
390
|
+
async getNodeStats() {
|
|
391
|
+
try {
|
|
392
|
+
const response = await this.client.get('/network/nodes/stats');
|
|
393
|
+
return { success: true, data: response.data };
|
|
394
|
+
}
|
|
395
|
+
catch (error) {
|
|
396
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
397
|
+
return { success: false, error: errorMessage };
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Register a new node
|
|
402
|
+
*/
|
|
403
|
+
async registerNode(params) {
|
|
404
|
+
try {
|
|
405
|
+
const response = await this.client.post('/nodes/register', params);
|
|
406
|
+
return { success: true, data: response.data };
|
|
407
|
+
}
|
|
408
|
+
catch (error) {
|
|
409
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
410
|
+
return { success: false, error: errorMessage };
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
/**
|
|
414
|
+
* Update node configuration
|
|
415
|
+
*/
|
|
416
|
+
async updateNodeConfig(nodeId, config) {
|
|
417
|
+
try {
|
|
418
|
+
const response = await this.client.patch(`/nodes/${nodeId}/config`, config);
|
|
419
|
+
return { success: true, data: response.data };
|
|
420
|
+
}
|
|
421
|
+
catch (error) {
|
|
422
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
423
|
+
return { success: false, error: errorMessage };
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
/**
|
|
427
|
+
* Deactivate a node
|
|
428
|
+
*/
|
|
429
|
+
async deactivateNode(nodeId) {
|
|
430
|
+
try {
|
|
431
|
+
const response = await this.client.post(`/nodes/${nodeId}/deactivate`);
|
|
432
|
+
return { success: true, data: response.data };
|
|
433
|
+
}
|
|
434
|
+
catch (error) {
|
|
435
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
436
|
+
return { success: false, error: errorMessage };
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
// ============ Extended GPU Operations ============
|
|
440
|
+
/**
|
|
441
|
+
* Get available GPUs
|
|
442
|
+
*/
|
|
443
|
+
async getAvailableGpus(params) {
|
|
444
|
+
try {
|
|
445
|
+
const response = await this.client.get('/gpu/available', { params });
|
|
446
|
+
return { success: true, data: response.data };
|
|
447
|
+
}
|
|
448
|
+
catch (error) {
|
|
449
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
450
|
+
return { success: false, error: errorMessage };
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
/**
|
|
454
|
+
* Get GPU availability
|
|
455
|
+
*/
|
|
456
|
+
async getGpuAvailability(gpuType) {
|
|
457
|
+
try {
|
|
458
|
+
const response = await this.client.get(`/gpu/${gpuType}/availability`);
|
|
459
|
+
return { success: true, data: response.data };
|
|
460
|
+
}
|
|
461
|
+
catch (error) {
|
|
462
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
463
|
+
return { success: false, error: errorMessage };
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
/**
|
|
467
|
+
* Reserve GPU
|
|
468
|
+
*/
|
|
469
|
+
async reserveGpu(params) {
|
|
470
|
+
try {
|
|
471
|
+
const response = await this.client.post('/gpu/reserve', params);
|
|
472
|
+
return { success: true, data: response.data };
|
|
473
|
+
}
|
|
474
|
+
catch (error) {
|
|
475
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
476
|
+
return { success: false, error: errorMessage };
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
/**
|
|
480
|
+
* Get GPU performance metrics
|
|
481
|
+
*/
|
|
482
|
+
async getGpuPerformance(gpuType) {
|
|
483
|
+
try {
|
|
484
|
+
const response = await this.client.get(`/gpu/${gpuType}/performance`);
|
|
485
|
+
return { success: true, data: response.data };
|
|
486
|
+
}
|
|
487
|
+
catch (error) {
|
|
488
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
489
|
+
return { success: false, error: errorMessage };
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* Get GPU queue
|
|
494
|
+
*/
|
|
495
|
+
async getGpuQueue(gpuType) {
|
|
496
|
+
try {
|
|
497
|
+
const response = await this.client.get(`/gpu/${gpuType}/queue`);
|
|
498
|
+
return { success: true, data: response.data };
|
|
499
|
+
}
|
|
500
|
+
catch (error) {
|
|
501
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
502
|
+
return { success: false, error: errorMessage };
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
// ============ Extended Network Stats ============
|
|
506
|
+
/**
|
|
507
|
+
* Get network overview
|
|
508
|
+
*/
|
|
509
|
+
async getNetworkOverview() {
|
|
510
|
+
try {
|
|
511
|
+
const response = await this.client.get('/network/overview');
|
|
512
|
+
return { success: true, data: response.data };
|
|
513
|
+
}
|
|
514
|
+
catch (error) {
|
|
515
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
516
|
+
return { success: false, error: errorMessage };
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
/**
|
|
520
|
+
* Get active job stats
|
|
521
|
+
*/
|
|
522
|
+
async getActiveJobStats() {
|
|
523
|
+
try {
|
|
524
|
+
const response = await this.client.get('/network/jobs/active');
|
|
525
|
+
return { success: true, data: response.data };
|
|
526
|
+
}
|
|
527
|
+
catch (error) {
|
|
528
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
529
|
+
return { success: false, error: errorMessage };
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
/**
|
|
533
|
+
* Get network capacity
|
|
534
|
+
*/
|
|
535
|
+
async getNetworkCapacity() {
|
|
536
|
+
try {
|
|
537
|
+
const response = await this.client.get('/network/capacity');
|
|
538
|
+
return { success: true, data: response.data };
|
|
539
|
+
}
|
|
540
|
+
catch (error) {
|
|
541
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
542
|
+
return { success: false, error: errorMessage };
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Get job statistics
|
|
547
|
+
*/
|
|
548
|
+
async getJobStatistics(params) {
|
|
549
|
+
try {
|
|
550
|
+
const response = await this.client.get('/network/jobs/statistics', { params });
|
|
551
|
+
return { success: true, data: response.data };
|
|
552
|
+
}
|
|
553
|
+
catch (error) {
|
|
554
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
555
|
+
return { success: false, error: errorMessage };
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
/**
|
|
559
|
+
* Get earnings distribution
|
|
560
|
+
*/
|
|
561
|
+
async getEarningsDistribution(params) {
|
|
562
|
+
try {
|
|
563
|
+
const response = await this.client.get('/network/earnings/distribution', { params });
|
|
564
|
+
return { success: true, data: response.data };
|
|
565
|
+
}
|
|
566
|
+
catch (error) {
|
|
567
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
568
|
+
return { success: false, error: errorMessage };
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
/**
|
|
572
|
+
* Get token metrics
|
|
573
|
+
*/
|
|
574
|
+
async getTokenMetrics() {
|
|
575
|
+
try {
|
|
576
|
+
const response = await this.client.get('/token/metrics');
|
|
577
|
+
return { success: true, data: response.data };
|
|
578
|
+
}
|
|
579
|
+
catch (error) {
|
|
580
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
581
|
+
return { success: false, error: errorMessage };
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
/**
|
|
585
|
+
* Get burn statistics
|
|
586
|
+
*/
|
|
587
|
+
async getBurnStatistics(params) {
|
|
588
|
+
try {
|
|
589
|
+
const response = await this.client.get('/bme/burn/statistics', { params });
|
|
590
|
+
return { success: true, data: response.data };
|
|
591
|
+
}
|
|
592
|
+
catch (error) {
|
|
593
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
594
|
+
return { success: false, error: errorMessage };
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
/**
|
|
598
|
+
* Get historical stats
|
|
599
|
+
*/
|
|
600
|
+
async getHistoricalStats(params) {
|
|
601
|
+
try {
|
|
602
|
+
const response = await this.client.get('/network/historical', { params });
|
|
603
|
+
return { success: true, data: response.data };
|
|
604
|
+
}
|
|
605
|
+
catch (error) {
|
|
606
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
607
|
+
return { success: false, error: errorMessage };
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
// ============ Extended Queue Operations ============
|
|
611
|
+
/**
|
|
612
|
+
* Get estimated wait time
|
|
613
|
+
*/
|
|
614
|
+
async getEstimatedWait(params) {
|
|
615
|
+
try {
|
|
616
|
+
const response = await this.client.get('/queue/estimate', { params });
|
|
617
|
+
return { success: true, data: response.data };
|
|
618
|
+
}
|
|
619
|
+
catch (error) {
|
|
620
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
621
|
+
return { success: false, error: errorMessage };
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
/**
|
|
625
|
+
* Get queue statistics
|
|
626
|
+
*/
|
|
627
|
+
async getQueueStatistics(params) {
|
|
628
|
+
try {
|
|
629
|
+
const response = await this.client.get('/queue/statistics', { params });
|
|
630
|
+
return { success: true, data: response.data };
|
|
631
|
+
}
|
|
632
|
+
catch (error) {
|
|
633
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
634
|
+
return { success: false, error: errorMessage };
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
/**
|
|
638
|
+
* Prioritize job in queue
|
|
639
|
+
*/
|
|
640
|
+
async prioritizeJob(jobId, priority) {
|
|
641
|
+
try {
|
|
642
|
+
const response = await this.client.post(`/queue/${jobId}/prioritize`, { priority });
|
|
643
|
+
return { success: true, data: response.data };
|
|
644
|
+
}
|
|
645
|
+
catch (error) {
|
|
646
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
647
|
+
return { success: false, error: errorMessage };
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
/**
|
|
651
|
+
* Get priority pricing
|
|
652
|
+
*/
|
|
653
|
+
async getPriorityPricing() {
|
|
654
|
+
try {
|
|
655
|
+
const response = await this.client.get('/queue/priority-pricing');
|
|
656
|
+
return { success: true, data: response.data };
|
|
657
|
+
}
|
|
658
|
+
catch (error) {
|
|
659
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
660
|
+
return { success: false, error: errorMessage };
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
/**
|
|
664
|
+
* Get queue history
|
|
665
|
+
*/
|
|
666
|
+
async getQueueHistory(params) {
|
|
667
|
+
try {
|
|
668
|
+
const response = await this.client.get('/queue/history', { params });
|
|
669
|
+
return { success: true, data: response.data };
|
|
670
|
+
}
|
|
671
|
+
catch (error) {
|
|
672
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
673
|
+
return { success: false, error: errorMessage };
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
// ============ Extended Scene Operations ============
|
|
677
|
+
/**
|
|
678
|
+
* Get scene info (alias)
|
|
679
|
+
*/
|
|
680
|
+
async getSceneInfo(sceneId) {
|
|
681
|
+
return this.getScene(sceneId);
|
|
682
|
+
}
|
|
683
|
+
/**
|
|
684
|
+
* Get scene assets
|
|
685
|
+
*/
|
|
686
|
+
async getSceneAssets(sceneId) {
|
|
687
|
+
try {
|
|
688
|
+
const response = await this.client.get(`/scenes/${sceneId}/assets`);
|
|
689
|
+
return { success: true, data: response.data };
|
|
690
|
+
}
|
|
691
|
+
catch (error) {
|
|
692
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
693
|
+
return { success: false, error: errorMessage };
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
/**
|
|
697
|
+
* Update scene
|
|
698
|
+
*/
|
|
699
|
+
async updateScene(sceneId, updates) {
|
|
700
|
+
try {
|
|
701
|
+
const response = await this.client.patch(`/scenes/${sceneId}`, updates);
|
|
702
|
+
return { success: true, data: response.data };
|
|
703
|
+
}
|
|
704
|
+
catch (error) {
|
|
705
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
706
|
+
return { success: false, error: errorMessage };
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
/**
|
|
710
|
+
* Delete scene
|
|
711
|
+
*/
|
|
712
|
+
async deleteScene(sceneId) {
|
|
713
|
+
try {
|
|
714
|
+
const response = await this.client.delete(`/scenes/${sceneId}`);
|
|
715
|
+
return { success: true, data: response.data };
|
|
716
|
+
}
|
|
717
|
+
catch (error) {
|
|
718
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
719
|
+
return { success: false, error: errorMessage };
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
/**
|
|
723
|
+
* Get scene requirements
|
|
724
|
+
*/
|
|
725
|
+
async getSceneRequirements(sceneId) {
|
|
726
|
+
try {
|
|
727
|
+
const response = await this.client.get(`/scenes/${sceneId}/requirements`);
|
|
728
|
+
return { success: true, data: response.data };
|
|
729
|
+
}
|
|
730
|
+
catch (error) {
|
|
731
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
732
|
+
return { success: false, error: errorMessage };
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
/**
|
|
736
|
+
* Estimate scene cost
|
|
737
|
+
*/
|
|
738
|
+
async estimateSceneCost(sceneId, params) {
|
|
739
|
+
try {
|
|
740
|
+
const response = await this.client.post(`/scenes/${sceneId}/estimate`, params);
|
|
741
|
+
return { success: true, data: response.data };
|
|
742
|
+
}
|
|
743
|
+
catch (error) {
|
|
744
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
745
|
+
return { success: false, error: errorMessage };
|
|
746
|
+
}
|
|
747
|
+
}
|
|
748
|
+
/**
|
|
749
|
+
* Get scene history
|
|
750
|
+
*/
|
|
751
|
+
async getSceneHistory(sceneId) {
|
|
752
|
+
try {
|
|
753
|
+
const response = await this.client.get(`/scenes/${sceneId}/history`);
|
|
754
|
+
return { success: true, data: response.data };
|
|
755
|
+
}
|
|
756
|
+
catch (error) {
|
|
757
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
758
|
+
return { success: false, error: errorMessage };
|
|
759
|
+
}
|
|
760
|
+
}
|
|
761
|
+
// ============ Extended Output Operations ============
|
|
762
|
+
/**
|
|
763
|
+
* Get output info
|
|
764
|
+
*/
|
|
765
|
+
async getOutputInfo(outputId) {
|
|
766
|
+
try {
|
|
767
|
+
const response = await this.client.get(`/outputs/${outputId}`);
|
|
768
|
+
return { success: true, data: response.data };
|
|
769
|
+
}
|
|
770
|
+
catch (error) {
|
|
771
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
772
|
+
return { success: false, error: errorMessage };
|
|
773
|
+
}
|
|
774
|
+
}
|
|
775
|
+
/**
|
|
776
|
+
* Get job output info
|
|
777
|
+
*/
|
|
778
|
+
async getJobOutputInfo(jobId) {
|
|
779
|
+
try {
|
|
780
|
+
const response = await this.client.get(`/jobs/${jobId}/outputs`);
|
|
781
|
+
return { success: true, data: response.data };
|
|
782
|
+
}
|
|
783
|
+
catch (error) {
|
|
784
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
785
|
+
return { success: false, error: errorMessage };
|
|
786
|
+
}
|
|
787
|
+
}
|
|
788
|
+
/**
|
|
789
|
+
* Download output
|
|
790
|
+
*/
|
|
791
|
+
async downloadOutput(outputId) {
|
|
792
|
+
try {
|
|
793
|
+
const response = await this.client.get(`/outputs/${outputId}/download`);
|
|
794
|
+
return { success: true, data: response.data };
|
|
795
|
+
}
|
|
796
|
+
catch (error) {
|
|
797
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
798
|
+
return { success: false, error: errorMessage };
|
|
799
|
+
}
|
|
800
|
+
}
|
|
801
|
+
/**
|
|
802
|
+
* Get output URL
|
|
803
|
+
*/
|
|
804
|
+
async getOutputUrl(outputId, params) {
|
|
805
|
+
try {
|
|
806
|
+
const response = await this.client.get(`/outputs/${outputId}/url`, { params });
|
|
807
|
+
return { success: true, data: response.data };
|
|
808
|
+
}
|
|
809
|
+
catch (error) {
|
|
810
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
811
|
+
return { success: false, error: errorMessage };
|
|
812
|
+
}
|
|
813
|
+
}
|
|
814
|
+
/**
|
|
815
|
+
* Convert output format
|
|
816
|
+
*/
|
|
817
|
+
async convertOutput(outputId, targetFormat, options) {
|
|
818
|
+
try {
|
|
819
|
+
const response = await this.client.post(`/outputs/${outputId}/convert`, { targetFormat, ...options });
|
|
820
|
+
return { success: true, data: response.data };
|
|
821
|
+
}
|
|
822
|
+
catch (error) {
|
|
823
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
824
|
+
return { success: false, error: errorMessage };
|
|
825
|
+
}
|
|
826
|
+
}
|
|
827
|
+
/**
|
|
828
|
+
* Get thumbnail
|
|
829
|
+
*/
|
|
830
|
+
async getThumbnail(outputId, params) {
|
|
831
|
+
try {
|
|
832
|
+
const response = await this.client.get(`/outputs/${outputId}/thumbnail`, { params });
|
|
833
|
+
return { success: true, data: response.data };
|
|
834
|
+
}
|
|
835
|
+
catch (error) {
|
|
836
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
837
|
+
return { success: false, error: errorMessage };
|
|
838
|
+
}
|
|
839
|
+
}
|
|
840
|
+
/**
|
|
841
|
+
* Get preview
|
|
842
|
+
*/
|
|
843
|
+
async getPreview(outputId) {
|
|
844
|
+
try {
|
|
845
|
+
const response = await this.client.get(`/outputs/${outputId}/preview`);
|
|
846
|
+
return { success: true, data: response.data };
|
|
847
|
+
}
|
|
848
|
+
catch (error) {
|
|
849
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
850
|
+
return { success: false, error: errorMessage };
|
|
851
|
+
}
|
|
852
|
+
}
|
|
853
|
+
/**
|
|
854
|
+
* Get streaming URL
|
|
855
|
+
*/
|
|
856
|
+
async getStreamUrl(outputId) {
|
|
857
|
+
try {
|
|
858
|
+
const response = await this.client.get(`/outputs/${outputId}/stream`);
|
|
859
|
+
return { success: true, data: response.data };
|
|
860
|
+
}
|
|
861
|
+
catch (error) {
|
|
862
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
863
|
+
return { success: false, error: errorMessage };
|
|
864
|
+
}
|
|
865
|
+
}
|
|
866
|
+
/**
|
|
867
|
+
* Get storage info
|
|
868
|
+
*/
|
|
869
|
+
async getStorageInfo() {
|
|
870
|
+
try {
|
|
871
|
+
const response = await this.client.get('/storage/info');
|
|
872
|
+
return { success: true, data: response.data };
|
|
873
|
+
}
|
|
874
|
+
catch (error) {
|
|
875
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
876
|
+
return { success: false, error: errorMessage };
|
|
877
|
+
}
|
|
878
|
+
}
|
|
879
|
+
/**
|
|
880
|
+
* Delete output
|
|
881
|
+
*/
|
|
882
|
+
async deleteOutput(outputId) {
|
|
883
|
+
try {
|
|
884
|
+
const response = await this.client.delete(`/outputs/${outputId}`);
|
|
885
|
+
return { success: true, data: response.data };
|
|
886
|
+
}
|
|
887
|
+
catch (error) {
|
|
888
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
889
|
+
return { success: false, error: errorMessage };
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
// ============ Extended BME Operations ============
|
|
893
|
+
/**
|
|
894
|
+
* Get burn rate
|
|
895
|
+
*/
|
|
896
|
+
async getBurnRate(params) {
|
|
897
|
+
try {
|
|
898
|
+
const response = await this.client.get('/bme/burn-rate', { params });
|
|
899
|
+
return { success: true, data: response.data };
|
|
900
|
+
}
|
|
901
|
+
catch (error) {
|
|
902
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
903
|
+
return { success: false, error: errorMessage };
|
|
904
|
+
}
|
|
905
|
+
}
|
|
906
|
+
/**
|
|
907
|
+
* Get mint rate
|
|
908
|
+
*/
|
|
909
|
+
async getMintRate(params) {
|
|
910
|
+
try {
|
|
911
|
+
const response = await this.client.get('/bme/mint-rate', { params });
|
|
912
|
+
return { success: true, data: response.data };
|
|
913
|
+
}
|
|
914
|
+
catch (error) {
|
|
915
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
916
|
+
return { success: false, error: errorMessage };
|
|
917
|
+
}
|
|
918
|
+
}
|
|
919
|
+
/**
|
|
920
|
+
* Get token circulation
|
|
921
|
+
*/
|
|
922
|
+
async getTokenCirculation() {
|
|
923
|
+
try {
|
|
924
|
+
const response = await this.client.get('/bme/circulation');
|
|
925
|
+
return { success: true, data: response.data };
|
|
926
|
+
}
|
|
927
|
+
catch (error) {
|
|
928
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
929
|
+
return { success: false, error: errorMessage };
|
|
930
|
+
}
|
|
931
|
+
}
|
|
932
|
+
/**
|
|
933
|
+
* Get BME history
|
|
934
|
+
*/
|
|
935
|
+
async getBmeHistory(params) {
|
|
936
|
+
try {
|
|
937
|
+
const response = await this.client.get('/bme/history', { params });
|
|
938
|
+
return { success: true, data: response.data };
|
|
939
|
+
}
|
|
940
|
+
catch (error) {
|
|
941
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
942
|
+
return { success: false, error: errorMessage };
|
|
943
|
+
}
|
|
944
|
+
}
|
|
945
|
+
/**
|
|
946
|
+
* Calculate equilibrium
|
|
947
|
+
*/
|
|
948
|
+
async calculateEquilibrium(params) {
|
|
949
|
+
try {
|
|
950
|
+
const response = await this.client.post('/bme/calculate-equilibrium', params);
|
|
951
|
+
return { success: true, data: response.data };
|
|
952
|
+
}
|
|
953
|
+
catch (error) {
|
|
954
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
955
|
+
return { success: false, error: errorMessage };
|
|
956
|
+
}
|
|
957
|
+
}
|
|
958
|
+
/**
|
|
959
|
+
* Get emission schedule
|
|
960
|
+
*/
|
|
961
|
+
async getEmissionSchedule() {
|
|
962
|
+
try {
|
|
963
|
+
const response = await this.client.get('/bme/emission-schedule');
|
|
964
|
+
return { success: true, data: response.data };
|
|
965
|
+
}
|
|
966
|
+
catch (error) {
|
|
967
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
968
|
+
return { success: false, error: errorMessage };
|
|
969
|
+
}
|
|
970
|
+
}
|
|
971
|
+
// ============ Extended Job Operations ============
|
|
972
|
+
/**
|
|
973
|
+
* Retry failed job
|
|
974
|
+
*/
|
|
975
|
+
async retryJob(jobId, options) {
|
|
976
|
+
try {
|
|
977
|
+
const response = await this.client.post(`/jobs/${jobId}/retry`, options || {});
|
|
978
|
+
return { success: true, data: response.data };
|
|
979
|
+
}
|
|
980
|
+
catch (error) {
|
|
981
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
982
|
+
return { success: false, error: errorMessage };
|
|
983
|
+
}
|
|
984
|
+
}
|
|
985
|
+
/**
|
|
986
|
+
* Get job logs
|
|
987
|
+
*/
|
|
988
|
+
async getJobLogs(jobId) {
|
|
989
|
+
try {
|
|
990
|
+
const response = await this.client.get(`/jobs/${jobId}/logs`);
|
|
991
|
+
return { success: true, data: response.data };
|
|
992
|
+
}
|
|
993
|
+
catch (error) {
|
|
994
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
995
|
+
return { success: false, error: errorMessage };
|
|
996
|
+
}
|
|
997
|
+
}
|
|
998
|
+
/**
|
|
999
|
+
* Get job metrics
|
|
1000
|
+
*/
|
|
1001
|
+
async getJobMetrics(jobId) {
|
|
1002
|
+
try {
|
|
1003
|
+
const response = await this.client.get(`/jobs/${jobId}/metrics`);
|
|
1004
|
+
return { success: true, data: response.data };
|
|
1005
|
+
}
|
|
1006
|
+
catch (error) {
|
|
1007
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1008
|
+
return { success: false, error: errorMessage };
|
|
1009
|
+
}
|
|
1010
|
+
}
|
|
1011
|
+
/**
|
|
1012
|
+
* Update job settings
|
|
1013
|
+
*/
|
|
1014
|
+
async updateJobSettings(jobId, settings) {
|
|
1015
|
+
try {
|
|
1016
|
+
const response = await this.client.patch(`/jobs/${jobId}/settings`, settings);
|
|
1017
|
+
return { success: true, data: response.data };
|
|
1018
|
+
}
|
|
1019
|
+
catch (error) {
|
|
1020
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1021
|
+
return { success: false, error: errorMessage };
|
|
1022
|
+
}
|
|
1023
|
+
}
|
|
1024
|
+
// ============ Extended AI Operations ============
|
|
1025
|
+
/**
|
|
1026
|
+
* Get AI job status
|
|
1027
|
+
*/
|
|
1028
|
+
async getAIJobStatus(jobId) {
|
|
1029
|
+
try {
|
|
1030
|
+
const response = await this.client.get(`/ai/jobs/${jobId}/status`);
|
|
1031
|
+
return { success: true, data: response.data };
|
|
1032
|
+
}
|
|
1033
|
+
catch (error) {
|
|
1034
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1035
|
+
return { success: false, error: errorMessage };
|
|
1036
|
+
}
|
|
1037
|
+
}
|
|
1038
|
+
/**
|
|
1039
|
+
* Get AI model info
|
|
1040
|
+
*/
|
|
1041
|
+
async getModelInfo(modelId) {
|
|
1042
|
+
try {
|
|
1043
|
+
const response = await this.client.get(`/ai/models/${modelId}`);
|
|
1044
|
+
return { success: true, data: response.data };
|
|
1045
|
+
}
|
|
1046
|
+
catch (error) {
|
|
1047
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1048
|
+
return { success: false, error: errorMessage };
|
|
1049
|
+
}
|
|
1050
|
+
}
|
|
1051
|
+
/**
|
|
1052
|
+
* List AI models (alias for listAIModels)
|
|
1053
|
+
*/
|
|
1054
|
+
async listModels() {
|
|
1055
|
+
return this.listAIModels();
|
|
1056
|
+
}
|
|
1057
|
+
// ============ Frame Operations ============
|
|
1058
|
+
/**
|
|
1059
|
+
* Get frame info
|
|
1060
|
+
*/
|
|
1061
|
+
async getFrameInfo(jobId, frameNumber) {
|
|
1062
|
+
try {
|
|
1063
|
+
const response = await this.client.get(`/jobs/${jobId}/frames/${frameNumber}`);
|
|
1064
|
+
return { success: true, data: response.data };
|
|
1065
|
+
}
|
|
1066
|
+
catch (error) {
|
|
1067
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1068
|
+
return { success: false, error: errorMessage };
|
|
1069
|
+
}
|
|
1070
|
+
}
|
|
1071
|
+
/**
|
|
1072
|
+
* List frames for job
|
|
1073
|
+
*/
|
|
1074
|
+
async listFrames(jobId) {
|
|
1075
|
+
try {
|
|
1076
|
+
const response = await this.client.get(`/jobs/${jobId}/frames`);
|
|
1077
|
+
return { success: true, data: response.data };
|
|
1078
|
+
}
|
|
1079
|
+
catch (error) {
|
|
1080
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1081
|
+
return { success: false, error: errorMessage };
|
|
1082
|
+
}
|
|
1083
|
+
}
|
|
1084
|
+
/**
|
|
1085
|
+
* Retry frame
|
|
1086
|
+
*/
|
|
1087
|
+
async retryFrame(jobId, frameNumber) {
|
|
1088
|
+
try {
|
|
1089
|
+
const response = await this.client.post(`/jobs/${jobId}/frames/${frameNumber}/retry`);
|
|
1090
|
+
return { success: true, data: response.data };
|
|
1091
|
+
}
|
|
1092
|
+
catch (error) {
|
|
1093
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1094
|
+
return { success: false, error: errorMessage };
|
|
1095
|
+
}
|
|
1096
|
+
}
|
|
1097
|
+
// ============ Staking Operations ============
|
|
1098
|
+
/**
|
|
1099
|
+
* Get staking info
|
|
1100
|
+
*/
|
|
1101
|
+
async getStakingInfo(wallet) {
|
|
1102
|
+
try {
|
|
1103
|
+
const response = await this.client.get(`/staking/${wallet}`);
|
|
1104
|
+
return { success: true, data: response.data };
|
|
1105
|
+
}
|
|
1106
|
+
catch (error) {
|
|
1107
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1108
|
+
return { success: false, error: errorMessage };
|
|
1109
|
+
}
|
|
1110
|
+
}
|
|
1111
|
+
/**
|
|
1112
|
+
* Get staking APY
|
|
1113
|
+
*/
|
|
1114
|
+
async getStakingApy() {
|
|
1115
|
+
try {
|
|
1116
|
+
const response = await this.client.get('/staking/apy');
|
|
1117
|
+
return { success: true, data: response.data };
|
|
1118
|
+
}
|
|
1119
|
+
catch (error) {
|
|
1120
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1121
|
+
return { success: false, error: errorMessage };
|
|
1122
|
+
}
|
|
1123
|
+
}
|
|
1124
|
+
// ============ Node Operator Operations ============
|
|
1125
|
+
/**
|
|
1126
|
+
* Get operator info
|
|
1127
|
+
*/
|
|
1128
|
+
async getOperatorInfo(operatorId) {
|
|
1129
|
+
try {
|
|
1130
|
+
const response = await this.client.get(`/operators/${operatorId}`);
|
|
1131
|
+
return { success: true, data: response.data };
|
|
1132
|
+
}
|
|
1133
|
+
catch (error) {
|
|
1134
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1135
|
+
return { success: false, error: errorMessage };
|
|
1136
|
+
}
|
|
1137
|
+
}
|
|
1138
|
+
/**
|
|
1139
|
+
* Get operator nodes
|
|
1140
|
+
*/
|
|
1141
|
+
async getOperatorNodes(operatorId) {
|
|
1142
|
+
try {
|
|
1143
|
+
const response = await this.client.get(`/operators/${operatorId}/nodes`);
|
|
1144
|
+
return { success: true, data: response.data };
|
|
1145
|
+
}
|
|
1146
|
+
catch (error) {
|
|
1147
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1148
|
+
return { success: false, error: errorMessage };
|
|
1149
|
+
}
|
|
1150
|
+
}
|
|
1151
|
+
/**
|
|
1152
|
+
* Get operator earnings
|
|
1153
|
+
*/
|
|
1154
|
+
async getOperatorEarnings(operatorId, period) {
|
|
1155
|
+
try {
|
|
1156
|
+
const response = await this.client.get(`/operators/${operatorId}/earnings`, { params: { period } });
|
|
1157
|
+
return { success: true, data: response.data };
|
|
1158
|
+
}
|
|
1159
|
+
catch (error) {
|
|
1160
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1161
|
+
return { success: false, error: errorMessage };
|
|
1162
|
+
}
|
|
1163
|
+
}
|
|
1164
|
+
/**
|
|
1165
|
+
* Get operator stats
|
|
1166
|
+
*/
|
|
1167
|
+
async getOperatorStats(operatorId) {
|
|
1168
|
+
try {
|
|
1169
|
+
const response = await this.client.get(`/operators/${operatorId}/stats`);
|
|
1170
|
+
return { success: true, data: response.data };
|
|
1171
|
+
}
|
|
1172
|
+
catch (error) {
|
|
1173
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1174
|
+
return { success: false, error: errorMessage };
|
|
1175
|
+
}
|
|
1176
|
+
}
|
|
1177
|
+
/**
|
|
1178
|
+
* Get payout history
|
|
1179
|
+
*/
|
|
1180
|
+
async getPayoutHistory(operatorId, params) {
|
|
1181
|
+
try {
|
|
1182
|
+
const response = await this.client.get(`/operators/${operatorId}/payouts`, { params });
|
|
1183
|
+
return { success: true, data: response.data };
|
|
1184
|
+
}
|
|
1185
|
+
catch (error) {
|
|
1186
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1187
|
+
return { success: false, error: errorMessage };
|
|
1188
|
+
}
|
|
1189
|
+
}
|
|
1190
|
+
/**
|
|
1191
|
+
* Configure payout address
|
|
1192
|
+
*/
|
|
1193
|
+
async configurePayoutAddress(address) {
|
|
1194
|
+
try {
|
|
1195
|
+
const response = await this.client.post('/operators/payout-address', { address });
|
|
1196
|
+
return { success: true, data: response.data };
|
|
1197
|
+
}
|
|
1198
|
+
catch (error) {
|
|
1199
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1200
|
+
return { success: false, error: errorMessage };
|
|
1201
|
+
}
|
|
1202
|
+
}
|
|
1203
|
+
/**
|
|
1204
|
+
* Get operator tier
|
|
1205
|
+
*/
|
|
1206
|
+
async getOperatorTier(operatorId) {
|
|
1207
|
+
try {
|
|
1208
|
+
const response = await this.client.get(`/operators/${operatorId}/tier`);
|
|
1209
|
+
return { success: true, data: response.data };
|
|
1210
|
+
}
|
|
1211
|
+
catch (error) {
|
|
1212
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1213
|
+
return { success: false, error: errorMessage };
|
|
1214
|
+
}
|
|
1215
|
+
}
|
|
1216
|
+
/**
|
|
1217
|
+
* Get operator performance metrics
|
|
1218
|
+
*/
|
|
1219
|
+
async getOperatorPerformanceMetrics(operatorId) {
|
|
1220
|
+
try {
|
|
1221
|
+
const response = await this.client.get(`/operators/${operatorId}/performance`);
|
|
1222
|
+
return { success: true, data: response.data };
|
|
1223
|
+
}
|
|
1224
|
+
catch (error) {
|
|
1225
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1226
|
+
return { success: false, error: errorMessage };
|
|
1227
|
+
}
|
|
1228
|
+
}
|
|
1229
|
+
/**
|
|
1230
|
+
* Get operator job history
|
|
1231
|
+
*/
|
|
1232
|
+
async getOperatorJobHistory(operatorId, params) {
|
|
1233
|
+
try {
|
|
1234
|
+
const response = await this.client.get(`/operators/${operatorId}/jobs`, { params });
|
|
1235
|
+
return { success: true, data: response.data };
|
|
1236
|
+
}
|
|
1237
|
+
catch (error) {
|
|
1238
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1239
|
+
return { success: false, error: errorMessage };
|
|
1240
|
+
}
|
|
1241
|
+
}
|
|
1242
|
+
/**
|
|
1243
|
+
* Update operator profile
|
|
1244
|
+
*/
|
|
1245
|
+
async updateOperatorProfile(profile) {
|
|
1246
|
+
try {
|
|
1247
|
+
const response = await this.client.put('/operators/profile', profile);
|
|
1248
|
+
return { success: true, data: response.data };
|
|
1249
|
+
}
|
|
1250
|
+
catch (error) {
|
|
1251
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1252
|
+
return { success: false, error: errorMessage };
|
|
1253
|
+
}
|
|
1254
|
+
}
|
|
1255
|
+
// ============ Pricing Operations ============
|
|
1256
|
+
/**
|
|
1257
|
+
* Get current pricing
|
|
1258
|
+
*/
|
|
1259
|
+
async getCurrentPricing() {
|
|
1260
|
+
try {
|
|
1261
|
+
const response = await this.client.get('/pricing');
|
|
1262
|
+
return { success: true, data: response.data };
|
|
1263
|
+
}
|
|
1264
|
+
catch (error) {
|
|
1265
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1266
|
+
return { success: false, error: errorMessage };
|
|
1267
|
+
}
|
|
1268
|
+
}
|
|
1269
|
+
/**
|
|
1270
|
+
* Get render pricing
|
|
1271
|
+
*/
|
|
1272
|
+
async getRenderPricing(params) {
|
|
1273
|
+
try {
|
|
1274
|
+
const response = await this.client.get('/pricing/render', { params });
|
|
1275
|
+
return { success: true, data: response.data };
|
|
1276
|
+
}
|
|
1277
|
+
catch (error) {
|
|
1278
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1279
|
+
return { success: false, error: errorMessage };
|
|
1280
|
+
}
|
|
1281
|
+
}
|
|
1282
|
+
/**
|
|
1283
|
+
* Get AI pricing
|
|
1284
|
+
*/
|
|
1285
|
+
async getAiPricing(params) {
|
|
1286
|
+
try {
|
|
1287
|
+
const response = await this.client.get('/pricing/ai', { params });
|
|
1288
|
+
return { success: true, data: response.data };
|
|
1289
|
+
}
|
|
1290
|
+
catch (error) {
|
|
1291
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1292
|
+
return { success: false, error: errorMessage };
|
|
1293
|
+
}
|
|
1294
|
+
}
|
|
1295
|
+
/**
|
|
1296
|
+
* Get price history
|
|
1297
|
+
*/
|
|
1298
|
+
async getPriceHistory(params) {
|
|
1299
|
+
try {
|
|
1300
|
+
const response = await this.client.get('/pricing/history', { params });
|
|
1301
|
+
return { success: true, data: response.data };
|
|
1302
|
+
}
|
|
1303
|
+
catch (error) {
|
|
1304
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1305
|
+
return { success: false, error: errorMessage };
|
|
1306
|
+
}
|
|
1307
|
+
}
|
|
1308
|
+
/**
|
|
1309
|
+
* Calculate job cost
|
|
1310
|
+
*/
|
|
1311
|
+
async calculateJobCost(params) {
|
|
1312
|
+
try {
|
|
1313
|
+
const response = await this.client.post('/pricing/calculate', params);
|
|
1314
|
+
return { success: true, data: response.data };
|
|
1315
|
+
}
|
|
1316
|
+
catch (error) {
|
|
1317
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1318
|
+
return { success: false, error: errorMessage };
|
|
1319
|
+
}
|
|
1320
|
+
}
|
|
1321
|
+
/**
|
|
1322
|
+
* Get discount tiers
|
|
1323
|
+
*/
|
|
1324
|
+
async getDiscountTiers() {
|
|
1325
|
+
try {
|
|
1326
|
+
const response = await this.client.get('/pricing/discounts');
|
|
1327
|
+
return { success: true, data: response.data };
|
|
1328
|
+
}
|
|
1329
|
+
catch (error) {
|
|
1330
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1331
|
+
return { success: false, error: errorMessage };
|
|
1332
|
+
}
|
|
1333
|
+
}
|
|
1334
|
+
/**
|
|
1335
|
+
* Get volume pricing
|
|
1336
|
+
*/
|
|
1337
|
+
async getVolumePricing() {
|
|
1338
|
+
try {
|
|
1339
|
+
const response = await this.client.get('/pricing/volume');
|
|
1340
|
+
return { success: true, data: response.data };
|
|
1341
|
+
}
|
|
1342
|
+
catch (error) {
|
|
1343
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1344
|
+
return { success: false, error: errorMessage };
|
|
1345
|
+
}
|
|
1346
|
+
}
|
|
1347
|
+
// ============ Staking Extended Operations ============
|
|
1348
|
+
/**
|
|
1349
|
+
* Stake tokens
|
|
1350
|
+
*/
|
|
1351
|
+
async stakeTokens(wallet, amount, lockPeriod) {
|
|
1352
|
+
try {
|
|
1353
|
+
const response = await this.client.post('/staking/stake', { wallet, amount, lockPeriod });
|
|
1354
|
+
return { success: true, data: response.data };
|
|
1355
|
+
}
|
|
1356
|
+
catch (error) {
|
|
1357
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1358
|
+
return { success: false, error: errorMessage };
|
|
1359
|
+
}
|
|
1360
|
+
}
|
|
1361
|
+
/**
|
|
1362
|
+
* Unstake tokens
|
|
1363
|
+
*/
|
|
1364
|
+
async unstakeTokens(wallet, amount) {
|
|
1365
|
+
try {
|
|
1366
|
+
const response = await this.client.post('/staking/unstake', { wallet, amount });
|
|
1367
|
+
return { success: true, data: response.data };
|
|
1368
|
+
}
|
|
1369
|
+
catch (error) {
|
|
1370
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1371
|
+
return { success: false, error: errorMessage };
|
|
1372
|
+
}
|
|
1373
|
+
}
|
|
1374
|
+
/**
|
|
1375
|
+
* Get staking rewards
|
|
1376
|
+
*/
|
|
1377
|
+
async getStakingRewards(wallet) {
|
|
1378
|
+
try {
|
|
1379
|
+
const response = await this.client.get(`/staking/${wallet}/rewards`);
|
|
1380
|
+
return { success: true, data: response.data };
|
|
1381
|
+
}
|
|
1382
|
+
catch (error) {
|
|
1383
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1384
|
+
return { success: false, error: errorMessage };
|
|
1385
|
+
}
|
|
1386
|
+
}
|
|
1387
|
+
/**
|
|
1388
|
+
* Claim staking rewards
|
|
1389
|
+
*/
|
|
1390
|
+
async claimStakingRewards(wallet) {
|
|
1391
|
+
try {
|
|
1392
|
+
const response = await this.client.post(`/staking/${wallet}/claim`);
|
|
1393
|
+
return { success: true, data: response.data };
|
|
1394
|
+
}
|
|
1395
|
+
catch (error) {
|
|
1396
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1397
|
+
return { success: false, error: errorMessage };
|
|
1398
|
+
}
|
|
1399
|
+
}
|
|
1400
|
+
/**
|
|
1401
|
+
* Get staking history
|
|
1402
|
+
*/
|
|
1403
|
+
async getStakingHistory(wallet, params) {
|
|
1404
|
+
try {
|
|
1405
|
+
const response = await this.client.get(`/staking/${wallet}/history`, { params });
|
|
1406
|
+
return { success: true, data: response.data };
|
|
1407
|
+
}
|
|
1408
|
+
catch (error) {
|
|
1409
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1410
|
+
return { success: false, error: errorMessage };
|
|
1411
|
+
}
|
|
1412
|
+
}
|
|
1413
|
+
/**
|
|
1414
|
+
* Get node stakes
|
|
1415
|
+
*/
|
|
1416
|
+
async getNodeStakes(nodeId) {
|
|
1417
|
+
try {
|
|
1418
|
+
const response = await this.client.get(`/nodes/${nodeId}/stakes`);
|
|
1419
|
+
return { success: true, data: response.data };
|
|
1420
|
+
}
|
|
1421
|
+
catch (error) {
|
|
1422
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1423
|
+
return { success: false, error: errorMessage };
|
|
1424
|
+
}
|
|
1425
|
+
}
|
|
1426
|
+
/**
|
|
1427
|
+
* Delegate stake
|
|
1428
|
+
*/
|
|
1429
|
+
async delegateStake(wallet, nodeId, amount) {
|
|
1430
|
+
try {
|
|
1431
|
+
const response = await this.client.post('/staking/delegate', { wallet, nodeId, amount });
|
|
1432
|
+
return { success: true, data: response.data };
|
|
1433
|
+
}
|
|
1434
|
+
catch (error) {
|
|
1435
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1436
|
+
return { success: false, error: errorMessage };
|
|
1437
|
+
}
|
|
1438
|
+
}
|
|
1439
|
+
// ============ Utility Operations ============
|
|
1440
|
+
/**
|
|
1441
|
+
* Sign message
|
|
1442
|
+
*/
|
|
1443
|
+
async signMessage(message, wallet) {
|
|
1444
|
+
try {
|
|
1445
|
+
const response = await this.client.post('/utility/sign', { message, wallet });
|
|
1446
|
+
return { success: true, data: response.data };
|
|
1447
|
+
}
|
|
1448
|
+
catch (error) {
|
|
1449
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1450
|
+
return { success: false, error: errorMessage };
|
|
1451
|
+
}
|
|
1452
|
+
}
|
|
1453
|
+
/**
|
|
1454
|
+
* Verify signature
|
|
1455
|
+
*/
|
|
1456
|
+
async verifySignature(message, signature, publicKey) {
|
|
1457
|
+
try {
|
|
1458
|
+
const response = await this.client.post('/utility/verify', { message, signature, publicKey });
|
|
1459
|
+
return { success: true, data: response.data };
|
|
1460
|
+
}
|
|
1461
|
+
catch (error) {
|
|
1462
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1463
|
+
return { success: false, error: errorMessage };
|
|
1464
|
+
}
|
|
1465
|
+
}
|
|
1466
|
+
/**
|
|
1467
|
+
* Get network status
|
|
1468
|
+
*/
|
|
1469
|
+
async getNetworkStatus() {
|
|
1470
|
+
try {
|
|
1471
|
+
const response = await this.client.get('/network/status');
|
|
1472
|
+
return { success: true, data: response.data };
|
|
1473
|
+
}
|
|
1474
|
+
catch (error) {
|
|
1475
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1476
|
+
return { success: false, error: errorMessage };
|
|
1477
|
+
}
|
|
1478
|
+
}
|
|
1479
|
+
/**
|
|
1480
|
+
* Get API status
|
|
1481
|
+
*/
|
|
1482
|
+
async getApiStatus() {
|
|
1483
|
+
try {
|
|
1484
|
+
const response = await this.client.get('/status');
|
|
1485
|
+
return { success: true, data: response.data };
|
|
1486
|
+
}
|
|
1487
|
+
catch (error) {
|
|
1488
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1489
|
+
return { success: false, error: errorMessage };
|
|
1490
|
+
}
|
|
1491
|
+
}
|
|
1492
|
+
/**
|
|
1493
|
+
* Validate job config
|
|
1494
|
+
*/
|
|
1495
|
+
async validateJobConfig(config) {
|
|
1496
|
+
try {
|
|
1497
|
+
const response = await this.client.post('/utility/validate-job', config);
|
|
1498
|
+
return { success: true, data: response.data };
|
|
1499
|
+
}
|
|
1500
|
+
catch (error) {
|
|
1501
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1502
|
+
return { success: false, error: errorMessage };
|
|
1503
|
+
}
|
|
1504
|
+
}
|
|
1505
|
+
/**
|
|
1506
|
+
* Parse scene file
|
|
1507
|
+
*/
|
|
1508
|
+
async parseSceneFile(sceneId) {
|
|
1509
|
+
try {
|
|
1510
|
+
const response = await this.client.get(`/scenes/${sceneId}/parse`);
|
|
1511
|
+
return { success: true, data: response.data };
|
|
1512
|
+
}
|
|
1513
|
+
catch (error) {
|
|
1514
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1515
|
+
return { success: false, error: errorMessage };
|
|
1516
|
+
}
|
|
1517
|
+
}
|
|
1518
|
+
// ============ Escrow Extended Operations ============
|
|
1519
|
+
/**
|
|
1520
|
+
* Deposit to escrow
|
|
1521
|
+
*/
|
|
1522
|
+
async depositToEscrow(amount, wallet) {
|
|
1523
|
+
try {
|
|
1524
|
+
const response = await this.client.post('/escrow/deposit', { amount, wallet });
|
|
1525
|
+
return { success: true, data: response.data };
|
|
1526
|
+
}
|
|
1527
|
+
catch (error) {
|
|
1528
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1529
|
+
return { success: false, error: errorMessage };
|
|
1530
|
+
}
|
|
1531
|
+
}
|
|
1532
|
+
/**
|
|
1533
|
+
* Withdraw from escrow
|
|
1534
|
+
*/
|
|
1535
|
+
async withdrawFromEscrow(amount, wallet) {
|
|
1536
|
+
try {
|
|
1537
|
+
const response = await this.client.post('/escrow/withdraw', { amount, wallet });
|
|
1538
|
+
return { success: true, data: response.data };
|
|
1539
|
+
}
|
|
1540
|
+
catch (error) {
|
|
1541
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1542
|
+
return { success: false, error: errorMessage };
|
|
1543
|
+
}
|
|
1544
|
+
}
|
|
1545
|
+
/**
|
|
1546
|
+
* Get escrow contract info
|
|
1547
|
+
*/
|
|
1548
|
+
async getEscrowContract() {
|
|
1549
|
+
try {
|
|
1550
|
+
const response = await this.client.get('/escrow/contract');
|
|
1551
|
+
return { success: true, data: response.data };
|
|
1552
|
+
}
|
|
1553
|
+
catch (error) {
|
|
1554
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1555
|
+
return { success: false, error: errorMessage };
|
|
1556
|
+
}
|
|
1557
|
+
}
|
|
1558
|
+
/**
|
|
1559
|
+
* Calculate required deposit
|
|
1560
|
+
*/
|
|
1561
|
+
async calculateRequiredDeposit(jobParams) {
|
|
1562
|
+
try {
|
|
1563
|
+
const response = await this.client.post('/escrow/calculate', jobParams);
|
|
1564
|
+
return { success: true, data: response.data };
|
|
1565
|
+
}
|
|
1566
|
+
catch (error) {
|
|
1567
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1568
|
+
return { success: false, error: errorMessage };
|
|
1569
|
+
}
|
|
1570
|
+
}
|
|
1571
|
+
/**
|
|
1572
|
+
* Get job progress
|
|
1573
|
+
*/
|
|
1574
|
+
async getJobProgress(jobId) {
|
|
1575
|
+
try {
|
|
1576
|
+
const response = await this.client.get(`/jobs/${jobId}/progress`);
|
|
1577
|
+
return { success: true, data: response.data };
|
|
1578
|
+
}
|
|
1579
|
+
catch (error) {
|
|
1580
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
1581
|
+
return { success: false, error: errorMessage };
|
|
1582
|
+
}
|
|
1583
|
+
}
|
|
1584
|
+
}
|
|
1585
|
+
exports.RenderApiClient = RenderApiClient;
|
|
1586
|
+
exports.default = RenderApiClient;
|
|
1587
|
+
//# sourceMappingURL=renderApi.js.map
|