@tacuchi/agent-workflow-cli 25.6.1 → 25.8.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/CHANGELOG.md +4398 -0
- package/README.md +1 -1
- package/dist/adapters/git-cli.js +160 -13
- package/dist/adapters/git-cli.js.map +1 -1
- package/dist/adapters/node-file-system.js +39 -2
- package/dist/adapters/node-file-system.js.map +1 -1
- package/dist/application/branch-resolver.js +34 -1
- package/dist/application/branch-resolver.js.map +1 -1
- package/dist/application/capability/readiness.js +26 -10
- package/dist/application/capability/readiness.js.map +1 -1
- package/dist/application/capability/wrapper.js +10 -3
- package/dist/application/capability/wrapper.js.map +1 -1
- package/dist/application/checkpoint-write-service.js +161 -39
- package/dist/application/checkpoint-write-service.js.map +1 -1
- package/dist/application/dates.js +12 -0
- package/dist/application/dates.js.map +1 -1
- package/dist/application/dev-only-services.js +5 -7
- package/dist/application/dev-only-services.js.map +1 -1
- package/dist/application/doctor/provider-mcps.js +1 -1
- package/dist/application/doctor/provider-mcps.js.map +1 -1
- package/dist/application/fix-git-service.js +83 -13
- package/dist/application/fix-git-service.js.map +1 -1
- package/dist/application/flow/advance.js +64 -9
- package/dist/application/flow/advance.js.map +1 -1
- package/dist/application/flow/annul-service.js +159 -0
- package/dist/application/flow/annul-service.js.map +1 -0
- package/dist/application/flow/checkout-observation.js +49 -0
- package/dist/application/flow/checkout-observation.js.map +1 -1
- package/dist/application/flow/close-at-boundary.js +144 -0
- package/dist/application/flow/close-at-boundary.js.map +1 -0
- package/dist/application/flow/flow-service.js +213 -49
- package/dist/application/flow/flow-service.js.map +1 -1
- package/dist/application/flow/internal-actions.js +87 -4
- package/dist/application/flow/internal-actions.js.map +1 -1
- package/dist/application/flow/internal-drive.js +70 -33
- package/dist/application/flow/internal-drive.js.map +1 -1
- package/dist/application/flow/reopen-run.js +152 -0
- package/dist/application/flow/reopen-run.js.map +1 -0
- package/dist/application/flow/run-journey.js +11 -8
- package/dist/application/flow/run-journey.js.map +1 -1
- package/dist/application/flow/run-projection.js +37 -10
- package/dist/application/flow/run-projection.js.map +1 -1
- package/dist/application/flow/run-state-service.js +109 -36
- package/dist/application/flow/run-state-service.js.map +1 -1
- package/dist/application/flow/submit.js +217 -188
- package/dist/application/flow/submit.js.map +1 -1
- package/dist/application/git-flow-service.js +325 -72
- package/dist/application/git-flow-service.js.map +1 -1
- package/dist/application/hook-sql-mutation-guard.js +290 -27
- package/dist/application/hook-sql-mutation-guard.js.map +1 -1
- package/dist/application/host-memory/claude-code.js +65 -0
- package/dist/application/host-memory/claude-code.js.map +1 -0
- package/dist/application/host-memory/codex.js +225 -0
- package/dist/application/host-memory/codex.js.map +1 -0
- package/dist/application/host-memory/destination.js +52 -0
- package/dist/application/host-memory/destination.js.map +1 -0
- package/dist/application/host-memory/reader.js +9 -0
- package/dist/application/host-memory/reader.js.map +1 -0
- package/dist/application/host-memory/report.js +136 -0
- package/dist/application/host-memory/report.js.map +1 -0
- package/dist/application/lifecycle-target.js +3 -1
- package/dist/application/lifecycle-target.js.map +1 -1
- package/dist/application/local-proposal.js +13 -3
- package/dist/application/local-proposal.js.map +1 -1
- package/dist/application/logging/log-events.js +22 -0
- package/dist/application/logging/log-events.js.map +1 -1
- package/dist/application/parsers/spec-relation.js +20 -7
- package/dist/application/parsers/spec-relation.js.map +1 -1
- package/dist/application/persist-service.js +45 -1
- package/dist/application/persist-service.js.map +1 -1
- package/dist/application/plan-exec-batch-service.js +47 -2
- package/dist/application/plan-exec-batch-service.js.map +1 -1
- package/dist/application/plan-lineage-seal.js +93 -0
- package/dist/application/plan-lineage-seal.js.map +1 -0
- package/dist/application/plan-lint-service.js +153 -0
- package/dist/application/plan-lint-service.js.map +1 -0
- package/dist/application/prod-consent.js +75 -0
- package/dist/application/prod-consent.js.map +1 -0
- package/dist/application/reseal-service.js +9 -3
- package/dist/application/reseal-service.js.map +1 -1
- package/dist/application/self/install-skill.js +40 -12
- package/dist/application/self/install-skill.js.map +1 -1
- package/dist/application/self/install-targets.js +73 -2
- package/dist/application/self/install-targets.js.map +1 -1
- package/dist/application/self/uninstall.js +21 -7
- package/dist/application/self/uninstall.js.map +1 -1
- package/dist/application/self/update-self.js +204 -8
- package/dist/application/self/update-self.js.map +1 -1
- package/dist/application/session-create-service.js +49 -0
- package/dist/application/session-create-service.js.map +1 -1
- package/dist/application/session-custody-recorder.js +4 -0
- package/dist/application/session-custody-recorder.js.map +1 -1
- package/dist/application/session-narrative.js +36 -0
- package/dist/application/session-narrative.js.map +1 -1
- package/dist/application/session-resolver.js +28 -9
- package/dist/application/session-resolver.js.map +1 -1
- package/dist/application/session-resume-service.js +65 -16
- package/dist/application/session-resume-service.js.map +1 -1
- package/dist/application/source-boundary-policy.js +168 -34
- package/dist/application/source-boundary-policy.js.map +1 -1
- package/dist/application/working-branch-service.js +68 -0
- package/dist/application/working-branch-service.js.map +1 -0
- package/dist/application/workline-graph.js +7 -2
- package/dist/application/workline-graph.js.map +1 -1
- package/dist/cli/ascii.js +84 -0
- package/dist/cli/ascii.js.map +1 -0
- package/dist/cli/commands/amend.js +1 -0
- package/dist/cli/commands/amend.js.map +1 -1
- package/dist/cli/commands/capability.js +15 -0
- package/dist/cli/commands/capability.js.map +1 -1
- package/dist/cli/commands/check-branch.js +1 -0
- package/dist/cli/commands/check-branch.js.map +1 -1
- package/dist/cli/commands/checkpoint-read.js +1 -0
- package/dist/cli/commands/checkpoint-read.js.map +1 -1
- package/dist/cli/commands/checkpoint-write.js +22 -9
- package/dist/cli/commands/checkpoint-write.js.map +1 -1
- package/dist/cli/commands/claims.js +1 -0
- package/dist/cli/commands/claims.js.map +1 -1
- package/dist/cli/commands/code-scan.js +1 -0
- package/dist/cli/commands/code-scan.js.map +1 -1
- package/dist/cli/commands/context-budget.js +1 -0
- package/dist/cli/commands/context-budget.js.map +1 -1
- package/dist/cli/commands/context-plan.js +1 -0
- package/dist/cli/commands/context-plan.js.map +1 -1
- package/dist/cli/commands/cut-intent.js +1 -0
- package/dist/cli/commands/cut-intent.js.map +1 -1
- package/dist/cli/commands/designs.js +1 -0
- package/dist/cli/commands/designs.js.map +1 -1
- package/dist/cli/commands/dev-only.js +4 -0
- package/dist/cli/commands/dev-only.js.map +1 -1
- package/dist/cli/commands/doctor.js +5 -0
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/export.js +13 -0
- package/dist/cli/commands/export.js.map +1 -1
- package/dist/cli/commands/fix-git.js +46 -6
- package/dist/cli/commands/fix-git.js.map +1 -1
- package/dist/cli/commands/flow.js +61 -5
- package/dist/cli/commands/flow.js.map +1 -1
- package/dist/cli/commands/generate-launch.js +1 -0
- package/dist/cli/commands/generate-launch.js.map +1 -1
- package/dist/cli/commands/git-flow.js +104 -29
- package/dist/cli/commands/git-flow.js.map +1 -1
- package/dist/cli/commands/history-update.js +7 -9
- package/dist/cli/commands/history-update.js.map +1 -1
- package/dist/cli/commands/hook.js +11 -3
- package/dist/cli/commands/hook.js.map +1 -1
- package/dist/cli/commands/host-doctor.js +1 -0
- package/dist/cli/commands/host-doctor.js.map +1 -1
- package/dist/cli/commands/host-memory.js +26 -0
- package/dist/cli/commands/host-memory.js.map +1 -0
- package/dist/cli/commands/index.js +6 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/mcp.js +30 -4
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/merge-state.js +1 -0
- package/dist/cli/commands/merge-state.js.map +1 -1
- package/dist/cli/commands/multiroot.js +16 -0
- package/dist/cli/commands/multiroot.js.map +1 -1
- package/dist/cli/commands/persist.js +6 -0
- package/dist/cli/commands/persist.js.map +1 -1
- package/dist/cli/commands/plan.js +51 -0
- package/dist/cli/commands/plan.js.map +1 -0
- package/dist/cli/commands/plugin-cache.js +4 -0
- package/dist/cli/commands/plugin-cache.js.map +1 -1
- package/dist/cli/commands/plugin-doctor.js +3 -0
- package/dist/cli/commands/plugin-doctor.js.map +1 -1
- package/dist/cli/commands/project-md-upsert.js +3 -0
- package/dist/cli/commands/project-md-upsert.js.map +1 -1
- package/dist/cli/commands/release-data.js +12 -0
- package/dist/cli/commands/release-data.js.map +1 -1
- package/dist/cli/commands/release-pass.js +10 -0
- package/dist/cli/commands/release-pass.js.map +1 -1
- package/dist/cli/commands/remove-source.js +1 -0
- package/dist/cli/commands/remove-source.js.map +1 -1
- package/dist/cli/commands/reseal.js +1 -0
- package/dist/cli/commands/reseal.js.map +1 -1
- package/dist/cli/commands/resume-summary.js +9 -2
- package/dist/cli/commands/resume-summary.js.map +1 -1
- package/dist/cli/commands/resume.js +1 -0
- package/dist/cli/commands/resume.js.map +1 -1
- package/dist/cli/commands/retirement.js +1 -0
- package/dist/cli/commands/retirement.js.map +1 -1
- package/dist/cli/commands/self.js +33 -0
- package/dist/cli/commands/self.js.map +1 -1
- package/dist/cli/commands/session-artifacts.js +1 -0
- package/dist/cli/commands/session-artifacts.js.map +1 -1
- package/dist/cli/commands/session-close.js +129 -30
- package/dist/cli/commands/session-close.js.map +1 -1
- package/dist/cli/commands/session-create.js +1 -0
- package/dist/cli/commands/session-create.js.map +1 -1
- package/dist/cli/commands/session-resume.js +1 -0
- package/dist/cli/commands/session-resume.js.map +1 -1
- package/dist/cli/commands/sessions.js +1 -0
- package/dist/cli/commands/sessions.js.map +1 -1
- package/dist/cli/commands/set-branch.js +41 -6
- package/dist/cli/commands/set-branch.js.map +1 -1
- package/dist/cli/commands/settle.js +1 -0
- package/dist/cli/commands/settle.js.map +1 -1
- package/dist/cli/commands/skill-index.js +1 -0
- package/dist/cli/commands/skill-index.js.map +1 -1
- package/dist/cli/commands/skills.js +1 -0
- package/dist/cli/commands/skills.js.map +1 -1
- package/dist/cli/commands/sources.js +1 -0
- package/dist/cli/commands/sources.js.map +1 -1
- package/dist/cli/commands/stack.js +1 -0
- package/dist/cli/commands/stack.js.map +1 -1
- package/dist/cli/commands/status.js +1 -0
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/tool.js +5 -21
- package/dist/cli/commands/tool.js.map +1 -1
- package/dist/cli/commands/unknown-flags.js +67 -16
- package/dist/cli/commands/unknown-flags.js.map +1 -1
- package/dist/cli/commands/visibility.js +1 -0
- package/dist/cli/commands/visibility.js.map +1 -1
- package/dist/cli/commands/workspace-init.js +12 -0
- package/dist/cli/commands/workspace-init.js.map +1 -1
- package/dist/cli/commands/workspace-migrate.js +2 -13
- package/dist/cli/commands/workspace-migrate.js.map +1 -1
- package/dist/cli/commands/worktree.js +1 -0
- package/dist/cli/commands/worktree.js.map +1 -1
- package/dist/cli/help-groups.js +41 -0
- package/dist/cli/help-groups.js.map +1 -1
- package/dist/cli/main.js +41 -58
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/output-mode.js +11 -2
- package/dist/cli/output-mode.js.map +1 -1
- package/dist/cli/parser.js +14 -5
- package/dist/cli/parser.js.map +1 -1
- package/dist/cli/registry.js.map +1 -1
- package/dist/cli/render.js +30 -1
- package/dist/cli/render.js.map +1 -1
- package/dist/cli/tui/components/git-flow-actions.js +65 -20
- package/dist/cli/tui/components/git-flow-actions.js.map +1 -1
- package/dist/cli/tui/tabs/project-tab.js +101 -12
- package/dist/cli/tui/tabs/project-tab.js.map +1 -1
- package/dist/domain/changelog-contract.js +172 -0
- package/dist/domain/changelog-contract.js.map +1 -0
- package/dist/domain/database-tools.js +1 -189
- package/dist/domain/database-tools.js.map +1 -1
- package/dist/domain/flow/answer.js +11 -0
- package/dist/domain/flow/answer.js.map +1 -1
- package/dist/domain/flow/authority.js +153 -14
- package/dist/domain/flow/authority.js.map +1 -1
- package/dist/domain/flow/execution-result.js +78 -7
- package/dist/domain/flow/execution-result.js.map +1 -1
- package/dist/domain/flow/journey-baseline.js +131 -0
- package/dist/domain/flow/journey-baseline.js.map +1 -0
- package/dist/domain/flow/route.js.map +1 -1
- package/dist/domain/flow/rules.js +5 -6
- package/dist/domain/flow/rules.js.map +1 -1
- package/dist/domain/flow/run-state.js +440 -89
- package/dist/domain/flow/run-state.js.map +1 -1
- package/dist/domain/harnesses.js +8 -1
- package/dist/domain/harnesses.js.map +1 -1
- package/dist/domain/host-memory/model.js +2 -0
- package/dist/domain/host-memory/model.js.map +1 -0
- package/dist/domain/host-memory/provenance.js +43 -0
- package/dist/domain/host-memory/provenance.js.map +1 -0
- package/dist/domain/host-memory/topic.js +26 -0
- package/dist/domain/host-memory/topic.js.map +1 -0
- package/dist/domain/lineage.js +11 -3
- package/dist/domain/lineage.js.map +1 -1
- package/dist/domain/proposal.js +7 -0
- package/dist/domain/proposal.js.map +1 -1
- package/dist/domain/session/custody.js.map +1 -1
- package/dist/domain/sql-lexer.js +240 -0
- package/dist/domain/sql-lexer.js.map +1 -0
- package/package.json +2 -2
- package/skills/w/SKILL.md +9 -9
- package/skills/w/commands/README.md +2 -1
- package/skills/w/commands/recall.md +39 -0
- package/skills/w/context/MANIFEST.json +4 -0
- package/skills/w/harness/HARNESS.md +12 -6
- package/skills/w/hooks/README.md +27 -16
- package/skills/w/loops/CHASSIS.md +16 -12
- package/skills/w/loops/CODE-POLICIES.md +11 -6
- package/skills/w/loops/plan-exec-loop/LOOP.md +9 -9
- package/skills/w/modules/COMPACTION.md +1 -1
- package/skills/w/roles/design/CONTRACT.md +10 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/cli/commands/export.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/cli/commands/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { findOwningSource, resolveSourceBranches } from "../../application/branch-resolver.js";
|
|
2
|
+
import { applyFixGit, commitFixGit, prepareFixGit, rolesBasisText, validateFixGit, } from "../../application/fix-git-service.js";
|
|
2
3
|
import { runMergeState } from "../../application/merge-state-service.js";
|
|
4
|
+
import { readWorkspaceBlock } from "../../application/parsers/project-block.js";
|
|
3
5
|
import { readRequiredStdin } from "../context-id.js";
|
|
4
6
|
import { flagValue } from "../parser.js";
|
|
5
7
|
import { fail, failSemantic } from "../render.js";
|
|
6
8
|
export const fixGitCommand = {
|
|
7
9
|
name: "fix-git",
|
|
10
|
+
flags: { known: ["path", "source", "message", "confirm"] },
|
|
8
11
|
describe: "Resuelve conflictos de merge inequívocos: prepara las tres versiones, valida la resolución semántica y stagea solo archivos aún en conflicto. " +
|
|
9
12
|
"El commit es una acción aparte y confirmada; nunca --no-verify, --amend ni push. " +
|
|
10
13
|
"Usage: aw fix-git prepare | apply | commit --message <msg> --confirm [--source <alias> | --path <ruta>].",
|
|
@@ -17,9 +20,12 @@ export const fixGitCommand = {
|
|
|
17
20
|
if (target === null) {
|
|
18
21
|
return fail("REPO_NOT_FOUND", "no se pudo resolver el repositorio: pasá --source <alias> o --path <ruta>");
|
|
19
22
|
}
|
|
23
|
+
const roles = await rolesOf(ctx, target);
|
|
24
|
+
if ("failure" in roles)
|
|
25
|
+
return failSemantic(roles.failure);
|
|
20
26
|
if (stage === "commit")
|
|
21
|
-
return await runCommit(args, ctx, target.path);
|
|
22
|
-
const prepared = await prepareFixGit(ctx.git, target.path, target.alias);
|
|
27
|
+
return await runCommit(args, ctx, target.path, roles);
|
|
28
|
+
const prepared = await prepareFixGit(ctx.git, target.path, target.alias, roles);
|
|
23
29
|
if (!prepared.ok)
|
|
24
30
|
return failSemantic(prepared.failure);
|
|
25
31
|
if (stage === "prepare") {
|
|
@@ -69,8 +75,11 @@ function renderPrepare(context, request, detail) {
|
|
|
69
75
|
const lines = [
|
|
70
76
|
`fix-git · ${context.conflicts.length} conflicto(s) en ${context.alias ?? context.repo}`,
|
|
71
77
|
` Merge ${context.merge_origin ?? "?"} → ${context.current_branch ?? "?"}`,
|
|
72
|
-
"",
|
|
73
78
|
];
|
|
79
|
+
if (context.roles !== undefined && context.roles.owner === null) {
|
|
80
|
+
lines.push(` Roles ${rolesBasisText(context.roles)}`);
|
|
81
|
+
}
|
|
82
|
+
lines.push("");
|
|
74
83
|
for (const conflict of context.conflicts) {
|
|
75
84
|
const kind = conflict.binary ? " · BINARIO (resolución manual)" : "";
|
|
76
85
|
lines.push(` ${conflict.path} (${conflict.bytes} B)${kind}`);
|
|
@@ -79,7 +88,7 @@ function renderPrepare(context, request, detail) {
|
|
|
79
88
|
lines.push("", ` Request ${request.metrics.request_bytes} B`, "", request.contract);
|
|
80
89
|
return `${lines.join("\n")}\n`;
|
|
81
90
|
}
|
|
82
|
-
async function runCommit(args, ctx, repo) {
|
|
91
|
+
async function runCommit(args, ctx, repo, roles) {
|
|
83
92
|
const message = args.values.get("message");
|
|
84
93
|
if (message === undefined || message.trim().length === 0) {
|
|
85
94
|
return fail("ARGS_INVALID", "commit exige --message <mensaje>");
|
|
@@ -89,11 +98,42 @@ async function runCommit(args, ctx, repo) {
|
|
|
89
98
|
if (!args.flags.has("--confirm")) {
|
|
90
99
|
return fail("CONFIRMATION_REQUIRED", "cerrar el merge es una acción separada: repetí con --confirm si el mensaje es el correcto");
|
|
91
100
|
}
|
|
92
|
-
const result = await commitFixGit(ctx.git, repo, message);
|
|
101
|
+
const result = await commitFixGit(ctx.git, repo, message, roles);
|
|
93
102
|
if (!result.ok)
|
|
94
103
|
return failSemantic(result.failure);
|
|
95
104
|
return { ok: true, data: { stage: "commit", ...result.value }, exitCode: 0 };
|
|
96
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* The branch roles of the source that owns the repo — by alias, by its
|
|
108
|
+
* declared path, or by the `aw/*` unit it sits in — so `--source`, `--path`,
|
|
109
|
+
* the cwd and a worktree all get the same PR-04 guard. With no owner, the
|
|
110
|
+
* workspace defaults: the same chain `resolveSourceBranches` applies elsewhere.
|
|
111
|
+
*/
|
|
112
|
+
async function rolesOf(ctx, target) {
|
|
113
|
+
const block = await readWorkspaceBlock(ctx.fs, ctx.paths.workspaceDir(), ctx.paths.blockMarkers());
|
|
114
|
+
const sources = block?.fuentes ?? [];
|
|
115
|
+
const unitsRoot = await ctx.fs.realPath(ctx.paths.userUnitsDir()).catch(() => undefined);
|
|
116
|
+
const repo = await ctx.fs.realPath(target.path).catch(() => target.path);
|
|
117
|
+
const owner = sources.find((s) => s.alias === target.alias) ??
|
|
118
|
+
findOwningSource(sources, repo, unitsRoot) ??
|
|
119
|
+
findOwningSource(sources, target.path, unitsRoot);
|
|
120
|
+
// An `aw/*` unit is a checkout of some source, but from inside it — no flags,
|
|
121
|
+
// its own root — no WORKSPACE block says which one, nor its branch roles: the
|
|
122
|
+
// unit's key is a one-way hash of the workspace path. Guessing the CLI floor
|
|
123
|
+
// there would let development through under a name it does not have.
|
|
124
|
+
if (owner === null && unitsRoot !== undefined && repo.startsWith(`${unitsRoot}/`)) {
|
|
125
|
+
return {
|
|
126
|
+
failure: {
|
|
127
|
+
code: "FIX_GIT_ROLES_UNKNOWN",
|
|
128
|
+
message: `no se pudieron leer los roles de rama de '${target.path}': es una unidad aw/* y no hay bloque WORKSPACE que la declare`,
|
|
129
|
+
action: "invocá fix-git desde el workspace con --source <alias> o --path <unidad>",
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
const roles = resolveSourceBranches(owner ?? { alias: "", path: target.path, main_branch: "" }, block);
|
|
134
|
+
const basis = owner !== null ? "source" : block !== null ? "workspace-defaults" : "cli-floor";
|
|
135
|
+
return { ...roles, owner: owner?.alias ?? null, basis };
|
|
136
|
+
}
|
|
97
137
|
async function resolveRepo(args, ctx) {
|
|
98
138
|
// `source` and `path` are MULTI_VALUE_FLAGS: they route to `valuesMulti`,
|
|
99
139
|
// so `values.get()` silently returns undefined. `flagValue` reads both.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix-git.js","sourceRoot":"","sources":["../../../src/cli/commands/fix-git.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"fix-git.js","sourceRoot":"","sources":["../../../src/cli/commands/fix-git.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { WORKLINE_FLOWS } from "../../application/capability/compose.js";
|
|
2
2
|
import { isHarnessId } from "../../application/dev-only-services.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { applyAnnulment, prepareAnnulment, } from "../../application/flow/annul-service.js";
|
|
4
|
+
import { advanceFlow, recoverFlowBoundary, restartFlow, } from "../../application/flow/flow-service.js";
|
|
5
|
+
import { internalActionExecutor, } from "../../application/flow/internal-actions.js";
|
|
5
6
|
import { proveFlowBoundary, } from "../../application/flow/prove.js";
|
|
6
7
|
import { submitFlow } from "../../application/flow/submit.js";
|
|
7
8
|
import { renderDirectiveHuman } from "../../domain/flow/directive.js";
|
|
8
9
|
import { readContextId, readRequiredStdin } from "../context-id.js";
|
|
9
10
|
import { sessionCodeFlag } from "../parser.js";
|
|
10
11
|
import { fail, failSemantic, failSessionResolution } from "../render.js";
|
|
11
|
-
const VERBS = ["advance", "submit", "recover", "prove"];
|
|
12
|
+
const VERBS = ["advance", "submit", "recover", "prove", "restart", "annul"];
|
|
12
13
|
/**
|
|
13
14
|
* The answer envelope, published where an executor can read it WITHOUT running a
|
|
14
15
|
* journey.
|
|
@@ -33,6 +34,7 @@ const ENVELOPE = [
|
|
|
33
34
|
" invocation: {program, args[], target, input} — el OBJETO idéntico al que la directiva selló; si cambia el programa, un argumento, el target o el input, se rechaza.",
|
|
34
35
|
" validations: [{id, passed, detail, proof?}] — un ítem por CADA evidencia que la directiva exige, con `passed: true` y `detail` no vacío: ahí va la salida real de la herramienta, no una afirmación sobre ella.",
|
|
35
36
|
" proof es obligatorio para `workline.source-bounded`: {kind: 'command'|'inspection', source, relative_cwd, checkout_digest, invocation}; sólo acredita un checkout vigente.",
|
|
37
|
+
" En la validación de fase de plan-exec va un ítem `workline.source-bounded` por CADA fuente del lote, cada uno con su prueba ('aw flow prove --source <alias>'), tomada después de los cambios del lote: sin cambios desde su base, o con una prueba que ya acreditó otro lote, no acredita.",
|
|
36
38
|
" effects: {planned[], approved[], applied[]} — el registro de clases de efecto, no una lista.",
|
|
37
39
|
" output: opcional — {value, reference: {id, revision, digest, locator}, completeness} o null.",
|
|
38
40
|
"",
|
|
@@ -113,7 +115,7 @@ function readFlowArgs(args, ctx) {
|
|
|
113
115
|
}
|
|
114
116
|
const verb = args.rest[0];
|
|
115
117
|
if (verb === undefined || !VERBS.includes(verb)) {
|
|
116
|
-
return refuse(`uso: aw flow ${VERBS.join(" | ")} --session <código> [--flow <flow> --adopt] [--approval <digest>] [--transition <id>] [--source <alias>] [--artifact <ruta>]`);
|
|
118
|
+
return refuse(`uso: aw flow ${VERBS.join(" | ")} --session <código> [--flow <flow> --adopt] [--approval <digest>] [--transition <id>] [--source <alias>] [--artifact <ruta>] [--from <lote>]`);
|
|
117
119
|
}
|
|
118
120
|
const flow = args.values.get("flow");
|
|
119
121
|
if (flow !== undefined && !WORKLINE_FLOWS.includes(flow)) {
|
|
@@ -135,7 +137,17 @@ function readFlowArgs(args, ctx) {
|
|
|
135
137
|
}
|
|
136
138
|
export const flowCommand = {
|
|
137
139
|
name: "flow",
|
|
138
|
-
|
|
140
|
+
flags: {
|
|
141
|
+
known: ["code", "session", "flow", "host"],
|
|
142
|
+
actions: {
|
|
143
|
+
advance: { known: ["adopt"] },
|
|
144
|
+
submit: { known: ["approval"] },
|
|
145
|
+
prove: { known: ["source", "artifact"] },
|
|
146
|
+
recover: { known: ["transition"] },
|
|
147
|
+
annul: { known: ["from", "approval"] },
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
describe: `Avanza un recorrido de Workline hasta su primera frontera no determinista y devuelve su directiva. Verbos: ${VERBS.join(" | ")}. La respuesta de submit entra por stdin como JSON y la aprobación de efecto viaja aparte en --approval. recover le devuelve los intentos a la frontera agotada vigente conservando todo lo aplicado, y se niega si esa frontera ya ejerció efectos. restart saca de cualquier estado trabado —frontera agotada con efectos, registro ilegible o sellado mal, anterior a la v11, contador de intentos ilegible o revertido—: archiva el registro y su contador en un archivo con fecha y sello dentro de la sesión, re-adopta el mismo flow (del registro, de la custodia o de --flow) y lo deja en la traza; nunca hace falta tocar .flow-run.json a mano. annul reabre un lote mal acreditado y los posteriores: sin --approval muestra las fases y tareas que reabre y el digest que lo aprueba, sin escribir nada; con ese digest las deja pendientes y abiertas en el plan, retira su sello done si lo tenía, re-adopta la corrida para que las vuelva a inferir y lo deja en la traza; git no se toca. Usage: aw flow advance --session <código> [--flow <flow> --adopt] · aw flow recover --session <código> [--transition <id>] · aw flow prove --session <código> [--source <alias>] [--artifact <ruta>] · aw flow restart --session <código> [--flow <flow>] · aw flow annul --session <código> --from <lote> [--approval <digest>].
|
|
139
151
|
|
|
140
152
|
${ENVELOPE}
|
|
141
153
|
|
|
@@ -183,6 +195,10 @@ ${CHECKOUT}`,
|
|
|
183
195
|
git: ctx.git,
|
|
184
196
|
runtime: ctx.runtime,
|
|
185
197
|
});
|
|
198
|
+
if (verb === "annul")
|
|
199
|
+
return annulVerb(args, ctx, session, executor);
|
|
200
|
+
if (verb === "restart")
|
|
201
|
+
return restartVerb(ctx, session, flow, executor);
|
|
186
202
|
if (verb === "submit") {
|
|
187
203
|
const approval = args.values.get("approval");
|
|
188
204
|
return project(await submitFlow(ctx.fs, ctx.paths, {
|
|
@@ -208,6 +224,8 @@ ${CHECKOUT}`,
|
|
|
208
224
|
const data = result.data;
|
|
209
225
|
if ("proof" in data)
|
|
210
226
|
return `${renderProofHuman(data)}\n`;
|
|
227
|
+
if ("batches" in data)
|
|
228
|
+
return `${renderAnnulHuman(data)}\n`;
|
|
211
229
|
return `${renderDirectiveHuman(data, context.detail)}\n`;
|
|
212
230
|
},
|
|
213
231
|
};
|
|
@@ -229,6 +247,44 @@ function renderProofHuman(receipt) {
|
|
|
229
247
|
JSON.stringify(receipt.proof, null, 2),
|
|
230
248
|
].join("\n");
|
|
231
249
|
}
|
|
250
|
+
/** Archive the stuck run and re-adopt its flow; `--flow` only when nothing records it. */
|
|
251
|
+
async function restartVerb(ctx, session, flow, executor) {
|
|
252
|
+
return project(await restartFlow(ctx.fs, ctx.paths, {
|
|
253
|
+
...session,
|
|
254
|
+
...(flow !== undefined ? { flow } : {}),
|
|
255
|
+
executor,
|
|
256
|
+
git: ctx.git,
|
|
257
|
+
}));
|
|
258
|
+
}
|
|
259
|
+
/** Preview without `--approval`; apply with the digest that preview showed. */
|
|
260
|
+
async function annulVerb(args, ctx, session, executor) {
|
|
261
|
+
const from = args.values.get("from");
|
|
262
|
+
if (from === undefined) {
|
|
263
|
+
return fail("ARGS_INVALID", "uso: aw flow annul --session <código> --from <lote> [--approval <digest>]");
|
|
264
|
+
}
|
|
265
|
+
const approval = args.values.get("approval");
|
|
266
|
+
const annul = { ...session, from, env: ctx.env, executor, git: ctx.git };
|
|
267
|
+
if (approval === undefined)
|
|
268
|
+
return projectAnnul(await prepareAnnulment(ctx.fs, ctx.paths, annul));
|
|
269
|
+
return project(await applyAnnulment(ctx.fs, ctx.paths, { ...annul, approval }));
|
|
270
|
+
}
|
|
271
|
+
/** An annulment preview, read by a person: what reopens, then how to approve it. */
|
|
272
|
+
function renderAnnulHuman(preview) {
|
|
273
|
+
return [
|
|
274
|
+
`anular en ${preview.plan}: ${preview.batches.map((batch) => batch.id).join(", ")}`,
|
|
275
|
+
...preview.batches.map((batch) => ` ${batch.id}: ${batch.phases.map((phase) => `F${phase}`).join(", ")} vuelven a pendiente · reabre ${batch.tasks.join(", ")}`),
|
|
276
|
+
...(preview.unseals_done ? [" el plan pierde su sello done"] : []),
|
|
277
|
+
"no se escribió nada y git no se toca",
|
|
278
|
+
`para aplicarlo: ${preview.next}`,
|
|
279
|
+
].join("\n");
|
|
280
|
+
}
|
|
281
|
+
function projectAnnul(result) {
|
|
282
|
+
if (result.ok)
|
|
283
|
+
return { ok: true, data: result.preview, exitCode: 0 };
|
|
284
|
+
if ("session" in result)
|
|
285
|
+
return failSessionResolution(result.session);
|
|
286
|
+
return failSemantic(result.failure);
|
|
287
|
+
}
|
|
232
288
|
function projectProof(result) {
|
|
233
289
|
if (result.ok)
|
|
234
290
|
return { ok: true, data: result.receipt, exitCode: 0 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow.js","sourceRoot":"","sources":["../../../src/cli/commands/flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAEL,WAAW,EACX,mBAAmB,
|
|
1
|
+
{"version":3,"file":"flow.js","sourceRoot":"","sources":["../../../src/cli/commands/flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { runGenerateLaunch, } from "../../application/generate-launch-service.js
|
|
|
2
2
|
import { fail } from "../render.js";
|
|
3
3
|
export const generateLaunchCommand = {
|
|
4
4
|
name: "generate-launch",
|
|
5
|
+
flags: { known: ["source", "workspace", "mode", "command", "dry-run", "force"] },
|
|
5
6
|
describe: "(Re)generate the per-source launch scripts (.workflow/launch/<alias>/: launch.json + run.sh + run.ps1) by detecting each source's stack. Idempotent: pristine files are regenerated, hand-edited ones preserved (--force overwrites them). Reads sources from the WORKSPACE block; the launch flow also generates these on demand at the first launch. Each source gets a launch MODE — interactive (owns the TTY, for TUIs) or server (background + log) — overridable with --mode; --command overrides the detected run command for a single source. " +
|
|
6
7
|
"Usage: aw generate-launch [--source <alias> (repeatable)] [--mode interactive|server] [--command <cmd>] [--force] [--dry-run] [--workspace <dir>].",
|
|
7
8
|
async execute(args, ctx) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-launch.js","sourceRoot":"","sources":["../../../src/cli/commands/generate-launch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate-launch.js","sourceRoot":"","sources":["../../../src/cli/commands/generate-launch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +1,110 @@
|
|
|
1
1
|
import { runGitFlow, } from "../../application/git-flow-service.js";
|
|
2
|
+
import { formatGitFlowSourceLine } from "../../application/logging/log-events.js";
|
|
3
|
+
import { attributeCliInvocation, grantProdConsent } from "../../application/prod-consent.js";
|
|
2
4
|
import { flagValue } from "../parser.js";
|
|
3
5
|
import { fail } from "../render.js";
|
|
4
6
|
const ACTIONS = new Set(["sync", "to-dev", "to-qa", "to-prod"]);
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return fail("INVALID_INPUT", "Usage: aw git-flow <sync|to-dev|to-qa|to-prod> [--source <alias>] [--all] [--target <branch>] [--dry-run]");
|
|
13
|
-
}
|
|
14
|
-
const source = flagValue(args, "source");
|
|
15
|
-
const target = flagValue(args, "target");
|
|
16
|
-
const input = { action: action };
|
|
17
|
-
if (source !== undefined)
|
|
18
|
-
input.source = source;
|
|
19
|
-
if (target !== undefined)
|
|
20
|
-
input.target = target;
|
|
21
|
-
if (args.flags.has("--all"))
|
|
22
|
-
input.all = true;
|
|
23
|
-
if (args.flags.has("--dry-run"))
|
|
24
|
-
input.dryRun = true;
|
|
25
|
-
const data = await runGitFlow(ctx.fs, ctx.git, ctx.paths, input);
|
|
26
|
-
if (data.status === "error") {
|
|
27
|
-
return fail("GIT_FLOW_ERROR", data.error ?? "git-flow failed", data);
|
|
28
|
-
}
|
|
29
|
-
// A conflict is a paused-but-expected outcome: exitCode 2 (like check-branch
|
|
30
|
-
// strict) so callers/loops can detect "needs resolution" distinct from error.
|
|
31
|
-
const exit = data.status === "conflict" ? 2 : 0;
|
|
32
|
-
return { ok: true, data, exitCode: exit };
|
|
33
|
-
},
|
|
7
|
+
const NEEDS_PERSON = "publicar en PROD lo hace la persona: desde el TUI (`aw`) o desde su propia terminal";
|
|
8
|
+
const DECLINED = "publicación en PROD no confirmada: ninguna rama cambió";
|
|
9
|
+
// "No" by default and no `--yes`: unlike `aw self update`, the one thing that
|
|
10
|
+
// may publish in PROD is the person answering yes to the preview.
|
|
11
|
+
const defaultConfirm = async (message) => {
|
|
12
|
+
const { confirm } = await import("@inquirer/prompts");
|
|
13
|
+
return confirm({ message, default: false });
|
|
34
14
|
};
|
|
15
|
+
export function createGitFlowCommand(confirm = defaultConfirm) {
|
|
16
|
+
return {
|
|
17
|
+
name: "git-flow",
|
|
18
|
+
flags: { known: ["source", "all", "target", "dry-run"] },
|
|
19
|
+
describe: "Run a per-source git flow. Usage: aw git-flow <sync|to-dev|to-qa|to-prod> " +
|
|
20
|
+
"[--source <alias>]... [--all] [--target <branch>] [--dry-run]. " +
|
|
21
|
+
"Publishing in PROD asks the person in an interactive terminal.",
|
|
22
|
+
async execute(args, ctx) {
|
|
23
|
+
const action = args.rest[0];
|
|
24
|
+
if (!action || !ACTIONS.has(action)) {
|
|
25
|
+
return fail("INVALID_INPUT", "Usage: aw git-flow <sync|to-dev|to-qa|to-prod> [--source <alias>]... [--all] [--target <branch>] [--dry-run]");
|
|
26
|
+
}
|
|
27
|
+
const input = inputFrom(action, args);
|
|
28
|
+
let data = await runGitFlow(ctx.fs, ctx.git, ctx.paths, input);
|
|
29
|
+
if (data.consent_required !== undefined) {
|
|
30
|
+
const consented = await askThePerson(data, ctx, confirm);
|
|
31
|
+
if ("refusal" in consented)
|
|
32
|
+
return consented.refusal;
|
|
33
|
+
data = await runGitFlow(ctx.fs, ctx.git, ctx.paths, {
|
|
34
|
+
...input,
|
|
35
|
+
consent: consented.consent,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
await logFailedSources(data, ctx);
|
|
39
|
+
return outcome(data);
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export const gitFlowCommand = createGitFlowCommand();
|
|
44
|
+
function inputFrom(action, args) {
|
|
45
|
+
const input = { action };
|
|
46
|
+
const sources = args.valuesMulti.get("source") ?? [];
|
|
47
|
+
if (sources.length > 0)
|
|
48
|
+
input.sources = sources;
|
|
49
|
+
const target = flagValue(args, "target");
|
|
50
|
+
if (target !== undefined)
|
|
51
|
+
input.target = target;
|
|
52
|
+
if (args.flags.has("--all"))
|
|
53
|
+
input.all = true;
|
|
54
|
+
if (args.flags.has("--dry-run"))
|
|
55
|
+
input.dryRun = true;
|
|
56
|
+
return input;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The preview goes first, and only an attributable invocation is asked. No
|
|
60
|
+
* flag stands in for the answer: the consent is built from the yes itself.
|
|
61
|
+
*/
|
|
62
|
+
async function askThePerson(preview, ctx, confirm) {
|
|
63
|
+
const sources = preview.consent_required?.sources ?? [];
|
|
64
|
+
const planDigest = preview.consent_required?.plan ?? "";
|
|
65
|
+
const attribution = attributeCliInvocation(ctx.env, ctx.process.hasTty());
|
|
66
|
+
const plan = renderPreview(preview);
|
|
67
|
+
if (!attribution.person) {
|
|
68
|
+
return {
|
|
69
|
+
refusal: fail("GIT_FLOW_NEEDS_PERSON", `${NEEDS_PERSON} (${attribution.reason}).\n${plan}`, preview),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
let yes;
|
|
73
|
+
try {
|
|
74
|
+
yes = await confirm(`${plan}\n\n¿Publicar en PROD ${sources.join(", ")}?`);
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
// Inquirer rejects on Ctrl-C/Esc: a closed prompt is a no.
|
|
78
|
+
yes = false;
|
|
79
|
+
}
|
|
80
|
+
const consent = yes ? grantProdConsent(attribution, sources, planDigest) : null;
|
|
81
|
+
return consent === null
|
|
82
|
+
? { refusal: fail("GIT_FLOW_PROD_DECLINED", DECLINED, preview) }
|
|
83
|
+
: { consent };
|
|
84
|
+
}
|
|
85
|
+
/** One line per source: the steps that would run, with the real branch names. */
|
|
86
|
+
export function renderPreview(preview) {
|
|
87
|
+
const lines = preview.results.map((r) => r.status === "error"
|
|
88
|
+
? `${r.source}: ${r.error ?? "error"}`
|
|
89
|
+
: `${r.source}: ${r.steps.map((s) => s.preview ?? s.step).join(" → ")}`);
|
|
90
|
+
return ["Se publicará en la rama de PROD de cada fuente listada:", ...lines].join("\n");
|
|
91
|
+
}
|
|
92
|
+
/** The daily log gets the source, the step and git's stderr of every source that did not finish. */
|
|
93
|
+
async function logFailedSources(data, ctx) {
|
|
94
|
+
for (const result of data.results) {
|
|
95
|
+
if (result.status === "ok")
|
|
96
|
+
continue;
|
|
97
|
+
const level = result.status === "conflict" ? "warn" : "error";
|
|
98
|
+
await ctx.logger?.log(level, formatGitFlowSourceLine(data.action, result));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
function outcome(data) {
|
|
102
|
+
if (data.status === "error") {
|
|
103
|
+
return fail("GIT_FLOW_ERROR", data.error ?? "git-flow failed", data);
|
|
104
|
+
}
|
|
105
|
+
// A conflict is a paused-but-expected outcome: exitCode 2 (like check-branch
|
|
106
|
+
// strict) so callers/loops can detect "needs resolution" distinct from error.
|
|
107
|
+
const exit = data.status === "conflict" ? 2 : 0;
|
|
108
|
+
return { ok: true, data, exitCode: exit };
|
|
109
|
+
}
|
|
35
110
|
//# sourceMappingURL=git-flow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-flow.js","sourceRoot":"","sources":["../../../src/cli/commands/git-flow.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"git-flow.js","sourceRoot":"","sources":["../../../src/cli/commands/git-flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,24 @@
|
|
|
1
1
|
import { runHistoryUpdate } from "../../application/history-update-service.js";
|
|
2
2
|
import { fail, failSessionResolution } from "../render.js";
|
|
3
|
-
import { reviewFlags
|
|
3
|
+
import { reviewFlags } from "./unknown-flags.js";
|
|
4
4
|
// `--sesion` is the legacy spelling of `--session`; `--summary` died with the
|
|
5
5
|
// slim table (the Resumen column was the slug re-spaced) and is tolerated
|
|
6
6
|
// because this CLI documented it — but it is reported, never silently dropped.
|
|
7
7
|
const FLAGS = {
|
|
8
8
|
known: ["code", "state", "session", "sesion", "date", "refs"],
|
|
9
9
|
retired: ["summary"],
|
|
10
|
+
usage: "aw history-update --code <sesión> --state <active|closed>",
|
|
10
11
|
};
|
|
11
12
|
export const historyUpdateCommand = {
|
|
12
13
|
name: "history-update",
|
|
14
|
+
flags: FLAGS,
|
|
13
15
|
describe: "Upsert a row in the workspace history file. " +
|
|
14
16
|
"Usage: aw history-update [--code <session>] [--session <n>] [--state <estado>] " +
|
|
15
17
|
"[--refs <csv>] [--date <iso>].",
|
|
16
18
|
async execute(args, ctx) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
unknown_flags: review.unknown,
|
|
21
|
-
action: "corregí el flag y reintentá: `aw history-update --code <sesión> --state <active|closed>`",
|
|
22
|
-
});
|
|
23
|
-
}
|
|
19
|
+
// The dispatcher already refused an unknown flag; a retired one reaches
|
|
20
|
+
// here and is reported back instead of dropped.
|
|
21
|
+
const { retired } = reviewFlags(args, FLAGS);
|
|
24
22
|
const code = args.values.get("code");
|
|
25
23
|
const state = args.values.get("state");
|
|
26
24
|
// Canonical flag is --session (matches sources/check-branch); --sesion kept
|
|
@@ -49,7 +47,7 @@ export const historyUpdateCommand = {
|
|
|
49
47
|
}
|
|
50
48
|
return {
|
|
51
49
|
ok: true,
|
|
52
|
-
data:
|
|
50
|
+
data: retired.length > 0 ? { ...data, ignored_flags: retired } : data,
|
|
53
51
|
exitCode: 0,
|
|
54
52
|
};
|
|
55
53
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history-update.js","sourceRoot":"","sources":["../../../src/cli/commands/history-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAI/E,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,
|
|
1
|
+
{"version":3,"file":"history-update.js","sourceRoot":"","sources":["../../../src/cli/commands/history-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAI/E,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,8EAA8E;AAC9E,0EAA0E;AAC1E,+EAA+E;AAC/E,MAAM,KAAK,GAAiB;IAC1B,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;IAC7D,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,KAAK,EAAE,2DAA2D;CACnE,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAe;IAC9C,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,KAAK;IACZ,QAAQ,EACN,8CAA8C;QAC9C,iFAAiF;QACjF,gCAAgC;IAClC,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,wEAAwE;QACxE,gDAAgD;QAChD,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,4EAA4E;QAC5E,uDAAuD;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAErC,MAAM,KAAK,GAA2C,EAAE,CAAC;QACzD,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,IAAI,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7C,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;QACpD,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAE1C,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9D,6EAA6E;QAC7E,kEAAkE;QAClE,IAAI,cAAc,IAAI,IAAI;YAAE,OAAO,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5E,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,OAAO;YACL,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI;YACrE,QAAQ,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import { text } from "node:stream/consumers";
|
|
2
1
|
import { runBranchCheckHook } from "../../application/hook-branch-check.js";
|
|
3
2
|
import { runGitCommitAdvisor } from "../../application/hook-git-commit-advisor.js";
|
|
4
3
|
import { runSqlMutationGuard } from "../../application/hook-sql-mutation-guard.js";
|
|
4
|
+
import { readHookStdin } from "../context-id.js";
|
|
5
5
|
import { fail, writeStderr } from "../render.js";
|
|
6
6
|
export const hookCommand = {
|
|
7
7
|
name: "hook",
|
|
8
|
+
flags: { known: [], mode: "warn" },
|
|
8
9
|
describe: "PreToolUse hook target. Subcommands: branch-check, sql-mutation-guard, git-commit-advisor.",
|
|
9
10
|
async execute(args, ctx) {
|
|
10
11
|
const subcommand = args.rest[0];
|
|
11
12
|
if (!subcommand) {
|
|
12
13
|
return fail("INVALID_INPUT", "hook requires a subcommand: branch-check | sql-mutation-guard | git-commit-advisor");
|
|
13
14
|
}
|
|
14
|
-
|
|
15
|
+
// Bounded like the lifecycle hooks: run by hand from an agent's shell, fd 0
|
|
16
|
+
// is an idle socket and an unbounded read would hang until the tool timeout.
|
|
17
|
+
const stdin = (await readHookStdin()) ?? "";
|
|
15
18
|
if (subcommand === "branch-check") {
|
|
16
19
|
const result = await runBranchCheckHook({
|
|
17
20
|
stdin,
|
|
@@ -26,7 +29,12 @@ export const hookCommand = {
|
|
|
26
29
|
return { ok: true, data: undefined, exitCode: result.exitCode };
|
|
27
30
|
}
|
|
28
31
|
if (subcommand === "sql-mutation-guard") {
|
|
29
|
-
const result = runSqlMutationGuard({
|
|
32
|
+
const result = runSqlMutationGuard({
|
|
33
|
+
stdin,
|
|
34
|
+
env: ctx.env,
|
|
35
|
+
runtime: ctx.runtime,
|
|
36
|
+
paths: ctx.paths,
|
|
37
|
+
});
|
|
30
38
|
if (result.stderr)
|
|
31
39
|
writeStderr(result.stderr);
|
|
32
40
|
return { ok: true, data: undefined, exitCode: result.exitCode };
|