@genspark/cli 1.0.1
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 +474 -0
- package/dist/client.d.ts +35 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +202 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +40 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +116 -0
- package/dist/config.js.map +1 -0
- package/dist/formatter.d.ts +13 -0
- package/dist/formatter.d.ts.map +1 -0
- package/dist/formatter.js +68 -0
- package/dist/formatter.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +613 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +31 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +63 -0
- package/dist/logger.js.map +1 -0
- package/dist/types.d.ts +65 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/dist/updater.d.ts +15 -0
- package/dist/updater.d.ts.map +1 -0
- package/dist/updater.js +130 -0
- package/dist/updater.js.map +1 -0
- package/package.json +46 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEtD;AAED,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE7D;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAI/D;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAE9D;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAE9D;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAE/D;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAU1C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAE9C"}
|
package/dist/logger.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger utility - outputs debug/info to stderr, results to stdout
|
|
3
|
+
*/
|
|
4
|
+
import { formatAsMarkdown } from "./formatter.js";
|
|
5
|
+
let debugEnabled = false;
|
|
6
|
+
let outputFormat = "json";
|
|
7
|
+
export function setDebugEnabled(enabled) {
|
|
8
|
+
debugEnabled = enabled;
|
|
9
|
+
}
|
|
10
|
+
export function isDebugEnabled() {
|
|
11
|
+
return debugEnabled;
|
|
12
|
+
}
|
|
13
|
+
export function setOutputFormat(format) {
|
|
14
|
+
outputFormat = format;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Log debug message to stderr (only when debug is enabled)
|
|
18
|
+
*/
|
|
19
|
+
export function debug(message, ...args) {
|
|
20
|
+
if (debugEnabled) {
|
|
21
|
+
console.error(`[DEBUG] ${message}`, ...args);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Log info message to stderr
|
|
26
|
+
*/
|
|
27
|
+
export function info(message, ...args) {
|
|
28
|
+
console.error(`[INFO] ${message}`, ...args);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Log warning message to stderr
|
|
32
|
+
*/
|
|
33
|
+
export function warn(message, ...args) {
|
|
34
|
+
console.error(`[WARN] ${message}`, ...args);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Log error message to stderr
|
|
38
|
+
*/
|
|
39
|
+
export function error(message, ...args) {
|
|
40
|
+
console.error(`[ERROR] ${message}`, ...args);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Output final result to stdout (this goes to AI agent context)
|
|
44
|
+
*/
|
|
45
|
+
export function output(data) {
|
|
46
|
+
if (outputFormat === "text") {
|
|
47
|
+
console.log(formatAsMarkdown(data));
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (typeof data === "string") {
|
|
51
|
+
console.log(data);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
console.log(JSON.stringify(data, null, 2));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Output raw JSON to stdout (compact, for machine consumption)
|
|
59
|
+
*/
|
|
60
|
+
export function outputJson(data) {
|
|
61
|
+
console.log(JSON.stringify(data));
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB,IAAI,YAAY,GAAoB,MAAM,CAAC;AAE3C,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,YAAY,GAAG,OAAO,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAuB;IACrD,YAAY,GAAG,MAAM,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;IACvD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;IACtD,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;IACtD,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;IACvD,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,IAAa;IAClC,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACpC,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for Genspark Tool CLI
|
|
3
|
+
*/
|
|
4
|
+
export interface GlobalOptions {
|
|
5
|
+
apiKey?: string;
|
|
6
|
+
baseUrl: string;
|
|
7
|
+
debug: boolean;
|
|
8
|
+
timeout: number;
|
|
9
|
+
output: "json" | "text";
|
|
10
|
+
projectId?: string;
|
|
11
|
+
refresh?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface ApiResponse<T = unknown> {
|
|
14
|
+
status: "ok" | "error";
|
|
15
|
+
message: string;
|
|
16
|
+
data: T | null;
|
|
17
|
+
session_state?: Record<string, unknown> | null;
|
|
18
|
+
}
|
|
19
|
+
export interface ToolParameter {
|
|
20
|
+
type: string | string[];
|
|
21
|
+
description?: string;
|
|
22
|
+
enum?: string[];
|
|
23
|
+
items?: {
|
|
24
|
+
type: string;
|
|
25
|
+
};
|
|
26
|
+
default?: unknown;
|
|
27
|
+
}
|
|
28
|
+
export interface ToolSchema {
|
|
29
|
+
name: string;
|
|
30
|
+
description: string;
|
|
31
|
+
requires_project: boolean;
|
|
32
|
+
parameters: {
|
|
33
|
+
type: "object";
|
|
34
|
+
properties: Record<string, ToolParameter>;
|
|
35
|
+
required?: string[];
|
|
36
|
+
};
|
|
37
|
+
cli: {
|
|
38
|
+
aliases: string[];
|
|
39
|
+
primary_arg?: string | null;
|
|
40
|
+
parameter_aliases?: Record<string, string>;
|
|
41
|
+
output_file_keys?: string[];
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export interface ToolListResponse {
|
|
45
|
+
tools: ToolSchema[];
|
|
46
|
+
}
|
|
47
|
+
export interface FileUploadUrlRequest {
|
|
48
|
+
content_type: string;
|
|
49
|
+
name?: string;
|
|
50
|
+
project_id?: string;
|
|
51
|
+
}
|
|
52
|
+
export interface FileUploadUrlResponse {
|
|
53
|
+
upload_url: string;
|
|
54
|
+
file_wrapper_url: string;
|
|
55
|
+
}
|
|
56
|
+
export interface FileDownloadRequest {
|
|
57
|
+
file_wrapper_url: string;
|
|
58
|
+
}
|
|
59
|
+
export interface FileDownloadResponse {
|
|
60
|
+
download_url: string;
|
|
61
|
+
file_name?: string;
|
|
62
|
+
content_type?: string;
|
|
63
|
+
original_url: string;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +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,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAChD;AAGD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC1C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,GAAG,EAAE;QACH,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC7B,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAGD,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAGD,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-updater for Genspark Tool CLI
|
|
3
|
+
*
|
|
4
|
+
* Checks npm registry for newer versions and auto-updates.
|
|
5
|
+
* Controlled by:
|
|
6
|
+
* - GSK_NO_AUTO_UPDATE=1 env var to disable
|
|
7
|
+
* - "auto_update": false in config file
|
|
8
|
+
* - Checks at most once every 4 hours (cached in ~/.genspark-tool-cli/update-meta.json)
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Check for updates and auto-install if a newer version is available.
|
|
12
|
+
* Safe to call — failures never block CLI execution.
|
|
13
|
+
*/
|
|
14
|
+
export declare function checkForUpdates(currentVersion: string): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=updater.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA+FH;;;GAGG;AACH,wBAAsB,eAAe,CACnC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CA4Cf"}
|
package/dist/updater.js
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-updater for Genspark Tool CLI
|
|
3
|
+
*
|
|
4
|
+
* Checks npm registry for newer versions and auto-updates.
|
|
5
|
+
* Controlled by:
|
|
6
|
+
* - GSK_NO_AUTO_UPDATE=1 env var to disable
|
|
7
|
+
* - "auto_update": false in config file
|
|
8
|
+
* - Checks at most once every 4 hours (cached in ~/.genspark-tool-cli/update-meta.json)
|
|
9
|
+
*/
|
|
10
|
+
import * as fs from "fs";
|
|
11
|
+
import * as path from "path";
|
|
12
|
+
import * as os from "os";
|
|
13
|
+
import { spawn } from "child_process";
|
|
14
|
+
import { debug, info } from "./logger.js";
|
|
15
|
+
import { loadConfigFile } from "./config.js";
|
|
16
|
+
const PACKAGE_NAME = "@genspark/cli";
|
|
17
|
+
const CONFIG_DIR = path.join(os.homedir(), ".genspark-tool-cli");
|
|
18
|
+
const UPDATE_META_FILE = path.join(CONFIG_DIR, "update-meta.json");
|
|
19
|
+
const CHECK_INTERVAL_MS = 4 * 60 * 60 * 1000; // 4 hours
|
|
20
|
+
/**
|
|
21
|
+
* Compare two semver strings (a.b.c format).
|
|
22
|
+
* Returns: positive if a > b, negative if a < b, 0 if equal.
|
|
23
|
+
*/
|
|
24
|
+
function compareSemver(a, b) {
|
|
25
|
+
const pa = a.split(".").map(Number);
|
|
26
|
+
const pb = b.split(".").map(Number);
|
|
27
|
+
for (let i = 0; i < 3; i++) {
|
|
28
|
+
const diff = (pa[i] || 0) - (pb[i] || 0);
|
|
29
|
+
if (diff !== 0)
|
|
30
|
+
return diff;
|
|
31
|
+
}
|
|
32
|
+
return 0;
|
|
33
|
+
}
|
|
34
|
+
function loadUpdateMeta() {
|
|
35
|
+
try {
|
|
36
|
+
if (!fs.existsSync(UPDATE_META_FILE))
|
|
37
|
+
return null;
|
|
38
|
+
return JSON.parse(fs.readFileSync(UPDATE_META_FILE, "utf-8"));
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function saveUpdateMeta(meta) {
|
|
45
|
+
try {
|
|
46
|
+
if (!fs.existsSync(CONFIG_DIR)) {
|
|
47
|
+
fs.mkdirSync(CONFIG_DIR, { recursive: true });
|
|
48
|
+
}
|
|
49
|
+
fs.writeFileSync(UPDATE_META_FILE, JSON.stringify(meta, null, 2), "utf-8");
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// Silently ignore write errors
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
async function fetchLatestVersion() {
|
|
56
|
+
try {
|
|
57
|
+
const controller = new AbortController();
|
|
58
|
+
const timeout = setTimeout(() => controller.abort(), 5000);
|
|
59
|
+
const resp = await fetch(`https://registry.npmjs.org/${PACKAGE_NAME}/latest`, { signal: controller.signal });
|
|
60
|
+
clearTimeout(timeout);
|
|
61
|
+
if (!resp.ok)
|
|
62
|
+
return null;
|
|
63
|
+
const data = (await resp.json());
|
|
64
|
+
return data.version || null;
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function performUpdate(version) {
|
|
71
|
+
// Validate version string to prevent command injection
|
|
72
|
+
const safeVersionPattern = /^[0-9A-Za-z._\-+]+$/;
|
|
73
|
+
if (!safeVersionPattern.test(version)) {
|
|
74
|
+
debug(`Refusing to auto-update due to unsafe version string: ${version}`);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
info(`Installing ${PACKAGE_NAME}@${version} in the background...`);
|
|
78
|
+
// Spawn detached process so it doesn't block CLI execution.
|
|
79
|
+
// shell: true is needed for Windows where npm is npm.cmd.
|
|
80
|
+
const child = spawn("npm", ["install", "-g", `${PACKAGE_NAME}@${version}`], { stdio: "ignore", detached: true, shell: true });
|
|
81
|
+
child.on("error", () => {
|
|
82
|
+
// Silently ignore — update is best-effort
|
|
83
|
+
});
|
|
84
|
+
child.unref();
|
|
85
|
+
info(`Update to v${version} will take effect on next invocation.`);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Check for updates and auto-install if a newer version is available.
|
|
89
|
+
* Safe to call — failures never block CLI execution.
|
|
90
|
+
*/
|
|
91
|
+
export async function checkForUpdates(currentVersion) {
|
|
92
|
+
// Check if auto-update is disabled via env var
|
|
93
|
+
if (process.env.GSK_NO_AUTO_UPDATE === "1") {
|
|
94
|
+
debug("Auto-update disabled via GSK_NO_AUTO_UPDATE");
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
// Check if auto-update is disabled via config file
|
|
98
|
+
const config = loadConfigFile();
|
|
99
|
+
if (config.auto_update === false) {
|
|
100
|
+
debug("Auto-update disabled via config file");
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
// Check throttle — at most once per CHECK_INTERVAL_MS
|
|
104
|
+
const meta = loadUpdateMeta();
|
|
105
|
+
if (meta?.last_check) {
|
|
106
|
+
const elapsed = Date.now() - new Date(meta.last_check).getTime();
|
|
107
|
+
if (elapsed < CHECK_INTERVAL_MS) {
|
|
108
|
+
debug(`Skipping update check (last check ${Math.round(elapsed / 60000)}m ago)`);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// Fetch latest version from npm
|
|
113
|
+
const latestVersion = await fetchLatestVersion();
|
|
114
|
+
saveUpdateMeta({
|
|
115
|
+
last_check: new Date().toISOString(),
|
|
116
|
+
latest_version: latestVersion || undefined,
|
|
117
|
+
});
|
|
118
|
+
if (!latestVersion) {
|
|
119
|
+
debug("Could not fetch latest version from npm");
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
if (compareSemver(latestVersion, currentVersion) > 0) {
|
|
123
|
+
debug(`New version available: v${latestVersion} (current: v${currentVersion})`);
|
|
124
|
+
performUpdate(latestVersion);
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
debug(`Up to date (v${currentVersion})`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=updater.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updater.js","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,YAAY,GAAG,eAAe,CAAC;AACrC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,oBAAoB,CAAC,CAAC;AACjE,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;AACnE,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,UAAU;AAOxD;;;GAGG;AACH,SAAS,aAAa,CAAC,CAAS,EAAE,CAAS;IACzC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;IAC9B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,cAAc;IACrB,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC;YAAE,OAAO,IAAI,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAgB;IACtC,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,+BAA+B;IACjC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAE3D,MAAM,IAAI,GAAG,MAAM,KAAK,CACtB,8BAA8B,YAAY,SAAS,EACnD,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAC9B,CAAC;QACF,YAAY,CAAC,OAAO,CAAC,CAAC;QAEtB,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAC1B,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAyB,CAAC;QACzD,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,uDAAuD;IACvD,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;IACjD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,yDAAyD,OAAO,EAAE,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,IAAI,CAAC,cAAc,YAAY,IAAI,OAAO,uBAAuB,CAAC,CAAC;IACnE,4DAA4D;IAC5D,0DAA0D;IAC1D,MAAM,KAAK,GAAG,KAAK,CACjB,KAAK,EACL,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,YAAY,IAAI,OAAO,EAAE,CAAC,EAC/C,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CACjD,CAAC;IACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,0CAA0C;IAC5C,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,IAAI,CAAC,cAAc,OAAO,uCAAuC,CAAC,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,cAAsB;IAEtB,+CAA+C;IAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG,EAAE,CAAC;QAC3C,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,mDAAmD;IACnD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QACjC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,sDAAsD;IACtD,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;QACjE,IAAI,OAAO,GAAG,iBAAiB,EAAE,CAAC;YAChC,KAAK,CACH,qCAAqC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CACzE,CAAC;YACF,OAAO;QACT,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,MAAM,aAAa,GAAG,MAAM,kBAAkB,EAAE,CAAC;IACjD,cAAc,CAAC;QACb,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,cAAc,EAAE,aAAa,IAAI,SAAS;KAC3C,CAAC,CAAC;IAEH,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACjD,OAAO;IACT,CAAC;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,KAAK,CAAC,2BAA2B,aAAa,eAAe,cAAc,GAAG,CAAC,CAAC;QAChF,aAAa,CAAC,aAAa,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,gBAAgB,cAAc,GAAG,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@genspark/cli",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "CLI tool for Genspark Tool API - search, crawl, analyze images, generate media",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"genspark": "./dist/index.js",
|
|
9
|
+
"gsk": "./dist/index.js"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"dist/",
|
|
13
|
+
"README.md"
|
|
14
|
+
],
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "tsc",
|
|
17
|
+
"dev": "ts-node src/index.ts",
|
|
18
|
+
"start": "node dist/index.js",
|
|
19
|
+
"lint": "eslint src/**/*.ts",
|
|
20
|
+
"clean": "rm -rf dist",
|
|
21
|
+
"prepublishOnly": "npm run clean && npm run build"
|
|
22
|
+
},
|
|
23
|
+
"keywords": [
|
|
24
|
+
"genspark",
|
|
25
|
+
"cli",
|
|
26
|
+
"ai",
|
|
27
|
+
"search",
|
|
28
|
+
"image-generation",
|
|
29
|
+
"video-generation"
|
|
30
|
+
],
|
|
31
|
+
"author": "Genspark",
|
|
32
|
+
"license": "MIT",
|
|
33
|
+
"publishConfig": {
|
|
34
|
+
"access": "public"
|
|
35
|
+
},
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"commander": "^12.1.0"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@types/node": "^20.11.0",
|
|
41
|
+
"typescript": "^5.3.3"
|
|
42
|
+
},
|
|
43
|
+
"engines": {
|
|
44
|
+
"node": ">=18.0.0"
|
|
45
|
+
}
|
|
46
|
+
}
|