grok-cli-to-openai-compatible 1.5.2 → 1.6.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/.env.example +1 -1
- package/README-ZH.md +7 -7
- package/README.md +16 -13
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +9 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/grok-env.d.ts +12 -0
- package/dist/cli/commands/grok-env.d.ts.map +1 -0
- package/dist/cli/commands/grok-env.js +109 -0
- package/dist/cli/commands/grok-env.js.map +1 -0
- package/dist/cli/commands/settings.js +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +11 -0
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +30 -28
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/index.js +36 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/lib/auto-migrate.d.ts +14 -0
- package/dist/cli/lib/auto-migrate.d.ts.map +1 -0
- package/dist/cli/lib/auto-migrate.js +42 -0
- package/dist/cli/lib/auto-migrate.js.map +1 -0
- package/dist/cli/lib/env-file.js +1 -1
- package/dist/config/constants.d.ts +7 -2
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +15 -3
- package/dist/config/constants.js.map +1 -1
- package/dist/config/env.js +1 -1
- package/dist/controllers/admin/core.handlers.d.ts +3 -0
- package/dist/controllers/admin/core.handlers.d.ts.map +1 -1
- package/dist/controllers/admin/core.handlers.js +52 -0
- package/dist/controllers/admin/core.handlers.js.map +1 -1
- package/dist/controllers/admin/media.handlers.d.ts.map +1 -1
- package/dist/controllers/admin/media.handlers.js +51 -1
- package/dist/controllers/admin/media.handlers.js.map +1 -1
- package/dist/controllers/admin.controller.d.ts +3 -0
- package/dist/controllers/admin.controller.d.ts.map +1 -1
- package/dist/controllers/videos.controller.d.ts.map +1 -1
- package/dist/controllers/videos.controller.js +3 -0
- package/dist/controllers/videos.controller.js.map +1 -1
- package/dist/dto/videos.dto.d.ts +11 -3
- package/dist/dto/videos.dto.d.ts.map +1 -1
- package/dist/dto/videos.dto.js +11 -4
- package/dist/dto/videos.dto.js.map +1 -1
- package/dist/interfaces/built-grok-request.interface.d.ts +7 -0
- package/dist/interfaces/built-grok-request.interface.d.ts.map +1 -1
- package/dist/interfaces/grok-collected-output.interface.d.ts +5 -0
- package/dist/interfaces/grok-collected-output.interface.d.ts.map +1 -1
- package/dist/interfaces/grok-response-meta.interface.d.ts +6 -0
- package/dist/interfaces/grok-response-meta.interface.d.ts.map +1 -1
- package/dist/interfaces/grok-run-options.interface.d.ts +10 -2
- package/dist/interfaces/grok-run-options.interface.d.ts.map +1 -1
- package/dist/interfaces/index.d.ts +1 -1
- package/dist/interfaces/index.d.ts.map +1 -1
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/map-completion-options.interface.d.ts +4 -0
- package/dist/interfaces/map-completion-options.interface.d.ts.map +1 -1
- package/dist/interfaces/open-ai-chat-completion-chunk.interface.d.ts +15 -0
- package/dist/interfaces/open-ai-chat-completion-chunk.interface.d.ts.map +1 -1
- package/dist/interfaces/open-ai-chat-completion.interface.d.ts +4 -0
- package/dist/interfaces/open-ai-chat-completion.interface.d.ts.map +1 -1
- package/dist/routes/admin.routes.d.ts.map +1 -1
- package/dist/routes/admin.routes.js +3 -0
- package/dist/routes/admin.routes.js.map +1 -1
- package/dist/services/assistants.service.js +1 -1
- package/dist/services/chat.service.d.ts +1 -0
- package/dist/services/chat.service.d.ts.map +1 -1
- package/dist/services/chat.service.js +85 -18
- package/dist/services/chat.service.js.map +1 -1
- package/dist/services/grok-cli.service.d.ts +3 -0
- package/dist/services/grok-cli.service.d.ts.map +1 -1
- package/dist/services/grok-cli.service.js +53 -10
- package/dist/services/grok-cli.service.js.map +1 -1
- package/dist/services/grok-inspect.service.d.ts +23 -0
- package/dist/services/grok-inspect.service.d.ts.map +1 -0
- package/dist/services/grok-inspect.service.js +77 -0
- package/dist/services/grok-inspect.service.js.map +1 -0
- package/dist/services/grok-request-builder.service.d.ts +13 -0
- package/dist/services/grok-request-builder.service.d.ts.map +1 -1
- package/dist/services/grok-request-builder.service.js +117 -28
- package/dist/services/grok-request-builder.service.js.map +1 -1
- package/dist/services/grok-session-map.service.d.ts +11 -0
- package/dist/services/grok-session-map.service.d.ts.map +1 -0
- package/dist/services/grok-session-map.service.js +59 -0
- package/dist/services/grok-session-map.service.js.map +1 -0
- package/dist/services/grok-sessions.service.d.ts +31 -0
- package/dist/services/grok-sessions.service.d.ts.map +1 -0
- package/dist/services/grok-sessions.service.js +136 -0
- package/dist/services/grok-sessions.service.js.map +1 -0
- package/dist/services/media/media-jobs.service.d.ts +2 -0
- package/dist/services/media/media-jobs.service.d.ts.map +1 -1
- package/dist/services/media/media-jobs.service.js +43 -13
- package/dist/services/media/media-jobs.service.js.map +1 -1
- package/dist/services/media/providers/grok-tools.provider.d.ts +17 -1
- package/dist/services/media/providers/grok-tools.provider.d.ts.map +1 -1
- package/dist/services/media/providers/grok-tools.provider.js +42 -3
- package/dist/services/media/providers/grok-tools.provider.js.map +1 -1
- package/dist/services/settings.service.js +1 -1
- package/dist/services/system-health.service.d.ts.map +1 -1
- package/dist/services/system-health.service.js +12 -3
- package/dist/services/system-health.service.js.map +1 -1
- package/dist/services/update.service.d.ts.map +1 -1
- package/dist/services/update.service.js +27 -6
- package/dist/services/update.service.js.map +1 -1
- package/dist/utils/grok-event-parse.d.ts +6 -0
- package/dist/utils/grok-event-parse.d.ts.map +1 -1
- package/dist/utils/grok-event-parse.js +75 -6
- package/dist/utils/grok-event-parse.js.map +1 -1
- package/dist/utils/grok-session.d.ts +25 -0
- package/dist/utils/grok-session.d.ts.map +1 -0
- package/dist/utils/grok-session.js +80 -0
- package/dist/utils/grok-session.js.map +1 -0
- package/dist/utils/openai-mapper.d.ts.map +1 -1
- package/dist/utils/openai-mapper.js +9 -2
- package/dist/utils/openai-mapper.js.map +1 -1
- package/dist/utils/vision-remote.d.ts +25 -0
- package/dist/utils/vision-remote.d.ts.map +1 -0
- package/dist/utils/vision-remote.js +130 -0
- package/dist/utils/vision-remote.js.map +1 -0
- package/package.json +1 -1
- package/prisma/migrations/20260813160000_grok_session_aliases/migration.sql +14 -0
- package/prisma/schema.prisma +13 -0
- package/public/admin/boot.js +599 -515
- package/public/admin/boot.js.map +1 -1
- package/public/admin/styles.css +63 -1
package/.env.example
CHANGED
|
@@ -17,7 +17,7 @@ ENCRYPTION_KEY=
|
|
|
17
17
|
# ADMIN_BOOTSTRAP_KEY=gk_live_your_admin_key_here
|
|
18
18
|
|
|
19
19
|
GROK_BIN=grok
|
|
20
|
-
GROK_DEFAULT_MODEL=grok-4.
|
|
20
|
+
GROK_DEFAULT_MODEL=grok-4.6
|
|
21
21
|
GROK_DEFAULT_CWD=.
|
|
22
22
|
# Comma-separated absolute paths allowed for --cwd (empty = only GROK_DEFAULT_CWD)
|
|
23
23
|
GROK_CWD_ALLOWLIST=
|
package/README-ZH.md
CHANGED
|
@@ -126,7 +126,7 @@ curl -s http://127.0.0.1:3847/v1/chat/completions \
|
|
|
126
126
|
-H "Authorization: Bearer $API_KEY" \
|
|
127
127
|
-H "Content-Type: application/json" \
|
|
128
128
|
-d '{
|
|
129
|
-
"model": "grok-4.
|
|
129
|
+
"model": "grok-4.6",
|
|
130
130
|
"messages": [{"role":"user","content":"用一個字打招呼"}]
|
|
131
131
|
}'
|
|
132
132
|
```
|
|
@@ -174,7 +174,7 @@ npm link # 可選:把 gctoac 掛到 PATH
|
|
|
174
174
|
```bash
|
|
175
175
|
npm install -g grok-cli-to-openai-compatible@latest
|
|
176
176
|
# 或
|
|
177
|
-
gctoac update #
|
|
177
|
+
gctoac update # 自我更新 + migrate + 排程重啟
|
|
178
178
|
gctoac update --check # 只檢查
|
|
179
179
|
gctoac update --no-restart
|
|
180
180
|
```
|
|
@@ -223,7 +223,7 @@ PORT=4000
|
|
|
223
223
|
| `gctoac doctor` | 環境全面檢查 |
|
|
224
224
|
| `gctoac logs` / `logs clear` | 日誌 |
|
|
225
225
|
| `gctoac migrate` / `seed` | DB migrate/seed |
|
|
226
|
-
| `gctoac update` / `update --check` |
|
|
226
|
+
| `gctoac update` / `update --check` | 自我更新(含錯誤時仍會執行 `gctoac migrate`) |
|
|
227
227
|
| `gctoac open` / `version` | URL/版本 |
|
|
228
228
|
|
|
229
229
|
### Admin 登入與面板
|
|
@@ -336,7 +336,7 @@ curl -sN http://127.0.0.1:3847/v1/chat/completions \
|
|
|
336
336
|
-H "Content-Type: application/json" \
|
|
337
337
|
-H "Idempotency-Key: my-client-req-001" \
|
|
338
338
|
-d '{
|
|
339
|
-
"model": "grok-4.
|
|
339
|
+
"model": "grok-4.6",
|
|
340
340
|
"stream": true,
|
|
341
341
|
"include_reasoning": true,
|
|
342
342
|
"messages": [{"role":"user","content":"數到 3"}]
|
|
@@ -356,7 +356,7 @@ const client = new OpenAI({
|
|
|
356
356
|
});
|
|
357
357
|
|
|
358
358
|
const res = await client.chat.completions.create({
|
|
359
|
-
model: 'grok-4.
|
|
359
|
+
model: 'grok-4.6',
|
|
360
360
|
messages: [{ role: 'user', content: 'Hello' }],
|
|
361
361
|
});
|
|
362
362
|
console.log(res.choices[0].message.content);
|
|
@@ -366,7 +366,7 @@ console.log(res.choices[0].message.content);
|
|
|
366
366
|
|
|
367
367
|
```json
|
|
368
368
|
{
|
|
369
|
-
"model": "grok-4.
|
|
369
|
+
"model": "grok-4.6",
|
|
370
370
|
"messages": [{ "role": "user", "content": "Hello" }],
|
|
371
371
|
"stream": false,
|
|
372
372
|
"include_reasoning": true,
|
|
@@ -380,7 +380,7 @@ console.log(res.choices[0].message.content);
|
|
|
380
380
|
|------|------|
|
|
381
381
|
| `include_reasoning` | 預設 `true`;Grok `thought` → `reasoning_content` |
|
|
382
382
|
| `cwd` | 僅 **agent**(allowlist 內);**safe** 強制 sandbox |
|
|
383
|
-
| `session_id` |
|
|
383
|
+
| `session_id` | 按 API key 映射成 Grok UUID:第一次 `-s`,之後 `--resume`(Grok 1.0+) |
|
|
384
384
|
| `document_ids` | 注入已解密文件內容 |
|
|
385
385
|
|
|
386
386
|
### Thinking 對應
|
package/README.md
CHANGED
|
@@ -79,7 +79,7 @@ Client (OpenAI SDK / curl / Open WebUI)
|
|
|
79
79
|
### 1. Prerequisites
|
|
80
80
|
|
|
81
81
|
- **Node.js** ≥ 20
|
|
82
|
-
- **Grok CLI** installed and logged in:
|
|
82
|
+
- **Grok CLI** (Grok Build **1.0+**) installed and logged in:
|
|
83
83
|
|
|
84
84
|
```bash
|
|
85
85
|
curl -fsSL https://x.ai/cli/install.sh | bash
|
|
@@ -129,7 +129,7 @@ curl -s http://127.0.0.1:3847/v1/chat/completions \
|
|
|
129
129
|
-H "Authorization: Bearer $API_KEY" \
|
|
130
130
|
-H "Content-Type: application/json" \
|
|
131
131
|
-d '{
|
|
132
|
-
"model": "grok-4.
|
|
132
|
+
"model": "grok-4.6",
|
|
133
133
|
"messages": [{"role":"user","content":"Say hi in one word"}]
|
|
134
134
|
}'
|
|
135
135
|
```
|
|
@@ -177,7 +177,7 @@ npm link # optional: put gctoac on PATH
|
|
|
177
177
|
```bash
|
|
178
178
|
npm install -g grok-cli-to-openai-compatible@latest
|
|
179
179
|
# or
|
|
180
|
-
gctoac update # self-update + schedule restart
|
|
180
|
+
gctoac update # self-update + migrate + schedule restart
|
|
181
181
|
gctoac update --check # check only
|
|
182
182
|
gctoac update --no-restart
|
|
183
183
|
```
|
|
@@ -226,7 +226,7 @@ Most control commands talk to the **local DB** (same `DATABASE_URL` as the gatew
|
|
|
226
226
|
| `gctoac doctor` | Full env check |
|
|
227
227
|
| `gctoac logs` / `logs clear` | Logs |
|
|
228
228
|
| `gctoac migrate` / `seed` | DB migrate / seed |
|
|
229
|
-
| `gctoac update` / `update --check` | Self-update |
|
|
229
|
+
| `gctoac update` / `update --check` | Self-update (always runs `gctoac migrate`, including on error) |
|
|
230
230
|
| `gctoac open` / `version` | URLs / version |
|
|
231
231
|
|
|
232
232
|
### Admin login & panel
|
|
@@ -279,6 +279,9 @@ Most control commands talk to the **local DB** (same `DATABASE_URL` as the gatew
|
|
|
279
279
|
| Command | Description |
|
|
280
280
|
|---------|-------------|
|
|
281
281
|
| `gctoac stats` | Dashboard-style summary |
|
|
282
|
+
| `gctoac grok inspect` | Local Grok Build snapshot (version, models, skills, MCP) |
|
|
283
|
+
| `gctoac grok sessions` | List local Grok CLI sessions |
|
|
284
|
+
| `gctoac grok sessions delete <id> --yes` | Permanently delete a Grok session |
|
|
282
285
|
| `gctoac models [--refresh]` | Local Grok models |
|
|
283
286
|
| `gctoac docs list\|show\|delete` | Documents (`delete` needs `--yes`) |
|
|
284
287
|
| `gctoac chats list\|show` | API chat requests (meta) |
|
|
@@ -339,7 +342,7 @@ curl -sN http://127.0.0.1:3847/v1/chat/completions \
|
|
|
339
342
|
-H "Content-Type: application/json" \
|
|
340
343
|
-H "Idempotency-Key: my-client-req-001" \
|
|
341
344
|
-d '{
|
|
342
|
-
"model": "grok-4.
|
|
345
|
+
"model": "grok-4.6",
|
|
343
346
|
"stream": true,
|
|
344
347
|
"include_reasoning": true,
|
|
345
348
|
"messages": [{"role":"user","content":"Count to 3"}]
|
|
@@ -359,7 +362,7 @@ const client = new OpenAI({
|
|
|
359
362
|
});
|
|
360
363
|
|
|
361
364
|
const res = await client.chat.completions.create({
|
|
362
|
-
model: 'grok-4.
|
|
365
|
+
model: 'grok-4.6',
|
|
363
366
|
messages: [{ role: 'user', content: 'Hello' }],
|
|
364
367
|
});
|
|
365
368
|
console.log(res.choices[0].message.content);
|
|
@@ -372,7 +375,7 @@ curl -s http://127.0.0.1:3847/v1/responses \
|
|
|
372
375
|
-H "Authorization: Bearer $API_KEY" \
|
|
373
376
|
-H "Content-Type: application/json" \
|
|
374
377
|
-d '{
|
|
375
|
-
"model": "grok-4.
|
|
378
|
+
"model": "grok-4.6",
|
|
376
379
|
"input": "Hello",
|
|
377
380
|
"stream": false
|
|
378
381
|
}'
|
|
@@ -381,7 +384,7 @@ curl -s http://127.0.0.1:3847/v1/responses \
|
|
|
381
384
|
```ts
|
|
382
385
|
// openai SDK ≥ responses support
|
|
383
386
|
const r = await client.responses.create({
|
|
384
|
-
model: 'grok-4.
|
|
387
|
+
model: 'grok-4.6',
|
|
385
388
|
input: 'Hello',
|
|
386
389
|
});
|
|
387
390
|
```
|
|
@@ -396,7 +399,7 @@ curl -s http://127.0.0.1:3847/v1/messages \
|
|
|
396
399
|
-H "anthropic-version: 2023-06-01" \
|
|
397
400
|
-H "Content-Type: application/json" \
|
|
398
401
|
-d '{
|
|
399
|
-
"model": "grok-4.
|
|
402
|
+
"model": "grok-4.6",
|
|
400
403
|
"max_tokens": 1024,
|
|
401
404
|
"messages": [{"role":"user","content":"Hello"}],
|
|
402
405
|
"stream": false
|
|
@@ -415,8 +418,8 @@ Not supported: image blocks, `tool_use` / `tool_result`.
|
|
|
415
418
|
| Stream | ✅ OpenAI chunks | ✅ `response.*` events | ✅ Anthropic events |
|
|
416
419
|
| Models list | ✅ `/v1/models` | (use same) | (use same) |
|
|
417
420
|
| Auth | Bearer | Bearer | Bearer or `x-api-key` |
|
|
418
|
-
| Vision / image parts |
|
|
419
|
-
| Tools / function calling |
|
|
421
|
+
| Vision / image parts | ✅ (`vision` feature) | ✅ | ✅ |
|
|
422
|
+
| Tools / function calling | ✅ (`tools` feature) | ✅ | ✅ |
|
|
420
423
|
| `temperature` / `top_p` / `stop` | accepted, **ignored** | ignored | ignored |
|
|
421
424
|
| `max_tokens` | accepted, ignored | `max_output_tokens` ignored | required field, ignored by Grok |
|
|
422
425
|
| Reasoning | `include_reasoning` → `reasoning_content` | optional | off by default |
|
|
@@ -426,7 +429,7 @@ Not supported: image blocks, `tool_use` / `tool_result`.
|
|
|
426
429
|
|
|
427
430
|
```json
|
|
428
431
|
{
|
|
429
|
-
"model": "grok-4.
|
|
432
|
+
"model": "grok-4.6",
|
|
430
433
|
"messages": [{ "role": "user", "content": "Hello" }],
|
|
431
434
|
"stream": false,
|
|
432
435
|
"include_reasoning": true,
|
|
@@ -440,7 +443,7 @@ Not supported: image blocks, `tool_use` / `tool_result`.
|
|
|
440
443
|
|-------|--------|
|
|
441
444
|
| `include_reasoning` | Default `true`. Maps Grok `thought` → `reasoning_content` |
|
|
442
445
|
| `cwd` | **agent** only (allowlist); **safe** forces sandbox |
|
|
443
|
-
| `session_id` |
|
|
446
|
+
| `session_id` | Mapped to a per-key Grok UUID: first call uses `-s`, later calls `--resume` (Grok 1.0+). |
|
|
444
447
|
| `document_ids` | Inject decrypted documents as context |
|
|
445
448
|
| `temperature`, `top_p`, `stop`, `user` | Accepted for SDK compatibility; **not applied** by Grok CLI |
|
|
446
449
|
| `tools` / `functions` | Rejected with 400 |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAYA,wBAAsB,SAAS,CAAC,IAAI,EAAE;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAYA,wBAAsB,SAAS,CAAC,IAAI,EAAE;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC,IAAI,CAAC,CAoJhB"}
|
|
@@ -30,7 +30,15 @@ async function cmdDoctor(opts) {
|
|
|
30
30
|
(0, print_1.info)(`Home (${paths.mode}): ${paths.home}`);
|
|
31
31
|
try {
|
|
32
32
|
const v = (0, node_child_process_1.execSync)('grok --version', { encoding: 'utf8' }).trim();
|
|
33
|
-
|
|
33
|
+
const line = v.split('\n')[0] || v;
|
|
34
|
+
(0, print_1.ok)(`Grok CLI: ${line}`);
|
|
35
|
+
const sem = line.match(/(\d+)\.(\d+)\.(\d+)/);
|
|
36
|
+
if (sem) {
|
|
37
|
+
const major = Number(sem[1]);
|
|
38
|
+
if (major < 1) {
|
|
39
|
+
(0, print_1.warn)(`Grok CLI ${sem[1]}.${sem[2]}.${sem[3]} is older than 1.0.0 — session_id / --best-of-n / --check flags changed. Upgrade with: grok update`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
34
42
|
}
|
|
35
43
|
catch {
|
|
36
44
|
(0, print_1.fail)('Grok CLI not found on PATH (install + grok login)');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":";;;;;AAYA,
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type CliOpts } from '../lib/runtime-context';
|
|
2
|
+
export declare function cmdGrokInspect(opts: CliOpts): Promise<void>;
|
|
3
|
+
export declare function cmdGrokSessionsList(opts: CliOpts & {
|
|
4
|
+
q?: string;
|
|
5
|
+
cwd?: string;
|
|
6
|
+
limit?: number;
|
|
7
|
+
}): Promise<void>;
|
|
8
|
+
export declare function cmdGrokSessionsDelete(opts: CliOpts & {
|
|
9
|
+
id: string;
|
|
10
|
+
yes?: boolean;
|
|
11
|
+
}): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=grok-env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grok-env.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/grok-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGhF,wBAAsB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BjE;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,OAAO,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3D,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,OAAO,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5C,OAAO,CAAC,IAAI,CAAC,CAqBf"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.cmdGrokInspect = cmdGrokInspect;
|
|
37
|
+
exports.cmdGrokSessionsList = cmdGrokSessionsList;
|
|
38
|
+
exports.cmdGrokSessionsDelete = cmdGrokSessionsDelete;
|
|
39
|
+
const runtime_context_1 = require("../lib/runtime-context");
|
|
40
|
+
const print_1 = require("../lib/print");
|
|
41
|
+
async function cmdGrokInspect(opts) {
|
|
42
|
+
(0, runtime_context_1.initCliRuntime)(opts);
|
|
43
|
+
try {
|
|
44
|
+
const { grokInspectService } = await Promise.resolve().then(() => __importStar(require('../../services/grok-inspect.service')));
|
|
45
|
+
const data = await grokInspectService.snapshot();
|
|
46
|
+
if (opts.json) {
|
|
47
|
+
(0, runtime_context_1.emitJson)(data);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (!data.ok) {
|
|
51
|
+
(0, print_1.fail)(data.error || 'grok inspect failed');
|
|
52
|
+
process.exitCode = 1;
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
(0, print_1.ok)(`Grok ${data.grokVersion || '?'} · ${data.channel || 'channel?'}`);
|
|
56
|
+
(0, print_1.info)(`Default model: ${data.defaultModel || '—'}`);
|
|
57
|
+
(0, print_1.info)(`Models: ${(data.models || []).join(', ') || '—'}`);
|
|
58
|
+
(0, print_1.info)(`Skills ${data.skills} · MCP ${data.mcpServers} · plugins ${data.plugins} · hooks ${data.hooks}`);
|
|
59
|
+
}
|
|
60
|
+
catch (e) {
|
|
61
|
+
(0, print_1.fail)(e instanceof Error ? e.message : String(e));
|
|
62
|
+
process.exitCode = 1;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async function cmdGrokSessionsList(opts) {
|
|
66
|
+
(0, runtime_context_1.initCliRuntime)(opts);
|
|
67
|
+
try {
|
|
68
|
+
const { grokSessionsService } = await Promise.resolve().then(() => __importStar(require('../../services/grok-sessions.service')));
|
|
69
|
+
const result = await grokSessionsService.list({
|
|
70
|
+
q: opts.q,
|
|
71
|
+
cwd: opts.cwd,
|
|
72
|
+
limit: opts.limit,
|
|
73
|
+
});
|
|
74
|
+
if (opts.json) {
|
|
75
|
+
(0, runtime_context_1.emitJson)(result);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
(0, print_1.ok)(`Grok sessions ${result.data.length}/${result.total}`);
|
|
79
|
+
for (const row of result.data) {
|
|
80
|
+
(0, print_1.info)(` ${row.id} ${row.updatedAt?.slice(0, 10) || '—'} ${row.title}`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch (e) {
|
|
84
|
+
(0, print_1.fail)(e instanceof Error ? e.message : String(e));
|
|
85
|
+
process.exitCode = 1;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
async function cmdGrokSessionsDelete(opts) {
|
|
89
|
+
(0, runtime_context_1.initCliRuntime)(opts);
|
|
90
|
+
if (!opts.yes) {
|
|
91
|
+
(0, print_1.fail)('Refusing to delete without --yes');
|
|
92
|
+
process.exitCode = 1;
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
try {
|
|
96
|
+
const { grokSessionsService } = await Promise.resolve().then(() => __importStar(require('../../services/grok-sessions.service')));
|
|
97
|
+
const data = await grokSessionsService.delete(opts.id);
|
|
98
|
+
if (opts.json) {
|
|
99
|
+
(0, runtime_context_1.emitJson)(data);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
(0, print_1.ok)(`Deleted Grok session ${data.id}`);
|
|
103
|
+
}
|
|
104
|
+
catch (e) {
|
|
105
|
+
(0, print_1.fail)(e instanceof Error ? e.message : String(e));
|
|
106
|
+
process.exitCode = 1;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=grok-env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grok-env.js","sourceRoot":"","sources":["../../../src/cli/commands/grok-env.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wCA0BC;AAED,kDA2BC;AAED,sDAuBC;AAnFD,4DAAgF;AAChF,wCAA8C;AAEvC,KAAK,UAAU,cAAc,CAAC,IAAa;IAChD,IAAA,gCAAc,EAAC,IAAI,CAAC,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,EAAE,kBAAkB,EAAE,GAAG,wDAC7B,qCAAqC,GACtC,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAA,0BAAQ,EAAC,IAAI,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,IAAA,YAAI,EAAC,IAAI,CAAC,KAAK,IAAI,qBAAqB,CAAC,CAAC;YAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,IAAA,UAAE,EAAC,QAAQ,IAAI,CAAC,WAAW,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,IAAI,UAAU,EAAE,CAAC,CAAC;QACtE,IAAA,YAAI,EAAC,kBAAkB,IAAI,CAAC,YAAY,IAAI,GAAG,EAAE,CAAC,CAAC;QACnD,IAAA,YAAI,EAAC,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QACzD,IAAA,YAAI,EACF,UAAU,IAAI,CAAC,MAAM,UAAU,IAAI,CAAC,UAAU,cAAc,IAAI,CAAC,OAAO,YAAY,IAAI,CAAC,KAAK,EAAE,CACjG,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAA,YAAI,EAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,mBAAmB,CACvC,IAA4D;IAE5D,IAAA,gCAAc,EAAC,IAAI,CAAC,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,EAAE,mBAAmB,EAAE,GAAG,wDAC9B,sCAAsC,GACvC,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC;YAC5C,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAA,0BAAQ,EAAC,MAAM,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAA,UAAE,EAAC,iBAAiB,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAA,YAAI,EACF,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC,KAAK,EAAE,CACnE,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAA,YAAI,EAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,qBAAqB,CACzC,IAA6C;IAE7C,IAAA,gCAAc,EAAC,IAAI,CAAC,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACd,IAAA,YAAI,EAAC,kCAAkC,CAAC,CAAC;QACzC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,mBAAmB,EAAE,GAAG,wDAC9B,sCAAsC,GACvC,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAA,0BAAQ,EAAC,IAAI,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QACD,IAAA,UAAE,EAAC,wBAAwB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAA,YAAI,EAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
|
|
@@ -64,7 +64,7 @@ async function readSettings(databaseUrl, envDefaultModel) {
|
|
|
64
64
|
safeToolsMode: map.get(constants_1.SETTING_KEYS.SAFE_TOOLS_MODE) || 'readonly',
|
|
65
65
|
safeMaxTurns: parseIntOr(map.get(constants_1.SETTING_KEYS.SAFE_MAX_TURNS), 4),
|
|
66
66
|
safeTimeoutMs: parseIntOr(map.get(constants_1.SETTING_KEYS.SAFE_TIMEOUT_MS), 120_000),
|
|
67
|
-
defaultModel: map.get(constants_1.SETTING_KEYS.DEFAULT_MODEL) || envDefaultModel || 'grok-4.
|
|
67
|
+
defaultModel: map.get(constants_1.SETTING_KEYS.DEFAULT_MODEL) || envDefaultModel || 'grok-4.6',
|
|
68
68
|
adminPanelEnabled: parseBool(map.get(constants_1.SETTING_KEYS.ADMIN_PANEL_ENABLED), true),
|
|
69
69
|
};
|
|
70
70
|
});
|
|
@@ -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":"AAkCA,wBAAsB,QAAQ,CAAC,IAAI,EAAE;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgIhB"}
|
|
@@ -10,6 +10,7 @@ const env_file_1 = require("../lib/env-file");
|
|
|
10
10
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
11
11
|
const process_mgr_1 = require("../lib/process-mgr");
|
|
12
12
|
const pm2_runner_1 = require("../lib/pm2-runner");
|
|
13
|
+
const auto_migrate_1 = require("../lib/auto-migrate");
|
|
13
14
|
const print_1 = require("../lib/print");
|
|
14
15
|
function tailLog(file, maxLines = 30) {
|
|
15
16
|
try {
|
|
@@ -34,6 +35,16 @@ async function cmdStart(opts) {
|
|
|
34
35
|
envFile = (0, env_file_1.setEnvPort)(paths.envFile, opts.port);
|
|
35
36
|
}
|
|
36
37
|
(0, env_file_1.loadEnvIntoProcess)(paths.envFile);
|
|
38
|
+
const migrated = (0, auto_migrate_1.tryAutoMigrate)({
|
|
39
|
+
packageRoot: paths.packageRoot,
|
|
40
|
+
databaseUrl: envFile.DATABASE_URL || paths.databaseUrl,
|
|
41
|
+
});
|
|
42
|
+
if (migrated.ok) {
|
|
43
|
+
(0, print_1.ok)('Database migrations applied');
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
(0, print_1.warn)(`Auto-migrate skipped/failed: ${migrated.error || 'unknown'}. Run: gctoac migrate`);
|
|
47
|
+
}
|
|
37
48
|
const port = Number(opts.port || envFile.PORT || paths_1.DEFAULT_PORT);
|
|
38
49
|
if (opts.foreground && opts.pm2) {
|
|
39
50
|
(0, print_1.fail)('Cannot combine --foreground and --pm2');
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AA8DA,wBAAsB,SAAS,CAAC,IAAI,EAAE;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,YAAY,GAAG,WAAW,CAAC;CACvD,GAAG,OAAO,CAAC,IAAI,CAAC,CAyIhB"}
|
|
@@ -10,7 +10,7 @@ const update_service_1 = require("../../services/update.service");
|
|
|
10
10
|
const print_1 = require("../lib/print");
|
|
11
11
|
const paths_1 = require("../lib/paths");
|
|
12
12
|
const env_file_1 = require("../lib/env-file");
|
|
13
|
-
const
|
|
13
|
+
const auto_migrate_1 = require("../lib/auto-migrate");
|
|
14
14
|
const spinner_1 = require("../lib/spinner");
|
|
15
15
|
/**
|
|
16
16
|
* Always hard-exit. undici fetch keep-alive + any leftover handles can leave
|
|
@@ -27,26 +27,15 @@ function exitCli(code = 0) {
|
|
|
27
27
|
process.exit(code);
|
|
28
28
|
}
|
|
29
29
|
function applyMigrations(packageRoot, databaseUrl, spinner) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
(0, run_prisma_1.runPrisma)(['generate'], { cwd: packageRoot, packageRoot, env });
|
|
37
|
-
spinner.succeed('prisma generate');
|
|
38
|
-
}
|
|
39
|
-
catch (e) {
|
|
40
|
-
spinner.fail(`prisma generate: ${e instanceof Error ? e.message : String(e)}`);
|
|
30
|
+
spinner.start('gctoac migrate (prisma deploy)…');
|
|
31
|
+
const result = (0, auto_migrate_1.tryAutoMigrate)({ packageRoot, databaseUrl });
|
|
32
|
+
if (result.ok) {
|
|
33
|
+
spinner.succeed('gctoac migrate');
|
|
34
|
+
(0, print_1.ok)('Database migrations applied');
|
|
35
|
+
return true;
|
|
41
36
|
}
|
|
42
|
-
spinner.
|
|
43
|
-
|
|
44
|
-
cwd: packageRoot,
|
|
45
|
-
packageRoot,
|
|
46
|
-
env,
|
|
47
|
-
});
|
|
48
|
-
spinner.succeed('prisma migrate deploy');
|
|
49
|
-
(0, print_1.ok)('Database migrations applied');
|
|
37
|
+
spinner.fail(`gctoac migrate: ${result.error || 'failed'}`);
|
|
38
|
+
return false;
|
|
50
39
|
}
|
|
51
40
|
/**
|
|
52
41
|
* Restart in a fully detached child so this process can exit immediately.
|
|
@@ -133,14 +122,9 @@ async function cmdUpdate(opts) {
|
|
|
133
122
|
});
|
|
134
123
|
(0, print_1.ok)(result.message);
|
|
135
124
|
(0, print_1.info)(`Version: ${result.fromVersion} → ${result.toVersion ?? '?'}`);
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
applyMigrations(paths.packageRoot, databaseUrl, spinner);
|
|
140
|
-
}
|
|
141
|
-
catch (e) {
|
|
142
|
-
spinner.stopSilent();
|
|
143
|
-
(0, print_1.warn)(`Auto-migrate failed: ${e instanceof Error ? e.message : String(e)}`);
|
|
125
|
+
(0, print_1.info)('');
|
|
126
|
+
(0, print_1.info)('── Final DB migrate (data home) ──');
|
|
127
|
+
if (!applyMigrations(paths.packageRoot, databaseUrl, spinner)) {
|
|
144
128
|
(0, print_1.warn)('Retry: gctoac migrate');
|
|
145
129
|
code = 1;
|
|
146
130
|
}
|
|
@@ -171,6 +155,24 @@ async function cmdUpdate(opts) {
|
|
|
171
155
|
spinner.stopSilent();
|
|
172
156
|
(0, print_1.fail)(e instanceof Error ? e.message : String(e));
|
|
173
157
|
code = 1;
|
|
158
|
+
// Update failed (git/npm/build) — still apply pending Prisma migrations.
|
|
159
|
+
try {
|
|
160
|
+
const paths = (0, paths_1.resolveRuntimePaths)({
|
|
161
|
+
home: opts.home,
|
|
162
|
+
forceHome: opts.forceHome ?? Boolean(opts.home),
|
|
163
|
+
});
|
|
164
|
+
const envFile = (0, env_file_1.ensureEnvFile)(paths);
|
|
165
|
+
(0, env_file_1.loadEnvIntoProcess)(paths.envFile);
|
|
166
|
+
const databaseUrl = envFile.DATABASE_URL || paths.databaseUrl;
|
|
167
|
+
(0, print_1.info)('');
|
|
168
|
+
(0, print_1.info)('── Update errored; still running gctoac migrate ──');
|
|
169
|
+
if (!applyMigrations(paths.packageRoot, databaseUrl, spinner)) {
|
|
170
|
+
(0, print_1.warn)('Retry: gctoac migrate');
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
catch (migrateErr) {
|
|
174
|
+
(0, print_1.warn)(`Auto-migrate after update error failed: ${migrateErr instanceof Error ? migrateErr.message : String(migrateErr)}`);
|
|
175
|
+
}
|
|
174
176
|
}
|
|
175
177
|
finally {
|
|
176
178
|
spinner.stopSilent();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -65,6 +65,7 @@ const conversations_1 = require("./commands/conversations");
|
|
|
65
65
|
const audit_1 = require("./commands/audit");
|
|
66
66
|
const stats_1 = require("./commands/stats");
|
|
67
67
|
const models_1 = require("./commands/models");
|
|
68
|
+
const grok_env_1 = require("./commands/grok-env");
|
|
68
69
|
const api_features_1 = require("./commands/api-features");
|
|
69
70
|
const paths_1 = require("./lib/paths");
|
|
70
71
|
function readPkgVersion() {
|
|
@@ -606,6 +607,41 @@ program
|
|
|
606
607
|
.action(async (opts) => {
|
|
607
608
|
await (0, models_1.cmdModels)({ ...globalOpts(), refresh: opts.refresh });
|
|
608
609
|
});
|
|
610
|
+
const grokEnvCmd = program
|
|
611
|
+
.command('grok')
|
|
612
|
+
.description('Local Grok Build environment (inspect / sessions)');
|
|
613
|
+
grokEnvCmd
|
|
614
|
+
.command('inspect')
|
|
615
|
+
.description('Read-only grok inspect snapshot')
|
|
616
|
+
.action(async () => {
|
|
617
|
+
await (0, grok_env_1.cmdGrokInspect)(globalOpts());
|
|
618
|
+
});
|
|
619
|
+
const grokSessionsCmd = grokEnvCmd
|
|
620
|
+
.command('sessions')
|
|
621
|
+
.description('List local Grok CLI sessions')
|
|
622
|
+
.option('-q, --q <text>', 'Search title / summary / id')
|
|
623
|
+
.option('--cwd <path>', 'Filter by working directory')
|
|
624
|
+
.option('--limit <n>', 'Max rows', (v) => Number(v))
|
|
625
|
+
.action(async (opts) => {
|
|
626
|
+
await (0, grok_env_1.cmdGrokSessionsList)({ ...globalOpts(), ...opts });
|
|
627
|
+
});
|
|
628
|
+
grokSessionsCmd
|
|
629
|
+
.command('list')
|
|
630
|
+
.description('List local Grok CLI sessions')
|
|
631
|
+
.option('-q, --q <text>', 'Search title / summary / id')
|
|
632
|
+
.option('--cwd <path>', 'Filter by working directory')
|
|
633
|
+
.option('--limit <n>', 'Max rows', (v) => Number(v))
|
|
634
|
+
.action(async (opts) => {
|
|
635
|
+
await (0, grok_env_1.cmdGrokSessionsList)({ ...globalOpts(), ...opts });
|
|
636
|
+
});
|
|
637
|
+
grokSessionsCmd
|
|
638
|
+
.command('delete')
|
|
639
|
+
.description('Permanently delete a Grok CLI session')
|
|
640
|
+
.argument('<id>', 'Session UUID')
|
|
641
|
+
.option('--yes', 'Confirm delete')
|
|
642
|
+
.action(async (id, opts) => {
|
|
643
|
+
await (0, grok_env_1.cmdGrokSessionsDelete)({ ...globalOpts(), id, yes: opts.yes });
|
|
644
|
+
});
|
|
609
645
|
// ——— API features / Grok capability gates ———
|
|
610
646
|
const apiCmd = program
|
|
611
647
|
.command('api')
|