agent-work-loop 0.6.25 → 0.6.26
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/{brief-LZ6JC5V5.js → brief-JIXESFMO.js} +5 -5
- package/dist/{changelog-ZCPSFDX3.js → changelog-PBF6JBOC.js} +5 -5
- package/dist/{chunk-ELQ4VANN.js → chunk-2YWYGWCZ.js} +51 -12
- package/dist/{chunk-6MG6CQBD.js → chunk-6DXZYTDA.js} +3 -3
- package/dist/{chunk-4MWV4RBI.js → chunk-AMQFBJCO.js} +4 -4
- package/dist/{chunk-5TFILHLH.js → chunk-B6AEYNF3.js} +2 -2
- package/dist/{chunk-JQN653ZS.js → chunk-F34MITMC.js} +2 -2
- package/dist/{chunk-ZYXKMNHC.js → chunk-FQLRA2YC.js} +1 -1
- package/dist/{chunk-57EWVAZO.js → chunk-JDCW2Y2G.js} +4 -4
- package/dist/{chunk-R2RZC5NQ.js → chunk-KEVDO3C3.js} +5 -5
- package/dist/{chunk-7KIVLJG3.js → chunk-NXH5EBBJ.js} +6 -6
- package/dist/{chunk-WRNCUSNU.js → chunk-OPPRCJT2.js} +2 -2
- package/dist/{chunk-MJT6UANJ.js → chunk-PLHEP5QE.js} +2 -2
- package/dist/{chunk-F7Z3S5LD.js → chunk-PUI2B27T.js} +8 -8
- package/dist/{chunk-QLUBNGHR.js → chunk-SQFGUNTY.js} +5 -5
- package/dist/{chunk-SBX6LOQE.js → chunk-XD4IDIEM.js} +2 -2
- package/dist/{chunk-FBRW7KKY.js → chunk-XQ7JJXBY.js} +5 -5
- package/dist/{chunk-OTN2QONN.js → chunk-YODF2HTK.js} +22 -0
- package/dist/cli.js +40 -40
- package/dist/{commit-4XEKMCJF.js → commit-OUZNLCNL.js} +6 -6
- package/dist/{config-BZDCXBQ5.js → config-26FHYODU.js} +3 -3
- package/dist/{doctor-ST67JMQ6.js → doctor-UHUA6ULF.js} +8 -8
- package/dist/{evolve-ZBSIUZXP.js → evolve-V5BQCSHC.js} +7 -7
- package/dist/{feedback-HVNBFJBW.js → feedback-UJ7WSARN.js} +5 -5
- package/dist/{gotchas-642PZ5AQ.js → gotchas-L3NXDDDI.js} +7 -7
- package/dist/{hold-recheck-N3UCEIXL.js → hold-recheck-QINLKCPM.js} +16 -16
- package/dist/{init-2FPJSD64.js → init-6R4MT6FQ.js} +6 -2
- package/dist/lane-CJVXEV3A.js +41 -0
- package/dist/{loop-summary-22VD3BDL.js → loop-summary-FVJICIWA.js} +6 -6
- package/dist/{metrics-4OT2R3GT.js → metrics-NVJFKQ4J.js} +4 -4
- package/dist/{record-CJONXDR2.js → record-JJJSGU5E.js} +5 -5
- package/dist/{review-L52UGCIJ.js → review-I4QMZPTI.js} +13 -13
- package/dist/{rules-U7UCVU5O.js → rules-OTUONMXO.js} +8 -8
- package/dist/{state-3G4XAB6P.js → state-UC45ECTI.js} +4 -4
- package/dist/status-TU36KJDH.js +40 -0
- package/dist/{uninstall-M7Z6SO7L.js → uninstall-HHKLOXF5.js} +15 -15
- package/dist/{update-LQBVQIXW.js → update-BXRWE7OH.js} +2 -2
- package/dist/{verify-PYZXB67X.js → verify-A64P77RU.js} +10 -10
- package/dist/version-check-UBXBVPTS.js +14 -0
- package/dist/{work-VTHTF4AQ.js → work-LMM5W2PQ.js} +14 -14
- package/engine/skills/claude/awl-loop/SKILL.md +3 -1
- package/engine/skills/claude/awl-pipeline/SKILL.md +5 -1
- package/engine/skills/claude/awl-pipeline-exec/SKILL.md +4 -1
- package/engine/skills/claude/awl-pipeline-plan/SKILL.md +4 -1
- package/engine/skills/claude/awl-pipeline-review/SKILL.md +4 -1
- package/engine/skills/codex/AGENTS.awl.md +2 -0
- package/engine/version.json +1 -1
- package/package.json +1 -1
- package/dist/lane-7AB53N4M.js +0 -41
- package/dist/status-7V4W52VA.js +0 -40
- package/dist/version-check-QQDDSBU7.js +0 -14
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
loadProjectName,
|
|
3
3
|
readRecords
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-6DXZYTDA.js";
|
|
5
5
|
import {
|
|
6
6
|
loadState
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-XD4IDIEM.js";
|
|
8
8
|
import {
|
|
9
9
|
resolveProjectRoot,
|
|
10
10
|
run
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-B6AEYNF3.js";
|
|
12
|
+
import "./chunk-2YWYGWCZ.js";
|
|
13
|
+
import "./chunk-YODF2HTK.js";
|
|
14
14
|
|
|
15
15
|
// src/commands/brief.ts
|
|
16
16
|
var KST_OFFSET_MS = 9 * 60 * 60 * 1e3;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
readRecords
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-6DXZYTDA.js";
|
|
4
4
|
import {
|
|
5
5
|
loadState
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-XD4IDIEM.js";
|
|
7
7
|
import {
|
|
8
8
|
resolveProjectRoot
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-B6AEYNF3.js";
|
|
10
|
+
import "./chunk-2YWYGWCZ.js";
|
|
11
11
|
import {
|
|
12
12
|
caps,
|
|
13
13
|
signal
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-YODF2HTK.js";
|
|
15
15
|
|
|
16
16
|
// src/commands/changelog.ts
|
|
17
17
|
function runChangelogDraft(opts) {
|
|
@@ -10,9 +10,10 @@ import {
|
|
|
10
10
|
padEndDisplay,
|
|
11
11
|
projectsFile,
|
|
12
12
|
rawModeCapable,
|
|
13
|
+
sectionBox,
|
|
13
14
|
signal,
|
|
14
15
|
stringWidth
|
|
15
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-YODF2HTK.js";
|
|
16
17
|
|
|
17
18
|
// src/commands/init.ts
|
|
18
19
|
import fs from "fs";
|
|
@@ -112,7 +113,7 @@ function renderInteractiveSelect(options, state, multi, c, presentation) {
|
|
|
112
113
|
lines.push("");
|
|
113
114
|
lines.push(color.dim(presentation.hint));
|
|
114
115
|
}
|
|
115
|
-
const text =
|
|
116
|
+
const text = sectionBox(presentation.title ?? "\uC120\uD0DD", lines, c);
|
|
116
117
|
return { text, lineCount: text.split("\n").length };
|
|
117
118
|
}
|
|
118
119
|
async function runInteractiveSelect(options, defaultIndex, multi, c, defaultChecked = [], presentation = {}) {
|
|
@@ -495,12 +496,13 @@ function registerProject(entry) {
|
|
|
495
496
|
return list.length;
|
|
496
497
|
}
|
|
497
498
|
function claudeSkillNames() {
|
|
498
|
-
const
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
499
|
+
for (const base of [engineDir(), packageEngineDir()]) {
|
|
500
|
+
try {
|
|
501
|
+
return fs.readdirSync(path.join(base, "skills", "claude"), { withFileTypes: true }).filter((e) => e.isDirectory()).map((e) => e.name).sort();
|
|
502
|
+
} catch {
|
|
503
|
+
}
|
|
503
504
|
}
|
|
505
|
+
return [];
|
|
504
506
|
}
|
|
505
507
|
function copyClaudeSkills(projectRoot, filter) {
|
|
506
508
|
const copied = [];
|
|
@@ -656,7 +658,7 @@ function applyInit(projectRoot, inputs, now) {
|
|
|
656
658
|
}
|
|
657
659
|
var WIDTH = 64;
|
|
658
660
|
function stepBox(step, title, lines, c) {
|
|
659
|
-
return
|
|
661
|
+
return sectionBox(`${step}${c.unicode ? " \xB7 " : " - "}${title}`, lines, c, WIDTH - 4);
|
|
660
662
|
}
|
|
661
663
|
var VERIFY_LABELS = {
|
|
662
664
|
typecheck: "\uD0C0\uC785\uCCB4\uD06C",
|
|
@@ -698,7 +700,7 @@ function renderResult(result, inputs, c) {
|
|
|
698
700
|
const color = makeColors(c.color);
|
|
699
701
|
const t = makeTokens(c);
|
|
700
702
|
const line = (name, value, note = "") => ` ${padEndDisplay(name, 20)}${t.emphasis(value)}${note ? ` ${color.dim(note)}` : ""}`;
|
|
701
|
-
const setupLines = [];
|
|
703
|
+
const setupLines = [t.emphasis(`[v${result.engineVersion}]`)];
|
|
702
704
|
setupLines.push(line("~/.awl", result.globalCreated ? "\uC0DD\uC131\uB428" : "\uC774\uBBF8 \uC788\uC74C"));
|
|
703
705
|
setupLines.push(line("~/.awl/engine", result.engineVersion));
|
|
704
706
|
setupLines.push(line(".awl/config.json", "\uC0DD\uC131\uB428", "<- \uCEE4\uBC0B\uD558\uC138\uC694. \uD300\uC6D0\uC740 \uC774 \uD30C\uC77C\uC744 \uC501\uB2C8\uB2E4"));
|
|
@@ -728,9 +730,9 @@ function renderResult(result, inputs, c) {
|
|
|
728
730
|
}
|
|
729
731
|
return [
|
|
730
732
|
"",
|
|
731
|
-
|
|
733
|
+
sectionBox("\uC124\uC815 \uC644\uB8CC", setupLines, c, WIDTH - 4),
|
|
732
734
|
"",
|
|
733
|
-
|
|
735
|
+
sectionBox("\uB2E4\uC74C \uB2E8\uACC4", nextLines, c, WIDTH - 4)
|
|
734
736
|
].join("\n");
|
|
735
737
|
}
|
|
736
738
|
var LANG_OPTIONS = ["TypeScript", "JavaScript", "Python", "\uC9C1\uC811 \uC785\uB825"];
|
|
@@ -901,6 +903,7 @@ async function interactiveInputs(projectRoot, hasGlobal, c) {
|
|
|
901
903
|
}
|
|
902
904
|
process.stdout.write(`
|
|
903
905
|
${screens.lang}
|
|
906
|
+
|
|
904
907
|
`);
|
|
905
908
|
const rawLanguage = useRawMode ? await runInteractiveSelect(LANG_OPTIONS, langDefaultIndex(projectRoot), false, c, [], {
|
|
906
909
|
title: "\uC8FC \uC5B8\uC5B4",
|
|
@@ -929,10 +932,12 @@ ${screens.lang}
|
|
|
929
932
|
if (located.cwd) {
|
|
930
933
|
process.stdout.write(`
|
|
931
934
|
${stepBox("2/3", "\uAC80\uC99D \uBA85\uB839\uC5B4", verifyStepLines(verify), c)}
|
|
935
|
+
|
|
932
936
|
`);
|
|
933
937
|
} else {
|
|
934
938
|
process.stdout.write(`
|
|
935
939
|
${screens.verify}
|
|
940
|
+
|
|
936
941
|
`);
|
|
937
942
|
}
|
|
938
943
|
for (const k of Object.keys(VERIFY_LABELS)) {
|
|
@@ -946,10 +951,12 @@ ${screens.verify}
|
|
|
946
951
|
applyVerifyCwd(verify, located.cwd);
|
|
947
952
|
process.stdout.write(`
|
|
948
953
|
${screens.character}
|
|
954
|
+
|
|
949
955
|
`);
|
|
950
956
|
const character = (await ask(prompt(), " > ")).trim();
|
|
951
957
|
process.stdout.write(`
|
|
952
958
|
${screens.skills}
|
|
959
|
+
|
|
953
960
|
`);
|
|
954
961
|
const agents = detectAgents(projectRoot);
|
|
955
962
|
const skillOptions = [
|
|
@@ -1075,6 +1082,36 @@ function resolveProjectChoice(idx, candidates) {
|
|
|
1075
1082
|
}
|
|
1076
1083
|
return { kind: "cancel" };
|
|
1077
1084
|
}
|
|
1085
|
+
function realpathOrResolve(p) {
|
|
1086
|
+
try {
|
|
1087
|
+
return fs.realpathSync(p);
|
|
1088
|
+
} catch {
|
|
1089
|
+
return path.resolve(p);
|
|
1090
|
+
}
|
|
1091
|
+
}
|
|
1092
|
+
function registeredProjectPaths() {
|
|
1093
|
+
try {
|
|
1094
|
+
const raw = JSON.parse(fs.readFileSync(projectsFile(), "utf8"));
|
|
1095
|
+
if (!Array.isArray(raw)) {
|
|
1096
|
+
return /* @__PURE__ */ new Set();
|
|
1097
|
+
}
|
|
1098
|
+
const paths = /* @__PURE__ */ new Set();
|
|
1099
|
+
for (const entry of raw) {
|
|
1100
|
+
if (entry && typeof entry === "object" && typeof entry.path === "string") {
|
|
1101
|
+
paths.add(realpathOrResolve(entry.path));
|
|
1102
|
+
}
|
|
1103
|
+
}
|
|
1104
|
+
return paths;
|
|
1105
|
+
} catch {
|
|
1106
|
+
return /* @__PURE__ */ new Set();
|
|
1107
|
+
}
|
|
1108
|
+
}
|
|
1109
|
+
function excludeRegisteredProjects(candidates, registered) {
|
|
1110
|
+
if (registered.size === 0) {
|
|
1111
|
+
return candidates;
|
|
1112
|
+
}
|
|
1113
|
+
return candidates.filter((c) => !registered.has(realpathOrResolve(c.path)));
|
|
1114
|
+
}
|
|
1078
1115
|
async function pickProjectRoot(cwd, c) {
|
|
1079
1116
|
const raw = rawModeCapable();
|
|
1080
1117
|
const session = { rl: null };
|
|
@@ -1111,7 +1148,7 @@ async function pickProjectRoot(cwd, c) {
|
|
|
1111
1148
|
return null;
|
|
1112
1149
|
}
|
|
1113
1150
|
}
|
|
1114
|
-
const candidates = scanGitProjects(cwd);
|
|
1151
|
+
const candidates = excludeRegisteredProjects(scanGitProjects(cwd), registeredProjectPaths());
|
|
1115
1152
|
const labels = [...candidates.map((p) => `${p.name} (${p.path})`), "\uC9C1\uC811 \uACBD\uB85C \uC785\uB825", "\uCDE8\uC18C"];
|
|
1116
1153
|
const title = candidates.length > 0 ? "\uD504\uB85C\uC81D\uD2B8\uB97C \uACE0\uB974\uC138\uC694 (\uCD5C\uADFC \uC218\uC815\uC21C, \uCD5C\uB300 20)" : "\uD558\uC704\uC5D0 git \uD504\uB85C\uC81D\uD2B8\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 \uC9C1\uC811 \uC785\uB825\uD558\uAC70\uB098 \uCDE8\uC18C";
|
|
1117
1154
|
const choice = resolveProjectChoice(await select(labels, title), candidates);
|
|
@@ -1239,5 +1276,7 @@ export {
|
|
|
1239
1276
|
promptVerifyLocation,
|
|
1240
1277
|
applyVerifyCwd,
|
|
1241
1278
|
resolveProjectChoice,
|
|
1279
|
+
registeredProjectPaths,
|
|
1280
|
+
excludeRegisteredProjects,
|
|
1242
1281
|
runInit
|
|
1243
1282
|
};
|
|
@@ -2,18 +2,18 @@ import {
|
|
|
2
2
|
getCriterion,
|
|
3
3
|
loadState,
|
|
4
4
|
writeState
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-XD4IDIEM.js";
|
|
6
6
|
import {
|
|
7
7
|
resolveProjectRoot,
|
|
8
8
|
run
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-B6AEYNF3.js";
|
|
10
10
|
import {
|
|
11
11
|
caps,
|
|
12
12
|
card,
|
|
13
13
|
makeColors,
|
|
14
14
|
recordsDir,
|
|
15
15
|
signal
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-YODF2HTK.js";
|
|
17
17
|
|
|
18
18
|
// src/commands/record.ts
|
|
19
19
|
import crypto from "crypto";
|
|
@@ -5,22 +5,22 @@ import {
|
|
|
5
5
|
runWorkNew,
|
|
6
6
|
sanitizeForGit,
|
|
7
7
|
worktreeDirtyTracked
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-PUI2B27T.js";
|
|
9
9
|
import {
|
|
10
10
|
loadState,
|
|
11
11
|
writeState
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-XD4IDIEM.js";
|
|
13
13
|
import {
|
|
14
14
|
resolveProjectRoot,
|
|
15
15
|
run
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-B6AEYNF3.js";
|
|
17
17
|
import {
|
|
18
18
|
caps,
|
|
19
19
|
card,
|
|
20
20
|
feedback,
|
|
21
21
|
makeColors,
|
|
22
22
|
signal
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-YODF2HTK.js";
|
|
24
24
|
|
|
25
25
|
// src/commands/lane.ts
|
|
26
26
|
import fs from "fs";
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
ask,
|
|
5
5
|
buildScreens,
|
|
6
6
|
promptNumber
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-2YWYGWCZ.js";
|
|
8
8
|
import {
|
|
9
9
|
caps,
|
|
10
10
|
card,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
makeColors,
|
|
13
13
|
makeSymbols,
|
|
14
14
|
signal
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-YODF2HTK.js";
|
|
16
16
|
|
|
17
17
|
// src/commands/config.ts
|
|
18
18
|
import fs from "fs";
|
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
getLatestVersionCached,
|
|
4
4
|
name,
|
|
5
5
|
version
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-F34MITMC.js";
|
|
7
7
|
import {
|
|
8
8
|
resolveProjectRoot
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-B6AEYNF3.js";
|
|
10
10
|
import {
|
|
11
11
|
packageEngineDir,
|
|
12
12
|
skillsVersionPath
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-2YWYGWCZ.js";
|
|
14
14
|
import {
|
|
15
15
|
caps,
|
|
16
16
|
card,
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
makeSymbols,
|
|
20
20
|
makeTokens,
|
|
21
21
|
signal
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-YODF2HTK.js";
|
|
23
23
|
|
|
24
24
|
// src/commands/version-check.ts
|
|
25
25
|
import fs from "fs";
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
WORKTREES_DIR
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AMQFBJCO.js";
|
|
4
4
|
import {
|
|
5
5
|
readRecords
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-6DXZYTDA.js";
|
|
7
7
|
import {
|
|
8
8
|
loadState
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-XD4IDIEM.js";
|
|
10
10
|
import {
|
|
11
11
|
resolveProjectRoot,
|
|
12
12
|
run
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-B6AEYNF3.js";
|
|
14
14
|
import {
|
|
15
15
|
caps,
|
|
16
16
|
card,
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
signal,
|
|
22
22
|
statusBadge,
|
|
23
23
|
stringWidth
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-YODF2HTK.js";
|
|
25
25
|
|
|
26
26
|
// src/commands/status.ts
|
|
27
27
|
import fs2 from "fs";
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
gatherVersionInputs
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JDCW2Y2G.js";
|
|
4
4
|
import {
|
|
5
5
|
checkVersions
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-F34MITMC.js";
|
|
7
7
|
import {
|
|
8
8
|
loadProjectName,
|
|
9
9
|
readRecords
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-6DXZYTDA.js";
|
|
11
11
|
import {
|
|
12
12
|
loadState,
|
|
13
13
|
readStateLock
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-XD4IDIEM.js";
|
|
15
15
|
import {
|
|
16
16
|
CommandNotFoundError,
|
|
17
17
|
run,
|
|
18
18
|
tokenize
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-B6AEYNF3.js";
|
|
20
20
|
import {
|
|
21
21
|
caps,
|
|
22
22
|
card,
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
rulesDir,
|
|
33
33
|
signal,
|
|
34
34
|
visibleWidth
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-YODF2HTK.js";
|
|
36
36
|
|
|
37
37
|
// src/commands/doctor.ts
|
|
38
38
|
import fs from "fs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
requireConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-B6AEYNF3.js";
|
|
4
4
|
import {
|
|
5
5
|
caps,
|
|
6
6
|
card,
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
makeColors,
|
|
9
9
|
padEndDisplay,
|
|
10
10
|
stringWidth
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-YODF2HTK.js";
|
|
12
12
|
|
|
13
13
|
// src/commands/metrics.ts
|
|
14
14
|
import fs from "fs";
|
|
@@ -2,14 +2,14 @@ import {
|
|
|
2
2
|
acquireLock,
|
|
3
3
|
loadGotchaList,
|
|
4
4
|
releaseLock
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-SQFGUNTY.js";
|
|
6
6
|
import {
|
|
7
7
|
caps,
|
|
8
8
|
card,
|
|
9
9
|
makeColors,
|
|
10
10
|
rulesDir,
|
|
11
11
|
signal
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-YODF2HTK.js";
|
|
13
13
|
|
|
14
14
|
// src/commands/rules.ts
|
|
15
15
|
import { spawnSync } from "child_process";
|
|
@@ -7,29 +7,29 @@ import {
|
|
|
7
7
|
isCheckPassed,
|
|
8
8
|
runVerifyChecks,
|
|
9
9
|
writeVerifyBaseline
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-XQ7JJXBY.js";
|
|
11
11
|
import {
|
|
12
12
|
gitBranch
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-NXH5EBBJ.js";
|
|
14
14
|
import {
|
|
15
15
|
parseRuleFile
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-PLHEP5QE.js";
|
|
17
17
|
import {
|
|
18
18
|
nextGotchaId
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-SQFGUNTY.js";
|
|
20
20
|
import {
|
|
21
21
|
loadState,
|
|
22
22
|
migrateState,
|
|
23
23
|
writeState
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-XD4IDIEM.js";
|
|
25
25
|
import {
|
|
26
26
|
loadConfig,
|
|
27
27
|
resolveProjectRoot,
|
|
28
28
|
run
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-B6AEYNF3.js";
|
|
30
30
|
import {
|
|
31
31
|
installClaudeSkill
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-2YWYGWCZ.js";
|
|
33
33
|
import {
|
|
34
34
|
caps,
|
|
35
35
|
card,
|
|
@@ -39,7 +39,7 @@ import {
|
|
|
39
39
|
makeSymbols,
|
|
40
40
|
makeTokens,
|
|
41
41
|
signal
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-YODF2HTK.js";
|
|
43
43
|
|
|
44
44
|
// src/commands/work.ts
|
|
45
45
|
import fs2 from "fs";
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
computeDurationMs
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-OPPRCJT2.js";
|
|
4
4
|
import {
|
|
5
5
|
computeCoverage,
|
|
6
6
|
readRecords
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-6DXZYTDA.js";
|
|
8
8
|
import {
|
|
9
9
|
loadState
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-XD4IDIEM.js";
|
|
11
11
|
import {
|
|
12
12
|
requireConfig
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-B6AEYNF3.js";
|
|
14
14
|
import {
|
|
15
15
|
caps,
|
|
16
16
|
generationsDir,
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
lockFile,
|
|
20
20
|
makeColors,
|
|
21
21
|
signal
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-YODF2HTK.js";
|
|
23
23
|
|
|
24
24
|
// src/commands/evolve.ts
|
|
25
25
|
import fs from "fs";
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import {
|
|
2
2
|
protectedFilesMessage
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-FQLRA2YC.js";
|
|
4
4
|
import {
|
|
5
5
|
gitDirtyFiles
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-NXH5EBBJ.js";
|
|
7
7
|
import {
|
|
8
8
|
applyVerificationAttempts,
|
|
9
9
|
loadState,
|
|
10
10
|
writeState
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-XD4IDIEM.js";
|
|
12
12
|
import {
|
|
13
13
|
CommandNotFoundError,
|
|
14
14
|
VERIFY_ORDER,
|
|
15
15
|
requireConfig,
|
|
16
16
|
run
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-B6AEYNF3.js";
|
|
18
18
|
import {
|
|
19
19
|
caps,
|
|
20
20
|
card,
|
|
21
21
|
makeColors,
|
|
22
22
|
signal
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-YODF2HTK.js";
|
|
24
24
|
|
|
25
25
|
// src/commands/verify.ts
|
|
26
26
|
import fs from "fs";
|
|
@@ -415,6 +415,27 @@ function card(title, lines, c = caps(), minInnerWidth = 0) {
|
|
|
415
415
|
const bottom = frame(`${s.boxBL}${s.boxH.repeat(inner + pad * 2)}${s.boxBR}`);
|
|
416
416
|
return [top, ...wrapped.map(row), bottom].join("\n");
|
|
417
417
|
}
|
|
418
|
+
function sectionBox(title, lines, c = caps(), minInnerWidth = 0) {
|
|
419
|
+
const s = makeSymbols(c);
|
|
420
|
+
const t = makeTokens(c);
|
|
421
|
+
const pad = 2;
|
|
422
|
+
const maxInner = Math.max(
|
|
423
|
+
minInnerWidth,
|
|
424
|
+
Math.min(HARD_MAX_WIDTH, viewportWidth() - (2 + pad * 2))
|
|
425
|
+
);
|
|
426
|
+
const wrapped = lines.flatMap((line) => wrapToWidth(line, maxInner, { hanging: true }));
|
|
427
|
+
const inner = Math.min(
|
|
428
|
+
maxInner,
|
|
429
|
+
Math.max(minInnerWidth, visibleWidth(title), ...wrapped.map(visibleWidth), 0)
|
|
430
|
+
);
|
|
431
|
+
const frame = (text) => t.frame(text);
|
|
432
|
+
const row = (text) => `${frame(s.boxV)}${" ".repeat(pad)}${text}`;
|
|
433
|
+
const safeTitle = truncateToWidth(title, inner);
|
|
434
|
+
const tvis = visibleWidth(safeTitle);
|
|
435
|
+
const dash = Math.max(1, inner + pad * 2 - 3 - tvis);
|
|
436
|
+
const top = frame(`${s.boxTL}${s.boxH} `) + t.emphasis(t.accent(safeTitle)) + frame(` ${s.boxH.repeat(dash)}`);
|
|
437
|
+
return [top, ...wrapped.map(row)].join("\n");
|
|
438
|
+
}
|
|
418
439
|
var RESET = "\x1B[0m";
|
|
419
440
|
function ansi(code, str, enabled) {
|
|
420
441
|
return enabled ? `\x1B[${code}m${str}${RESET}` : str;
|
|
@@ -516,6 +537,7 @@ export {
|
|
|
516
537
|
padEndDisplay,
|
|
517
538
|
makeSymbols,
|
|
518
539
|
card,
|
|
540
|
+
sectionBox,
|
|
519
541
|
makeTokens,
|
|
520
542
|
signal,
|
|
521
543
|
statusBadge,
|