grok-cli-to-openai-compatible 1.2.3 → 1.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/migrate.js +3 -4
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/commands/seed.d.ts.map +1 -1
- package/dist/cli/commands/seed.js +6 -22
- package/dist/cli/commands/seed.js.map +1 -1
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +19 -34
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +31 -1
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/lib/run-prisma.d.ts +13 -0
- package/dist/cli/lib/run-prisma.d.ts.map +1 -0
- package/dist/cli/lib/run-prisma.js +99 -0
- package/dist/cli/lib/run-prisma.js.map +1 -0
- package/dist/cli/lib/seed-admin.d.ts +17 -0
- package/dist/cli/lib/seed-admin.d.ts.map +1 -0
- package/dist/cli/lib/seed-admin.js +87 -0
- package/dist/cli/lib/seed-admin.js.map +1 -0
- package/dist/services/grok-cli.service.d.ts.map +1 -1
- package/dist/services/grok-cli.service.js +9 -5
- package/dist/services/grok-cli.service.js.map +1 -1
- package/package.json +3 -3
- package/scripts/prepare.cjs +17 -12
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.cmdMigrate = cmdMigrate;
|
|
4
|
-
const node_child_process_1 = require("node:child_process");
|
|
5
4
|
const paths_1 = require("../lib/paths");
|
|
6
5
|
const env_file_1 = require("../lib/env-file");
|
|
6
|
+
const run_prisma_1 = require("../lib/run-prisma");
|
|
7
7
|
const print_1 = require("../lib/print");
|
|
8
8
|
async function cmdMigrate(opts) {
|
|
9
9
|
const paths = (0, paths_1.resolveRuntimePaths)({
|
|
@@ -12,10 +12,9 @@ async function cmdMigrate(opts) {
|
|
|
12
12
|
});
|
|
13
13
|
const env = (0, env_file_1.ensureEnvFile)(paths);
|
|
14
14
|
(0, env_file_1.loadEnvIntoProcess)(paths.envFile);
|
|
15
|
-
|
|
16
|
-
(0, node_child_process_1.execSync)('npx --yes prisma@6.5.0 migrate deploy', {
|
|
15
|
+
(0, run_prisma_1.runPrisma)(['migrate', 'deploy'], {
|
|
17
16
|
cwd: paths.packageRoot,
|
|
18
|
-
|
|
17
|
+
packageRoot: paths.packageRoot,
|
|
19
18
|
env: {
|
|
20
19
|
...process.env,
|
|
21
20
|
DATABASE_URL: env.DATABASE_URL || paths.databaseUrl,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate.ts"],"names":[],"mappings":";;AAKA,gCAoBC;AAzBD,
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate.ts"],"names":[],"mappings":";;AAKA,gCAoBC;AAzBD,wCAAmD;AACnD,8CAAoE;AACpE,kDAA8C;AAC9C,wCAAkC;AAE3B,KAAK,UAAU,UAAU,CAAC,IAGhC;IACC,MAAM,KAAK,GAAG,IAAA,2BAAmB,EAAC;QAChC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;KAChD,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,IAAA,wBAAa,EAAC,KAAK,CAAC,CAAC;IACjC,IAAA,6BAAkB,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAElC,IAAA,sBAAS,EAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;QAC/B,GAAG,EAAE,KAAK,CAAC,WAAW;QACtB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,GAAG,EAAE;YACH,GAAG,OAAO,CAAC,GAAG;YACd,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,KAAK,CAAC,WAAW;SACpD;KACF,CAAC,CAAC;IACH,IAAA,UAAE,EAAC,kBAAkB,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/seed.ts"],"names":[],"mappings":"AAKA,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/seed.ts"],"names":[],"mappings":"AAKA,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAchB"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.cmdSeed = cmdSeed;
|
|
4
|
-
const node_child_process_1 = require("node:child_process");
|
|
5
4
|
const paths_1 = require("../lib/paths");
|
|
6
5
|
const env_file_1 = require("../lib/env-file");
|
|
6
|
+
const seed_admin_1 = require("../lib/seed-admin");
|
|
7
7
|
const print_1 = require("../lib/print");
|
|
8
8
|
async function cmdSeed(opts) {
|
|
9
9
|
const paths = (0, paths_1.resolveRuntimePaths)({
|
|
@@ -12,27 +12,11 @@ async function cmdSeed(opts) {
|
|
|
12
12
|
});
|
|
13
13
|
const env = (0, env_file_1.ensureEnvFile)(paths);
|
|
14
14
|
(0, env_file_1.loadEnvIntoProcess)(paths.envFile);
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
21
|
-
try {
|
|
22
|
-
(0, node_child_process_1.execSync)('npx tsx prisma/seed.ts', {
|
|
23
|
-
cwd: paths.packageRoot,
|
|
24
|
-
stdio: 'inherit',
|
|
25
|
-
env: runEnv,
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
catch {
|
|
29
|
-
(0, print_1.warn)('tsx seed failed, trying prisma db seed…');
|
|
30
|
-
(0, node_child_process_1.execSync)('npx prisma db seed', {
|
|
31
|
-
cwd: paths.packageRoot,
|
|
32
|
-
stdio: 'inherit',
|
|
33
|
-
env: runEnv,
|
|
34
|
-
});
|
|
35
|
-
}
|
|
15
|
+
await (0, seed_admin_1.seedAdmin)({
|
|
16
|
+
databaseUrl: env.DATABASE_URL || paths.databaseUrl,
|
|
17
|
+
bootstrapKey: env.ADMIN_BOOTSTRAP_KEY,
|
|
18
|
+
port: env.PORT,
|
|
19
|
+
});
|
|
36
20
|
(0, print_1.ok)('Seed complete');
|
|
37
21
|
}
|
|
38
22
|
//# sourceMappingURL=seed.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../src/cli/commands/seed.ts"],"names":[],"mappings":";;AAKA,
|
|
1
|
+
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../src/cli/commands/seed.ts"],"names":[],"mappings":";;AAKA,0BAiBC;AAtBD,wCAAmD;AACnD,8CAAoE;AACpE,kDAA8C;AAC9C,wCAAkC;AAE3B,KAAK,UAAU,OAAO,CAAC,IAG7B;IACC,MAAM,KAAK,GAAG,IAAA,2BAAmB,EAAC;QAChC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;KAChD,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,IAAA,wBAAa,EAAC,KAAK,CAAC,CAAC;IACjC,IAAA,6BAAkB,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAElC,MAAM,IAAA,sBAAS,EAAC;QACd,WAAW,EAAE,GAAG,CAAC,YAAY,IAAI,KAAK,CAAC,WAAW;QAClD,YAAY,EAAE,GAAG,CAAC,mBAAmB;QACrC,IAAI,EAAE,GAAG,CAAC,IAAI;KACf,CAAC,CAAC;IACH,IAAA,UAAE,EAAC,eAAe,CAAC,CAAC;AACtB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"AAWA,wBAAsB,QAAQ,CAAC,IAAI,EAAE;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDhB"}
|
|
@@ -4,10 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.cmdSetup = cmdSetup;
|
|
7
|
-
const node_child_process_1 = require("node:child_process");
|
|
8
7
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
8
|
const paths_1 = require("../lib/paths");
|
|
10
9
|
const env_file_1 = require("../lib/env-file");
|
|
10
|
+
const run_prisma_1 = require("../lib/run-prisma");
|
|
11
|
+
const seed_admin_1 = require("../lib/seed-admin");
|
|
11
12
|
const print_1 = require("../lib/print");
|
|
12
13
|
async function cmdSetup(opts) {
|
|
13
14
|
const port = opts.port ?? paths_1.DEFAULT_PORT;
|
|
@@ -19,46 +20,30 @@ async function cmdSetup(opts) {
|
|
|
19
20
|
(0, print_1.info)(`Home: ${paths.home}`);
|
|
20
21
|
(0, paths_1.ensureHomeDirs)(paths);
|
|
21
22
|
const env = (0, env_file_1.ensureEnvFile)(paths, port);
|
|
23
|
+
const databaseUrl = env.DATABASE_URL || paths.databaseUrl;
|
|
24
|
+
const runEnv = {
|
|
25
|
+
...process.env,
|
|
26
|
+
DATABASE_URL: databaseUrl,
|
|
27
|
+
ENCRYPTION_KEY: env.ENCRYPTION_KEY,
|
|
28
|
+
PORT: env.PORT || String(port),
|
|
29
|
+
};
|
|
22
30
|
(0, print_1.info)('Running prisma migrate deploy…');
|
|
23
|
-
(0,
|
|
31
|
+
(0, run_prisma_1.runPrisma)(['migrate', 'deploy'], {
|
|
24
32
|
cwd: paths.packageRoot,
|
|
25
|
-
|
|
26
|
-
env:
|
|
27
|
-
...process.env,
|
|
28
|
-
DATABASE_URL: env.DATABASE_URL || paths.databaseUrl,
|
|
29
|
-
ENCRYPTION_KEY: env.ENCRYPTION_KEY,
|
|
30
|
-
},
|
|
33
|
+
packageRoot: paths.packageRoot,
|
|
34
|
+
env: runEnv,
|
|
31
35
|
});
|
|
32
36
|
(0, print_1.info)('Running seed…');
|
|
33
37
|
try {
|
|
34
|
-
(0,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
...process.env,
|
|
39
|
-
DATABASE_URL: env.DATABASE_URL || paths.databaseUrl,
|
|
40
|
-
ENCRYPTION_KEY: env.ENCRYPTION_KEY,
|
|
41
|
-
PORT: env.PORT || String(port),
|
|
42
|
-
},
|
|
38
|
+
await (0, seed_admin_1.seedAdmin)({
|
|
39
|
+
databaseUrl,
|
|
40
|
+
bootstrapKey: env.ADMIN_BOOTSTRAP_KEY,
|
|
41
|
+
port: env.PORT || port,
|
|
43
42
|
});
|
|
44
43
|
}
|
|
45
|
-
catch {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
(0, node_child_process_1.execSync)('node --import tsx prisma/seed.ts', {
|
|
49
|
-
cwd: paths.packageRoot,
|
|
50
|
-
stdio: 'inherit',
|
|
51
|
-
env: {
|
|
52
|
-
...process.env,
|
|
53
|
-
DATABASE_URL: env.DATABASE_URL || paths.databaseUrl,
|
|
54
|
-
ENCRYPTION_KEY: env.ENCRYPTION_KEY,
|
|
55
|
-
PORT: env.PORT || String(port),
|
|
56
|
-
},
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
catch {
|
|
60
|
-
(0, print_1.warn)('Seed failed — run: gctoac seed');
|
|
61
|
-
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
(0, print_1.warn)(`Seed failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
46
|
+
(0, print_1.warn)('Retry with: gctoac seed');
|
|
62
47
|
}
|
|
63
48
|
const urls = (0, print_1.baseUrls)(Number(env.PORT || port));
|
|
64
49
|
(0, print_1.ok)('Setup complete');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":";;;;;AAWA,4BAoDC;AA/DD,0DAA6B;AAC7B,wCAIsB;AACtB,8CAAgD;AAChD,kDAA8C;AAC9C,kDAA8C;AAC9C,wCAAwD;AAEjD,KAAK,UAAU,QAAQ,CAAC,IAI9B;IACC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,oBAAY,CAAC;IACvC,MAAM,KAAK,GAAG,IAAA,2BAAmB,EAAC;QAChC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;KAChD,CAAC,CAAC;IAEH,IAAA,YAAI,EAAC,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5B,IAAA,YAAI,EAAC,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5B,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,IAAA,wBAAa,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAEvC,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,IAAI,KAAK,CAAC,WAAW,CAAC;IAC1D,MAAM,MAAM,GAAG;QACb,GAAG,OAAO,CAAC,GAAG;QACd,YAAY,EAAE,WAAW;QACzB,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC;KAC/B,CAAC;IAEF,IAAA,YAAI,EAAC,gCAAgC,CAAC,CAAC;IACvC,IAAA,sBAAS,EAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;QAC/B,GAAG,EAAE,KAAK,CAAC,WAAW;QACtB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,GAAG,EAAE,MAAM;KACZ,CAAC,CAAC;IAEH,IAAA,YAAI,EAAC,eAAe,CAAC,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,IAAA,sBAAS,EAAC;YACd,WAAW;YACX,YAAY,EAAE,GAAG,CAAC,mBAAmB;YACrC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI;SACvB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAA,YAAI,EAAC,gBAAgB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzE,IAAA,YAAI,EAAC,yBAAyB,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,IAAI,GAAG,IAAA,gBAAQ,EAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;IAChD,IAAA,UAAE,EAAC,gBAAgB,CAAC,CAAC;IACrB,IAAA,YAAI,EAAC,EAAE,CAAC,CAAC;IACT,IAAA,YAAI,EAAC,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7B,IAAA,YAAI,EAAC,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/B,IAAA,YAAI,EAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAClC,IAAA,YAAI,EAAC,YAAY,mBAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;IAC3D,IAAA,YAAI,EAAC,EAAE,CAAC,CAAC;IACT,IAAA,YAAI,EAAC,oBAAoB,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AA0BA,wBAAsB,QAAQ,CAAC,IAAI,EAAE;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmEhB"}
|
|
@@ -7,8 +7,20 @@ exports.cmdStart = cmdStart;
|
|
|
7
7
|
const node_path_1 = __importDefault(require("node:path"));
|
|
8
8
|
const paths_1 = require("../lib/paths");
|
|
9
9
|
const env_file_1 = require("../lib/env-file");
|
|
10
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
10
11
|
const process_mgr_1 = require("../lib/process-mgr");
|
|
11
12
|
const print_1 = require("../lib/print");
|
|
13
|
+
function tailLog(file, maxLines = 30) {
|
|
14
|
+
try {
|
|
15
|
+
if (!node_fs_1.default.existsSync(file))
|
|
16
|
+
return '';
|
|
17
|
+
const lines = node_fs_1.default.readFileSync(file, 'utf8').split('\n');
|
|
18
|
+
return lines.slice(-maxLines).join('\n').trim();
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return '';
|
|
22
|
+
}
|
|
23
|
+
}
|
|
12
24
|
async function cmdStart(opts) {
|
|
13
25
|
const paths = (0, paths_1.resolveRuntimePaths)({
|
|
14
26
|
home: opts.home,
|
|
@@ -21,6 +33,9 @@ async function cmdStart(opts) {
|
|
|
21
33
|
process.exitCode = 1;
|
|
22
34
|
return;
|
|
23
35
|
}
|
|
36
|
+
if (existing && !(0, process_mgr_1.isProcessRunning)(existing)) {
|
|
37
|
+
(0, process_mgr_1.clearPid)(paths.pidFile);
|
|
38
|
+
}
|
|
24
39
|
const envFile = (0, env_file_1.ensureEnvFile)(paths, opts.port ?? paths_1.DEFAULT_PORT);
|
|
25
40
|
if (opts.port) {
|
|
26
41
|
envFile.PORT = String(opts.port);
|
|
@@ -47,11 +62,26 @@ async function cmdStart(opts) {
|
|
|
47
62
|
return;
|
|
48
63
|
}
|
|
49
64
|
const pid = (0, process_mgr_1.startDetached)(paths, env);
|
|
65
|
+
// Brief wait: catch immediate crash (e.g. missing deps / bad env)
|
|
66
|
+
await new Promise((r) => setTimeout(r, 800));
|
|
67
|
+
if (!(0, process_mgr_1.isProcessRunning)(pid)) {
|
|
68
|
+
(0, process_mgr_1.clearPid)(paths.pidFile);
|
|
69
|
+
const errLog = node_path_1.default.join(paths.logsDir, 'gctoac.err.log');
|
|
70
|
+
(0, print_1.fail)(`Server exited immediately (pid ${pid}).`);
|
|
71
|
+
(0, print_1.info)(` Logs: ${errLog}`);
|
|
72
|
+
const tail = tailLog(errLog);
|
|
73
|
+
if (tail) {
|
|
74
|
+
(0, print_1.info)('--- last error log ---');
|
|
75
|
+
console.error(tail);
|
|
76
|
+
(0, print_1.info)('----------------------');
|
|
77
|
+
}
|
|
78
|
+
process.exitCode = 1;
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
50
81
|
(0, print_1.ok)(`Started pid ${pid}`);
|
|
51
82
|
const urls = (0, print_1.baseUrls)(port);
|
|
52
83
|
(0, print_1.info)(` API: ${urls.api}`);
|
|
53
84
|
(0, print_1.info)(` Admin: ${urls.admin}`);
|
|
54
85
|
(0, print_1.info)(` Logs: ${node_path_1.default.join(paths.logsDir, 'gctoac.out.log')}`);
|
|
55
|
-
(0, print_1.warn)('First run? Ensure ENCRYPTION_KEY is set and gctoac setup was completed.');
|
|
56
86
|
}
|
|
57
87
|
//# sourceMappingURL=start.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Keep in sync with package.json prisma / @prisma/client version */
|
|
2
|
+
export declare const PRISMA_VERSION = "6.5.0";
|
|
3
|
+
/**
|
|
4
|
+
* Resolve the prisma CLI entry (node script), preferring local installs over npx.
|
|
5
|
+
* Order: packageRoot → cwd → require from this CLI package → null (caller may fall back).
|
|
6
|
+
*/
|
|
7
|
+
export declare function resolvePrismaEntry(packageRoot: string, cwd?: string): string | null;
|
|
8
|
+
export declare function runPrisma(args: string[], options: {
|
|
9
|
+
cwd: string;
|
|
10
|
+
packageRoot: string;
|
|
11
|
+
env?: NodeJS.ProcessEnv;
|
|
12
|
+
}): void;
|
|
13
|
+
//# sourceMappingURL=run-prisma.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-prisma.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/run-prisma.ts"],"names":[],"mappings":"AAKA,qEAAqE;AACrE,eAAO,MAAM,cAAc,UAAU,CAAC;AAkBtC;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,SAAgB,GAAG,MAAM,GAAG,IAAI,CAa1F;AAcD,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IACP,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GACA,IAAI,CA0CN"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.PRISMA_VERSION = void 0;
|
|
7
|
+
exports.resolvePrismaEntry = resolvePrismaEntry;
|
|
8
|
+
exports.runPrisma = runPrisma;
|
|
9
|
+
const node_child_process_1 = require("node:child_process");
|
|
10
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
11
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
12
|
+
const node_module_1 = require("node:module");
|
|
13
|
+
/** Keep in sync with package.json prisma / @prisma/client version */
|
|
14
|
+
exports.PRISMA_VERSION = '6.5.0';
|
|
15
|
+
const requireFromHere = (0, node_module_1.createRequire)(__filename);
|
|
16
|
+
function prismaEntryFromRoot(root) {
|
|
17
|
+
const direct = node_path_1.default.join(root, 'node_modules', 'prisma', 'build', 'index.js');
|
|
18
|
+
if (node_fs_1.default.existsSync(direct))
|
|
19
|
+
return direct;
|
|
20
|
+
try {
|
|
21
|
+
const req = (0, node_module_1.createRequire)(node_path_1.default.join(root, 'package.json'));
|
|
22
|
+
const pkgJson = req.resolve('prisma/package.json');
|
|
23
|
+
const entry = node_path_1.default.join(node_path_1.default.dirname(pkgJson), 'build', 'index.js');
|
|
24
|
+
if (node_fs_1.default.existsSync(entry))
|
|
25
|
+
return entry;
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
/* not installed under this root */
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Resolve the prisma CLI entry (node script), preferring local installs over npx.
|
|
34
|
+
* Order: packageRoot → cwd → require from this CLI package → null (caller may fall back).
|
|
35
|
+
*/
|
|
36
|
+
function resolvePrismaEntry(packageRoot, cwd = process.cwd()) {
|
|
37
|
+
for (const root of [packageRoot, cwd]) {
|
|
38
|
+
const entry = prismaEntryFromRoot(root);
|
|
39
|
+
if (entry)
|
|
40
|
+
return entry;
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
const pkgJson = requireFromHere.resolve('prisma/package.json');
|
|
44
|
+
const entry = node_path_1.default.join(node_path_1.default.dirname(pkgJson), 'build', 'index.js');
|
|
45
|
+
if (node_fs_1.default.existsSync(entry))
|
|
46
|
+
return entry;
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
/* prisma not a dependency of the running CLI */
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
function which(cmd) {
|
|
54
|
+
const paths = (process.env.PATH || '').split(node_path_1.default.delimiter);
|
|
55
|
+
const exts = process.platform === 'win32' ? ['.cmd', '.exe', '.bat', ''] : [''];
|
|
56
|
+
for (const dir of paths) {
|
|
57
|
+
for (const ext of exts) {
|
|
58
|
+
const p = node_path_1.default.join(dir, cmd + ext);
|
|
59
|
+
if (node_fs_1.default.existsSync(p))
|
|
60
|
+
return p;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
function runPrisma(args, options) {
|
|
66
|
+
const env = { ...process.env, ...options.env };
|
|
67
|
+
const entry = resolvePrismaEntry(options.packageRoot, options.cwd);
|
|
68
|
+
if (entry) {
|
|
69
|
+
(0, node_child_process_1.execFileSync)(process.execPath, [entry, ...args], {
|
|
70
|
+
cwd: options.cwd,
|
|
71
|
+
stdio: 'inherit',
|
|
72
|
+
env,
|
|
73
|
+
});
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
// Fallbacks when prisma is not installed locally (older global installs)
|
|
77
|
+
const npmBin = which('npm');
|
|
78
|
+
if (npmBin) {
|
|
79
|
+
try {
|
|
80
|
+
(0, node_child_process_1.execFileSync)(npmBin, ['exec', '--yes', `--package=prisma@${exports.PRISMA_VERSION}`, '--', 'prisma', ...args], { cwd: options.cwd, stdio: 'inherit', env });
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
/* try npx next */
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
const npxBin = which('npx');
|
|
88
|
+
if (npxBin) {
|
|
89
|
+
(0, node_child_process_1.execFileSync)(npxBin, ['--yes', `prisma@${exports.PRISMA_VERSION}`, ...args], {
|
|
90
|
+
cwd: options.cwd,
|
|
91
|
+
stdio: 'inherit',
|
|
92
|
+
env,
|
|
93
|
+
});
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
throw new Error(`Prisma CLI not found. Reinstall: npm install -g grok-cli-to-openai-compatible\n` +
|
|
97
|
+
`Or in this project: npm install && npx prisma@${exports.PRISMA_VERSION} ${args.join(' ')}`);
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=run-prisma.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-prisma.js","sourceRoot":"","sources":["../../../src/cli/lib/run-prisma.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface SeedAdminResult {
|
|
2
|
+
created: boolean;
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
keyPrefix: string;
|
|
6
|
+
/** Plaintext only when a new key was created */
|
|
7
|
+
rawKey?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Seed bootstrap admin API key using PrismaClient directly (no tsx / npx).
|
|
11
|
+
*/
|
|
12
|
+
export declare function seedAdmin(options?: {
|
|
13
|
+
databaseUrl?: string;
|
|
14
|
+
bootstrapKey?: string;
|
|
15
|
+
port?: string | number;
|
|
16
|
+
}): Promise<SeedAdminResult>;
|
|
17
|
+
//# sourceMappingURL=seed-admin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seed-admin.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/seed-admin.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,CAAC,EAAE;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,eAAe,CAAC,CA6E3B"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.seedAdmin = seedAdmin;
|
|
4
|
+
const node_crypto_1 = require("node:crypto");
|
|
5
|
+
const client_1 = require("@prisma/client");
|
|
6
|
+
function createApiKeySecret() {
|
|
7
|
+
return `gk_live_${(0, node_crypto_1.randomBytes)(24).toString('base64url')}`;
|
|
8
|
+
}
|
|
9
|
+
function hashApiKey(rawKey) {
|
|
10
|
+
return (0, node_crypto_1.createHash)('sha256').update(rawKey, 'utf8').digest('hex');
|
|
11
|
+
}
|
|
12
|
+
function apiKeyPrefix(rawKey) {
|
|
13
|
+
return rawKey.slice(0, 16);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Seed bootstrap admin API key using PrismaClient directly (no tsx / npx).
|
|
17
|
+
*/
|
|
18
|
+
async function seedAdmin(options) {
|
|
19
|
+
const databaseUrl = options?.databaseUrl || process.env.DATABASE_URL;
|
|
20
|
+
if (!databaseUrl) {
|
|
21
|
+
throw new Error('DATABASE_URL is required for seed');
|
|
22
|
+
}
|
|
23
|
+
const prisma = new client_1.PrismaClient({
|
|
24
|
+
datasources: { db: { url: databaseUrl } },
|
|
25
|
+
});
|
|
26
|
+
try {
|
|
27
|
+
const existingAdmin = await prisma.apiKey.findFirst({
|
|
28
|
+
where: { role: 'admin', isActive: true },
|
|
29
|
+
});
|
|
30
|
+
if (existingAdmin) {
|
|
31
|
+
await prisma.apiKey.update({
|
|
32
|
+
where: { id: existingAdmin.id },
|
|
33
|
+
data: { mode: 'agent' },
|
|
34
|
+
});
|
|
35
|
+
const port = String(options?.port ?? process.env.PORT ?? '3847');
|
|
36
|
+
console.log('Admin API key already exists:');
|
|
37
|
+
console.log(` id: ${existingAdmin.id}`);
|
|
38
|
+
console.log(` name: ${existingAdmin.name}`);
|
|
39
|
+
console.log(` prefix: ${existingAdmin.keyPrefix}`);
|
|
40
|
+
console.log(' mode: agent (ensured)');
|
|
41
|
+
console.log(`Admin panel: http://127.0.0.1:${port}/admin/`);
|
|
42
|
+
console.log('Plaintext key is not recoverable. Create a new admin key via API if needed.');
|
|
43
|
+
return {
|
|
44
|
+
created: false,
|
|
45
|
+
id: existingAdmin.id,
|
|
46
|
+
name: existingAdmin.name,
|
|
47
|
+
keyPrefix: existingAdmin.keyPrefix,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const rawKey = options?.bootstrapKey?.trim() ||
|
|
51
|
+
process.env.ADMIN_BOOTSTRAP_KEY?.trim() ||
|
|
52
|
+
createApiKeySecret();
|
|
53
|
+
const keyHash = hashApiKey(rawKey);
|
|
54
|
+
const prefix = apiKeyPrefix(rawKey);
|
|
55
|
+
const created = await prisma.apiKey.create({
|
|
56
|
+
data: {
|
|
57
|
+
id: (0, node_crypto_1.randomUUID)(),
|
|
58
|
+
name: 'bootstrap-admin',
|
|
59
|
+
keyPrefix: prefix,
|
|
60
|
+
keyHash,
|
|
61
|
+
role: 'admin',
|
|
62
|
+
mode: 'agent',
|
|
63
|
+
rateLimit: 120,
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
const port = String(options?.port ?? process.env.PORT ?? '3847');
|
|
67
|
+
console.log('Created bootstrap admin API key (store it securely — shown once):');
|
|
68
|
+
console.log(` id: ${created.id}`);
|
|
69
|
+
console.log(` key: ${rawKey}`);
|
|
70
|
+
console.log('');
|
|
71
|
+
console.log(`Admin panel: http://127.0.0.1:${port}/admin/`);
|
|
72
|
+
console.log('CLI: gctoac start | gctoac status | gctoac open');
|
|
73
|
+
console.log('API example:');
|
|
74
|
+
console.log(` curl -s http://127.0.0.1:${port}/admin/api/me -H "Authorization: Bearer ${rawKey}"`);
|
|
75
|
+
return {
|
|
76
|
+
created: true,
|
|
77
|
+
id: created.id,
|
|
78
|
+
name: created.name,
|
|
79
|
+
keyPrefix: created.keyPrefix,
|
|
80
|
+
rawKey,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
finally {
|
|
84
|
+
await prisma.$disconnect();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=seed-admin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seed-admin.js","sourceRoot":"","sources":["../../../src/cli/lib/seed-admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grok-cli.service.d.ts","sourceRoot":"","sources":["../../src/services/grok-cli.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"grok-cli.service.d.ts","sourceRoot":"","sources":["../../src/services/grok-cli.service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,eAAe,EAChB,MAAM,8BAA8B,CAAC;AAItC,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAK;IAEnB,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,UAAU,IAAI,OAAO;IAQrB,OAAO,IAAI,IAAI;IAIf,SAAS,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,EAAE;IAuCtC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAuDvD,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc,CAAC,eAAe,CAAC;IAiDjE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAY/B,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAgB5C,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAW3C,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc;IAwB/C,OAAO,CAAC,YAAY;CASrB;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.grokCliService = exports.GrokCliService = void 0;
|
|
4
7
|
const node_readline_1 = require("node:readline");
|
|
5
|
-
|
|
8
|
+
// execa@5 is CJS-compatible (v8+ is ESM-only and breaks CommonJS dist/)
|
|
9
|
+
const execa_1 = __importDefault(require("execa"));
|
|
6
10
|
const env_1 = require("../config/env");
|
|
7
11
|
const exception_factory_1 = require("../exceptions/exception.factory");
|
|
8
12
|
const logger_1 = require("../utils/logger");
|
|
@@ -68,7 +72,7 @@ class GrokCliService {
|
|
|
68
72
|
toolsDenylist: options.toolsDenylist ? '[set]' : null,
|
|
69
73
|
}, 'Spawning grok');
|
|
70
74
|
try {
|
|
71
|
-
const result = await (0, execa_1.
|
|
75
|
+
const result = await (0, execa_1.default)(env_1.env.GROK_BIN, args, {
|
|
72
76
|
timeout,
|
|
73
77
|
reject: false,
|
|
74
78
|
env: this.sanitizedEnv(),
|
|
@@ -100,7 +104,7 @@ class GrokCliService {
|
|
|
100
104
|
async *stream(options) {
|
|
101
105
|
const args = this.buildArgs({ ...options, stream: true });
|
|
102
106
|
const timeout = options.timeoutMs ?? env_1.env.GROK_TIMEOUT_MS;
|
|
103
|
-
const proc = (0, execa_1.
|
|
107
|
+
const proc = (0, execa_1.default)(env_1.env.GROK_BIN, args, {
|
|
104
108
|
timeout,
|
|
105
109
|
reject: false,
|
|
106
110
|
env: this.sanitizedEnv(),
|
|
@@ -144,7 +148,7 @@ class GrokCliService {
|
|
|
144
148
|
}
|
|
145
149
|
async isAvailable() {
|
|
146
150
|
try {
|
|
147
|
-
const result = await (0, execa_1.
|
|
151
|
+
const result = await (0, execa_1.default)(env_1.env.GROK_BIN, ['--version'], {
|
|
148
152
|
timeout: 10_000,
|
|
149
153
|
reject: false,
|
|
150
154
|
});
|
|
@@ -156,7 +160,7 @@ class GrokCliService {
|
|
|
156
160
|
}
|
|
157
161
|
async listModelsFromCli() {
|
|
158
162
|
try {
|
|
159
|
-
const result = await (0, execa_1.
|
|
163
|
+
const result = await (0, execa_1.default)(env_1.env.GROK_BIN, ['models'], {
|
|
160
164
|
timeout: 30_000,
|
|
161
165
|
reject: false,
|
|
162
166
|
env: this.sanitizedEnv(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grok-cli.service.js","sourceRoot":"","sources":["../../src/services/grok-cli.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"grok-cli.service.js","sourceRoot":"","sources":["../../src/services/grok-cli.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "grok-cli-to-openai-compatible",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.5",
|
|
4
4
|
"description": "OpenAI-compatible API gateway for Grok CLI — with Admin panel, safe mode, and gctoac CLI",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"grok",
|
|
@@ -63,13 +63,14 @@
|
|
|
63
63
|
"commander": "^13.1.0",
|
|
64
64
|
"cors": "^2.8.5",
|
|
65
65
|
"dotenv": "^16.4.7",
|
|
66
|
-
"execa": "
|
|
66
|
+
"execa": "5.1.1",
|
|
67
67
|
"express": "^4.21.2",
|
|
68
68
|
"express-rate-limit": "^7.5.0",
|
|
69
69
|
"helmet": "^8.0.0",
|
|
70
70
|
"multer": "^1.4.5-lts.1",
|
|
71
71
|
"pino": "^9.6.0",
|
|
72
72
|
"pino-http": "^10.4.0",
|
|
73
|
+
"prisma": "6.5.0",
|
|
73
74
|
"zod": "^3.24.2"
|
|
74
75
|
},
|
|
75
76
|
"devDependencies": {
|
|
@@ -79,7 +80,6 @@
|
|
|
79
80
|
"@types/node": "^22.13.10",
|
|
80
81
|
"@vitest/coverage-v8": "^3.0.9",
|
|
81
82
|
"pino-pretty": "^13.0.0",
|
|
82
|
-
"prisma": "6.5.0",
|
|
83
83
|
"tsx": "^4.19.3",
|
|
84
84
|
"typescript": "^5.8.2",
|
|
85
85
|
"vitest": "^3.0.9"
|
package/scripts/prepare.cjs
CHANGED
|
@@ -72,20 +72,25 @@ const schema = path.join(root, 'prisma', 'schema.prisma');
|
|
|
72
72
|
if (fs.existsSync(schema)) {
|
|
73
73
|
log('Generating Prisma client for this platform…');
|
|
74
74
|
try {
|
|
75
|
-
const
|
|
76
|
-
if (
|
|
77
|
-
|
|
78
|
-
run(npmBin, [
|
|
79
|
-
'exec',
|
|
80
|
-
'--yes',
|
|
81
|
-
'--package=prisma@6.5.0',
|
|
82
|
-
'--',
|
|
83
|
-
'prisma',
|
|
84
|
-
'generate',
|
|
85
|
-
]);
|
|
75
|
+
const localPrisma = path.join(root, 'node_modules', 'prisma', 'build', 'index.js');
|
|
76
|
+
if (fs.existsSync(localPrisma)) {
|
|
77
|
+
run(process.execPath, [localPrisma, 'generate']);
|
|
86
78
|
log('Prisma client ready');
|
|
87
79
|
} else {
|
|
88
|
-
|
|
80
|
+
const npmBin = which('npm');
|
|
81
|
+
if (npmBin) {
|
|
82
|
+
run(npmBin, [
|
|
83
|
+
'exec',
|
|
84
|
+
'--yes',
|
|
85
|
+
'--package=prisma@6.5.0',
|
|
86
|
+
'--',
|
|
87
|
+
'prisma',
|
|
88
|
+
'generate',
|
|
89
|
+
]);
|
|
90
|
+
log('Prisma client ready');
|
|
91
|
+
} else {
|
|
92
|
+
warn('prisma CLI not found — skip generate (run: npm install)');
|
|
93
|
+
}
|
|
89
94
|
}
|
|
90
95
|
} catch (e) {
|
|
91
96
|
warn(`prisma generate failed: ${e instanceof Error ? e.message : e}`);
|