@cardor/agent-harness-kit 0.10.2 → 0.10.4
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"AAYA,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwE1D"}
|
package/dist/commands/health.js
CHANGED
|
@@ -3,15 +3,55 @@ import { spawnSync } from 'node:child_process';
|
|
|
3
3
|
import { existsSync } from 'node:fs';
|
|
4
4
|
import { join, resolve } from 'node:path';
|
|
5
5
|
import { loadConfig } from '../core/config.js';
|
|
6
|
+
function checkLine(label, ok, message, indent = 0) {
|
|
7
|
+
const prefix = label ? pc.cyan(`[${label}] `) : ' '.repeat(indent);
|
|
8
|
+
const icon = ok ? pc.green('✓') : pc.red('✗');
|
|
9
|
+
console.log(prefix + icon + ' ' + (ok ? pc.green(message) : pc.red(message)));
|
|
10
|
+
}
|
|
6
11
|
export async function runHealth(cwd) {
|
|
7
|
-
let
|
|
12
|
+
let config;
|
|
8
13
|
try {
|
|
9
|
-
|
|
10
|
-
scriptPath = resolve(cwd, config.health.scriptPath);
|
|
14
|
+
config = await loadConfig(cwd);
|
|
11
15
|
}
|
|
12
16
|
catch {
|
|
13
|
-
|
|
17
|
+
console.error(pc.red('✗ No config found. Run: ahk init'));
|
|
18
|
+
process.exit(1);
|
|
19
|
+
}
|
|
20
|
+
let allOk = true;
|
|
21
|
+
// ─── [checking DB] ──────────────────────────────────────────────────────────
|
|
22
|
+
const dbPath = resolve(cwd, config.storage.dbPath);
|
|
23
|
+
const dbOk = existsSync(dbPath);
|
|
24
|
+
checkLine('checking DB', dbOk, `${config.storage.dbPath} reachable`);
|
|
25
|
+
if (!dbOk)
|
|
26
|
+
allOk = false;
|
|
27
|
+
// ─── [checking agents] ──────────────────────────────────────────────────────
|
|
28
|
+
const agentsDir = config.provider === 'claude-code' ? '.claude/agents' : '.opencode/agents';
|
|
29
|
+
const agentNames = ['lead', 'explorer', 'builder', 'reviewer'];
|
|
30
|
+
const agentsLabelWidth = '[checking agents] '.length;
|
|
31
|
+
for (let i = 0; i < agentNames.length; i++) {
|
|
32
|
+
const name = agentNames[i];
|
|
33
|
+
const agentPath = join(cwd, agentsDir, `${name}.md`);
|
|
34
|
+
const ok = existsSync(agentPath);
|
|
35
|
+
checkLine(i === 0 ? 'checking agents' : null, ok, `${name}.md present`, agentsLabelWidth);
|
|
36
|
+
if (!ok)
|
|
37
|
+
allOk = false;
|
|
38
|
+
}
|
|
39
|
+
// ─── [checking MCP] ─────────────────────────────────────────────────────────
|
|
40
|
+
if (config.tools.mcp.enabled) {
|
|
41
|
+
const mcpFile = config.provider === 'claude-code' ? '.claude/mcp.json' : 'opencode.json';
|
|
42
|
+
const mcpPath = resolve(cwd, mcpFile);
|
|
43
|
+
const mcpOk = existsSync(mcpPath);
|
|
44
|
+
checkLine('checking MCP', mcpOk, `${mcpFile} valid`);
|
|
45
|
+
if (!mcpOk)
|
|
46
|
+
allOk = false;
|
|
47
|
+
}
|
|
48
|
+
if (!allOk) {
|
|
49
|
+
console.log('');
|
|
50
|
+
console.error(pc.red('✗ Harness checks failed — fix the above before running health.sh'));
|
|
51
|
+
process.exit(1);
|
|
14
52
|
}
|
|
53
|
+
// ─── Run health.sh ──────────────────────────────────────────────────────────
|
|
54
|
+
const scriptPath = resolve(cwd, config.health.scriptPath);
|
|
15
55
|
if (!existsSync(scriptPath)) {
|
|
16
56
|
console.error(pc.red(`✗ health.sh not found: ${scriptPath}`));
|
|
17
57
|
console.error(' Run ahk init first.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAW;IACzC,IAAI,
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ export async function runTaskAdd(cwd) {
|
|
|
27
27
|
p.log.info('Acceptance criteria — one per line, empty line to finish');
|
|
28
28
|
while (true) {
|
|
29
29
|
const val = await p.text({ message: '>', placeholder: 'Criterion (or press Enter to finish)' });
|
|
30
|
-
if (p.isCancel(val) || !val.trim())
|
|
30
|
+
if (p.isCancel(val) || !val || !val.trim())
|
|
31
31
|
break;
|
|
32
32
|
acceptance.push(val.trim());
|
|
33
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/task/add.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AACnC,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAA;AAEnE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW;IAC1C,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAA;IAEhD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC;QAC5B,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC;KAC9D,CAAC,CAAA;IACF,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAAC,CAAC;IACrE,MAAM,KAAK,GAAI,QAAmB,CAAC,IAAI,EAAE,CAAA;IAEzC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC;QAC3B,OAAO,EAAE,4BAA4B;QACrC,WAAW,EAAE,UAAU;KACxB,CAAC,CAAA;IACF,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAAC,CAAC;IACpE,MAAM,WAAW,GAAI,OAAkB,CAAC,IAAI,EAAE,CAAA;IAE9C,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;IACtE,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,sCAAsC,EAAE,CAAC,CAAA;QAC/F,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,GAAc,CAAC,IAAI,EAAE;YAAE,MAAK;
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/commands/task/add.ts"],"names":[],"mappings":"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"}
|