opencastle 0.17.0 → 0.18.0
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/convoy/engine.d.ts.map +1 -1
- package/dist/cli/convoy/engine.js +15 -2
- package/dist/cli/convoy/engine.js.map +1 -1
- package/dist/cli/convoy/export.d.ts +3 -0
- package/dist/cli/convoy/export.d.ts.map +1 -0
- package/dist/cli/convoy/export.js +46 -0
- package/dist/cli/convoy/export.js.map +1 -0
- package/dist/cli/convoy/export.test.d.ts +2 -0
- package/dist/cli/convoy/export.test.d.ts.map +1 -0
- package/dist/cli/convoy/export.test.js +157 -0
- package/dist/cli/convoy/export.test.js.map +1 -0
- package/dist/cli/dashboard.d.ts +14 -0
- package/dist/cli/dashboard.d.ts.map +1 -1
- package/dist/cli/dashboard.js +73 -36
- package/dist/cli/dashboard.js.map +1 -1
- package/dist/cli/run.d.ts +1 -1
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +16 -1
- package/dist/cli/run.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/convoy/engine.ts +9 -2
- package/src/cli/convoy/export.test.ts +190 -0
- package/src/cli/convoy/export.ts +52 -0
- package/src/cli/dashboard.ts +94 -42
- package/src/cli/run.ts +16 -1
- package/src/dashboard/dist/_astro/{index.Bnq19_1M.css → index.DyyaCW8L.css} +1 -1
- package/src/dashboard/dist/index.html +145 -6
- package/src/dashboard/node_modules/.vite/deps/_metadata.json +6 -6
- package/src/dashboard/src/pages/index.astro +160 -4
- package/src/dashboard/src/styles/dashboard.css +60 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/cli/convoy/engine.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAQ,QAAQ,EAAE,YAAY,EAAiB,MAAM,aAAa,CAAA;AAG9E,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/cli/convoy/engine.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAQ,QAAQ,EAAE,YAAY,EAAiB,MAAM,aAAa,CAAA;AAG9E,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAA;AAG9D,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,YAAY,CAAA;AAS1D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,YAAY,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gBAAgB,CAAC,EAAE,eAAe,CAAA;IAClC,WAAW,CAAC,EAAE,UAAU,CAAA;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,YAAY,CAAA;IACpB,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3F,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;CAC5E;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC,CAAA;IAC5B,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;CAChD;AAiXD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAyI7E"}
|
|
@@ -8,6 +8,7 @@ import { createEventEmitter } from './events.js';
|
|
|
8
8
|
import { createWorktreeManager } from './worktree.js';
|
|
9
9
|
import { createMergeQueue } from './merge.js';
|
|
10
10
|
import { createHealthMonitor } from './health.js';
|
|
11
|
+
import { exportConvoyToNdjson } from './export.js';
|
|
11
12
|
import { buildPhases, formatDuration } from '../run/executor.js';
|
|
12
13
|
import { parseTimeout } from '../run/schema.js';
|
|
13
14
|
import { getAdapter, detectAdapter } from '../run/adapters/index.js';
|
|
@@ -351,6 +352,7 @@ export function createConvoyEngine(options) {
|
|
|
351
352
|
const events = createEventEmitter(store, options.logsDir);
|
|
352
353
|
const wtManager = options._worktreeManager ?? createWorktreeManager(basePath);
|
|
353
354
|
const mergeQueue = options._mergeQueue ?? createMergeQueue(basePath);
|
|
355
|
+
let result;
|
|
354
356
|
try {
|
|
355
357
|
store.insertConvoy({
|
|
356
358
|
id: convoyId,
|
|
@@ -384,11 +386,16 @@ export function createConvoyEngine(options) {
|
|
|
384
386
|
}
|
|
385
387
|
store.updateConvoyStatus(convoyId, 'running', { started_at: new Date().toISOString() });
|
|
386
388
|
events.emit('convoy_started', { name: spec.name }, { convoy_id: convoyId });
|
|
387
|
-
|
|
389
|
+
result = await runConvoy(convoyId, spec, adapter, store, events, wtManager, mergeQueue, basePath, baseBranch, verbose, startTime);
|
|
388
390
|
}
|
|
389
391
|
finally {
|
|
392
|
+
try {
|
|
393
|
+
await exportConvoyToNdjson(store, convoyId, options.logsDir);
|
|
394
|
+
}
|
|
395
|
+
catch { /* silent */ }
|
|
390
396
|
store.close();
|
|
391
397
|
}
|
|
398
|
+
return result;
|
|
392
399
|
}
|
|
393
400
|
async function resume(convoyId) {
|
|
394
401
|
const startTime = Date.now();
|
|
@@ -397,6 +404,7 @@ export function createConvoyEngine(options) {
|
|
|
397
404
|
const events = createEventEmitter(store, options.logsDir);
|
|
398
405
|
const wtManager = options._worktreeManager ?? createWorktreeManager(basePath);
|
|
399
406
|
const mergeQueue = options._mergeQueue ?? createMergeQueue(basePath);
|
|
407
|
+
let result;
|
|
400
408
|
try {
|
|
401
409
|
const convoy = store.getConvoy(convoyId);
|
|
402
410
|
if (!convoy) {
|
|
@@ -428,11 +436,16 @@ export function createConvoyEngine(options) {
|
|
|
428
436
|
// Remove all orphaned worktrees from the crashed run
|
|
429
437
|
await wtManager.removeAll();
|
|
430
438
|
events.emit('convoy_resumed', { original_created_at: convoy.created_at }, { convoy_id: convoyId });
|
|
431
|
-
|
|
439
|
+
result = await runConvoy(convoyId, spec, adapter, store, events, wtManager, mergeQueue, basePath, baseBranch, verbose, startTime);
|
|
432
440
|
}
|
|
433
441
|
finally {
|
|
442
|
+
try {
|
|
443
|
+
await exportConvoyToNdjson(store, convoyId, options.logsDir);
|
|
444
|
+
}
|
|
445
|
+
catch { /* silent */ }
|
|
434
446
|
store.close();
|
|
435
447
|
}
|
|
448
|
+
return result;
|
|
436
449
|
}
|
|
437
450
|
return { run, resume };
|
|
438
451
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/cli/convoy/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/cli/convoy/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/cli/convoy/export.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CA4Cf"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { appendFileSync, mkdirSync } from 'node:fs';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
export async function exportConvoyToNdjson(store, convoyId, logsDir) {
|
|
4
|
+
try {
|
|
5
|
+
const convoy = store.getConvoy(convoyId);
|
|
6
|
+
if (!convoy)
|
|
7
|
+
return;
|
|
8
|
+
const tasks = store.getTasksByConvoy(convoyId);
|
|
9
|
+
const eventsCount = store.getEvents(convoyId).length;
|
|
10
|
+
const summary = {
|
|
11
|
+
total: tasks.length,
|
|
12
|
+
done: tasks.filter((t) => t.status === 'done').length,
|
|
13
|
+
failed: tasks.filter((t) => t.status === 'failed').length,
|
|
14
|
+
skipped: tasks.filter((t) => t.status === 'skipped').length,
|
|
15
|
+
timedOut: tasks.filter((t) => t.status === 'timed-out').length,
|
|
16
|
+
};
|
|
17
|
+
const record = {
|
|
18
|
+
id: convoy.id,
|
|
19
|
+
name: convoy.name,
|
|
20
|
+
status: convoy.status,
|
|
21
|
+
branch: convoy.branch,
|
|
22
|
+
created_at: convoy.created_at,
|
|
23
|
+
started_at: convoy.started_at,
|
|
24
|
+
finished_at: convoy.finished_at,
|
|
25
|
+
summary,
|
|
26
|
+
tasks: tasks.map((t) => ({
|
|
27
|
+
id: t.id,
|
|
28
|
+
phase: t.phase,
|
|
29
|
+
agent: t.agent,
|
|
30
|
+
adapter: t.adapter,
|
|
31
|
+
status: t.status,
|
|
32
|
+
started_at: t.started_at,
|
|
33
|
+
finished_at: t.finished_at,
|
|
34
|
+
retries: t.retries,
|
|
35
|
+
})),
|
|
36
|
+
events_count: eventsCount,
|
|
37
|
+
};
|
|
38
|
+
const dir = logsDir ?? resolve(process.cwd(), '.opencastle', 'logs');
|
|
39
|
+
mkdirSync(dir, { recursive: true });
|
|
40
|
+
appendFileSync(resolve(dir, 'convoys.ndjson'), JSON.stringify(record) + '\n', 'utf8');
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
process.stderr.write(`[opencastle] exportConvoyToNdjson warning: ${String(err)}\n`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/cli/convoy/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAkB,EAClB,QAAgB,EAChB,OAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QACxC,IAAI,CAAC,MAAM;YAAE,OAAM;QAEnB,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAC9C,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAA;QAEpD,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM;YACrD,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM;YACzD,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM;YAC3D,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM;SAC/D,CAAA;QAED,MAAM,MAAM,GAAG;YACb,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,OAAO;YACP,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvB,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;YACH,YAAY,EAAE,WAAW;SAC1B,CAAA;QAED,MAAM,GAAG,GAAG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;QACpE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACnC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAA;IACvF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACrF,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.test.d.ts","sourceRoot":"","sources":["../../../src/cli/convoy/export.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { mkdtempSync, rmSync, readFileSync, existsSync, realpathSync } from 'node:fs';
|
|
2
|
+
import { tmpdir } from 'node:os';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
|
|
5
|
+
import { exportConvoyToNdjson } from './export.js';
|
|
6
|
+
import { createConvoyStore } from './store.js';
|
|
7
|
+
vi.mock('../log.js', () => ({
|
|
8
|
+
appendEvent: vi.fn().mockResolvedValue(undefined),
|
|
9
|
+
}));
|
|
10
|
+
const NOW = '2026-03-08T10:00:00.000Z';
|
|
11
|
+
let tmpDir;
|
|
12
|
+
let store;
|
|
13
|
+
function insertConvoy(id, name = 'Test Convoy') {
|
|
14
|
+
store.insertConvoy({
|
|
15
|
+
id,
|
|
16
|
+
name,
|
|
17
|
+
spec_hash: 'abc123',
|
|
18
|
+
status: 'done',
|
|
19
|
+
branch: 'main',
|
|
20
|
+
created_at: NOW,
|
|
21
|
+
spec_yaml: 'name: test',
|
|
22
|
+
});
|
|
23
|
+
store.updateConvoyStatus(id, 'done', { started_at: NOW, finished_at: NOW });
|
|
24
|
+
}
|
|
25
|
+
function insertTask(taskId, convoyId, phase = 1, status = 'done') {
|
|
26
|
+
store.insertTask({
|
|
27
|
+
id: taskId,
|
|
28
|
+
convoy_id: convoyId,
|
|
29
|
+
phase,
|
|
30
|
+
prompt: 'Do something',
|
|
31
|
+
agent: 'developer',
|
|
32
|
+
adapter: 'claude-code',
|
|
33
|
+
model: null,
|
|
34
|
+
timeout_ms: 1_800_000,
|
|
35
|
+
status,
|
|
36
|
+
retries: 0,
|
|
37
|
+
max_retries: 1,
|
|
38
|
+
files: null,
|
|
39
|
+
depends_on: null,
|
|
40
|
+
});
|
|
41
|
+
if (status !== 'pending') {
|
|
42
|
+
store.updateTaskStatus(taskId, convoyId, status, {
|
|
43
|
+
started_at: NOW,
|
|
44
|
+
finished_at: NOW,
|
|
45
|
+
retries: 0,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function insertEvent(convoyId) {
|
|
50
|
+
store.insertEvent({
|
|
51
|
+
convoy_id: convoyId,
|
|
52
|
+
task_id: null,
|
|
53
|
+
worker_id: null,
|
|
54
|
+
type: 'convoy.started',
|
|
55
|
+
data: null,
|
|
56
|
+
created_at: NOW,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
beforeEach(() => {
|
|
60
|
+
tmpDir = realpathSync(mkdtempSync(join(tmpdir(), 'convoy-export-test-')));
|
|
61
|
+
store = createConvoyStore(join(tmpDir, 'convoy.db'));
|
|
62
|
+
});
|
|
63
|
+
afterEach(() => {
|
|
64
|
+
store.close();
|
|
65
|
+
rmSync(tmpDir, { recursive: true, force: true });
|
|
66
|
+
});
|
|
67
|
+
describe('exportConvoyToNdjson', () => {
|
|
68
|
+
it('creates convoys.ndjson with valid NDJSON', async () => {
|
|
69
|
+
insertConvoy('c1');
|
|
70
|
+
insertTask('t1', 'c1');
|
|
71
|
+
const logsDir = join(tmpDir, 'logs');
|
|
72
|
+
await exportConvoyToNdjson(store, 'c1', logsDir);
|
|
73
|
+
const outFile = join(logsDir, 'convoys.ndjson');
|
|
74
|
+
expect(existsSync(outFile)).toBe(true);
|
|
75
|
+
const line = readFileSync(outFile, 'utf8').trimEnd();
|
|
76
|
+
expect(() => JSON.parse(line)).not.toThrow();
|
|
77
|
+
});
|
|
78
|
+
it('appends on multiple exports (2 convoys -> 2 lines)', async () => {
|
|
79
|
+
insertConvoy('c1');
|
|
80
|
+
insertConvoy('c2', 'Second Convoy');
|
|
81
|
+
const logsDir = join(tmpDir, 'logs');
|
|
82
|
+
await exportConvoyToNdjson(store, 'c1', logsDir);
|
|
83
|
+
await exportConvoyToNdjson(store, 'c2', logsDir);
|
|
84
|
+
const content = readFileSync(join(logsDir, 'convoys.ndjson'), 'utf8');
|
|
85
|
+
const lines = content.trim().split('\n').filter(Boolean);
|
|
86
|
+
expect(lines).toHaveLength(2);
|
|
87
|
+
expect(JSON.parse(lines[0]).id).toBe('c1');
|
|
88
|
+
expect(JSON.parse(lines[1]).id).toBe('c2');
|
|
89
|
+
});
|
|
90
|
+
it('required fields present', async () => {
|
|
91
|
+
insertConvoy('c1');
|
|
92
|
+
insertTask('t1', 'c1', 1, 'done');
|
|
93
|
+
insertTask('t2', 'c1', 1, 'failed');
|
|
94
|
+
insertEvent('c1');
|
|
95
|
+
const logsDir = join(tmpDir, 'logs');
|
|
96
|
+
await exportConvoyToNdjson(store, 'c1', logsDir);
|
|
97
|
+
const record = JSON.parse(readFileSync(join(logsDir, 'convoys.ndjson'), 'utf8').trim());
|
|
98
|
+
expect(record.id).toBe('c1');
|
|
99
|
+
expect(record.name).toBe('Test Convoy');
|
|
100
|
+
expect(record.status).toBe('done');
|
|
101
|
+
expect(Array.isArray(record.tasks)).toBe(true);
|
|
102
|
+
expect(record.tasks).toHaveLength(2);
|
|
103
|
+
expect(record.tasks[0]).toMatchObject({
|
|
104
|
+
id: 't1',
|
|
105
|
+
phase: 1,
|
|
106
|
+
agent: 'developer',
|
|
107
|
+
adapter: 'claude-code',
|
|
108
|
+
status: 'done',
|
|
109
|
+
retries: 0,
|
|
110
|
+
});
|
|
111
|
+
expect(record.summary).toMatchObject({ total: 2, done: 1, failed: 1, skipped: 0, timedOut: 0 });
|
|
112
|
+
expect(record.events_count).toBe(1);
|
|
113
|
+
});
|
|
114
|
+
it('missing convoy -> no error, no file', async () => {
|
|
115
|
+
const logsDir = join(tmpDir, 'logs');
|
|
116
|
+
await expect(exportConvoyToNdjson(store, 'nonexistent', logsDir)).resolves.toBeUndefined();
|
|
117
|
+
expect(existsSync(join(logsDir, 'convoys.ndjson'))).toBe(false);
|
|
118
|
+
});
|
|
119
|
+
it('creates directory if missing', async () => {
|
|
120
|
+
insertConvoy('c1');
|
|
121
|
+
const logsDir = join(tmpDir, 'deep', 'nested', 'logs');
|
|
122
|
+
await exportConvoyToNdjson(store, 'c1', logsDir);
|
|
123
|
+
expect(existsSync(join(logsDir, 'convoys.ndjson'))).toBe(true);
|
|
124
|
+
});
|
|
125
|
+
it('respects custom logsDir', async () => {
|
|
126
|
+
insertConvoy('c1');
|
|
127
|
+
const customDir = join(tmpDir, 'custom-output');
|
|
128
|
+
await exportConvoyToNdjson(store, 'c1', customDir);
|
|
129
|
+
const outFile = join(customDir, 'convoys.ndjson');
|
|
130
|
+
expect(existsSync(outFile)).toBe(true);
|
|
131
|
+
const record = JSON.parse(readFileSync(outFile, 'utf8').trim());
|
|
132
|
+
expect(record.id).toBe('c1');
|
|
133
|
+
});
|
|
134
|
+
it('never throws on store error — writes warning to stderr', async () => {
|
|
135
|
+
const broken = {
|
|
136
|
+
getConvoy: () => { throw new Error('db exploded'); },
|
|
137
|
+
};
|
|
138
|
+
const stderrSpy = vi.spyOn(process.stderr, 'write').mockImplementation(() => true);
|
|
139
|
+
await expect(exportConvoyToNdjson(broken, 'c1', join(tmpDir, 'logs'))).resolves.toBeUndefined();
|
|
140
|
+
expect(stderrSpy).toHaveBeenCalledWith(expect.stringContaining('exportConvoyToNdjson warning'));
|
|
141
|
+
stderrSpy.mockRestore();
|
|
142
|
+
});
|
|
143
|
+
it('defaults to .opencastle/logs when logsDir is omitted', async () => {
|
|
144
|
+
insertConvoy('c1');
|
|
145
|
+
const originalCwd = process.cwd();
|
|
146
|
+
process.chdir(tmpDir);
|
|
147
|
+
try {
|
|
148
|
+
await exportConvoyToNdjson(store, 'c1');
|
|
149
|
+
const outFile = join(tmpDir, '.opencastle', 'logs', 'convoys.ndjson');
|
|
150
|
+
expect(existsSync(outFile)).toBe(true);
|
|
151
|
+
}
|
|
152
|
+
finally {
|
|
153
|
+
process.chdir(originalCwd);
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
//# sourceMappingURL=export.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.test.js","sourceRoot":"","sources":["../../../src/cli/convoy/export.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAI9C,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1B,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;CAClD,CAAC,CAAC,CAAA;AAEH,MAAM,GAAG,GAAG,0BAA0B,CAAA;AAEtC,IAAI,MAAc,CAAA;AAClB,IAAI,KAAkB,CAAA;AAEtB,SAAS,YAAY,CAAC,EAAU,EAAE,IAAI,GAAG,aAAa;IACpD,KAAK,CAAC,YAAY,CAAC;QACjB,EAAE;QACF,IAAI;QACJ,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,YAAY;KACxB,CAAC,CAAA;IACF,KAAK,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAA;AAC7E,CAAC;AAED,SAAS,UAAU,CACjB,MAAc,EACd,QAAgB,EAChB,KAAK,GAAG,CAAC,EACT,SAA2B,MAAM;IAEjC,KAAK,CAAC,UAAU,CAAC;QACf,EAAE,EAAE,MAAM;QACV,SAAS,EAAE,QAAQ;QACnB,KAAK;QACL,MAAM,EAAE,cAAc;QACtB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,aAAa;QACtB,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,SAAS;QACrB,MAAM;QACN,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,CAAC;QACd,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,IAAI;KACjB,CAAC,CAAA;IACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;YAC/C,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;YAChB,OAAO,EAAE,CAAC;SACX,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB;IACnC,KAAK,CAAC,WAAW,CAAC;QAChB,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,GAAG;KAChB,CAAC,CAAA;AACJ,CAAC;AAED,UAAU,CAAC,GAAG,EAAE;IACd,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAA;IACzE,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;AACtD,CAAC,CAAC,CAAA;AAEF,SAAS,CAAC,GAAG,EAAE;IACb,KAAK,CAAC,KAAK,EAAE,CAAA;IACb,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AAClD,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAEpC,MAAM,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAEhD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;QAC/C,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,CAAA;QACpD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,YAAY,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAEpC,MAAM,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAChD,MAAM,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAEhD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAA;QACrE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACxD,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC7B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;QACjC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;QACnC,WAAW,CAAC,IAAI,CAAC,CAAA;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAEpC,MAAM,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAEhD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QACvF,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACvC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAClC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACpC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YACpC,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,CAAC;SACX,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAA;QAC/F,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACpC,MAAM,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAA;QAC1F,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;QAEtD,MAAM,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAEhD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;QAE/C,MAAM,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;QAElD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;QACjD,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QAC/D,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,MAAM,GAAG;YACb,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA,CAAC,CAAC;SAC1B,CAAA;QAC3B,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;QAElF,MAAM,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAA;QAC/F,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,CAAC,CAAA;QAE/F,SAAS,CAAC,WAAW,EAAE,CAAA;IACzB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QACjC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACrB,IAAI,CAAC;YACH,MAAM,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAA;YACrE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxC,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/dist/cli/dashboard.d.ts
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
import type { Server } from 'node:http';
|
|
1
2
|
import type { CliContext } from './types.js';
|
|
3
|
+
export interface DashboardServerOptions {
|
|
4
|
+
port?: number;
|
|
5
|
+
openBrowser?: boolean;
|
|
6
|
+
seed?: boolean;
|
|
7
|
+
pkgRoot: string;
|
|
8
|
+
convoyId?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface DashboardServerResult {
|
|
11
|
+
server: Server;
|
|
12
|
+
port: number;
|
|
13
|
+
url: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function startDashboardServer(options: DashboardServerOptions): Promise<DashboardServerResult>;
|
|
2
16
|
export default function dashboard({ pkgRoot, args, }: CliContext): Promise<void>;
|
|
3
17
|
//# sourceMappingURL=dashboard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/cli/dashboard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/cli/dashboard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmC,MAAM,EAAE,MAAM,WAAW,CAAA;AAIxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAiC5C,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AA4ED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAgGhC;AAED,wBAA8B,SAAS,CAAC,EACtC,OAAO,EACP,IAAI,GACL,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D5B"}
|
package/dist/cli/dashboard.js
CHANGED
|
@@ -16,6 +16,7 @@ const MIME_TYPES = {
|
|
|
16
16
|
};
|
|
17
17
|
const DATA_FILES = [
|
|
18
18
|
'events.ndjson',
|
|
19
|
+
'convoys.ndjson',
|
|
19
20
|
// Legacy individual files — kept for backwards compatibility
|
|
20
21
|
'sessions.ndjson',
|
|
21
22
|
'delegations.ndjson',
|
|
@@ -27,6 +28,7 @@ function parseArgs(args) {
|
|
|
27
28
|
let port = 4300;
|
|
28
29
|
let openBrowser = true;
|
|
29
30
|
let seed = false;
|
|
31
|
+
let convoyId;
|
|
30
32
|
for (let i = 0; i < args.length; i++) {
|
|
31
33
|
if (args[i] === '--port' && args[i + 1]) {
|
|
32
34
|
port = parseInt(args[i + 1], 10);
|
|
@@ -38,8 +40,12 @@ function parseArgs(args) {
|
|
|
38
40
|
else if (args[i] === '--seed') {
|
|
39
41
|
seed = true;
|
|
40
42
|
}
|
|
43
|
+
else if (args[i] === '--convoy' && args[i + 1]) {
|
|
44
|
+
convoyId = args[i + 1];
|
|
45
|
+
i++;
|
|
46
|
+
}
|
|
41
47
|
}
|
|
42
|
-
return { port, openBrowser, seed };
|
|
48
|
+
return { port, openBrowser, seed, convoyId };
|
|
43
49
|
}
|
|
44
50
|
function openUrl(url) {
|
|
45
51
|
const plat = process.platform;
|
|
@@ -82,27 +88,19 @@ function tryListen(server, port, maxAttempts = 10) {
|
|
|
82
88
|
attemptListen();
|
|
83
89
|
});
|
|
84
90
|
}
|
|
85
|
-
export
|
|
86
|
-
const
|
|
91
|
+
export async function startDashboardServer(options) {
|
|
92
|
+
const port = options.port ?? 4300;
|
|
93
|
+
const seed = options.seed ?? false;
|
|
94
|
+
const { pkgRoot } = options;
|
|
87
95
|
const distDir = resolve(pkgRoot, 'src', 'dashboard', 'dist');
|
|
88
96
|
const seedDir = resolve(pkgRoot, 'src', 'dashboard', 'seed-data');
|
|
89
97
|
const projectRoot = process.cwd();
|
|
98
|
+
const convoyLogsDir = resolve(projectRoot, '.opencastle', 'logs');
|
|
90
99
|
const logsDir = resolve(projectRoot, '.github', 'customizations', 'logs');
|
|
91
100
|
// Check if dist exists
|
|
92
101
|
if (!(await fileExists(distDir))) {
|
|
93
102
|
throw new Error('Dashboard not built. Run "npm run dashboard:build" in the opencastle package first.');
|
|
94
103
|
}
|
|
95
|
-
// Check if any log files exist (for messaging)
|
|
96
|
-
let hasLogs = false;
|
|
97
|
-
if (!seed) {
|
|
98
|
-
const checkFiles = ['events.ndjson', ...DATA_FILES];
|
|
99
|
-
for (const f of checkFiles) {
|
|
100
|
-
if (await fileExists(join(logsDir, f))) {
|
|
101
|
-
hasLogs = true;
|
|
102
|
-
break;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
104
|
const server = createServer(async (req, res) => {
|
|
107
105
|
try {
|
|
108
106
|
const url = new URL(req.url ?? '/', `http://${req.headers.host}`);
|
|
@@ -115,22 +113,37 @@ export default async function dashboard({ pkgRoot, args, }) {
|
|
|
115
113
|
const dataMatch = pathname.match(/^\/data\/(.+\.ndjson)$/);
|
|
116
114
|
if (dataMatch && DATA_FILES.includes(dataMatch[1])) {
|
|
117
115
|
const filename = dataMatch[1];
|
|
118
|
-
let filePath;
|
|
119
116
|
if (seed) {
|
|
120
|
-
filePath = join(seedDir, filename);
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
117
|
+
const filePath = join(seedDir, filename);
|
|
118
|
+
if (await fileExists(filePath)) {
|
|
119
|
+
const content = await readFile(filePath);
|
|
120
|
+
res.writeHead(200, { 'Content-Type': 'application/x-ndjson' });
|
|
121
|
+
res.end(content);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
res.writeHead(200, { 'Content-Type': 'application/x-ndjson' });
|
|
125
|
+
res.end('');
|
|
126
|
+
}
|
|
129
127
|
}
|
|
130
128
|
else {
|
|
131
|
-
|
|
129
|
+
const convoyPath = join(convoyLogsDir, filename);
|
|
130
|
+
const logsPath = join(logsDir, filename);
|
|
131
|
+
const inConvoy = await fileExists(convoyPath);
|
|
132
|
+
const inLogs = await fileExists(logsPath);
|
|
132
133
|
res.writeHead(200, { 'Content-Type': 'application/x-ndjson' });
|
|
133
|
-
|
|
134
|
+
if (inConvoy && inLogs) {
|
|
135
|
+
const [c1, c2] = await Promise.all([readFile(convoyPath), readFile(logsPath)]);
|
|
136
|
+
res.end(Buffer.concat([c1, c2]));
|
|
137
|
+
}
|
|
138
|
+
else if (inConvoy) {
|
|
139
|
+
res.end(await readFile(convoyPath));
|
|
140
|
+
}
|
|
141
|
+
else if (inLogs) {
|
|
142
|
+
res.end(await readFile(logsPath));
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
res.end('');
|
|
146
|
+
}
|
|
134
147
|
}
|
|
135
148
|
return;
|
|
136
149
|
}
|
|
@@ -160,30 +173,54 @@ export default async function dashboard({ pkgRoot, args, }) {
|
|
|
160
173
|
}
|
|
161
174
|
});
|
|
162
175
|
const actualPort = await tryListen(server, port);
|
|
163
|
-
const
|
|
176
|
+
const resolvedUrl = `http://localhost:${actualPort}`;
|
|
177
|
+
return { server, port: actualPort, url: resolvedUrl };
|
|
178
|
+
}
|
|
179
|
+
export default async function dashboard({ pkgRoot, args, }) {
|
|
180
|
+
const { port, openBrowser, seed, convoyId } = parseArgs(args);
|
|
181
|
+
// Check if any log files exist (for messaging)
|
|
182
|
+
let hasLogs = false;
|
|
183
|
+
if (!seed) {
|
|
184
|
+
const projectRoot = process.cwd();
|
|
185
|
+
const logsDir = resolve(projectRoot, '.github', 'customizations', 'logs');
|
|
186
|
+
const checkFiles = ['events.ndjson', ...DATA_FILES];
|
|
187
|
+
for (const f of checkFiles) {
|
|
188
|
+
if (await fileExists(join(logsDir, f))) {
|
|
189
|
+
hasLogs = true;
|
|
190
|
+
break;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
const dashResult = await startDashboardServer({ port, seed, pkgRoot, convoyId });
|
|
164
195
|
console.log('');
|
|
165
196
|
console.log(' \u{1F3F0} OpenCastle Dashboard');
|
|
166
197
|
console.log('');
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
console.log(
|
|
170
|
-
}
|
|
171
|
-
else if (hasLogs) {
|
|
172
|
-
console.log(' \u{1F4C2} Reading logs from .github/customizations/logs/');
|
|
198
|
+
if (convoyId) {
|
|
199
|
+
console.log(` \u2192 ${dashResult.url}/?convoy=${convoyId}`);
|
|
200
|
+
console.log(` \u{1F4C2} Watching convoy: ${convoyId}`);
|
|
173
201
|
}
|
|
174
202
|
else {
|
|
175
|
-
console.log(
|
|
203
|
+
console.log(` \u2192 ${dashResult.url}`);
|
|
204
|
+
if (seed) {
|
|
205
|
+
console.log(' \u{1F4C2} Showing demo data (use without --seed to read project logs)');
|
|
206
|
+
}
|
|
207
|
+
else if (hasLogs) {
|
|
208
|
+
console.log(' \u{1F4C2} Reading logs from .github/customizations/logs/');
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
console.log(' \u{1F4A1} No agent logs found. Run agents with OpenCastle to generate data, or use --seed for demo data.');
|
|
212
|
+
}
|
|
176
213
|
}
|
|
177
214
|
console.log('');
|
|
178
215
|
console.log(' Press Ctrl+C to stop');
|
|
179
216
|
console.log('');
|
|
180
217
|
if (openBrowser) {
|
|
181
|
-
openUrl(url);
|
|
218
|
+
openUrl(convoyId ? `${dashResult.url}/?convoy=${convoyId}` : dashResult.url);
|
|
182
219
|
}
|
|
183
220
|
// Graceful shutdown
|
|
184
221
|
process.on('SIGINT', () => {
|
|
185
222
|
console.log('\n Dashboard stopped.\n');
|
|
186
|
-
server.close();
|
|
223
|
+
dashResult.server.close();
|
|
187
224
|
process.exit(0);
|
|
188
225
|
});
|
|
189
226
|
// Keep the process alive
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/cli/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAG7C,MAAM,UAAU,GAA2B;IACzC,OAAO,EAAE,WAAW;IACpB,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,wBAAwB;IAC/B,OAAO,EAAE,kBAAkB;IAC3B,SAAS,EAAE,sBAAsB;IACjC,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,cAAc;IACtB,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,YAAY;CACvB,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,eAAe;IACf,6DAA6D;IAC7D,iBAAiB;IACjB,oBAAoB;IACpB,eAAe;IACf,gBAAgB;IAChB,iBAAiB;CAClB,CAAA;
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/cli/dashboard.ts"],"names":[],"mappings":"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"}
|