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.
@@ -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
- // Use npx so prisma CLI need not be a runtime dependency (avoids broken global installs)
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
- stdio: 'inherit',
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,2DAA8C;AAC9C,wCAAmD;AACnD,8CAAoE;AACpE,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;IAClC,yFAAyF;IACzF,IAAA,6BAAQ,EAAC,uCAAuC,EAAE;QAChD,GAAG,EAAE,KAAK,CAAC,WAAW;QACtB,KAAK,EAAE,SAAS;QAChB,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
+ {"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,CA4BhB"}
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
- const runEnv = {
16
- ...process.env,
17
- DATABASE_URL: env.DATABASE_URL || paths.databaseUrl,
18
- ENCRYPTION_KEY: env.ENCRYPTION_KEY,
19
- PORT: env.PORT,
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,0BA+BC;AApCD,2DAA8C;AAC9C,wCAAmD;AACnD,8CAAoE;AACpE,wCAAwC;AAEjC,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;IAClC,MAAM,MAAM,GAAG;QACb,GAAG,OAAO,CAAC,GAAG;QACd,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,KAAK,CAAC,WAAW;QACnD,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,IAAI,EAAE,GAAG,CAAC,IAAI;KACf,CAAC;IACF,IAAI,CAAC;QACH,IAAA,6BAAQ,EAAC,wBAAwB,EAAE;YACjC,GAAG,EAAE,KAAK,CAAC,WAAW;YACtB,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,MAAM;SACZ,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,IAAA,YAAI,EAAC,yCAAyC,CAAC,CAAC;QAChD,IAAA,6BAAQ,EAAC,oBAAoB,EAAE;YAC7B,GAAG,EAAE,KAAK,CAAC,WAAW;YACtB,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,MAAM;SACZ,CAAC,CAAC;IACL,CAAC;IACD,IAAA,UAAE,EAAC,eAAe,CAAC,CAAC;AACtB,CAAC"}
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":"AAUA,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,CA8DhB"}
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, node_child_process_1.execSync)('npx --yes prisma@6.5.0 migrate deploy', {
31
+ (0, run_prisma_1.runPrisma)(['migrate', 'deploy'], {
24
32
  cwd: paths.packageRoot,
25
- stdio: 'inherit',
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, node_child_process_1.execSync)('npx tsx prisma/seed.ts', {
35
- cwd: paths.packageRoot,
36
- stdio: 'inherit',
37
- env: {
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
- // seed with node if tsx missing in production install
47
- try {
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":"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"}
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":"AAcA,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,CAgDhB"}
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":";;;;;AAcA,4BAqDC;AAnED,0DAA6B;AAC7B,wCAIsB;AACtB,8CAAoE;AACpE,oDAI4B;AAC5B,wCAA8D;AAEvD,KAAK,UAAU,QAAQ,CAAC,IAK9B;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,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAC;IAEtB,MAAM,QAAQ,GAAG,IAAA,qBAAO,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,QAAQ,IAAI,IAAA,8BAAgB,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC3C,IAAA,YAAI,EAAC,wBAAwB,QAAQ,qBAAqB,CAAC,CAAC;QAC5D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,oBAAY,CAAC,CAAC;IAChE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,IAAA,6BAAkB,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAElC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,oBAAY,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAsB;QAC7B,GAAG,OAAO,CAAC,GAAG;QACd,GAAG,OAAO;QACV,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;QAClB,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC,WAAW;QACvD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC,UAAU;QACpD,WAAW,EAAE,KAAK,CAAC,IAAI;KACxB,CAAC;IAEF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,IAAA,YAAI,EAAC,+BAA+B,IAAI,GAAG,CAAC,CAAC;QAC7C,wDAAwD;QACxD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QACD,iEAAiE;QACjE,OAAO,CAAC,mBAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,IAAA,2BAAa,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtC,IAAA,UAAE,EAAC,eAAe,GAAG,EAAE,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IAC5B,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,mBAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC/D,IAAA,YAAI,EAAC,yEAAyE,CAAC,CAAC;AAClF,CAAC"}
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":"AAGA,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
+ {"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
- const execa_1 = require("execa");
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.execa)(env_1.env.GROK_BIN, args, {
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.execa)(env_1.env.GROK_BIN, args, {
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.execa)(env_1.env.GROK_BIN, ['--version'], {
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.execa)(env_1.env.GROK_BIN, ['models'], {
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":"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"}
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",
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": "^8.0.1",
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"
@@ -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 npmBin = which('npm');
76
- if (npmBin) {
77
- // npm exec downloads prisma@6.5.0 temporarily — no permanent dep
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
- warn('npm not found on PATH — skip prisma generate');
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}`);