@genspark/cli 1.0.8 → 1.0.10
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 +30 -4
- package/dist/acp-serve.d.ts +14 -0
- package/dist/acp-serve.d.ts.map +1 -0
- package/dist/acp-serve.js +568 -0
- package/dist/acp-serve.js.map +1 -0
- package/dist/client.d.ts +25 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +66 -6
- package/dist/client.js.map +1 -1
- package/dist/index.js +142 -51
- package/dist/index.js.map +1 -1
- package/docs/skills.md +1 -1
- package/package.json +1 -1
- package/skills/gsk-acp-agents/SKILL.md +124 -0
- package/skills/gsk-aidrive/SKILL.md +1 -1
- package/skills/gsk-analyze-media/SKILL.md +1 -1
- package/skills/gsk-audio-generation/SKILL.md +1 -1
- package/skills/gsk-audio-transcribe/SKILL.md +1 -1
- package/skills/gsk-crawler/SKILL.md +1 -1
- package/skills/gsk-create-task/SKILL.md +1 -1
- package/skills/gsk-get-service-url/SKILL.md +1 -1
- package/skills/gsk-image-generation/SKILL.md +1 -1
- package/skills/gsk-image-search/SKILL.md +1 -1
- package/skills/gsk-phone-call/SKILL.md +6 -4
- package/skills/gsk-shared/SKILL.md +18 -0
- package/skills/gsk-stock-price/SKILL.md +1 -1
- package/skills/gsk-summarize-large-document/SKILL.md +1 -1
- package/skills/gsk-understand-images/SKILL.md +1 -1
- package/skills/gsk-video-generation/SKILL.md +1 -1
- package/skills/gsk-web-search/SKILL.md +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -13,7 +13,9 @@ export declare class ApiClient {
|
|
|
13
13
|
private timeout;
|
|
14
14
|
private debugMode;
|
|
15
15
|
private projectId?;
|
|
16
|
+
private options;
|
|
16
17
|
constructor(options: GlobalOptions);
|
|
18
|
+
getOptions(): GlobalOptions;
|
|
17
19
|
private request;
|
|
18
20
|
/**
|
|
19
21
|
* Simple JSON request (non-streaming) for endpoints that return plain JSON.
|
|
@@ -27,6 +29,28 @@ export declare class ApiClient {
|
|
|
27
29
|
* Execute any tool by name with arguments
|
|
28
30
|
*/
|
|
29
31
|
executeTool(toolName: string, args: Record<string, unknown>): Promise<ApiResponse>;
|
|
32
|
+
/**
|
|
33
|
+
* Send a message to a task agent (streaming).
|
|
34
|
+
* Calls the /agent_ask endpoint for multi-turn agent conversation.
|
|
35
|
+
* Pass projectId=null for the first call to create a new project.
|
|
36
|
+
* onDebug is called for each heartbeat/debug message during processing.
|
|
37
|
+
*/
|
|
38
|
+
agentAsk(projectId: string | null, message: string, taskType: string, onDebug?: (msg: {
|
|
39
|
+
message: string;
|
|
40
|
+
[key: string]: unknown;
|
|
41
|
+
}) => void, signal?: AbortSignal): Promise<ApiResponse>;
|
|
42
|
+
/**
|
|
43
|
+
* Reconnect to an in-progress agent's event stream (streaming).
|
|
44
|
+
* Returns the agent's response if still running, or {message: "no_running_agent"} if done.
|
|
45
|
+
*/
|
|
46
|
+
agentAskEvents(projectId: string, taskType: string, onDebug?: (msg: {
|
|
47
|
+
message: string;
|
|
48
|
+
[key: string]: unknown;
|
|
49
|
+
}) => void, signal?: AbortSignal): Promise<ApiResponse>;
|
|
50
|
+
/**
|
|
51
|
+
* Export a task agent's artifact to a downloadable file (docx, pptx, xlsx).
|
|
52
|
+
*/
|
|
53
|
+
exportArtifact(projectId: string, taskType: string, format?: string): Promise<ApiResponse>;
|
|
30
54
|
/**
|
|
31
55
|
* Get a pre-signed URL for uploading a file
|
|
32
56
|
*/
|
|
@@ -51,6 +75,6 @@ export declare class ApiClient {
|
|
|
51
75
|
requestStreaming<T>(endpoint: string, body: unknown, onDebug: (msg: {
|
|
52
76
|
message: string;
|
|
53
77
|
[key: string]: unknown;
|
|
54
|
-
}) => void): Promise<ApiResponse<T>>;
|
|
78
|
+
}) => void, externalSignal?: AbortSignal): Promise<ApiResponse<T>>;
|
|
55
79
|
}
|
|
56
80
|
//# 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,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;
|
|
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;IAE1B,OAAO,CAAC,OAAO,CAAe;gBAElB,OAAO,EAAE,aAAa;IASlC,UAAU,IAAI,aAAa;YAIb,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;;;;;OAKG;IACG,QAAQ,CACZ,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,KAAK,IAAI,EACpE,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,WAAW,CAAC;IAgBvB;;;OAGG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,KAAK,IAAI,EACpE,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,WAAW,CAAC;IAYvB;;OAEG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAAe,GACtB,OAAO,CAAC,WAAW,CAAC;IAQvB;;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;IAKzE;;;;OAIG;IACG,gBAAgB,CAAC,CAAC,EACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,CAAC,GAAG,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,KAAK,IAAI,EACnE,cAAc,CAAC,EAAE,WAAW,GAC3B,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAwH3B"}
|
package/dist/client.js
CHANGED
|
@@ -29,13 +29,18 @@ export class ApiClient {
|
|
|
29
29
|
timeout;
|
|
30
30
|
debugMode;
|
|
31
31
|
projectId;
|
|
32
|
+
options;
|
|
32
33
|
constructor(options) {
|
|
34
|
+
this.options = options;
|
|
33
35
|
this.baseUrl = options.baseUrl.replace(/\/$/, '');
|
|
34
36
|
this.apiKey = options.apiKey || '';
|
|
35
37
|
this.timeout = options.timeout;
|
|
36
38
|
this.debugMode = options.debug;
|
|
37
39
|
this.projectId = options.projectId;
|
|
38
40
|
}
|
|
41
|
+
getOptions() {
|
|
42
|
+
return this.options;
|
|
43
|
+
}
|
|
39
44
|
async request(endpoint, method = 'GET', body) {
|
|
40
45
|
const url = `${this.baseUrl}/api/tool_cli${endpoint}`;
|
|
41
46
|
debug(`Request: ${method} ${url}`);
|
|
@@ -228,6 +233,42 @@ export class ApiClient {
|
|
|
228
233
|
async executeTool(toolName, args) {
|
|
229
234
|
return this.request(`/${toolName}`, 'POST', args);
|
|
230
235
|
}
|
|
236
|
+
/**
|
|
237
|
+
* Send a message to a task agent (streaming).
|
|
238
|
+
* Calls the /agent_ask endpoint for multi-turn agent conversation.
|
|
239
|
+
* Pass projectId=null for the first call to create a new project.
|
|
240
|
+
* onDebug is called for each heartbeat/debug message during processing.
|
|
241
|
+
*/
|
|
242
|
+
async agentAsk(projectId, message, taskType, onDebug, signal) {
|
|
243
|
+
const body = {
|
|
244
|
+
message,
|
|
245
|
+
task_type: taskType,
|
|
246
|
+
};
|
|
247
|
+
if (projectId) {
|
|
248
|
+
body.project_id = projectId;
|
|
249
|
+
}
|
|
250
|
+
return this.requestStreaming('/agent_ask', body, onDebug || (() => { }), signal);
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Reconnect to an in-progress agent's event stream (streaming).
|
|
254
|
+
* Returns the agent's response if still running, or {message: "no_running_agent"} if done.
|
|
255
|
+
*/
|
|
256
|
+
async agentAskEvents(projectId, taskType, onDebug, signal) {
|
|
257
|
+
return this.requestStreaming('/agent_ask_events', {
|
|
258
|
+
project_id: projectId,
|
|
259
|
+
task_type: taskType,
|
|
260
|
+
}, onDebug || (() => { }), signal);
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Export a task agent's artifact to a downloadable file (docx, pptx, xlsx).
|
|
264
|
+
*/
|
|
265
|
+
async exportArtifact(projectId, taskType, format = 'auto') {
|
|
266
|
+
return this.request('/export_artifact', 'POST', {
|
|
267
|
+
project_id: projectId,
|
|
268
|
+
task_type: taskType,
|
|
269
|
+
format,
|
|
270
|
+
});
|
|
271
|
+
}
|
|
231
272
|
/**
|
|
232
273
|
* Get a pre-signed URL for uploading a file
|
|
233
274
|
*/
|
|
@@ -258,7 +299,7 @@ export class ApiClient {
|
|
|
258
299
|
* Calls onDebug for each debug/heartbeat message and returns the final result.
|
|
259
300
|
* Suitable for long-running operations like phone calls.
|
|
260
301
|
*/
|
|
261
|
-
async requestStreaming(endpoint, body, onDebug) {
|
|
302
|
+
async requestStreaming(endpoint, body, onDebug, externalSignal) {
|
|
262
303
|
const url = `${this.baseUrl}/api/tool_cli${endpoint}`;
|
|
263
304
|
debug(`Streaming request: POST ${url}`);
|
|
264
305
|
const headers = {
|
|
@@ -270,9 +311,15 @@ export class ApiClient {
|
|
|
270
311
|
headers['X-Project-ID'] = this.projectId;
|
|
271
312
|
if (this.debugMode)
|
|
272
313
|
headers['X-Debug'] = 'true';
|
|
273
|
-
// Use a long timeout
|
|
314
|
+
// Use a long timeout (10 minutes), but also respect external signal for cancellation
|
|
274
315
|
const controller = new AbortController();
|
|
275
|
-
|
|
316
|
+
// 1 hour — matches backend internal forwarding timeout
|
|
317
|
+
const timeoutId = setTimeout(() => controller.abort(), 3600000);
|
|
318
|
+
if (externalSignal) {
|
|
319
|
+
externalSignal.addEventListener('abort', () => controller.abort(), {
|
|
320
|
+
once: true,
|
|
321
|
+
});
|
|
322
|
+
}
|
|
276
323
|
try {
|
|
277
324
|
info(`Calling ${endpoint}...`);
|
|
278
325
|
const response = await fetch(url, {
|
|
@@ -286,7 +333,11 @@ export class ApiClient {
|
|
|
286
333
|
if (!response.ok) {
|
|
287
334
|
clearTimeout(timeoutId);
|
|
288
335
|
const errorText = await response.text();
|
|
289
|
-
return {
|
|
336
|
+
return {
|
|
337
|
+
status: 'error',
|
|
338
|
+
message: `HTTP ${response.status}: ${errorText}`,
|
|
339
|
+
data: null,
|
|
340
|
+
};
|
|
290
341
|
}
|
|
291
342
|
if (!response.body) {
|
|
292
343
|
clearTimeout(timeoutId);
|
|
@@ -340,12 +391,21 @@ export class ApiClient {
|
|
|
340
391
|
}
|
|
341
392
|
}
|
|
342
393
|
clearTimeout(timeoutId);
|
|
343
|
-
return finalResult || {
|
|
394
|
+
return (finalResult || {
|
|
395
|
+
status: 'error',
|
|
396
|
+
message: 'No final result in stream',
|
|
397
|
+
data: null,
|
|
398
|
+
});
|
|
344
399
|
}
|
|
345
400
|
catch (err) {
|
|
346
401
|
clearTimeout(timeoutId);
|
|
347
402
|
if (err instanceof Error && err.name === 'AbortError') {
|
|
348
|
-
|
|
403
|
+
// Re-throw if aborted by external signal (e.g., session/cancel)
|
|
404
|
+
// so callers can distinguish cancellation from timeout
|
|
405
|
+
if (externalSignal?.aborted) {
|
|
406
|
+
throw err;
|
|
407
|
+
}
|
|
408
|
+
return { status: 'error', message: 'Request timeout', data: null };
|
|
349
409
|
}
|
|
350
410
|
return { status: 'error', message: err.message, data: null };
|
|
351
411
|
}
|
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,CAAA;AAY5D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAe,EACf,QAAgB,EAChB,SAAyB,KAAK,EAC9B,IAAc;IAEd,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAA;IACtD,KAAK,CAAC,4BAA4B,MAAM,IAAI,GAAG,EAAE,CAAC,CAAA;IAElD,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;KACnC,CAAA;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM;QACN,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAC9C,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACvC,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAA;AACrC,CAAC;AAED,MAAM,OAAO,SAAS;IACZ,OAAO,CAAQ;IACf,MAAM,CAAQ;IACd,OAAO,CAAQ;IACf,SAAS,CAAS;IAClB,SAAS,CAAS;IAE1B,YAAY,OAAsB;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACjD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAA;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAC9B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAA;QAC9B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;IACpC,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,QAAgB,EAChB,SAAyB,KAAK,EAC9B,IAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,gBAAgB,QAAQ,EAAE,CAAA;QAErD,KAAK,CAAC,YAAY,MAAM,IAAI,GAAG,EAAE,CAAC,CAAA;QAClC,KAAK,CAAC,0BAA0B,IAAI,CAAC,SAAS,IAAI,WAAW,EAAE,CAAC,CAAA;QAChE,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxC,CAAC;QAED,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;SACnC,CAAA;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA;QACpC,CAAC;QAED,2EAA2E;QAC3E,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,SAAS,CAAA;QAC1C,CAAC;QAED,uDAAuD;QACvD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAA;QAC7B,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAEpE,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,QAAQ,KAAK,CAAC,CAAA;YAE9B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM;gBACN,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC7C,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAA;YAEF,YAAY,CAAC,SAAS,CAAC,CAAA;YAEvB,KAAK,CAAC,oBAAoB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;YAE5C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,KAAK,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAA;gBACrC,OAAO;oBACL,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE;oBAC1D,IAAI,EAAE,IAAI;iBACX,CAAA;YACH,CAAC;YAED,iDAAiD;YACjD,0DAA0D;YAC1D,8EAA8E;YAC9E,0FAA0F;YAC1F,EAAE;YACF,0BAA0B;YAC1B,kFAAkF;YAClF,4DAA4D;YAC5D,MAAM,iBAAiB,GAAG,CAAC,CAAA;YAE3B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAClC,KAAK,CAAC,wBAAwB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;YAE5C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACrC,IAAI,WAAW,GAA0B,IAAI,CAAA;YAE7C,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;gBAC3B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnC,SAAQ;gBACV,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBAE/B,gEAAgE;oBAChE,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAA;oBAC1C,IAAI,cAAc,GAAG,iBAAiB,EAAE,CAAC;wBACvC,KAAK,CACH,iCAAiC,cAAc,gBAAgB,iBAAiB,GAAG,CACpF,CAAA;wBACD,SAAQ;oBACV,CAAC;oBAED,0CAA0C;oBAC1C,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;wBAC1B,+DAA+D;wBAC/D,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;4BACnB,KAAK,CAAC,YAAY,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;4BACnC,0CAA0C;4BAC1C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gCAChB,KAAK,CAAC,WAAW,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;4BACjC,CAAC;4BACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gCACrB,KAAK,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;4BAC3D,CAAC;4BACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gCACrB,KAAK,CAAC,gBAAgB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;4BAC3C,CAAC;4BACD,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;gCACzC,KAAK,CAAC,cAAc,MAAM,CAAC,eAAe,GAAG,CAAC,CAAA;4BAChD,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,8DAA8D;wBAC9D,WAAW,GAAG,MAAwB,CAAA;oBACxC,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,4BAA4B;oBAC5B,KAAK,CAAC,iCAAiC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;gBAClE,CAAC;YACH,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO;oBACL,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,mCAAmC;oBAC5C,IAAI,EAAE,IAAI;iBACX,CAAA;YACH,CAAC;YAED,KAAK,CAAC,wBAAwB,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;YACnD,OAAO,WAAW,CAAA;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,CAAC,SAAS,CAAC,CAAA;YAEvB,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;gBACzB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC9B,QAAQ,CAAC,yBAAyB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;oBACnD,OAAO;wBACL,MAAM,EAAE,OAAO;wBACf,OAAO,EAAE,yBAAyB,IAAI,CAAC,OAAO,IAAI;wBAClD,IAAI,EAAE,IAAI;qBACX,CAAA;gBACH,CAAC;gBACD,QAAQ,CAAC,mBAAmB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;gBAC1C,OAAO;oBACL,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,IAAI,EAAE,IAAI;iBACX,CAAA;YACH,CAAC;YAED,OAAO;gBACL,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,eAAe;gBACxB,IAAI,EAAE,IAAI;aACX,CAAA;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CACvB,QAAgB,EAChB,SAAyB,KAAK,EAC9B,IAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,gBAAgB,QAAQ,EAAE,CAAA;QAErD,KAAK,CAAC,YAAY,MAAM,IAAI,GAAG,EAAE,CAAC,CAAA;QAClC,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxC,CAAC;QAED,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;SACnC,CAAA;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA;QACpC,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,SAAS,CAAA;QAC1C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAEpE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM;gBACN,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC7C,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAA;YAEF,YAAY,CAAC,SAAS,CAAC,CAAA;YAEvB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC,CAAA;YAC1D,CAAC;YAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAA;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,CAAC,SAAS,CAAC,CAAA;YACvB,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;YAC5D,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAmB,QAAQ,EAAE,KAAK,CAAC,CAAA;QACtE,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACnC,CAAC;QACD,4EAA4E;QAC5E,OAAO,QAAuC,CAAA;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,QAAgB,EAChB,IAA6B;QAE7B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,MAA4B;QAE5B,OAAO,IAAI,CAAC,OAAO,CACjB,kBAAkB,EAClB,MAAM,EACN,MAAM,CACP,CAAA;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,MAA2B;QAE3B,OAAO,IAAI,CAAC,OAAO,CAAuB,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,WAAW,CAAW,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,KAAc;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAChE,OAAO,IAAI,CAAC,WAAW,CAA0B,mBAAmB,KAAK,EAAE,CAAC,CAAA;IAC9E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CACpB,QAAgB,EAChB,IAAa,EACb,OAAmE;QAEnE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,gBAAgB,QAAQ,EAAE,CAAA;QAErD,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAA;QAEvC,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;SACnC,CAAA;QACD,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA;QACnD,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,SAAS,CAAA;QAC5D,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAA;QAE/C,kDAAkD;QAClD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAA;QAE9D,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,QAAQ,KAAK,CAAC,CAAA;YAE9B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAA;YAEF,mEAAmE;YACnE,iEAAiE;YAEjE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,YAAY,CAAC,SAAS,CAAC,CAAA;gBACvB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACvC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;YAC1F,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,YAAY,CAAC,SAAS,CAAC,CAAA;gBACvB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;YACrE,CAAC;YAED,MAAM,iBAAiB,GAAG,CAAC,CAAA;YAC3B,IAAI,WAAW,GAA0B,IAAI,CAAA;YAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;YACxC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;YACjC,IAAI,MAAM,GAAG,EAAE,CAAA;YAEf,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;gBAC3C,IAAI,IAAI;oBAAE,MAAK;gBAEf,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;gBAEjD,yBAAyB;gBACzB,IAAI,UAAkB,CAAA;gBACtB,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBAClD,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAA;oBACnD,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;oBAEzC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;wBAAE,SAAQ;oBAE5C,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;wBAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAA;wBAC/B,IAAI,GAAG,GAAG,iBAAiB;4BAAE,SAAQ;wBAErC,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;4BAC1B,OAAO,CAAC,MAAM,CAAC,CAAA;wBACjB,CAAC;6BAAM,CAAC;4BACN,WAAW,GAAG,MAAwB,CAAA;wBACxC,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,KAAK,CAAC,iCAAiC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;oBAClE,CAAC;gBACH,CAAC;YACH,CAAC;YAED,uCAAuC;YACvC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;YAC/B,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;oBACpC,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;wBAC1B,WAAW,GAAG,MAAwB,CAAA;oBACxC,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;YACH,CAAC;YAED,YAAY,CAAC,SAAS,CAAC,CAAA;YACvB,OAAO,WAAW,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,2BAA2B,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QAC7F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,CAAC,SAAS,CAAC,CAAA;YACvB,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACtD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,4CAA4C,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;YAC/F,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAG,GAAa,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QACzE,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -32,7 +32,7 @@ import { checkForUpdates } from './updater.js';
|
|
|
32
32
|
const require = createRequire(import.meta.url);
|
|
33
33
|
const { version: VERSION } = require('../package.json');
|
|
34
34
|
const DEFAULT_BASE_URL = 'https://www.genspark.ai';
|
|
35
|
-
const DEFAULT_TIMEOUT =
|
|
35
|
+
const DEFAULT_TIMEOUT = 1800000; // 30 minutes (slides/video generation can be slow)
|
|
36
36
|
// Load config file (lowest priority)
|
|
37
37
|
const fileConfig = loadConfigFile();
|
|
38
38
|
// Create main program
|
|
@@ -268,12 +268,17 @@ async function uploadToAiDrive(filePath, uploadPath, override = false) {
|
|
|
268
268
|
throw new Error(`Unexpected response from AI Drive upload: ${responseBody.substring(0, 200)}`);
|
|
269
269
|
}
|
|
270
270
|
}
|
|
271
|
-
async function downloadToFile(
|
|
271
|
+
async function downloadToFile(url, savePath, client) {
|
|
272
272
|
info(`Downloading to ${savePath}...`);
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
273
|
+
let downloadUrl = url;
|
|
274
|
+
// File wrapper URLs need to be resolved via /file/download first
|
|
275
|
+
if (url.includes('/api/files/')) {
|
|
276
|
+
const result = await client.getDownloadUrl({ file_wrapper_url: url });
|
|
277
|
+
if (result.status !== 'ok' || !result.data)
|
|
278
|
+
throw new Error(`Failed to get download URL: ${result.message}`);
|
|
279
|
+
downloadUrl = result.data.download_url;
|
|
280
|
+
}
|
|
281
|
+
const resp = await fetch(downloadUrl);
|
|
277
282
|
if (!resp.ok)
|
|
278
283
|
throw new Error(`Download failed: HTTP ${resp.status}`);
|
|
279
284
|
const buffer = Buffer.from(await resp.arrayBuffer());
|
|
@@ -389,7 +394,9 @@ function registerToolCommand(parentProgram, tool, clientFactory) {
|
|
|
389
394
|
for (const [name, param] of Object.entries(props)) {
|
|
390
395
|
if (name === tool.cli.primary_arg)
|
|
391
396
|
continue;
|
|
392
|
-
|
|
397
|
+
// For create_task, make params optional so --acp mode works without them.
|
|
398
|
+
// Validation of required params happens in the action handler.
|
|
399
|
+
const isRequired = tool.name === 'create_task' ? false : required.includes(name);
|
|
393
400
|
const paramType = Array.isArray(param.type) ? param.type[0] : param.type;
|
|
394
401
|
const shortAlias = aliases[name];
|
|
395
402
|
const shortPrefix = shortAlias ? `-${shortAlias}, ` : '';
|
|
@@ -420,6 +427,11 @@ function registerToolCommand(parentProgram, tool, clientFactory) {
|
|
|
420
427
|
if (outputFileKeys.length > 0) {
|
|
421
428
|
cmd.option('-o, --output-file <path>', 'Download the generated file to a local path');
|
|
422
429
|
}
|
|
430
|
+
// For create_task, add --acp flag to enter ACP stdio bridge mode
|
|
431
|
+
if (tool.name === 'create_task') {
|
|
432
|
+
cmd.option('--acp', 'Start as ACP (Agent Client Protocol) stdio agent instead of one-shot execution', false);
|
|
433
|
+
cmd.option('-o, --output-file <path>', 'Export the artifact (pptx/docx/xlsx) to a local file after task completes');
|
|
434
|
+
}
|
|
423
435
|
// For the aidrive tool, add client-side options used with --local_file upload
|
|
424
436
|
if (tool.name === 'aidrive') {
|
|
425
437
|
cmd.option('--local_file <path>', 'Local file path to upload to AI Drive (supports files >5 MB; alternative to --file_content)');
|
|
@@ -434,10 +446,34 @@ function registerToolCommand(parentProgram, tool, clientFactory) {
|
|
|
434
446
|
primaryArgValue = undefined;
|
|
435
447
|
}
|
|
436
448
|
try {
|
|
449
|
+
// ACP mode: enter stdio bridge instead of one-shot execution
|
|
450
|
+
if (tool.name === 'create_task' && opts.acp) {
|
|
451
|
+
const taskType = primaryArgValue;
|
|
452
|
+
if (!taskType) {
|
|
453
|
+
logError('Task type is required for ACP mode. Usage: gsk task <type> --acp');
|
|
454
|
+
process.exit(1);
|
|
455
|
+
}
|
|
456
|
+
delete opts.acp;
|
|
457
|
+
const { startAcpBridge } = await import('./acp-serve.js');
|
|
458
|
+
await startAcpBridge(taskType, clientFactory().getOptions());
|
|
459
|
+
return;
|
|
460
|
+
}
|
|
461
|
+
// For create_task (non-ACP): validate required params manually
|
|
462
|
+
if (tool.name === 'create_task') {
|
|
463
|
+
for (const reqParam of required) {
|
|
464
|
+
if (reqParam === tool.cli.primary_arg)
|
|
465
|
+
continue;
|
|
466
|
+
if (opts[reqParam] === undefined || opts[reqParam] === null) {
|
|
467
|
+
logError(`Missing required option: --${reqParam}`);
|
|
468
|
+
process.exit(1);
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
}
|
|
437
472
|
const client = clientFactory();
|
|
438
473
|
// Extract and remove client-side-only options before sending to API
|
|
439
474
|
const outputFilePath = opts.outputFile;
|
|
440
475
|
delete opts.outputFile;
|
|
476
|
+
delete opts.acp; // ACP flag is client-side only
|
|
441
477
|
const args = { ...opts };
|
|
442
478
|
// Set primary arg
|
|
443
479
|
if (tool.cli.primary_arg && primaryArgValue !== undefined) {
|
|
@@ -492,8 +528,10 @@ function registerToolCommand(parentProgram, tool, clientFactory) {
|
|
|
492
528
|
// Resolve local file paths to uploaded URLs
|
|
493
529
|
const resolvedArgs = await resolveLocalFiles(args, client);
|
|
494
530
|
const result = await client.executeTool(tool.name, resolvedArgs);
|
|
495
|
-
// If -o was specified and tool succeeded, download the output file
|
|
496
|
-
|
|
531
|
+
// If -o was specified and tool succeeded, download the output file.
|
|
532
|
+
// Skip for create_task — it has its own export logic below.
|
|
533
|
+
if (tool.name !== 'create_task' &&
|
|
534
|
+
outputFilePath &&
|
|
497
535
|
outputFileKeys.length > 0 &&
|
|
498
536
|
result.status === 'ok' &&
|
|
499
537
|
result.data &&
|
|
@@ -507,6 +545,37 @@ function registerToolCommand(parentProgram, tool, clientFactory) {
|
|
|
507
545
|
info('Warning: Could not find a file URL in the result to download');
|
|
508
546
|
}
|
|
509
547
|
}
|
|
548
|
+
// create_task -o: export artifact (pptx/docx/xlsx) after task completes
|
|
549
|
+
if (tool.name === 'create_task' &&
|
|
550
|
+
outputFilePath &&
|
|
551
|
+
result.status === 'ok' &&
|
|
552
|
+
result.data &&
|
|
553
|
+
typeof result.data === 'object') {
|
|
554
|
+
const data = result.data;
|
|
555
|
+
const projectId = data.project_id;
|
|
556
|
+
const taskType = (primaryArgValue || args.type);
|
|
557
|
+
if (projectId && taskType) {
|
|
558
|
+
info(`Exporting ${taskType} artifact...`);
|
|
559
|
+
try {
|
|
560
|
+
const exportResult = await client.exportArtifact(projectId, taskType);
|
|
561
|
+
if (exportResult.status === 'ok' && exportResult.data) {
|
|
562
|
+
const expData = exportResult.data;
|
|
563
|
+
const downloadUrl = expData.download_url;
|
|
564
|
+
if (downloadUrl) {
|
|
565
|
+
const localPath = await downloadToFile(downloadUrl, outputFilePath, client);
|
|
566
|
+
data.local_path = localPath;
|
|
567
|
+
data.export_format = expData.format;
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
else {
|
|
571
|
+
info(`Warning: Export not available — ${exportResult.message || 'unknown error'}`);
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
catch (exportErr) {
|
|
575
|
+
info(`Warning: Export failed — ${exportErr.message}`);
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
}
|
|
510
579
|
output(result);
|
|
511
580
|
}
|
|
512
581
|
catch (err) {
|
|
@@ -806,10 +875,11 @@ program
|
|
|
806
875
|
const agentType = opts.agent?.toLowerCase();
|
|
807
876
|
const projectRoot = pathModule.resolve('.');
|
|
808
877
|
// Normalize to forward slashes for markdown links (Windows compat)
|
|
878
|
+
// Use '.' as fallback when skills are in project root (e.g. -o .)
|
|
809
879
|
const relSkillsDir = pathModule
|
|
810
880
|
.relative(projectRoot, destDir)
|
|
811
881
|
.split(pathModule.sep)
|
|
812
|
-
.join('/');
|
|
882
|
+
.join('/') || '.';
|
|
813
883
|
// Validate --agent value
|
|
814
884
|
const validAgents = ['claude', 'gemini', 'all'];
|
|
815
885
|
if (agentType && !validAgents.includes(agentType)) {
|
|
@@ -817,12 +887,10 @@ program
|
|
|
817
887
|
process.exit(1);
|
|
818
888
|
}
|
|
819
889
|
if (agentType === 'claude' || agentType === 'all') {
|
|
820
|
-
_generateClaudeConfig(projectRoot);
|
|
821
|
-
info('Generated .claude/ config for Claude Code');
|
|
890
|
+
_generateClaudeConfig(projectRoot, relSkillsDir);
|
|
822
891
|
}
|
|
823
892
|
if (agentType === 'gemini' || agentType === 'all') {
|
|
824
893
|
_generateGeminiConfig(projectRoot);
|
|
825
|
-
info('Generated gemini config');
|
|
826
894
|
}
|
|
827
895
|
// Always generate CONTEXT.md as the universal agent entry point
|
|
828
896
|
const created = _generateContextMd(projectRoot, relSkillsDir, skillDirs);
|
|
@@ -858,30 +926,35 @@ function _copyDirRecursive(src, dest) {
|
|
|
858
926
|
}
|
|
859
927
|
}
|
|
860
928
|
}
|
|
861
|
-
/** Generate .
|
|
862
|
-
function _generateClaudeConfig(projectRoot) {
|
|
863
|
-
const
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
}
|
|
872
|
-
catch {
|
|
873
|
-
// ignore parse errors
|
|
929
|
+
/** Generate CLAUDE.md referencing CONTEXT.md (Claude Code auto-loads CLAUDE.md) */
|
|
930
|
+
function _generateClaudeConfig(projectRoot, relSkillsDir) {
|
|
931
|
+
const claudeMdPath = pathModule.join(projectRoot, 'CLAUDE.md');
|
|
932
|
+
// Don't overwrite if already exists
|
|
933
|
+
if (fs.existsSync(claudeMdPath)) {
|
|
934
|
+
// Check if it already references CONTEXT.md
|
|
935
|
+
const existing = fs.readFileSync(claudeMdPath, 'utf-8');
|
|
936
|
+
if (existing.includes('CONTEXT.md')) {
|
|
937
|
+
info('CLAUDE.md already references CONTEXT.md, skipping');
|
|
938
|
+
return;
|
|
874
939
|
}
|
|
940
|
+
// Append GSK section to existing CLAUDE.md
|
|
941
|
+
const section = `\n\n## GSK CLI\n\nThis project uses the Genspark CLI. Follow [CONTEXT.md](CONTEXT.md) for available tools and usage rules.\n`;
|
|
942
|
+
fs.appendFileSync(claudeMdPath, section);
|
|
943
|
+
info('Appended GSK section to existing CLAUDE.md');
|
|
944
|
+
return;
|
|
875
945
|
}
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
946
|
+
const content = `# CLAUDE.md
|
|
947
|
+
|
|
948
|
+
## GSK CLI
|
|
949
|
+
|
|
950
|
+
This project uses the [Genspark CLI](https://www.genspark.ai) (\`gsk\`). Follow [CONTEXT.md](CONTEXT.md) for all available tools, flags, and usage rules.
|
|
951
|
+
|
|
952
|
+
Quick start: read [gsk-shared](${relSkillsDir}/gsk-shared/SKILL.md) for authentication and global flags.
|
|
953
|
+
`;
|
|
954
|
+
fs.writeFileSync(claudeMdPath, content);
|
|
955
|
+
info('Generated CLAUDE.md for Claude Code');
|
|
883
956
|
}
|
|
884
|
-
/** Generate gemini-extension.json pointing to CONTEXT.md
|
|
957
|
+
/** Generate gemini-extension.json pointing to CONTEXT.md */
|
|
885
958
|
function _generateGeminiConfig(projectRoot) {
|
|
886
959
|
const configPath = pathModule.join(projectRoot, 'gemini-extension.json');
|
|
887
960
|
// Merge with existing config if present
|
|
@@ -894,16 +967,20 @@ function _generateGeminiConfig(projectRoot) {
|
|
|
894
967
|
// ignore parse errors
|
|
895
968
|
}
|
|
896
969
|
}
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
970
|
+
// Use contextFileName (Gemini convention) to point to CONTEXT.md
|
|
971
|
+
// Clean up old fields from previous versions
|
|
972
|
+
delete config.systemInstruction;
|
|
973
|
+
delete config.contextFiles;
|
|
974
|
+
if (!config.name) {
|
|
975
|
+
config.name = 'gsk-cli';
|
|
900
976
|
}
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
977
|
+
if (!config.description) {
|
|
978
|
+
config.description =
|
|
979
|
+
'Genspark CLI tools for search, media generation, email, calendar, and more.';
|
|
904
980
|
}
|
|
905
|
-
config.
|
|
981
|
+
config.contextFileName = 'CONTEXT.md';
|
|
906
982
|
fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n');
|
|
983
|
+
info('Generated gemini-extension.json');
|
|
907
984
|
}
|
|
908
985
|
/** Generate CONTEXT.md as universal agent entry point. Returns true if created. */
|
|
909
986
|
function _generateContextMd(projectRoot, relSkillsDir, skillDirs) {
|
|
@@ -945,15 +1022,8 @@ ${skillList}
|
|
|
945
1022
|
// ============================================
|
|
946
1023
|
// Phone Call Command
|
|
947
1024
|
// ============================================
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
.description('Make an AI phone call on your behalf. Validates prerequisites, resolves contact info, and initiates the call.')
|
|
951
|
-
.argument('<recipient>', 'Name of the person or business to call')
|
|
952
|
-
.requiredOption('-c, --contact_info <value>', 'Phone number (e.g. +1-555-123-4567) or Google Maps place_id')
|
|
953
|
-
.option('--is_place_id', 'Treat contact_info as a Google Maps place_id (for businesses)', false)
|
|
954
|
-
.requiredOption('-p, --purpose <value>', "Purpose of the call (e.g. 'Check reservation availability')")
|
|
955
|
-
.option('--dry-run', 'Only validate and resolve contact info, do not initiate the call')
|
|
956
|
-
.action(async (recipient, opts) => {
|
|
1025
|
+
// Phone call action handler (shared by phone-call and hidden call alias)
|
|
1026
|
+
async function phoneCallAction(recipient, opts) {
|
|
957
1027
|
try {
|
|
958
1028
|
const client = createClient();
|
|
959
1029
|
if (opts.dryRun) {
|
|
@@ -1053,7 +1123,25 @@ program
|
|
|
1053
1123
|
logError(err.message);
|
|
1054
1124
|
process.exit(1);
|
|
1055
1125
|
}
|
|
1056
|
-
}
|
|
1126
|
+
}
|
|
1127
|
+
// Phone call option definitions (shared by phone-call and hidden call alias)
|
|
1128
|
+
function addPhoneCallOptions(cmd) {
|
|
1129
|
+
return cmd
|
|
1130
|
+
.argument('<recipient>', 'Name of the person or business to call')
|
|
1131
|
+
.requiredOption('-c, --contact_info <value>', 'Phone number (e.g. +1-555-123-4567) or Google Maps place_id')
|
|
1132
|
+
.option('--is_place_id', 'Treat contact_info as a Google Maps place_id (for businesses)', false)
|
|
1133
|
+
.requiredOption('-p, --purpose <value>', "Purpose of the call (e.g. 'Check reservation availability')")
|
|
1134
|
+
.option('--dry-run', 'Only validate and resolve contact info, do not initiate the call');
|
|
1135
|
+
}
|
|
1136
|
+
// Primary command: gsk phone-call (alias: call-for-me)
|
|
1137
|
+
addPhoneCallOptions(program
|
|
1138
|
+
.command('phone-call')
|
|
1139
|
+
.alias('call-for-me')
|
|
1140
|
+
.description('Make an AI phone call on your behalf. Validates prerequisites, resolves contact info, and initiates the call.')).action(phoneCallAction);
|
|
1141
|
+
// Hidden backward-compatible alias: gsk call
|
|
1142
|
+
addPhoneCallOptions(program
|
|
1143
|
+
.command('call', { hidden: true })
|
|
1144
|
+
.description('Alias for phone-call (deprecated)')).action(phoneCallAction);
|
|
1057
1145
|
// ============================================
|
|
1058
1146
|
// Dynamic Tool Registration & Startup
|
|
1059
1147
|
// ============================================
|
|
@@ -1101,8 +1189,11 @@ async function main() {
|
|
|
1101
1189
|
}
|
|
1102
1190
|
}
|
|
1103
1191
|
// Register dynamic tool commands
|
|
1192
|
+
// Skip phone_call — the hardcoded `call` command handles phone calls
|
|
1104
1193
|
if (tools) {
|
|
1105
1194
|
for (const tool of tools) {
|
|
1195
|
+
if (tool.name === 'phone_call')
|
|
1196
|
+
continue;
|
|
1106
1197
|
registerToolCommand(program, tool, createClient);
|
|
1107
1198
|
}
|
|
1108
1199
|
}
|