@genspark/cli 1.0.2 → 1.0.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/README.md +36 -0
- package/dist/client.d.ts +14 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +82 -27
- package/dist/client.js.map +1 -1
- package/dist/index.js +169 -127
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +11 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -48,6 +48,13 @@ export GSK_API_KEY="gsk_..."
|
|
|
48
48
|
gsk search "query" --api-key "gsk_..."
|
|
49
49
|
```
|
|
50
50
|
|
|
51
|
+
To check your current identity:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
gsk login-info
|
|
55
|
+
gsk me # shorthand
|
|
56
|
+
```
|
|
57
|
+
|
|
51
58
|
To log out:
|
|
52
59
|
|
|
53
60
|
```bash
|
|
@@ -95,6 +102,35 @@ gsk list-tools
|
|
|
95
102
|
gsk ls
|
|
96
103
|
```
|
|
97
104
|
|
|
105
|
+
### login-info (alias: `me`)
|
|
106
|
+
|
|
107
|
+
Show your current account info — email, name, and membership plan.
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
gsk login-info
|
|
111
|
+
gsk me
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### init-opencode
|
|
115
|
+
|
|
116
|
+
Generate an `.opencode.json` config file for [OpenCode](https://opencode.ai), pre-configured to use Genspark's LLM proxy with your API key.
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# Generate with default model (claude-opus-4-6-1m)
|
|
120
|
+
gsk init-opencode
|
|
121
|
+
|
|
122
|
+
# Specify a different default model
|
|
123
|
+
gsk init-opencode --model claude-sonnet-4-6
|
|
124
|
+
|
|
125
|
+
# Write to a custom path
|
|
126
|
+
gsk init-opencode -o ./my-project/.opencode.json
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
| Option | Default | Description |
|
|
130
|
+
|--------|---------|-------------|
|
|
131
|
+
| `--model <name>` | `claude-opus-4-6-1m` | Default model for OpenCode |
|
|
132
|
+
| `-o, --out <path>` | `.opencode.json` (cwd) | Output file path |
|
|
133
|
+
|
|
98
134
|
### web_search (alias: `search`)
|
|
99
135
|
|
|
100
136
|
Search the web.
|
package/dist/client.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* API Client for Genspark Tool CLI
|
|
3
3
|
*/
|
|
4
|
-
import type { GlobalOptions, ApiResponse, ToolListResponse, FileUploadUrlRequest, FileUploadUrlResponse, FileDownloadRequest, FileDownloadResponse } from
|
|
4
|
+
import type { GlobalOptions, ApiResponse, ToolListResponse, UserInfo, FileUploadUrlRequest, FileUploadUrlResponse, FileDownloadRequest, FileDownloadResponse } from './types.js';
|
|
5
5
|
/**
|
|
6
6
|
* Make an unauthenticated request to the backend.
|
|
7
7
|
* Used for device-flow auth endpoints that don't require an API key.
|
|
8
8
|
*/
|
|
9
|
-
export declare function unauthenticatedRequest<T>(baseUrl: string, endpoint: string, method?:
|
|
9
|
+
export declare function unauthenticatedRequest<T>(baseUrl: string, endpoint: string, method?: 'GET' | 'POST', body?: unknown): Promise<T>;
|
|
10
10
|
export declare class ApiClient {
|
|
11
11
|
private baseUrl;
|
|
12
12
|
private apiKey;
|
|
@@ -15,6 +15,10 @@ export declare class ApiClient {
|
|
|
15
15
|
private projectId?;
|
|
16
16
|
constructor(options: GlobalOptions);
|
|
17
17
|
private request;
|
|
18
|
+
/**
|
|
19
|
+
* Simple JSON request (non-streaming) for endpoints that return plain JSON.
|
|
20
|
+
*/
|
|
21
|
+
private requestJson;
|
|
18
22
|
/**
|
|
19
23
|
* List available tools with full schemas
|
|
20
24
|
*/
|
|
@@ -31,5 +35,13 @@ export declare class ApiClient {
|
|
|
31
35
|
* Get a downloadable URL for a file wrapper URL
|
|
32
36
|
*/
|
|
33
37
|
getDownloadUrl(params: FileDownloadRequest): Promise<ApiResponse<FileDownloadResponse>>;
|
|
38
|
+
/**
|
|
39
|
+
* Get current user info (email, name, plan)
|
|
40
|
+
*/
|
|
41
|
+
getMe(): Promise<UserInfo>;
|
|
42
|
+
/**
|
|
43
|
+
* Get OpenCode configuration JSON
|
|
44
|
+
*/
|
|
45
|
+
getOpencodeConfig(model?: string): Promise<Record<string, unknown>>;
|
|
34
46
|
}
|
|
35
47
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,YAAY,CAAA;AAEnB;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,EAC5C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,KAAK,GAAG,MAAc,EAC9B,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAAC,CAAC,CAAC,CAoBZ;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAC,CAAQ;gBAEd,OAAO,EAAE,aAAa;YAQpB,OAAO;IA+JrB;;OAEG;YACW,WAAW;IAoDzB;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAS5C;;OAEG;IACG,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,WAAW,CAAC;IAIvB;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAQ9C;;OAEG;IACG,cAAc,CAClB,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAI7C;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC;IAIhC;;OAEG;IACG,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAI1E"}
|
package/dist/client.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* API Client for Genspark Tool CLI
|
|
3
3
|
*/
|
|
4
|
-
import { debug, info, error as logError } from
|
|
4
|
+
import { debug, info, error as logError } from './logger.js';
|
|
5
5
|
/**
|
|
6
6
|
* Make an unauthenticated request to the backend.
|
|
7
7
|
* Used for device-flow auth endpoints that don't require an API key.
|
|
8
8
|
*/
|
|
9
|
-
export async function unauthenticatedRequest(baseUrl, endpoint, method =
|
|
10
|
-
const url = `${baseUrl.replace(/\/$/,
|
|
9
|
+
export async function unauthenticatedRequest(baseUrl, endpoint, method = 'GET', body) {
|
|
10
|
+
const url = `${baseUrl.replace(/\/$/, '')}${endpoint}`;
|
|
11
11
|
debug(`Unauthenticated request: ${method} ${url}`);
|
|
12
12
|
const headers = {
|
|
13
|
-
|
|
13
|
+
'Content-Type': 'application/json',
|
|
14
14
|
};
|
|
15
15
|
const response = await fetch(url, {
|
|
16
16
|
method,
|
|
@@ -30,32 +30,32 @@ export class ApiClient {
|
|
|
30
30
|
debugMode;
|
|
31
31
|
projectId;
|
|
32
32
|
constructor(options) {
|
|
33
|
-
this.baseUrl = options.baseUrl.replace(/\/$/,
|
|
34
|
-
this.apiKey = options.apiKey ||
|
|
33
|
+
this.baseUrl = options.baseUrl.replace(/\/$/, '');
|
|
34
|
+
this.apiKey = options.apiKey || '';
|
|
35
35
|
this.timeout = options.timeout;
|
|
36
36
|
this.debugMode = options.debug;
|
|
37
37
|
this.projectId = options.projectId;
|
|
38
38
|
}
|
|
39
|
-
async request(endpoint, method =
|
|
39
|
+
async request(endpoint, method = 'GET', body) {
|
|
40
40
|
const url = `${this.baseUrl}/api/tool_cli${endpoint}`;
|
|
41
41
|
debug(`Request: ${method} ${url}`);
|
|
42
|
-
debug(`Project ID for header: ${this.projectId ||
|
|
42
|
+
debug(`Project ID for header: ${this.projectId || '(not set)'}`);
|
|
43
43
|
if (body) {
|
|
44
44
|
debug(`Body: ${JSON.stringify(body)}`);
|
|
45
45
|
}
|
|
46
46
|
const headers = {
|
|
47
|
-
|
|
47
|
+
'Content-Type': 'application/json',
|
|
48
48
|
};
|
|
49
49
|
if (this.apiKey) {
|
|
50
|
-
headers[
|
|
50
|
+
headers['X-Api-Key'] = this.apiKey;
|
|
51
51
|
}
|
|
52
52
|
// Add project ID header for sandbox lookup when sandbox_id is not provided
|
|
53
53
|
if (this.projectId) {
|
|
54
|
-
headers[
|
|
54
|
+
headers['X-Project-ID'] = this.projectId;
|
|
55
55
|
}
|
|
56
56
|
// Add debug header to request more details from server
|
|
57
57
|
if (this.debugMode) {
|
|
58
|
-
headers[
|
|
58
|
+
headers['X-Debug'] = 'true';
|
|
59
59
|
}
|
|
60
60
|
const controller = new AbortController();
|
|
61
61
|
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
@@ -73,7 +73,7 @@ export class ApiClient {
|
|
|
73
73
|
const errorText = await response.text();
|
|
74
74
|
debug(`Error response: ${errorText}`);
|
|
75
75
|
return {
|
|
76
|
-
status:
|
|
76
|
+
status: 'error',
|
|
77
77
|
message: `HTTP ${response.status}: ${response.statusText}`,
|
|
78
78
|
data: null,
|
|
79
79
|
};
|
|
@@ -89,11 +89,11 @@ export class ApiClient {
|
|
|
89
89
|
const SUPPORTED_VERSION = 1;
|
|
90
90
|
const text = await response.text();
|
|
91
91
|
debug(`Raw response length: ${text.length}`);
|
|
92
|
-
const lines = text.trim().split(
|
|
92
|
+
const lines = text.trim().split('\n');
|
|
93
93
|
let finalResult = null;
|
|
94
94
|
for (const rawLine of lines) {
|
|
95
95
|
const line = rawLine.trim();
|
|
96
|
-
if (!line || !line.startsWith(
|
|
96
|
+
if (!line || !line.startsWith('{')) {
|
|
97
97
|
continue;
|
|
98
98
|
}
|
|
99
99
|
try {
|
|
@@ -136,8 +136,8 @@ export class ApiClient {
|
|
|
136
136
|
}
|
|
137
137
|
if (!finalResult) {
|
|
138
138
|
return {
|
|
139
|
-
status:
|
|
140
|
-
message:
|
|
139
|
+
status: 'error',
|
|
140
|
+
message: 'No valid result found in response',
|
|
141
141
|
data: null,
|
|
142
142
|
};
|
|
143
143
|
}
|
|
@@ -147,34 +147,76 @@ export class ApiClient {
|
|
|
147
147
|
catch (err) {
|
|
148
148
|
clearTimeout(timeoutId);
|
|
149
149
|
if (err instanceof Error) {
|
|
150
|
-
if (err.name ===
|
|
150
|
+
if (err.name === 'AbortError') {
|
|
151
151
|
logError(`Request timeout after ${this.timeout}ms`);
|
|
152
152
|
return {
|
|
153
|
-
status:
|
|
153
|
+
status: 'error',
|
|
154
154
|
message: `Request timeout after ${this.timeout}ms`,
|
|
155
155
|
data: null,
|
|
156
156
|
};
|
|
157
157
|
}
|
|
158
158
|
logError(`Request failed: ${err.message}`);
|
|
159
159
|
return {
|
|
160
|
-
status:
|
|
160
|
+
status: 'error',
|
|
161
161
|
message: err.message,
|
|
162
162
|
data: null,
|
|
163
163
|
};
|
|
164
164
|
}
|
|
165
165
|
return {
|
|
166
|
-
status:
|
|
167
|
-
message:
|
|
166
|
+
status: 'error',
|
|
167
|
+
message: 'Unknown error',
|
|
168
168
|
data: null,
|
|
169
169
|
};
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* Simple JSON request (non-streaming) for endpoints that return plain JSON.
|
|
174
|
+
*/
|
|
175
|
+
async requestJson(endpoint, method = 'GET', body) {
|
|
176
|
+
const url = `${this.baseUrl}/api/tool_cli${endpoint}`;
|
|
177
|
+
debug(`Request: ${method} ${url}`);
|
|
178
|
+
if (body) {
|
|
179
|
+
debug(`Body: ${JSON.stringify(body)}`);
|
|
180
|
+
}
|
|
181
|
+
const headers = {
|
|
182
|
+
'Content-Type': 'application/json',
|
|
183
|
+
};
|
|
184
|
+
if (this.apiKey) {
|
|
185
|
+
headers['X-Api-Key'] = this.apiKey;
|
|
186
|
+
}
|
|
187
|
+
if (this.projectId) {
|
|
188
|
+
headers['X-Project-ID'] = this.projectId;
|
|
189
|
+
}
|
|
190
|
+
const controller = new AbortController();
|
|
191
|
+
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
192
|
+
try {
|
|
193
|
+
const response = await fetch(url, {
|
|
194
|
+
method,
|
|
195
|
+
headers,
|
|
196
|
+
body: body ? JSON.stringify(body) : undefined,
|
|
197
|
+
signal: controller.signal,
|
|
198
|
+
});
|
|
199
|
+
clearTimeout(timeoutId);
|
|
200
|
+
if (!response.ok) {
|
|
201
|
+
const errorText = await response.text();
|
|
202
|
+
throw new Error(`HTTP ${response.status}: ${errorText}`);
|
|
203
|
+
}
|
|
204
|
+
return (await response.json());
|
|
205
|
+
}
|
|
206
|
+
catch (err) {
|
|
207
|
+
clearTimeout(timeoutId);
|
|
208
|
+
if (err instanceof Error && err.name === 'AbortError') {
|
|
209
|
+
throw new Error(`Request timeout after ${this.timeout}ms`);
|
|
210
|
+
}
|
|
211
|
+
throw err;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
172
214
|
/**
|
|
173
215
|
* List available tools with full schemas
|
|
174
216
|
*/
|
|
175
217
|
async listTools() {
|
|
176
|
-
const response = await this.request(
|
|
177
|
-
if (response.status ===
|
|
218
|
+
const response = await this.request('/tools', 'GET');
|
|
219
|
+
if (response.status === 'error') {
|
|
178
220
|
throw new Error(response.message);
|
|
179
221
|
}
|
|
180
222
|
// The /tools endpoint returns the data directly, not wrapped in ApiResponse
|
|
@@ -184,19 +226,32 @@ export class ApiClient {
|
|
|
184
226
|
* Execute any tool by name with arguments
|
|
185
227
|
*/
|
|
186
228
|
async executeTool(toolName, args) {
|
|
187
|
-
return this.request(`/${toolName}`,
|
|
229
|
+
return this.request(`/${toolName}`, 'POST', args);
|
|
188
230
|
}
|
|
189
231
|
/**
|
|
190
232
|
* Get a pre-signed URL for uploading a file
|
|
191
233
|
*/
|
|
192
234
|
async getUploadUrl(params) {
|
|
193
|
-
return this.request(
|
|
235
|
+
return this.request('/file/upload_url', 'POST', params);
|
|
194
236
|
}
|
|
195
237
|
/**
|
|
196
238
|
* Get a downloadable URL for a file wrapper URL
|
|
197
239
|
*/
|
|
198
240
|
async getDownloadUrl(params) {
|
|
199
|
-
return this.request(
|
|
241
|
+
return this.request('/file/download', 'POST', params);
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Get current user info (email, name, plan)
|
|
245
|
+
*/
|
|
246
|
+
async getMe() {
|
|
247
|
+
return this.requestJson('/me');
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Get OpenCode configuration JSON
|
|
251
|
+
*/
|
|
252
|
+
async getOpencodeConfig(model) {
|
|
253
|
+
const query = model ? `?model=${encodeURIComponent(model)}` : '';
|
|
254
|
+
return this.requestJson(`/opencode-config${query}`);
|
|
200
255
|
}
|
|
201
256
|
}
|
|
202
257
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -18,32 +18,32 @@
|
|
|
18
18
|
* Tool name: "web_search" -> Command: `gsk web_search`, Alias: `gsk search`
|
|
19
19
|
* Tool name: "crawler" -> Command: `gsk crawler`, Alias: `gsk crawl`
|
|
20
20
|
*/
|
|
21
|
-
import { Command } from
|
|
22
|
-
import * as fs from
|
|
23
|
-
import * as pathModule from
|
|
24
|
-
import { spawn } from
|
|
25
|
-
import { ApiClient, unauthenticatedRequest } from
|
|
26
|
-
import { setDebugEnabled, setOutputFormat, debug, info, error as logError, output, } from
|
|
27
|
-
import { loadConfigFile, saveConfigFile, getConfigPath, loadToolsCache, saveToolsCache, } from
|
|
28
|
-
import { checkForUpdates } from
|
|
29
|
-
const VERSION =
|
|
30
|
-
const DEFAULT_BASE_URL =
|
|
21
|
+
import { Command } from 'commander';
|
|
22
|
+
import * as fs from 'fs';
|
|
23
|
+
import * as pathModule from 'path';
|
|
24
|
+
import { spawn } from 'child_process';
|
|
25
|
+
import { ApiClient, unauthenticatedRequest } from './client.js';
|
|
26
|
+
import { setDebugEnabled, setOutputFormat, debug, info, error as logError, output, } from './logger.js';
|
|
27
|
+
import { loadConfigFile, saveConfigFile, getConfigPath, loadToolsCache, saveToolsCache, } from './config.js';
|
|
28
|
+
import { checkForUpdates } from './updater.js';
|
|
29
|
+
const VERSION = '1.1.0';
|
|
30
|
+
const DEFAULT_BASE_URL = 'https://www.genspark.ai';
|
|
31
31
|
const DEFAULT_TIMEOUT = 300000; // 5 minutes (video generation can be slow)
|
|
32
32
|
// Load config file (lowest priority)
|
|
33
33
|
const fileConfig = loadConfigFile();
|
|
34
34
|
// Create main program
|
|
35
35
|
const program = new Command();
|
|
36
36
|
program
|
|
37
|
-
.name(
|
|
38
|
-
.description(
|
|
37
|
+
.name('gsk')
|
|
38
|
+
.description('Genspark Tool CLI - Search, crawl, analyze, and generate media')
|
|
39
39
|
.version(VERSION)
|
|
40
|
-
.option(
|
|
41
|
-
.option(
|
|
42
|
-
.option(
|
|
43
|
-
.option(
|
|
44
|
-
.option(
|
|
45
|
-
.option(
|
|
46
|
-
.option(
|
|
40
|
+
.option('--api-key <key>', 'API key (or set GSK_API_KEY env var)')
|
|
41
|
+
.option('--base-url <url>', `Base URL for API (default: ${DEFAULT_BASE_URL})`, DEFAULT_BASE_URL)
|
|
42
|
+
.option('--project-id <id>', 'Project ID for access control (or set GSK_PROJECT_ID env var)')
|
|
43
|
+
.option('--debug', 'Enable debug output and request more details from server', false)
|
|
44
|
+
.option('--timeout <ms>', 'Request timeout in milliseconds', String(DEFAULT_TIMEOUT))
|
|
45
|
+
.option('--output <format>', 'Output format: json or text', 'json')
|
|
46
|
+
.option('--refresh', 'Force refresh of cached tool schemas from server');
|
|
47
47
|
/**
|
|
48
48
|
* Get global options with priority:
|
|
49
49
|
* 1. Command-line options (highest)
|
|
@@ -81,47 +81,47 @@ function createClient() {
|
|
|
81
81
|
setDebugEnabled(options.debug);
|
|
82
82
|
setOutputFormat(options.output);
|
|
83
83
|
if (!options.apiKey) {
|
|
84
|
-
logError(
|
|
85
|
-
logError(
|
|
86
|
-
logError(
|
|
84
|
+
logError('API key is required. Provide it via:');
|
|
85
|
+
logError(' 1. --api-key option');
|
|
86
|
+
logError(' 2. GSK_API_KEY environment variable');
|
|
87
87
|
logError(` 3. Config file: ${getConfigPath()}`);
|
|
88
88
|
process.exit(1);
|
|
89
89
|
}
|
|
90
90
|
debug(`Base URL: ${options.baseUrl}`);
|
|
91
91
|
debug(`Timeout: ${options.timeout}ms`);
|
|
92
92
|
debug(`Debug mode: ${options.debug}`);
|
|
93
|
-
debug(`Project ID: ${options.projectId ||
|
|
93
|
+
debug(`Project ID: ${options.projectId || '(not set)'}`);
|
|
94
94
|
return new ApiClient(options);
|
|
95
95
|
}
|
|
96
96
|
// ============================================
|
|
97
97
|
// Shared helpers for local file handling
|
|
98
98
|
// ============================================
|
|
99
99
|
const CONTENT_TYPE_MAP = {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
100
|
+
'.jpg': 'image/jpeg',
|
|
101
|
+
'.jpeg': 'image/jpeg',
|
|
102
|
+
'.png': 'image/png',
|
|
103
|
+
'.gif': 'image/gif',
|
|
104
|
+
'.webp': 'image/webp',
|
|
105
|
+
'.pdf': 'application/pdf',
|
|
106
|
+
'.txt': 'text/plain',
|
|
107
|
+
'.json': 'application/json',
|
|
108
|
+
'.html': 'text/html',
|
|
109
|
+
'.css': 'text/css',
|
|
110
|
+
'.js': 'application/javascript',
|
|
111
|
+
'.ts': 'application/typescript',
|
|
112
|
+
'.md': 'text/markdown',
|
|
113
|
+
'.xml': 'application/xml',
|
|
114
|
+
'.csv': 'text/csv',
|
|
115
|
+
'.zip': 'application/zip',
|
|
116
|
+
'.mp3': 'audio/mpeg',
|
|
117
|
+
'.mp4': 'video/mp4',
|
|
118
|
+
'.wav': 'audio/wav',
|
|
119
|
+
'.webm': 'video/webm',
|
|
120
120
|
};
|
|
121
121
|
async function uploadLocalFile(filePath, client) {
|
|
122
122
|
const fileName = pathModule.basename(filePath);
|
|
123
123
|
const ext = pathModule.extname(filePath).toLowerCase();
|
|
124
|
-
const contentType = CONTENT_TYPE_MAP[ext] ||
|
|
124
|
+
const contentType = CONTENT_TYPE_MAP[ext] || 'application/octet-stream';
|
|
125
125
|
const stats = fs.statSync(filePath);
|
|
126
126
|
info(`Uploading ${fileName} (${(stats.size / 1024).toFixed(1)} KB, ${contentType})...`);
|
|
127
127
|
const globalOpts = getGlobalOptions();
|
|
@@ -130,15 +130,15 @@ async function uploadLocalFile(filePath, client) {
|
|
|
130
130
|
name: fileName,
|
|
131
131
|
project_id: globalOpts.projectId,
|
|
132
132
|
});
|
|
133
|
-
if (uploadUrlResult.status !==
|
|
133
|
+
if (uploadUrlResult.status !== 'ok' || !uploadUrlResult.data) {
|
|
134
134
|
throw new Error(`Failed to get upload URL: ${uploadUrlResult.message}`);
|
|
135
135
|
}
|
|
136
136
|
const { upload_url, file_wrapper_url } = uploadUrlResult.data;
|
|
137
137
|
debug(`Upload URL: ${upload_url.substring(0, 80)}...`);
|
|
138
138
|
const fileBuffer = fs.readFileSync(filePath);
|
|
139
139
|
const uploadResponse = await fetch(upload_url, {
|
|
140
|
-
method:
|
|
141
|
-
headers: {
|
|
140
|
+
method: 'PUT',
|
|
141
|
+
headers: { 'Content-Type': contentType, 'x-ms-blob-type': 'BlockBlob' },
|
|
142
142
|
body: fileBuffer,
|
|
143
143
|
});
|
|
144
144
|
if (!uploadResponse.ok)
|
|
@@ -149,7 +149,7 @@ async function uploadLocalFile(filePath, client) {
|
|
|
149
149
|
async function downloadToFile(wrapperUrl, savePath, client) {
|
|
150
150
|
info(`Downloading to ${savePath}...`);
|
|
151
151
|
const result = await client.getDownloadUrl({ file_wrapper_url: wrapperUrl });
|
|
152
|
-
if (result.status !==
|
|
152
|
+
if (result.status !== 'ok' || !result.data)
|
|
153
153
|
throw new Error(`Failed to get download URL: ${result.message}`);
|
|
154
154
|
const resp = await fetch(result.data.download_url);
|
|
155
155
|
if (!resp.ok)
|
|
@@ -160,9 +160,9 @@ async function downloadToFile(wrapperUrl, savePath, client) {
|
|
|
160
160
|
return pathModule.resolve(savePath);
|
|
161
161
|
}
|
|
162
162
|
function isLocalFilePath(value) {
|
|
163
|
-
return (!value.startsWith(
|
|
164
|
-
!value.startsWith(
|
|
165
|
-
!value.startsWith(
|
|
163
|
+
return (!value.startsWith('http://') &&
|
|
164
|
+
!value.startsWith('https://') &&
|
|
165
|
+
!value.startsWith('/api/') &&
|
|
166
166
|
fs.existsSync(value));
|
|
167
167
|
}
|
|
168
168
|
async function resolveFileArg(value, client) {
|
|
@@ -179,10 +179,10 @@ async function resolveLocalFiles(args, client) {
|
|
|
179
179
|
const resolved = { ...args };
|
|
180
180
|
for (const [key, value] of Object.entries(resolved)) {
|
|
181
181
|
// Handle array of URLs (e.g., image_urls)
|
|
182
|
-
if (key.endsWith(
|
|
182
|
+
if (key.endsWith('_urls') && Array.isArray(value)) {
|
|
183
183
|
const resolvedUrls = [];
|
|
184
184
|
for (const item of value) {
|
|
185
|
-
if (typeof item ===
|
|
185
|
+
if (typeof item === 'string') {
|
|
186
186
|
resolvedUrls.push(await resolveFileArg(item, client));
|
|
187
187
|
}
|
|
188
188
|
else {
|
|
@@ -192,8 +192,8 @@ async function resolveLocalFiles(args, client) {
|
|
|
192
192
|
resolved[key] = resolvedUrls;
|
|
193
193
|
}
|
|
194
194
|
// Handle single URL (e.g., url, audio_url)
|
|
195
|
-
else if ((key ===
|
|
196
|
-
typeof value ===
|
|
195
|
+
else if ((key === 'url' || key.endsWith('_url')) &&
|
|
196
|
+
typeof value === 'string') {
|
|
197
197
|
resolved[key] = await resolveFileArg(value, client);
|
|
198
198
|
}
|
|
199
199
|
}
|
|
@@ -209,14 +209,14 @@ async function resolveLocalFiles(args, client) {
|
|
|
209
209
|
function extractFileUrl(data, keys) {
|
|
210
210
|
for (const key of keys) {
|
|
211
211
|
let current = data;
|
|
212
|
-
for (const part of key.split(
|
|
213
|
-
if (current == null || typeof current !==
|
|
212
|
+
for (const part of key.split('.')) {
|
|
213
|
+
if (current == null || typeof current !== 'object') {
|
|
214
214
|
current = undefined;
|
|
215
215
|
break;
|
|
216
216
|
}
|
|
217
217
|
current = current[part];
|
|
218
218
|
}
|
|
219
|
-
if (typeof current ===
|
|
219
|
+
if (typeof current === 'string' && current.length > 0)
|
|
220
220
|
return current;
|
|
221
221
|
}
|
|
222
222
|
return null;
|
|
@@ -236,7 +236,7 @@ function registerToolCommand(parentProgram, tool, clientFactory) {
|
|
|
236
236
|
if (tool.cli.primary_arg && props[tool.cli.primary_arg]) {
|
|
237
237
|
const param = props[tool.cli.primary_arg];
|
|
238
238
|
const isRequired = required.includes(tool.cli.primary_arg);
|
|
239
|
-
const bracket = isRequired ?
|
|
239
|
+
const bracket = isRequired ? '<value>' : '[value]';
|
|
240
240
|
cmd.argument(bracket, param.description || tool.cli.primary_arg);
|
|
241
241
|
}
|
|
242
242
|
// Add remaining params as --options
|
|
@@ -247,8 +247,8 @@ function registerToolCommand(parentProgram, tool, clientFactory) {
|
|
|
247
247
|
const isRequired = required.includes(name);
|
|
248
248
|
const paramType = Array.isArray(param.type) ? param.type[0] : param.type;
|
|
249
249
|
const shortAlias = aliases[name];
|
|
250
|
-
const shortPrefix = shortAlias ? `-${shortAlias}, ` :
|
|
251
|
-
if (paramType ===
|
|
250
|
+
const shortPrefix = shortAlias ? `-${shortAlias}, ` : '';
|
|
251
|
+
if (paramType === 'array') {
|
|
252
252
|
const flag = `${shortPrefix}--${name} <values...>`;
|
|
253
253
|
if (isRequired) {
|
|
254
254
|
cmd.requiredOption(flag, param.description || name);
|
|
@@ -257,7 +257,7 @@ function registerToolCommand(parentProgram, tool, clientFactory) {
|
|
|
257
257
|
cmd.option(flag, param.description || name);
|
|
258
258
|
}
|
|
259
259
|
}
|
|
260
|
-
else if (paramType ===
|
|
260
|
+
else if (paramType === 'boolean') {
|
|
261
261
|
cmd.option(`${shortPrefix}--${name}`, param.description || name);
|
|
262
262
|
}
|
|
263
263
|
else {
|
|
@@ -273,13 +273,13 @@ function registerToolCommand(parentProgram, tool, clientFactory) {
|
|
|
273
273
|
// Add -o/--output-file option for tools that produce downloadable files
|
|
274
274
|
const outputFileKeys = tool.cli.output_file_keys || [];
|
|
275
275
|
if (outputFileKeys.length > 0) {
|
|
276
|
-
cmd.option(
|
|
276
|
+
cmd.option('-o, --output-file <path>', 'Download the generated file to a local path');
|
|
277
277
|
}
|
|
278
278
|
// Generic action handler
|
|
279
279
|
cmd.action(async (primaryArgValue, opts) => {
|
|
280
280
|
// Commander passes opts as second arg when there's an argument,
|
|
281
281
|
// or as first arg when there's no argument
|
|
282
|
-
if (typeof primaryArgValue ===
|
|
282
|
+
if (typeof primaryArgValue === 'object' && primaryArgValue !== null) {
|
|
283
283
|
opts = primaryArgValue;
|
|
284
284
|
primaryArgValue = undefined;
|
|
285
285
|
}
|
|
@@ -299,10 +299,10 @@ function registerToolCommand(parentProgram, tool, clientFactory) {
|
|
|
299
299
|
const paramType = Array.isArray(param.type)
|
|
300
300
|
? param.type[0]
|
|
301
301
|
: param.type;
|
|
302
|
-
if (paramType ===
|
|
302
|
+
if (paramType === 'integer' || paramType === 'number') {
|
|
303
303
|
const num = Number(args[name]);
|
|
304
304
|
if (!isNaN(num)) {
|
|
305
|
-
args[name] = paramType ===
|
|
305
|
+
args[name] = paramType === 'integer' ? Math.floor(num) : num;
|
|
306
306
|
}
|
|
307
307
|
}
|
|
308
308
|
}
|
|
@@ -313,16 +313,16 @@ function registerToolCommand(parentProgram, tool, clientFactory) {
|
|
|
313
313
|
// If -o was specified and tool succeeded, download the output file
|
|
314
314
|
if (outputFilePath &&
|
|
315
315
|
outputFileKeys.length > 0 &&
|
|
316
|
-
result.status ===
|
|
316
|
+
result.status === 'ok' &&
|
|
317
317
|
result.data &&
|
|
318
|
-
typeof result.data ===
|
|
318
|
+
typeof result.data === 'object') {
|
|
319
319
|
const fileUrl = extractFileUrl(result.data, outputFileKeys);
|
|
320
320
|
if (fileUrl) {
|
|
321
321
|
const localPath = await downloadToFile(fileUrl, outputFilePath, client);
|
|
322
322
|
result.data.local_path = localPath;
|
|
323
323
|
}
|
|
324
324
|
else {
|
|
325
|
-
info(
|
|
325
|
+
info('Warning: Could not find a file URL in the result to download');
|
|
326
326
|
}
|
|
327
327
|
}
|
|
328
328
|
output(result);
|
|
@@ -338,9 +338,9 @@ function registerToolCommand(parentProgram, tool, clientFactory) {
|
|
|
338
338
|
// ============================================
|
|
339
339
|
// List tools
|
|
340
340
|
program
|
|
341
|
-
.command(
|
|
342
|
-
.alias(
|
|
343
|
-
.description(
|
|
341
|
+
.command('list-tools')
|
|
342
|
+
.alias('ls')
|
|
343
|
+
.description('List all available tools')
|
|
344
344
|
.action(async () => {
|
|
345
345
|
try {
|
|
346
346
|
const client = createClient();
|
|
@@ -354,9 +354,9 @@ program
|
|
|
354
354
|
});
|
|
355
355
|
// Upload file - get upload URL, upload file, return file wrapper URL
|
|
356
356
|
program
|
|
357
|
-
.command(
|
|
358
|
-
.description(
|
|
359
|
-
.argument(
|
|
357
|
+
.command('upload')
|
|
358
|
+
.description('Upload a local file and get a file wrapper URL')
|
|
359
|
+
.argument('<file>', 'Local file path to upload')
|
|
360
360
|
.action(async (filePath) => {
|
|
361
361
|
try {
|
|
362
362
|
if (!fs.existsSync(filePath)) {
|
|
@@ -367,11 +367,11 @@ program
|
|
|
367
367
|
const file_wrapper_url = await uploadLocalFile(filePath, client);
|
|
368
368
|
const fileName = pathModule.basename(filePath);
|
|
369
369
|
const ext = pathModule.extname(filePath).toLowerCase();
|
|
370
|
-
const contentType = CONTENT_TYPE_MAP[ext] ||
|
|
370
|
+
const contentType = CONTENT_TYPE_MAP[ext] || 'application/octet-stream';
|
|
371
371
|
const stats = fs.statSync(filePath);
|
|
372
372
|
output({
|
|
373
|
-
status:
|
|
374
|
-
message:
|
|
373
|
+
status: 'ok',
|
|
374
|
+
message: 'File uploaded successfully',
|
|
375
375
|
data: {
|
|
376
376
|
file_wrapper_url,
|
|
377
377
|
file_name: fileName,
|
|
@@ -387,17 +387,17 @@ program
|
|
|
387
387
|
});
|
|
388
388
|
// Download file - get download URL from file wrapper URL
|
|
389
389
|
program
|
|
390
|
-
.command(
|
|
391
|
-
.description(
|
|
392
|
-
.argument(
|
|
393
|
-
.option(
|
|
390
|
+
.command('download')
|
|
391
|
+
.description('Get a download URL for a file wrapper URL')
|
|
392
|
+
.argument('<file_wrapper_url>', 'File wrapper URL (e.g., /api/files/s/xxxxx)')
|
|
393
|
+
.option('-s, --save <path>', 'Download and save to local file path')
|
|
394
394
|
.action(async (fileWrapperUrl, opts) => {
|
|
395
395
|
try {
|
|
396
396
|
const client = createClient();
|
|
397
397
|
const result = await client.getDownloadUrl({
|
|
398
398
|
file_wrapper_url: fileWrapperUrl,
|
|
399
399
|
});
|
|
400
|
-
if (result.status !==
|
|
400
|
+
if (result.status !== 'ok' || !result.data) {
|
|
401
401
|
logError(`Failed to get download URL: ${result.message}`);
|
|
402
402
|
process.exit(1);
|
|
403
403
|
}
|
|
@@ -412,8 +412,8 @@ program
|
|
|
412
412
|
const localPath = pathModule.resolve(opts.save);
|
|
413
413
|
info(`Downloaded ${(buffer.length / 1024).toFixed(1)} KB → ${localPath}`);
|
|
414
414
|
output({
|
|
415
|
-
status:
|
|
416
|
-
message:
|
|
415
|
+
status: 'ok',
|
|
416
|
+
message: 'File downloaded successfully',
|
|
417
417
|
data: {
|
|
418
418
|
...result.data,
|
|
419
419
|
local_path: localPath,
|
|
@@ -433,8 +433,8 @@ program
|
|
|
433
433
|
});
|
|
434
434
|
// Login - browser-based device flow authentication
|
|
435
435
|
program
|
|
436
|
-
.command(
|
|
437
|
-
.description(
|
|
436
|
+
.command('login')
|
|
437
|
+
.description('Log in to Genspark via browser to obtain an API key')
|
|
438
438
|
.action(async () => {
|
|
439
439
|
const globalOpts = getGlobalOptions();
|
|
440
440
|
setDebugEnabled(globalOpts.debug);
|
|
@@ -442,78 +442,78 @@ program
|
|
|
442
442
|
const baseUrl = globalOpts.baseUrl;
|
|
443
443
|
try {
|
|
444
444
|
// Step 1: Request device code
|
|
445
|
-
info(
|
|
446
|
-
const deviceResp = await unauthenticatedRequest(baseUrl,
|
|
445
|
+
info('Requesting device code...');
|
|
446
|
+
const deviceResp = await unauthenticatedRequest(baseUrl, '/api/cli_auth/device_code', 'POST');
|
|
447
447
|
const { device_code, auth_url, poll_interval, expires_in } = deviceResp;
|
|
448
448
|
// Step 2: Open browser (use spawn to avoid shell command injection)
|
|
449
|
-
info(
|
|
449
|
+
info('Opening browser for login...');
|
|
450
450
|
info(`Login URL: ${auth_url}`);
|
|
451
451
|
// Validate auth_url is a same-origin HTTP(S) URL before passing to spawn
|
|
452
452
|
try {
|
|
453
453
|
const parsed = new URL(auth_url);
|
|
454
454
|
const base = new URL(baseUrl);
|
|
455
|
-
if (parsed.protocol !==
|
|
456
|
-
throw new Error(
|
|
455
|
+
if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
|
|
456
|
+
throw new Error('auth_url is not http(s)');
|
|
457
457
|
}
|
|
458
458
|
if (parsed.host !== base.host) {
|
|
459
|
-
throw new Error(
|
|
459
|
+
throw new Error('auth_url host does not match baseUrl host');
|
|
460
460
|
}
|
|
461
461
|
let cmd;
|
|
462
462
|
let args;
|
|
463
|
-
if (process.platform ===
|
|
463
|
+
if (process.platform === 'win32') {
|
|
464
464
|
// Avoid cmd.exe which interprets & in URLs as command separators
|
|
465
|
-
cmd =
|
|
466
|
-
args = [
|
|
465
|
+
cmd = 'rundll32';
|
|
466
|
+
args = ['url.dll,FileProtocolHandler', auth_url];
|
|
467
467
|
}
|
|
468
|
-
else if (process.platform ===
|
|
469
|
-
cmd =
|
|
468
|
+
else if (process.platform === 'darwin') {
|
|
469
|
+
cmd = 'open';
|
|
470
470
|
args = [auth_url];
|
|
471
471
|
}
|
|
472
472
|
else {
|
|
473
|
-
cmd =
|
|
473
|
+
cmd = 'xdg-open';
|
|
474
474
|
args = [auth_url];
|
|
475
475
|
}
|
|
476
|
-
const child = spawn(cmd, args, { stdio:
|
|
477
|
-
child.on(
|
|
478
|
-
info(
|
|
479
|
-
info(
|
|
476
|
+
const child = spawn(cmd, args, { stdio: 'ignore', detached: true });
|
|
477
|
+
child.on('error', () => {
|
|
478
|
+
info('Could not open browser automatically.');
|
|
479
|
+
info('Please open the URL above manually.');
|
|
480
480
|
});
|
|
481
481
|
child.unref();
|
|
482
482
|
}
|
|
483
483
|
catch {
|
|
484
|
-
info(
|
|
485
|
-
info(
|
|
484
|
+
info('Could not open browser automatically.');
|
|
485
|
+
info('Please open the URL above manually.');
|
|
486
486
|
}
|
|
487
487
|
info(`Waiting for authorization (expires in ${expires_in}s, press Ctrl+C to cancel)...`);
|
|
488
488
|
// Step 3: Poll for token
|
|
489
489
|
const startTime = Date.now();
|
|
490
490
|
const timeoutMs = expires_in * 1000;
|
|
491
491
|
while (Date.now() - startTime < timeoutMs) {
|
|
492
|
-
await new Promise(
|
|
492
|
+
await new Promise(resolve => setTimeout(resolve, poll_interval * 1000));
|
|
493
493
|
const elapsedSec = Math.round((Date.now() - startTime) / 1000);
|
|
494
494
|
const remainingSec = expires_in - elapsedSec;
|
|
495
|
-
const tokenResp = await unauthenticatedRequest(baseUrl, `/api/cli_auth/token?code=${encodeURIComponent(device_code)}`,
|
|
496
|
-
if (tokenResp.status ===
|
|
495
|
+
const tokenResp = await unauthenticatedRequest(baseUrl, `/api/cli_auth/token?code=${encodeURIComponent(device_code)}`, 'GET');
|
|
496
|
+
if (tokenResp.status === 'approved' && tokenResp.api_key) {
|
|
497
497
|
// Save to config
|
|
498
498
|
const config = loadConfigFile();
|
|
499
499
|
config.api_key = tokenResp.api_key;
|
|
500
500
|
saveConfigFile(config);
|
|
501
|
-
info(
|
|
501
|
+
info('Login successful! API key saved.');
|
|
502
502
|
output({
|
|
503
|
-
status:
|
|
504
|
-
message:
|
|
503
|
+
status: 'ok',
|
|
504
|
+
message: 'Login successful',
|
|
505
505
|
data: { config_path: getConfigPath() },
|
|
506
506
|
});
|
|
507
507
|
return;
|
|
508
508
|
}
|
|
509
|
-
if (tokenResp.status ===
|
|
510
|
-
logError(
|
|
509
|
+
if (tokenResp.status === 'expired') {
|
|
510
|
+
logError('Authorization expired. Please try again.');
|
|
511
511
|
process.exit(1);
|
|
512
512
|
}
|
|
513
513
|
// status === "pending" — keep polling with countdown
|
|
514
514
|
info(`Still waiting for authorization... (${remainingSec}s remaining)`);
|
|
515
515
|
}
|
|
516
|
-
logError(
|
|
516
|
+
logError('Authorization timed out. Please try again.');
|
|
517
517
|
process.exit(1);
|
|
518
518
|
}
|
|
519
519
|
catch (err) {
|
|
@@ -523,8 +523,8 @@ program
|
|
|
523
523
|
});
|
|
524
524
|
// Logout - remove API key from config
|
|
525
525
|
program
|
|
526
|
-
.command(
|
|
527
|
-
.description(
|
|
526
|
+
.command('logout')
|
|
527
|
+
.description('Log out by removing the saved API key')
|
|
528
528
|
.action(() => {
|
|
529
529
|
const globalOpts = getGlobalOptions();
|
|
530
530
|
setDebugEnabled(globalOpts.debug);
|
|
@@ -532,15 +532,15 @@ program
|
|
|
532
532
|
try {
|
|
533
533
|
const config = loadConfigFile();
|
|
534
534
|
if (!config.api_key) {
|
|
535
|
-
info(
|
|
535
|
+
info('Already logged out (no API key in config).');
|
|
536
536
|
return;
|
|
537
537
|
}
|
|
538
538
|
delete config.api_key;
|
|
539
539
|
saveConfigFile(config);
|
|
540
|
-
info(
|
|
540
|
+
info('Logged out. API key removed.');
|
|
541
541
|
output({
|
|
542
|
-
status:
|
|
543
|
-
message:
|
|
542
|
+
status: 'ok',
|
|
543
|
+
message: 'Logged out',
|
|
544
544
|
data: { config_path: getConfigPath() },
|
|
545
545
|
});
|
|
546
546
|
}
|
|
@@ -549,6 +549,50 @@ program
|
|
|
549
549
|
process.exit(1);
|
|
550
550
|
}
|
|
551
551
|
});
|
|
552
|
+
// Login info - show current user identity
|
|
553
|
+
program
|
|
554
|
+
.command('login-info')
|
|
555
|
+
.alias('me')
|
|
556
|
+
.description('Show current user info (email, plan)')
|
|
557
|
+
.action(async () => {
|
|
558
|
+
try {
|
|
559
|
+
const client = createClient();
|
|
560
|
+
const userInfo = await client.getMe();
|
|
561
|
+
output({
|
|
562
|
+
status: 'ok',
|
|
563
|
+
message: 'success',
|
|
564
|
+
data: userInfo,
|
|
565
|
+
});
|
|
566
|
+
}
|
|
567
|
+
catch (err) {
|
|
568
|
+
logError(err.message);
|
|
569
|
+
process.exit(1);
|
|
570
|
+
}
|
|
571
|
+
});
|
|
572
|
+
// Init OpenCode - generate opencode.json config
|
|
573
|
+
program
|
|
574
|
+
.command('init-opencode')
|
|
575
|
+
.description('Generate an opencode.json config file for OpenCode AI coding tool')
|
|
576
|
+
.option('--model <model>', 'Default model to use (e.g., claude-opus-4-6-1m)')
|
|
577
|
+
.option('-o, --out <path>', 'Output file path', pathModule.resolve('.opencode.json'))
|
|
578
|
+
.action(async (opts) => {
|
|
579
|
+
try {
|
|
580
|
+
const client = createClient();
|
|
581
|
+
const config = await client.getOpencodeConfig(opts.model);
|
|
582
|
+
const outputPath = pathModule.resolve(opts.out);
|
|
583
|
+
fs.writeFileSync(outputPath, JSON.stringify(config, null, 2) + '\n');
|
|
584
|
+
info(`Wrote OpenCode config to ${outputPath}`);
|
|
585
|
+
output({
|
|
586
|
+
status: 'ok',
|
|
587
|
+
message: `Config written to ${outputPath}`,
|
|
588
|
+
data: { path: outputPath },
|
|
589
|
+
});
|
|
590
|
+
}
|
|
591
|
+
catch (err) {
|
|
592
|
+
logError(err.message);
|
|
593
|
+
process.exit(1);
|
|
594
|
+
}
|
|
595
|
+
});
|
|
552
596
|
// ============================================
|
|
553
597
|
// Dynamic Tool Registration & Startup
|
|
554
598
|
// ============================================
|
|
@@ -568,17 +612,15 @@ async function main() {
|
|
|
568
612
|
const baseUrl = globalOpts.baseUrl;
|
|
569
613
|
const forceRefresh = globalOpts.refresh || false;
|
|
570
614
|
// Try to load tools from cache
|
|
571
|
-
let tools = forceRefresh
|
|
572
|
-
? null
|
|
573
|
-
: loadToolsCache(baseUrl);
|
|
615
|
+
let tools = forceRefresh ? null : loadToolsCache(baseUrl);
|
|
574
616
|
if (tools) {
|
|
575
617
|
debug(`Loaded ${tools.length} tools from cache`);
|
|
576
618
|
}
|
|
577
619
|
else {
|
|
578
620
|
// Need to fetch from server
|
|
579
621
|
debug(forceRefresh
|
|
580
|
-
?
|
|
581
|
-
:
|
|
622
|
+
? 'Force refreshing tools from server...'
|
|
623
|
+
: 'No cached tools found, fetching from server...');
|
|
582
624
|
// Only fetch if we have an API key
|
|
583
625
|
if (globalOpts.apiKey) {
|
|
584
626
|
try {
|
|
@@ -594,7 +636,7 @@ async function main() {
|
|
|
594
636
|
}
|
|
595
637
|
}
|
|
596
638
|
else {
|
|
597
|
-
debug(
|
|
639
|
+
debug('No API key available, skipping tool fetch');
|
|
598
640
|
}
|
|
599
641
|
}
|
|
600
642
|
// Register dynamic tool commands
|
|
@@ -606,7 +648,7 @@ async function main() {
|
|
|
606
648
|
// Parse and run
|
|
607
649
|
program.parse();
|
|
608
650
|
}
|
|
609
|
-
main().catch(
|
|
651
|
+
main().catch(err => {
|
|
610
652
|
logError(err.message);
|
|
611
653
|
process.exit(1);
|
|
612
654
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -6,12 +6,12 @@ export interface GlobalOptions {
|
|
|
6
6
|
baseUrl: string;
|
|
7
7
|
debug: boolean;
|
|
8
8
|
timeout: number;
|
|
9
|
-
output:
|
|
9
|
+
output: 'json' | 'text';
|
|
10
10
|
projectId?: string;
|
|
11
11
|
refresh?: boolean;
|
|
12
12
|
}
|
|
13
13
|
export interface ApiResponse<T = unknown> {
|
|
14
|
-
status:
|
|
14
|
+
status: 'ok' | 'error';
|
|
15
15
|
message: string;
|
|
16
16
|
data: T | null;
|
|
17
17
|
session_state?: Record<string, unknown> | null;
|
|
@@ -30,7 +30,7 @@ export interface ToolSchema {
|
|
|
30
30
|
description: string;
|
|
31
31
|
requires_project: boolean;
|
|
32
32
|
parameters: {
|
|
33
|
-
type:
|
|
33
|
+
type: 'object';
|
|
34
34
|
properties: Record<string, ToolParameter>;
|
|
35
35
|
required?: string[];
|
|
36
36
|
};
|
|
@@ -44,6 +44,14 @@ export interface ToolSchema {
|
|
|
44
44
|
export interface ToolListResponse {
|
|
45
45
|
tools: ToolSchema[];
|
|
46
46
|
}
|
|
47
|
+
export interface UserInfo {
|
|
48
|
+
email: string | null;
|
|
49
|
+
name: string | null;
|
|
50
|
+
plan: string | null;
|
|
51
|
+
personal_plan: string | null;
|
|
52
|
+
org_plan: string | null;
|
|
53
|
+
org_role: string | null;
|
|
54
|
+
}
|
|
47
55
|
export interface FileUploadUrlRequest {
|
|
48
56
|
content_type: string;
|
|
49
57
|
name?: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAC/C;AAGD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,OAAO,CAAA;IACzB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAA;QACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QACzC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KACpB,CAAA;IACD,GAAG,EAAE;QACH,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC1C,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;KAC5B,CAAA;CACF;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,UAAU,EAAE,CAAA;CACpB;AAGD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAGD,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAGD,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACrB"}
|