agent-work-loop 0.6.36 → 0.6.43
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-GQRHGJQN.js → brief-GOGJDLY7.js} +5 -5
- package/dist/{changelog-HZMH3RPD.js → changelog-NLYZTB44.js} +5 -5
- package/dist/{chunk-7TMAQRJS.js → chunk-7CPPZX6X.js} +1 -1
- package/dist/{chunk-FKBBGXGF.js → chunk-E6MULIMV.js} +5 -5
- package/dist/{chunk-NOU677FX.js → chunk-I3WXYD5C.js} +1 -1
- package/dist/{chunk-PFHPIVTO.js → chunk-I5SS6HFR.js} +49 -35
- package/dist/{chunk-CMIR4BRM.js → chunk-I5WWLNA6.js} +37 -9
- package/dist/{chunk-EEGOR4Y3.js → chunk-JQV65R3M.js} +5 -5
- package/dist/{chunk-7D4T7HFK.js → chunk-JR6MKCC4.js} +126 -6
- package/dist/{chunk-OJ7YO3MY.js → chunk-MBEY33YA.js} +2 -2
- package/dist/{chunk-QMECHIJW.js → chunk-OVLA5DET.js} +99 -21
- package/dist/{chunk-6F4VAVKF.js → chunk-QVP5DUND.js} +3 -3
- package/dist/{chunk-DNE7BN76.js → chunk-SKLSWS5J.js} +2 -2
- package/dist/{chunk-4ZLARTXS.js → chunk-SOUTYYY4.js} +47 -3
- package/dist/{chunk-AXES5NVJ.js → chunk-TQUXHTN5.js} +4 -4
- package/dist/{chunk-UNANHUG3.js → chunk-UJ6CK5HC.js} +2 -2
- package/dist/{chunk-SUF5ISJM.js → chunk-UNAASSQ4.js} +3 -1
- package/dist/{chunk-R4EH3WJE.js → chunk-YC23SNVC.js} +5 -5
- package/dist/cli.js +40 -40
- package/dist/{commit-SU6CTBU3.js → commit-BKN3ZJI7.js} +6 -6
- package/dist/{config-Z4G5SBWJ.js → config-DX3WL2JT.js} +9 -3
- package/dist/{doctor-UOOJSZBL.js → doctor-TBRNCTDS.js} +8 -8
- package/dist/{evolve-SQJ5LIE4.js → evolve-EMGWWWY3.js} +7 -7
- package/dist/{feedback-TPITVUZL.js → feedback-ZAAM5VYL.js} +5 -5
- package/dist/{gotchas-UEZG3HVO.js → gotchas-6ZWHP5Z6.js} +7 -7
- package/dist/{hold-recheck-NZ3OIG4W.js → hold-recheck-K7DV64KW.js} +16 -16
- package/dist/{init-AVVD77XM.js → init-3X6NVQQW.js} +2 -2
- package/dist/lane-QPZE7KYI.js +41 -0
- package/dist/{loop-summary-L4UTUOPY.js → loop-summary-CD6EIAHZ.js} +49 -7
- package/dist/{metrics-SOYVRSNM.js → metrics-VVXCH6TR.js} +4 -4
- package/dist/{record-V6V5XPPA.js → record-AC7LPU36.js} +5 -5
- package/dist/{remove-3XNAPKK6.js → remove-C64QRELY.js} +15 -15
- package/dist/{review-USI34ZYP.js → review-VCVPT3P6.js} +13 -13
- package/dist/{rules-ASJFXFGG.js → rules-2DIFP7K2.js} +8 -8
- package/dist/{state-6TNG2EC5.js → state-UIHEGC5P.js} +4 -4
- package/dist/status-2PUVZCFI.js +40 -0
- package/dist/{update-3AYB3V4I.js → update-KCQWDQDF.js} +2 -2
- package/dist/{verify-WXSV5HLL.js → verify-Y36JFAA7.js} +10 -10
- package/dist/version-check-XLXT7NSG.js +14 -0
- package/dist/{work-XHJFZIIL.js → work-HHTQTJZW.js} +14 -14
- package/engine/skills/claude/awl-loop/SKILL.md +16 -0
- package/engine/skills/claude/awl-loop/reference.md +4 -0
- package/engine/skills/claude/awl-pipeline/SKILL.md +93 -4
- package/engine/skills/claude/awl-pipeline/templates/README.md +44 -0
- package/engine/skills/claude/awl-pipeline/templates/watch-exec.sh +62 -0
- package/engine/skills/claude/awl-pipeline/templates/watch-inputs.sh +63 -0
- package/engine/skills/claude/awl-pipeline-exec/SKILL.md +58 -94
- package/engine/skills/claude/awl-pipeline-plan/SKILL.md +9 -3
- package/engine/skills/claude/awl-pipeline-review/SKILL.md +40 -71
- package/engine/version.json +1 -1
- package/package.json +1 -1
- package/dist/lane-65DSOYQ3.js +0 -41
- package/dist/status-M7KSA2KA.js +0 -40
- package/dist/version-check-JFXBDFFV.js +0 -14
package/dist/cli.js
CHANGED
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
computeUpdateAvailable,
|
|
4
4
|
readCachedLatestVersion,
|
|
5
5
|
version
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-SKLSWS5J.js";
|
|
7
7
|
import {
|
|
8
8
|
caps,
|
|
9
9
|
gradient,
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
sectionBox,
|
|
15
15
|
signal,
|
|
16
16
|
visibleWidth
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-UNAASSQ4.js";
|
|
18
18
|
|
|
19
19
|
// src/program.ts
|
|
20
20
|
import { Command } from "commander";
|
|
@@ -222,14 +222,14 @@ function buildProgram() {
|
|
|
222
222
|
program.name("awl").version(versionString(), "-v, --version", "\uBC84\uC804\uC744 \uCD9C\uB825\uD569\uB2C8\uB2E4").helpOption("-h, --help", "\uB3C4\uC6C0\uB9D0\uC744 \uCD9C\uB825\uD569\uB2C8\uB2E4").addHelpText("beforeAll", (ctx) => ctx.command === program ? `${renderBanner()}
|
|
223
223
|
` : "").option("--examples", "\uC790\uC8FC \uC4F0\uB294 \uBA85\uB839 \uC608\uC2DC\uB97C \uBCF4\uC5EC\uC90D\uB2C8\uB2E4").showHelpAfterError();
|
|
224
224
|
program.command("init").description("\uC774 \uD504\uB85C\uC81D\uD2B8\uC5D0 Agent Work Loop \uB97C \uC124\uC815\uD569\uB2C8\uB2E4").option("--yes", "\uC9C8\uBB38 \uC5C6\uC774 \uC790\uB3D9 \uAC10\uC9C0\uB41C \uAC12\uC73C\uB85C \uC9C4\uD589\uD569\uB2C8\uB2E4 (\uBE44\uB300\uD654\uD615)").action(async (opts) => {
|
|
225
|
-
const { runInit } = await import("./init-
|
|
225
|
+
const { runInit } = await import("./init-3X6NVQQW.js");
|
|
226
226
|
await runInit({ yes: opts.yes === true });
|
|
227
227
|
});
|
|
228
228
|
program.command("status").description("\uC9C0\uAE08 \uC5B4\uB514\uAE4C\uC9C0 \uC654\uB294\uC9C0 \uD55C\uB208\uC5D0 \uBD05\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").option("--pipeline", ".tasks \uB808\uC778(plan/exec/review)\uC758 workitem \uC0C1\uD0DC\uB97C \uBC30\uC9C0\uB85C \uBD05\uB2C8\uB2E4").option(
|
|
229
229
|
"--archive",
|
|
230
230
|
"(--pipeline\uACFC \uD568\uAED8) \uC720\uC608 \uAE30\uAC04(3\uC77C) \uC9C0\uB09C \uC644\uB8CC workitem\uC744 .tasks/archive/ \uB85C \uBCF4\uAD00\uD569\uB2C8\uB2E4"
|
|
231
231
|
).action(async (opts) => {
|
|
232
|
-
const { runStatus } = await import("./status-
|
|
232
|
+
const { runStatus } = await import("./status-2PUVZCFI.js");
|
|
233
233
|
await runStatus({
|
|
234
234
|
json: opts.json === true,
|
|
235
235
|
pipeline: opts.pipeline === true,
|
|
@@ -237,15 +237,15 @@ function buildProgram() {
|
|
|
237
237
|
});
|
|
238
238
|
});
|
|
239
239
|
program.command("brief").description("KST \uC624\uB298(\uB610\uB294 --date)\uC758 \uC9C4\uD589\uBD84\uC744 \uBAA8\uC544 \uB0C5\uB2C8\uB2E4(\uC2A4\uD0AC \uC18C\uBE44\uC6A9 --json)").option("--today", "\uC624\uB298(KST) \uAE30\uC900\uC73C\uB85C \uBAA8\uC74D\uB2C8\uB2E4(\uAE30\uBCF8)").option("--date <YYYY-MM-DD>", "KST \uAE30\uC900 \uD2B9\uC815 \uB0A0\uC9DC\uB85C \uBAA8\uC74D\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
240
|
-
const { runBrief } = await import("./brief-
|
|
240
|
+
const { runBrief } = await import("./brief-GOGJDLY7.js");
|
|
241
241
|
await runBrief({ today: opts.today === true, date: opts.date, json: opts.json === true });
|
|
242
242
|
});
|
|
243
243
|
program.command("doctor").description("\uC124\uCE58\uC640 \uD658\uACBD\uC744 \uC810\uAC80\uD569\uB2C8\uB2E4 (\uC544\uBB34\uAC83\uB3C4 \uACE0\uCE58\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
244
|
-
const { runDoctor } = await import("./doctor-
|
|
244
|
+
const { runDoctor } = await import("./doctor-TBRNCTDS.js");
|
|
245
245
|
await runDoctor({ json: opts.json === true });
|
|
246
246
|
});
|
|
247
247
|
program.command("version-check").description("\uBC84\uC804 \uBD88\uC77C\uCE58\uB97C \uAC80\uC0AC\uD569\uB2C8\uB2E4 (package/engine/\uD504\uB85C\uC81D\uD2B8/\uC2A4\uD0AC)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
248
|
-
const { runVersionCheck } = await import("./version-check-
|
|
248
|
+
const { runVersionCheck } = await import("./version-check-XLXT7NSG.js");
|
|
249
249
|
await runVersionCheck({ json: opts.json === true });
|
|
250
250
|
});
|
|
251
251
|
program.command("update").description(
|
|
@@ -254,12 +254,12 @@ function buildProgram() {
|
|
|
254
254
|
"-l, --local",
|
|
255
255
|
"\uB4F1\uB85D\uB41C \uD504\uB85C\uC81D\uD2B8 \uC804\uBD80\uC758 \uB85C\uCEEC \uC2A4\uD0AC\uC744 \uC9C0\uAE08 \uC124\uCE58\uB41C \uC5D4\uC9C4\uC5D0 \uB9DE\uCDB0 \uC7AC\uB3D9\uAE30\uD654\uD569\uB2C8\uB2E4"
|
|
256
256
|
).option("-a, --all", "\uC804\uC5ED\uACFC \uB4F1\uB85D\uB41C \uD504\uB85C\uC81D\uD2B8 \uB85C\uCEEC\uC744 \uBAA8\uB450 \uAC31\uC2E0\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
257
|
-
const { runUpdate } = await import("./update-
|
|
257
|
+
const { runUpdate } = await import("./update-KCQWDQDF.js");
|
|
258
258
|
runUpdate(opts);
|
|
259
259
|
});
|
|
260
260
|
program.command("remove").description("awl \uC774 \uC190\uB304 \uD754\uC801\uC744 \uC9C0\uC6C1\uB2C8\uB2E4 (\uAE30\uBCF8\uC740 \uB4DC\uB77C\uC774\uB7F0 \u2014 --yes \uC5C6\uC774\uB294 \uC0AD\uC81C\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4)").option("--yes", "\uC2E4\uC81C\uB85C \uC0AD\uC81C\uD569\uB2C8\uB2E4 (\uAE30\uBCF8\uC740 \uB4DC\uB77C\uC774\uB7F0)").option("--project", "\uC774 \uD504\uB85C\uC81D\uD2B8 \uB85C\uCEEC\uB9CC \uC815\uB9AC\uD569\uB2C8\uB2E4 (\uAE30\uBCF8\uAC12)").option("--global", "\uC804\uC5ED(~/.awl)\uB9CC \uC815\uB9AC\uD569\uB2C8\uB2E4 \u2014 \uB2E4\uB978 \uD504\uB85C\uC81D\uD2B8\uC758 \uD559\uC2B5\uB3C4 \uD568\uAED8 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4").option("--all", "\uD504\uB85C\uC81D\uD2B8 \uB85C\uCEEC + \uC804\uC5ED\uC744 \uBAA8\uB450 \uC815\uB9AC\uD569\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(
|
|
261
261
|
async (opts) => {
|
|
262
|
-
const { runRemove } = await import("./remove-
|
|
262
|
+
const { runRemove } = await import("./remove-C64QRELY.js");
|
|
263
263
|
await runRemove({
|
|
264
264
|
yes: opts.yes === true,
|
|
265
265
|
project: opts.project === true,
|
|
@@ -271,22 +271,22 @@ function buildProgram() {
|
|
|
271
271
|
);
|
|
272
272
|
const config = program.command("config").description("\uC774 \uD504\uB85C\uC81D\uD2B8\uC758 \uC124\uC815\uC744 \uBD05\uB2C8\uB2E4 (TTY \uBA74 \uC218\uC815\uB3C4)");
|
|
273
273
|
config.action(async () => {
|
|
274
|
-
const { runConfig } = await import("./config-
|
|
274
|
+
const { runConfig } = await import("./config-DX3WL2JT.js");
|
|
275
275
|
await runConfig();
|
|
276
276
|
});
|
|
277
277
|
config.command("set [key] [value]").description("\uC124\uC815 \uAC12\uC744 \uBC14\uAFC9\uB2C8\uB2E4 (\uD0A4 \uC0DD\uB7B5 \uC2DC \uBAA9\uB85D, cmd \uB294 \uC2E4\uC81C\uB85C \uC2E4\uD589\uD574 \uBD05\uB2C8\uB2E4)").option("--force", "\uAC80\uC99D\uC5D0 \uC2E4\uD328\uD574\uB3C4 \uC800\uC7A5\uD569\uB2C8\uB2E4").action(
|
|
278
278
|
async (key, value, opts) => {
|
|
279
|
-
const { runConfigSet } = await import("./config-
|
|
279
|
+
const { runConfigSet } = await import("./config-DX3WL2JT.js");
|
|
280
280
|
await runConfigSet(key, value, { force: opts.force === true });
|
|
281
281
|
}
|
|
282
282
|
);
|
|
283
283
|
const work = program.command("work").description("\uC774 \uD504\uB85C\uC81D\uD2B8\uC758 \uC6CC\uD06C\uC544\uC774\uD15C\uC744 \uAD00\uB9AC\uD569\uB2C8\uB2E4");
|
|
284
284
|
work.option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
285
|
-
const { runWorkList } = await import("./work-
|
|
285
|
+
const { runWorkList } = await import("./work-HHTQTJZW.js");
|
|
286
286
|
runWorkList({ json: opts.json === true });
|
|
287
287
|
});
|
|
288
288
|
work.command("list").description("\uB4F1\uB85D\uB41C \uC6CC\uD06C\uC544\uC774\uD15C \uBAA9\uB85D\uACFC \uC9C4\uD589 \uC0C1\uD669\uC744 \uBD05\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
289
|
-
const { runWorkList } = await import("./work-
|
|
289
|
+
const { runWorkList } = await import("./work-HHTQTJZW.js");
|
|
290
290
|
runWorkList({ json: opts.json === true });
|
|
291
291
|
});
|
|
292
292
|
work.command("new <id> [description]").description("\uC0C8 \uC6CC\uD06C\uC544\uC774\uD15C\uC744 \uB9CC\uB4E4\uACE0 \uC804\uD658\uD569\uB2C8\uB2E4 (\uD604\uC7AC \uC6CC\uD06C\uC544\uC774\uD15C\uC740 \uBCF4\uAD00\uB429\uB2C8\uB2E4)").option("--worktree [branch]", "\uACA9\uB9AC\uB41C git worktree \uB97C \uB9CC\uB4E4\uC5B4 \uADF8 \uC548\uC5D0\uC11C \uC2DC\uC791\uD569\uB2C8\uB2E4").option("--skip-baseline", "\uAC80\uC99D \uBCA0\uC774\uC2A4\uB77C\uC778 \uCEA1\uCC98\uB97C \uAC74\uB108\uB701\uB2C8\uB2E4 (\uB290\uB9B0 \uD504\uB85C\uC81D\uD2B8\uC6A9)").option(
|
|
@@ -294,7 +294,7 @@ function buildProgram() {
|
|
|
294
294
|
"records(~/.awl)\uB97C \uC774 \uC6CC\uD06C\uC544\uC774\uD15C \uC804\uC6A9 AWL_HOME \uC73C\uB85C \uACA9\uB9AC\uD569\uB2C8\uB2E4 (\uBCD1\uB82C \uC138\uC158\uC6A9)"
|
|
295
295
|
).option("--experiment <json>", '\uC2E4\uD5D8 \uCF00\uC774\uC2A4 \uBA54\uD0C0 JSON (\uC608: {"model":"lite","mode":"loop"})').action(
|
|
296
296
|
async (id, description, opts) => {
|
|
297
|
-
const { runWorkNew } = await import("./work-
|
|
297
|
+
const { runWorkNew } = await import("./work-HHTQTJZW.js");
|
|
298
298
|
const parsedExp = parseExperimentOption(opts.experiment);
|
|
299
299
|
if (!parsedExp.ok) {
|
|
300
300
|
process.stderr.write(`
|
|
@@ -306,52 +306,52 @@ function buildProgram() {
|
|
|
306
306
|
}
|
|
307
307
|
);
|
|
308
308
|
work.command("switch <id>").description("\uB2E4\uB978 \uC6CC\uD06C\uC544\uC774\uD15C\uC73C\uB85C \uC804\uD658\uD569\uB2C8\uB2E4 (\uD604\uC7AC \uC6CC\uD06C\uC544\uC774\uD15C\uC740 \uBCF4\uAD00\uB429\uB2C8\uB2E4)").action(async (id) => {
|
|
309
|
-
const { runWorkSwitch } = await import("./work-
|
|
309
|
+
const { runWorkSwitch } = await import("./work-HHTQTJZW.js");
|
|
310
310
|
await runWorkSwitch(id);
|
|
311
311
|
});
|
|
312
312
|
work.command("abandon <id>").description("\uC6CC\uD06C\uC544\uC774\uD15C\uC744 \uC911\uB2E8 \uCC98\uB9AC\uD569\uB2C8\uB2E4 (\uC0AD\uC81C\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4, \uAE30\uB85D\uC740 \uB0A8\uC2B5\uB2C8\uB2E4)").action(async (id) => {
|
|
313
|
-
const { runWorkAbandon } = await import("./work-
|
|
313
|
+
const { runWorkAbandon } = await import("./work-HHTQTJZW.js");
|
|
314
314
|
runWorkAbandon(id);
|
|
315
315
|
});
|
|
316
316
|
work.command("done <id>").description(
|
|
317
317
|
"\uC644\uB8CC\uB41C \uC6CC\uD06C\uC544\uC774\uD15C\uC744 \uC815\uB9AC\uD569\uB2C8\uB2E4 (\uC6CC\uD06C\uD2B8\uB9AC \uC81C\uAC70 + \uC0C1\uD0DC \uC2A4\uB0C5\uC0F7 \uD68C\uC218, \uAE30\uB85D\uC740 \uB0A8\uC2B5\uB2C8\uB2E4)"
|
|
318
318
|
).option("--force", "\uC815\uB9AC\uB418\uC9C0 \uC54A\uC740 \uBCC0\uACBD\uC774 \uC788\uC5B4\uB3C4 \uC6CC\uD06C\uD2B8\uB9AC\uB97C \uC81C\uAC70\uD569\uB2C8\uB2E4").action(async (id, opts) => {
|
|
319
|
-
const { runWorkDone } = await import("./work-
|
|
319
|
+
const { runWorkDone } = await import("./work-HHTQTJZW.js");
|
|
320
320
|
await runWorkDone(id, { force: opts.force === true });
|
|
321
321
|
});
|
|
322
322
|
const lane = program.command("lane").description("\uACA9\uB9AC \uB808\uC778(worktree)\uC73C\uB85C \uD30C\uC774\uD504\uB77C\uC778\uC744 \uBCD1\uB82C \uC2E4\uD589\uD569\uB2C8\uB2E4 (\uB808\uC778 \uC0DD\uC131\xB7\uC870\uD68C\xB7\uC815\uB9AC)");
|
|
323
323
|
lane.option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
324
|
-
const { runLaneList } = await import("./lane-
|
|
324
|
+
const { runLaneList } = await import("./lane-QPZE7KYI.js");
|
|
325
325
|
await runLaneList({ json: opts.json === true });
|
|
326
326
|
});
|
|
327
327
|
lane.command("new <name> [description]").description("\uACA9\uB9AC \uB808\uC778\uC744 \uB9CC\uB4ED\uB2C8\uB2E4 (worktree + \uC804\uC6A9 AWL_HOME + \uC2A4\uD0AC \uC7AC\uC124\uCE58 + \uAE30\uB3D9 \uC548\uB0B4)").action(async (name, description) => {
|
|
328
|
-
const { runLaneNew } = await import("./lane-
|
|
328
|
+
const { runLaneNew } = await import("./lane-QPZE7KYI.js");
|
|
329
329
|
await runLaneNew(name, description);
|
|
330
330
|
});
|
|
331
331
|
lane.command("ls").description("\uD604\uC874 \uB808\uC778\uC744 \uC774\uB984\xB7\uACBD\uB85C\xB7\uBE0C\uB79C\uCE58\uC640 \uD568\uAED8 \uB098\uC5F4\uD569\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
332
|
-
const { runLaneList } = await import("./lane-
|
|
332
|
+
const { runLaneList } = await import("./lane-QPZE7KYI.js");
|
|
333
333
|
await runLaneList({ json: opts.json === true });
|
|
334
334
|
});
|
|
335
335
|
lane.command("rm <name>").description("\uB808\uC778\uC758 \uC6CC\uD06C\uD2B8\uB9AC\uB97C \uD68C\uC218\uD558\uACE0 \uB514\uB809\uD1A0\uB9AC\uB97C \uC81C\uAC70\uD569\uB2C8\uB2E4").option("--force", "\uCEE4\uBC0B\uB418\uC9C0 \uC54A\uC740 \uBCC0\uACBD\uC774 \uC788\uC5B4\uB3C4 \uC81C\uAC70\uD569\uB2C8\uB2E4").action(async (name, opts) => {
|
|
336
|
-
const { runLaneRemove } = await import("./lane-
|
|
336
|
+
const { runLaneRemove } = await import("./lane-QPZE7KYI.js");
|
|
337
337
|
await runLaneRemove(name, { force: opts.force === true });
|
|
338
338
|
});
|
|
339
339
|
program.command("records").description("\uC313\uC778 \uAE30\uB85D\uC744 \uBD05\uB2C8\uB2E4").option("--type <type>", "\uD0C0\uC785\uC73C\uB85C \uAC70\uB985\uB2C8\uB2E4 (attempt, blocked \uB4F1)").option("--workitem <id>", "\uC6CC\uD06C\uC544\uC774\uD15C\uC73C\uB85C \uAC70\uB985\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
340
|
-
const { runRecords } = await import("./record-
|
|
340
|
+
const { runRecords } = await import("./record-AC7LPU36.js");
|
|
341
341
|
runRecords({ type: opts.type, workitem: opts.workitem, json: opts.json === true });
|
|
342
342
|
});
|
|
343
343
|
const rules = program.command("rules").description("\uC774 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uC801\uC6A9\uB418\uB294 \uADDC\uCE59\uC744 \uBD05\uB2C8\uB2E4").enablePositionalOptions();
|
|
344
344
|
rules.option("--scope <scope>", "\uBC94\uC704\uB85C \uAC70\uB985\uB2C8\uB2E4 (implement \uB4F1)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
345
|
-
const { runRules } = await import("./rules-
|
|
345
|
+
const { runRules } = await import("./rules-2DIFP7K2.js");
|
|
346
346
|
runRules({ scope: opts.scope, json: opts.json === true });
|
|
347
347
|
});
|
|
348
348
|
rules.command("edit").description("$EDITOR \uB85C \uADDC\uCE59 \uD30C\uC77C\uC744 \uC5FD\uB2C8\uB2E4").action(async () => {
|
|
349
|
-
const { runRules } = await import("./rules-
|
|
349
|
+
const { runRules } = await import("./rules-2DIFP7K2.js");
|
|
350
350
|
runRules({ edit: true });
|
|
351
351
|
});
|
|
352
352
|
rules.command("promote <gotchaId>").description("\uAD50\uD6C8\uC744 \uADDC\uCE59\uC73C\uB85C \uC2B9\uACA9\uD569\uB2C8\uB2E4 (applies/counter \uD544\uC218, \uC0AC\uB78C\uC774 \uC2E4\uD589)").option("--applies <cond>", "\uC801\uC6A9 \uC870\uAC74 (\uD544\uC218)").option("--counter <cond>", "\uBC18\uC99D \uC870\uAC74 (\uD544\uC218)").option("--rule-scope <scope>", "\uB85C\uB4DC \uB2E8\uACC4 (audit/criteria/implement/commit/review)").action(
|
|
353
353
|
async (gotchaId, opts) => {
|
|
354
|
-
const { runRulesPromote } = await import("./rules-
|
|
354
|
+
const { runRulesPromote } = await import("./rules-2DIFP7K2.js");
|
|
355
355
|
runRulesPromote(gotchaId, {
|
|
356
356
|
applies: opts.applies,
|
|
357
357
|
counter: opts.counter,
|
|
@@ -360,16 +360,16 @@ function buildProgram() {
|
|
|
360
360
|
}
|
|
361
361
|
);
|
|
362
362
|
program.command("gotchas").description("\uC544\uC9C1 \uADDC\uCE59\uC774 \uB418\uC9C0 \uC54A\uC740 \uD568\uC815\uC744 \uBD05\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
363
|
-
const { runGotchas } = await import("./gotchas-
|
|
363
|
+
const { runGotchas } = await import("./gotchas-6ZWHP5Z6.js");
|
|
364
364
|
runGotchas({ json: opts.json === true });
|
|
365
365
|
});
|
|
366
366
|
program.command("metrics").description("\uC6CC\uD06C\uC544\uC774\uD15C(\uC138\uB300)\uBCC4 \uD504\uB85D\uC2DC \uC9C0\uD45C \uCD94\uC138\uB97C \uBD05\uB2C8\uB2E4 (\uD1A0\uD070 \uC9C1\uC811 \uCE21\uC815 \uC544\uB2D8)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").option("--compare", "\uC2E4\uD5D8 \uCF00\uC774\uC2A4(experiment model/mode/taskType)\uBCC4\uB85C \uC9C0\uD45C\uB97C \uBE44\uAD50\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
367
|
-
const { runMetrics } = await import("./metrics-
|
|
367
|
+
const { runMetrics } = await import("./metrics-VVXCH6TR.js");
|
|
368
368
|
runMetrics({ json: opts.json === true, compare: opts.compare === true });
|
|
369
369
|
});
|
|
370
370
|
program.command("loop-summary").description("\uB8E8\uD504/\uD30C\uC774\uD504\uB77C\uC778 \uC644\uB8CC\uB97C 4\uB80C\uC988(\uAC1C\uC785\xB7\uD488\uC9C8\xB7\uD6A8\uC728\xB7\uC0B0\uCD9C)\uB85C \uC694\uC57D\uD569\uB2C8\uB2E4").option("--workitem <id>", "\uB300\uC0C1 \uC6CC\uD06C\uC544\uC774\uD15C (\uAE30\uBCF8: \uD604\uC7AC)").option("--workitems <ids>", "\uBC30\uCE58 \uBAA8\uB4DC: \uCF64\uB9C8\uB85C \uAD6C\uBD84\uD55C \uC6CC\uD06C\uC544\uC774\uD15C \uBAA9\uB85D").option("--since <iso>", "\uBC30\uCE58 \uBAA8\uB4DC: \uC774 \uC2DC\uAC01(ISO) \uC774\uD6C4 \uC644\uB8CC\uB41C \uC6CC\uD06C\uC544\uC774\uD15C \uC804\uBD80").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(
|
|
371
371
|
async (opts) => {
|
|
372
|
-
const { runLoopSummary } = await import("./loop-summary-
|
|
372
|
+
const { runLoopSummary } = await import("./loop-summary-CD6EIAHZ.js");
|
|
373
373
|
runLoopSummary({
|
|
374
374
|
workitem: opts.workitem,
|
|
375
375
|
workitems: parseWorkitemsOption(opts.workitems),
|
|
@@ -379,7 +379,7 @@ function buildProgram() {
|
|
|
379
379
|
}
|
|
380
380
|
);
|
|
381
381
|
program.command("feedback").description("awl \uB3C4\uAD6C \uC790\uCCB4 \uD53C\uB4DC\uBC31\uC744 area \uBCC4\uB85C \uBB36\uC5B4 \uBD05\uB2C8\uB2E4 (\uD574\uBC95\uC740 \uC81C\uC2DC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").option("--area <area>", "area \uB85C \uAC70\uB985\uB2C8\uB2E4 (commit, gate, verify \uB4F1)").option("--severity <sev>", "severity \uB85C \uAC70\uB985\uB2C8\uB2E4 (high/medium/low)").option("--since <date>", "\uC774 ISO \uB0A0\uC9DC \uC774\uD6C4 \uC218\uC9D1\uBD84\uB9CC \uBD05\uB2C8\uB2E4 (\uC608: 2026-07-01)").action(async (opts) => {
|
|
382
|
-
const { runFeedback } = await import("./feedback-
|
|
382
|
+
const { runFeedback } = await import("./feedback-ZAAM5VYL.js");
|
|
383
383
|
runFeedback({
|
|
384
384
|
json: opts.json === true,
|
|
385
385
|
area: opts.area,
|
|
@@ -388,12 +388,12 @@ function buildProgram() {
|
|
|
388
388
|
});
|
|
389
389
|
});
|
|
390
390
|
program.command("changelog").description("Gate 2 \uC2B9\uC778 \uB4A4 CHANGELOG.md\uC5D0 \uC62E\uAE38 \uCD08\uC548\uC744 \uB9CC\uB4ED\uB2C8\uB2E4 (\uD30C\uC77C\uC740 \uC4F0\uC9C0 \uC54A\uC74C)").option("--workitem <id>", "\uB300\uC0C1 \uC6CC\uD06C\uC544\uC774\uD15C (\uAE30\uBCF8: \uD604\uC7AC)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
391
|
-
const { runChangelogDraft } = await import("./changelog-
|
|
391
|
+
const { runChangelogDraft } = await import("./changelog-NLYZTB44.js");
|
|
392
392
|
runChangelogDraft({ workitem: opts.workitem, json: opts.json === true });
|
|
393
393
|
});
|
|
394
394
|
program.command("commit <criterion>").description("\uC644\uB8CC \uC870\uAC74 \uC791\uC5C5\uC744 \uACA9\uB9AC \uCEE4\uBC0B\uD569\uB2C8\uB2E4 (\uB0B4 \uBCC0\uACBD\uB9CC)").option("--start", "\uBCA0\uC774\uC2A4\uB77C\uC778\uC744 \uC7A1\uC2B5\uB2C8\uB2E4 (\uC791\uC5C5 \uC2DC\uC791 \uC2DC)").option("-m, --message <msg>", "\uCEE4\uBC0B \uBA54\uC2DC\uC9C0").option("--base <ref>", "\uBCA0\uC774\uC2A4 \uB4DC\uB9AC\uD504\uD2B8\uB97C \uD655\uC778\uD560 \uAE30\uC900 \uBE0C\uB79C\uCE58").option("--force", "\uBCF4\uD638 \uD30C\uC77C \uBCC0\uACBD \uAC80\uC0AC\uB97C \uC0AC\uB78C\uC774 \uD655\uC778\uD558\uACE0 \uC6B0\uD68C\uD569\uB2C8\uB2E4").action(
|
|
395
395
|
async (criterion, opts) => {
|
|
396
|
-
const { runCommit } = await import("./commit-
|
|
396
|
+
const { runCommit } = await import("./commit-BKN3ZJI7.js");
|
|
397
397
|
await runCommit(criterion, {
|
|
398
398
|
start: opts.start,
|
|
399
399
|
message: opts.message,
|
|
@@ -403,12 +403,12 @@ function buildProgram() {
|
|
|
403
403
|
}
|
|
404
404
|
);
|
|
405
405
|
program.command("review <range>").description("\uB9AC\uBDF0\uC5B4\uC5D0\uAC8C \uB118\uAE38 \uC790\uB8CC\uB97C \uC870\uB9BD\uD569\uB2C8\uB2E4 (provenance \uD3EC\uD568)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").option("--base <ref>", "diff \uAE30\uC900 (\uAE30\uBCF8\uC740 \uC644\uB8CC \uC870\uAC74 baseline)").action(async (range, opts) => {
|
|
406
|
-
const { runReview } = await import("./review-
|
|
406
|
+
const { runReview } = await import("./review-VCVPT3P6.js");
|
|
407
407
|
await runReview(range, { json: opts.json === true, base: opts.base });
|
|
408
408
|
});
|
|
409
409
|
program.command("record <type>", { hidden: true }).description("\uAD6C\uC870\uD654\uB41C \uAE30\uB85D\uC744 \uB0A8\uAE41\uB2C8\uB2E4").option("--json <data>", "\uAE30\uB85D\uD560 \uB370\uC774\uD130 (JSON \uBB38\uC790\uC5F4)").option("--file <path>", "\uB370\uC774\uD130 \uD30C\uC77C \uACBD\uB85C (\uD070 \uB370\uC774\uD130\uC6A9)").option("--diff", "git diff \uB97C \uCEA1\uCC98\uD574 \uCCA8\uBD80\uD569\uB2C8\uB2E4 (blocked)").option("--workitem <id>", "\uC774 \uAE30\uB85D\uB9CC \uB2E4\uB978 \uC6CC\uD06C\uC544\uC774\uD15C\uC73C\uB85C \uB0A8\uAE41\uB2C8\uB2E4(\uAE30\uBCF8\uC740 \uD604\uC7AC \uC6CC\uD06C\uC544\uC774\uD15C)").action(
|
|
410
410
|
async (type, opts) => {
|
|
411
|
-
const { runRecord } = await import("./record-
|
|
411
|
+
const { runRecord } = await import("./record-AC7LPU36.js");
|
|
412
412
|
await runRecord(type, {
|
|
413
413
|
json: opts.json,
|
|
414
414
|
file: opts.file,
|
|
@@ -422,7 +422,7 @@ function buildProgram() {
|
|
|
422
422
|
"\uBCC0\uACBD\uB41C \uD30C\uC77C\uC5D0 \uAD00\uB828\uB41C \uD14C\uC2A4\uD2B8\uB9CC \uC2E4\uD589\uD569\uB2C8\uB2E4(relatedCmd \uD544\uC694, \uC5C6\uC73C\uBA74 \uC804\uCCB4 \uD14C\uC2A4\uD2B8\uB85C \uD3F4\uBC31)"
|
|
423
423
|
).action(
|
|
424
424
|
async (opts) => {
|
|
425
|
-
const { runVerify } = await import("./verify-
|
|
425
|
+
const { runVerify } = await import("./verify-Y36JFAA7.js");
|
|
426
426
|
await runVerify({
|
|
427
427
|
json: opts.json === true,
|
|
428
428
|
bail: opts.bail === true,
|
|
@@ -433,17 +433,17 @@ function buildProgram() {
|
|
|
433
433
|
}
|
|
434
434
|
);
|
|
435
435
|
program.command("hold-recheck", { hidden: true }).description(".tasks/plan \uC758 \uC758\uC874\uD615 hold \uB97C \uC7AC\uC810\uAC80\uD574 \uCC29\uC9C0+\uD569\uACA9\uD55C \uC758\uC874\uC774\uBA74 \uC790\uB3D9 un-hold \uD569\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
436
|
-
const { runHoldRecheck } = await import("./hold-recheck-
|
|
436
|
+
const { runHoldRecheck } = await import("./hold-recheck-K7DV64KW.js");
|
|
437
437
|
await runHoldRecheck({ json: opts.json === true });
|
|
438
438
|
});
|
|
439
439
|
const state = program.command("state", { hidden: true }).description("\uB8E8\uD504 \uC0C1\uD0DC\uB97C \uC77D\uACE0 \uC501\uB2C8\uB2E4");
|
|
440
440
|
state.command("get").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
441
|
-
const { runStateGet } = await import("./state-
|
|
441
|
+
const { runStateGet } = await import("./state-UIHEGC5P.js");
|
|
442
442
|
runStateGet({ json: opts.json === true });
|
|
443
443
|
});
|
|
444
444
|
state.command("set").requiredOption("--json <patch>", "\uBD80\uBD84 \uAC31\uC2E0 (JSON \uBB38\uC790\uC5F4)").action(async (opts) => {
|
|
445
|
-
const { runStateSet } = await import("./state-
|
|
446
|
-
const { hasApprovedGate1 } = await import("./record-
|
|
445
|
+
const { runStateSet } = await import("./state-UIHEGC5P.js");
|
|
446
|
+
const { hasApprovedGate1 } = await import("./record-AC7LPU36.js");
|
|
447
447
|
runStateSet(opts.json, {
|
|
448
448
|
// phase:'loop' 로의 전이는 이 워크아이템에 "승인된" 게이트1 레코드가 있을
|
|
449
449
|
// 때만 허용한다(0.6.3, 적대검증 발견). 예전엔 gate:1 레코드의 존재만 봐서
|
|
@@ -454,7 +454,7 @@ function buildProgram() {
|
|
|
454
454
|
});
|
|
455
455
|
program.command("evolve", { hidden: true }).description("\uAE30\uB85D\uC744 \uBAA8\uC544 \uAD50\uD6C8\uC73C\uB85C, \uAD50\uD6C8\uC744 \uADDC\uCE59\uC73C\uB85C \uC787\uC2B5\uB2C8\uB2E4").option("--collect", "\uC774\uBC88 \uC6CC\uD06C\uC544\uC774\uD15C\uC758 \uAE30\uB85D\uC744 \uBAA8\uC544 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").option("--record", "\uAD50\uD6C8\uC744 gotchas \uC5D0 \uAE30\uB85D\uD569\uB2C8\uB2E4 (--json \uC73C\uB85C \uB370\uC774\uD130)").option("--json [data]", "collect: \uCD9C\uB825 \uD50C\uB798\uADF8 / record: \uAD50\uD6C8 \uB370\uC774\uD130(JSON \uBB38\uC790\uC5F4)").option("--workitem <wi>", "\uC6CC\uD06C\uC544\uC774\uD15C\uC73C\uB85C \uAC70\uB985\uB2C8\uB2E4 (--collect)").option("--from <YYYY-MM>", "\uAE30\uAC04 \uC2DC\uC791 \uC6D4\uB85C \uC77D\uAE30\uB97C \uC881\uD799\uB2C8\uB2E4 (--collect, \uC5C6\uC73C\uBA74 \uC804\uB7C9)").option("--to <YYYY-MM>", "\uAE30\uAC04 \uB05D \uC6D4 (--collect)").action(
|
|
456
456
|
async (opts) => {
|
|
457
|
-
const m = await import("./evolve-
|
|
457
|
+
const m = await import("./evolve-EMGWWWY3.js");
|
|
458
458
|
if (opts.collect && opts.record) {
|
|
459
459
|
process.stderr.write("\n --collect \uC640 --record \uB294 \uB3D9\uC2DC\uC5D0 \uC4F8 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n");
|
|
460
460
|
process.exit(1);
|
|
@@ -473,7 +473,7 @@ function buildProgram() {
|
|
|
473
473
|
}
|
|
474
474
|
);
|
|
475
475
|
program.command("defer-summary", { hidden: true }).description("\uBCF4\uB958\uD55C \uC911\uC694 \uD56D\uBAA9(\uC0AC\uB78C \uCD5C\uC885 \uD655\uC778 \uD56D\uBAA9)\uC744 \uCD5C\uC885 \uC694\uC57D\uD569\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").option("--workitem <wi>", "\uC6CC\uD06C\uC544\uC774\uD15C \uC9C0\uC815(\uC5C6\uC73C\uBA74 \uD604\uC7AC)").action(async (opts) => {
|
|
476
|
-
const m = await import("./record-
|
|
476
|
+
const m = await import("./record-AC7LPU36.js");
|
|
477
477
|
m.runDeferSummary({ json: opts.json === true, workitem: opts.workitem });
|
|
478
478
|
});
|
|
479
479
|
program.action((opts, command) => {
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import {
|
|
2
2
|
protectedFilesMessage
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-I3WXYD5C.js";
|
|
4
4
|
import {
|
|
5
5
|
hasApprovedGate1
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-QVP5DUND.js";
|
|
7
7
|
import {
|
|
8
8
|
getCriterion,
|
|
9
9
|
loadState,
|
|
10
10
|
setCriterion,
|
|
11
11
|
writeState
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-UJ6CK5HC.js";
|
|
13
13
|
import {
|
|
14
14
|
loadConfig,
|
|
15
15
|
resolveProjectRoot,
|
|
16
16
|
run
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
} from "./chunk-JR6MKCC4.js";
|
|
18
|
+
import "./chunk-7CPPZX6X.js";
|
|
19
19
|
import {
|
|
20
20
|
caps,
|
|
21
21
|
feedback,
|
|
22
22
|
makeColors,
|
|
23
23
|
makeTokens,
|
|
24
24
|
signal
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-UNAASSQ4.js";
|
|
26
26
|
|
|
27
27
|
// src/commands/commit.ts
|
|
28
28
|
import fs from "fs";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
+
DEFAULT_FEEDBACK_PATH,
|
|
2
3
|
KNOWN_LANGUAGES,
|
|
3
4
|
KNOWN_NAMING_CONVENTIONS,
|
|
4
5
|
SETTABLE_KEYS,
|
|
@@ -6,17 +7,20 @@ import {
|
|
|
6
7
|
applyConfigValue,
|
|
7
8
|
interactiveEditMenu,
|
|
8
9
|
loadConfig,
|
|
10
|
+
multiProjectFooter,
|
|
9
11
|
parseConfigKey,
|
|
10
12
|
parseVerifyValue,
|
|
11
13
|
requireConfig,
|
|
12
14
|
resolveProjectRoot,
|
|
15
|
+
resolveProjectScope,
|
|
13
16
|
runConfig,
|
|
14
17
|
runConfigSet,
|
|
15
18
|
validateConfig
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
+
} from "./chunk-JR6MKCC4.js";
|
|
20
|
+
import "./chunk-7CPPZX6X.js";
|
|
21
|
+
import "./chunk-UNAASSQ4.js";
|
|
19
22
|
export {
|
|
23
|
+
DEFAULT_FEEDBACK_PATH,
|
|
20
24
|
KNOWN_LANGUAGES,
|
|
21
25
|
KNOWN_NAMING_CONVENTIONS,
|
|
22
26
|
SETTABLE_KEYS,
|
|
@@ -24,10 +28,12 @@ export {
|
|
|
24
28
|
applyConfigValue,
|
|
25
29
|
interactiveEditMenu,
|
|
26
30
|
loadConfig,
|
|
31
|
+
multiProjectFooter,
|
|
27
32
|
parseConfigKey,
|
|
28
33
|
parseVerifyValue,
|
|
29
34
|
requireConfig,
|
|
30
35
|
resolveProjectRoot,
|
|
36
|
+
resolveProjectScope,
|
|
31
37
|
runConfig,
|
|
32
38
|
runConfigSet,
|
|
33
39
|
validateConfig
|
|
@@ -8,14 +8,14 @@ import {
|
|
|
8
8
|
gitHasCommits,
|
|
9
9
|
renderText,
|
|
10
10
|
runDoctor
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-I5SS6HFR.js";
|
|
12
|
+
import "./chunk-TQUXHTN5.js";
|
|
13
|
+
import "./chunk-SKLSWS5J.js";
|
|
14
|
+
import "./chunk-QVP5DUND.js";
|
|
15
|
+
import "./chunk-UJ6CK5HC.js";
|
|
16
|
+
import "./chunk-JR6MKCC4.js";
|
|
17
|
+
import "./chunk-7CPPZX6X.js";
|
|
18
|
+
import "./chunk-UNAASSQ4.js";
|
|
19
19
|
export {
|
|
20
20
|
collectChecks,
|
|
21
21
|
computeFileSizeOutliers,
|
|
@@ -13,13 +13,13 @@ import {
|
|
|
13
13
|
runEvolveCollect,
|
|
14
14
|
runEvolveRecord,
|
|
15
15
|
writeGeneration
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
16
|
+
} from "./chunk-E6MULIMV.js";
|
|
17
|
+
import "./chunk-SOUTYYY4.js";
|
|
18
|
+
import "./chunk-QVP5DUND.js";
|
|
19
|
+
import "./chunk-UJ6CK5HC.js";
|
|
20
|
+
import "./chunk-JR6MKCC4.js";
|
|
21
|
+
import "./chunk-7CPPZX6X.js";
|
|
22
|
+
import "./chunk-UNAASSQ4.js";
|
|
23
23
|
export {
|
|
24
24
|
GOTCHA_RELATION_TYPES,
|
|
25
25
|
acquireLock,
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
readRecords
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-QVP5DUND.js";
|
|
4
|
+
import "./chunk-UJ6CK5HC.js";
|
|
5
|
+
import "./chunk-JR6MKCC4.js";
|
|
6
|
+
import "./chunk-7CPPZX6X.js";
|
|
7
7
|
import {
|
|
8
8
|
caps,
|
|
9
9
|
makeColors,
|
|
10
10
|
sectionBox,
|
|
11
11
|
signal
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-UNAASSQ4.js";
|
|
13
13
|
|
|
14
14
|
// src/commands/feedback.ts
|
|
15
15
|
var SEVERITY_RANK = { high: 0, medium: 1, low: 2 };
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
loadGotchaList
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-E6MULIMV.js";
|
|
4
|
+
import "./chunk-SOUTYYY4.js";
|
|
5
|
+
import "./chunk-QVP5DUND.js";
|
|
6
|
+
import "./chunk-UJ6CK5HC.js";
|
|
7
|
+
import "./chunk-JR6MKCC4.js";
|
|
8
|
+
import "./chunk-7CPPZX6X.js";
|
|
9
9
|
import {
|
|
10
10
|
caps,
|
|
11
11
|
makeColors,
|
|
12
12
|
sectionBox
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-UNAASSQ4.js";
|
|
14
14
|
|
|
15
15
|
// src/commands/gotchas.ts
|
|
16
16
|
function loadGotchas() {
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pipelineLanes
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-OVLA5DET.js";
|
|
4
|
+
import "./chunk-JQV65R3M.js";
|
|
5
|
+
import "./chunk-I5WWLNA6.js";
|
|
6
6
|
import "./chunk-D5OINC3G.js";
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-YC23SNVC.js";
|
|
8
|
+
import "./chunk-I3WXYD5C.js";
|
|
9
|
+
import "./chunk-I5SS6HFR.js";
|
|
10
|
+
import "./chunk-TQUXHTN5.js";
|
|
11
|
+
import "./chunk-SKLSWS5J.js";
|
|
12
|
+
import "./chunk-MBEY33YA.js";
|
|
13
|
+
import "./chunk-E6MULIMV.js";
|
|
14
|
+
import "./chunk-SOUTYYY4.js";
|
|
15
|
+
import "./chunk-QVP5DUND.js";
|
|
16
|
+
import "./chunk-UJ6CK5HC.js";
|
|
17
17
|
import {
|
|
18
18
|
resolveProjectRoot
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import "./chunk-
|
|
19
|
+
} from "./chunk-JR6MKCC4.js";
|
|
20
|
+
import "./chunk-7CPPZX6X.js";
|
|
21
21
|
import {
|
|
22
22
|
caps,
|
|
23
23
|
makeColors,
|
|
24
24
|
sectionBox,
|
|
25
25
|
signal
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-UNAASSQ4.js";
|
|
27
27
|
|
|
28
28
|
// src/commands/hold-recheck.ts
|
|
29
29
|
import fs from "fs";
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import {
|
|
2
|
+
WORKTREES_DIR,
|
|
3
|
+
branchOf,
|
|
4
|
+
collectLanes,
|
|
5
|
+
laneBranchMap,
|
|
6
|
+
parseWorktreeBranches,
|
|
7
|
+
renderLaneList,
|
|
8
|
+
runLaneList,
|
|
9
|
+
runLaneNew,
|
|
10
|
+
runLaneRemove,
|
|
11
|
+
unmergedCommitCount,
|
|
12
|
+
worktreeUntracked
|
|
13
|
+
} from "./chunk-JQV65R3M.js";
|
|
14
|
+
import "./chunk-I5WWLNA6.js";
|
|
15
|
+
import "./chunk-D5OINC3G.js";
|
|
16
|
+
import "./chunk-YC23SNVC.js";
|
|
17
|
+
import "./chunk-I3WXYD5C.js";
|
|
18
|
+
import "./chunk-I5SS6HFR.js";
|
|
19
|
+
import "./chunk-TQUXHTN5.js";
|
|
20
|
+
import "./chunk-SKLSWS5J.js";
|
|
21
|
+
import "./chunk-MBEY33YA.js";
|
|
22
|
+
import "./chunk-E6MULIMV.js";
|
|
23
|
+
import "./chunk-SOUTYYY4.js";
|
|
24
|
+
import "./chunk-QVP5DUND.js";
|
|
25
|
+
import "./chunk-UJ6CK5HC.js";
|
|
26
|
+
import "./chunk-JR6MKCC4.js";
|
|
27
|
+
import "./chunk-7CPPZX6X.js";
|
|
28
|
+
import "./chunk-UNAASSQ4.js";
|
|
29
|
+
export {
|
|
30
|
+
WORKTREES_DIR,
|
|
31
|
+
branchOf,
|
|
32
|
+
collectLanes,
|
|
33
|
+
laneBranchMap,
|
|
34
|
+
parseWorktreeBranches,
|
|
35
|
+
renderLaneList,
|
|
36
|
+
runLaneList,
|
|
37
|
+
runLaneNew,
|
|
38
|
+
runLaneRemove,
|
|
39
|
+
unmergedCommitCount,
|
|
40
|
+
worktreeUntracked
|
|
41
|
+
};
|
|
@@ -6,24 +6,27 @@ import {
|
|
|
6
6
|
computeDurationMs,
|
|
7
7
|
fmtDuration,
|
|
8
8
|
loadGenerations
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-SOUTYYY4.js";
|
|
10
10
|
import {
|
|
11
11
|
collectDeferred,
|
|
12
12
|
readRecords
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-QVP5DUND.js";
|
|
14
14
|
import {
|
|
15
15
|
loadState
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-UJ6CK5HC.js";
|
|
17
17
|
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
loadConfig,
|
|
19
|
+
multiProjectFooter,
|
|
20
|
+
requireConfig,
|
|
21
|
+
resolveProjectScope
|
|
22
|
+
} from "./chunk-JR6MKCC4.js";
|
|
23
|
+
import "./chunk-7CPPZX6X.js";
|
|
21
24
|
import {
|
|
22
25
|
caps,
|
|
23
26
|
makeColors,
|
|
24
27
|
padEndDisplay,
|
|
25
28
|
sectionBox
|
|
26
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-UNAASSQ4.js";
|
|
27
30
|
|
|
28
31
|
// src/commands/loop-summary.ts
|
|
29
32
|
function gateAuto(rec) {
|
|
@@ -325,6 +328,45 @@ function runLoopSummary(opts) {
|
|
|
325
328
|
runLoopSummaryBatch(opts);
|
|
326
329
|
return;
|
|
327
330
|
}
|
|
331
|
+
const scope = resolveProjectScope();
|
|
332
|
+
if (scope.mode === "multi" && scope.projects) {
|
|
333
|
+
const c = caps();
|
|
334
|
+
const color = makeColors(c.color);
|
|
335
|
+
const perProject = scope.projects.map((p) => {
|
|
336
|
+
const loaded = loadConfig(p.path);
|
|
337
|
+
const projectName = loaded.config?.project;
|
|
338
|
+
const state2 = loadState(p.path);
|
|
339
|
+
const current2 = typeof state2.workitem === "string" ? state2.workitem : null;
|
|
340
|
+
const workitem2 = opts.workitem ?? current2;
|
|
341
|
+
const records2 = workitem2 ? readRecords({ workitem: workitem2 }).filter((r) => r.project === projectName) : [];
|
|
342
|
+
const criteria2 = criteriaFor(state2, workitem2, current2);
|
|
343
|
+
const costDelta2 = computeCostDelta(
|
|
344
|
+
startCostOf(state2, workitem2, current2),
|
|
345
|
+
readCostSnapshot(opts.usagePath)
|
|
346
|
+
);
|
|
347
|
+
const summary2 = assembleLoopSummary(workitem2, records2, criteria2, costDelta2);
|
|
348
|
+
return { name: p.name, path: p.path, summary: summary2 };
|
|
349
|
+
});
|
|
350
|
+
if (opts.json) {
|
|
351
|
+
const projects = perProject.map(({ name, path, summary: summary2 }) => ({
|
|
352
|
+
name,
|
|
353
|
+
path,
|
|
354
|
+
...summaryToJson(summary2)
|
|
355
|
+
}));
|
|
356
|
+
process.stdout.write(`${JSON.stringify({ multiProject: true, projects }, null, 2)}
|
|
357
|
+
`);
|
|
358
|
+
return;
|
|
359
|
+
}
|
|
360
|
+
const blocks = perProject.map(
|
|
361
|
+
({ name, path, summary: summary2 }) => `${color.bold(`\uD504\uB85C\uC81D\uD2B8: ${name} (${path})`)}
|
|
362
|
+
${renderLoopSummary(summary2, c)}`
|
|
363
|
+
);
|
|
364
|
+
process.stdout.write(`${blocks.join("\n\n")}
|
|
365
|
+
`);
|
|
366
|
+
process.stdout.write(`${multiProjectFooter(scope.projects, "awl loop-summary", c)}
|
|
367
|
+
`);
|
|
368
|
+
return;
|
|
369
|
+
}
|
|
328
370
|
const { projectRoot } = requireConfig();
|
|
329
371
|
const state = loadState(projectRoot);
|
|
330
372
|
const current = typeof state.workitem === "string" ? state.workitem : null;
|