@tacuchi/agent-workflow-cli 21.11.0 → 21.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/application/checkpoint/markdown.js +38 -2
- package/dist/application/checkpoint/markdown.js.map +1 -1
- package/dist/application/checkpoint-service.js +10 -3
- package/dist/application/checkpoint-service.js.map +1 -1
- package/dist/application/checkpoint-write-service.js +52 -27
- package/dist/application/checkpoint-write-service.js.map +1 -1
- package/dist/application/flow/advance.js +132 -18
- package/dist/application/flow/advance.js.map +1 -1
- package/dist/application/flow/flow-service.js +100 -2
- package/dist/application/flow/flow-service.js.map +1 -1
- package/dist/application/flow/internal-drive.js +16 -13
- package/dist/application/flow/internal-drive.js.map +1 -1
- package/dist/application/flow/run-state-service.js +236 -5
- package/dist/application/flow/run-state-service.js.map +1 -1
- package/dist/application/flow/submit.js +90 -35
- package/dist/application/flow/submit.js.map +1 -1
- package/dist/application/history-table.js +253 -56
- package/dist/application/history-table.js.map +1 -1
- package/dist/application/history-update-service.js +85 -14
- package/dist/application/history-update-service.js.map +1 -1
- package/dist/application/lifecycle-target.js +2 -2
- package/dist/application/lifecycle-target.js.map +1 -1
- package/dist/application/paths-service.js +17 -0
- package/dist/application/paths-service.js.map +1 -1
- package/dist/application/resume-service.js +2 -9
- package/dist/application/resume-service.js.map +1 -1
- package/dist/application/session-close-service.js +13 -2
- package/dist/application/session-close-service.js.map +1 -1
- package/dist/application/session-create-service.js +4 -25
- package/dist/application/session-create-service.js.map +1 -1
- package/dist/application/session-narrative.js +7 -3
- package/dist/application/session-narrative.js.map +1 -1
- package/dist/application/session-resolver.js +124 -17
- package/dist/application/session-resolver.js.map +1 -1
- package/dist/application/session-resume-service.js +7 -0
- package/dist/application/session-resume-service.js.map +1 -1
- package/dist/application/sessions-service.js +7 -6
- package/dist/application/sessions-service.js.map +1 -1
- package/dist/cli/commands/checkpoint-write.js +1 -0
- package/dist/cli/commands/checkpoint-write.js.map +1 -1
- package/dist/cli/commands/flow.js +52 -5
- package/dist/cli/commands/flow.js.map +1 -1
- package/dist/cli/commands/history-update.js +25 -4
- package/dist/cli/commands/history-update.js.map +1 -1
- package/dist/cli/commands/index.js +4 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/session-close.js +12 -0
- package/dist/cli/commands/session-close.js.map +1 -1
- package/dist/cli/help-groups.js +4 -0
- package/dist/cli/help-groups.js.map +1 -1
- package/dist/cli/parser.js +5 -0
- package/dist/cli/parser.js.map +1 -1
- package/dist/domain/capability/effects.js +13 -0
- package/dist/domain/capability/effects.js.map +1 -1
- package/dist/domain/flow/answer.js +105 -0
- package/dist/domain/flow/answer.js.map +1 -1
- package/dist/domain/flow/authority.js +4 -0
- package/dist/domain/flow/authority.js.map +1 -1
- package/dist/domain/flow/run-state.js +215 -11
- package/dist/domain/flow/run-state.js.map +1 -1
- package/package.json +1 -1
- package/skills/w/loops/CHASSIS.md +5 -7
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { buildSessionEntry, listSessionFolders, serializeSessionEntry, } from "./session-resolver.js";
|
|
1
|
+
import { buildSessionEntry, listSessionFolders, nextSessionCorrelative, serializeSessionEntry, } from "./session-resolver.js";
|
|
2
2
|
export class SessionsService {
|
|
3
3
|
fs;
|
|
4
4
|
env;
|
|
@@ -16,11 +16,12 @@ export class SessionsService {
|
|
|
16
16
|
// .workflow/sessions now. `legacy` retained as an always-empty field for
|
|
17
17
|
// output-shape compatibility until callers are reworked.
|
|
18
18
|
const legacy = [];
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
// The number this reports is the number `session-create` will assign: one
|
|
20
|
+
// derivation, no chance of announcing a correlative somebody else spends.
|
|
21
|
+
// It used to filter all-digit codes over a field that holds the whole folder
|
|
22
|
+
// name in the current model, so it counted the legacy folders and nothing
|
|
23
|
+
// else.
|
|
24
|
+
const nextCorr = await nextSessionCorrelative(this.fs, this.paths);
|
|
24
25
|
const activeCount = sessions.filter((s) => s.state === "active").length;
|
|
25
26
|
const closedCount = sessions.filter((s) => s.state === "closed").length;
|
|
26
27
|
const filtered = applyFilter(sessions, input);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions-service.js","sourceRoot":"","sources":["../../src/application/sessions-service.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAoB/B,MAAM,OAAO,eAAe;IAEP;IACA;IACA;IAHnB,YACmB,EAAkB,EAClB,GAAY,EACZ,KAAmB;QAFnB,OAAE,GAAF,EAAE,CAAgB;QAClB,QAAG,GAAH,GAAG,CAAS;QACZ,UAAK,GAAL,KAAK,CAAc;IACnC,CAAC;IAEJ,KAAK,CAAC,IAAI,CAAC,QAA2B,EAAE;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;QAEjF,uEAAuE;QACvE,yEAAyE;QACzE,yDAAyD;QACzD,MAAM,MAAM,GAAmB,EAAE,CAAC;QAElC,
|
|
1
|
+
{"version":3,"file":"sessions-service.js","sourceRoot":"","sources":["../../src/application/sessions-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,7 @@ async function lifecycleOptions(args, ctx) {
|
|
|
22
22
|
export const checkpointWriteCommand = {
|
|
23
23
|
name: "checkpoint-write",
|
|
24
24
|
describe: "Write CHECKPOINT.md for the conversation's session (or --code). PreCompact hook target. " +
|
|
25
|
+
"An existing CHECKPOINT with content is preserved; --force overwrites it. " +
|
|
25
26
|
"Usage: aw checkpoint-write [--code <session>] [--force] [--can-pause].",
|
|
26
27
|
async execute(args, ctx) {
|
|
27
28
|
const base = await lifecycleOptions(args, ctx);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint-write.js","sourceRoot":"","sources":["../../../src/cli/commands/checkpoint-write.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checkpoint-write.js","sourceRoot":"","sources":["../../../src/cli/commands/checkpoint-write.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { WORKLINE_FLOWS } from "../../application/capability/compose.js";
|
|
2
2
|
import { isHarnessId } from "../../application/dev-only-services.js";
|
|
3
|
-
import { advanceFlow } from "../../application/flow/flow-service.js";
|
|
3
|
+
import { advanceFlow, recoverFlowBoundary, } from "../../application/flow/flow-service.js";
|
|
4
4
|
import { internalActionExecutor } from "../../application/flow/internal-actions.js";
|
|
5
5
|
import { submitFlow } from "../../application/flow/submit.js";
|
|
6
6
|
import { renderDirectiveHuman } from "../../domain/flow/directive.js";
|
|
@@ -15,16 +15,53 @@ import { fail, failSemantic, failSessionResolution } from "../render.js";
|
|
|
15
15
|
* `advance` applies every consecutive transition the CLI owns and returns the
|
|
16
16
|
* first boundary it does not; `submit` (the second verb) brings an answer, a
|
|
17
17
|
* choice or an approval back and is delivered by the phases that own the
|
|
18
|
-
* boundaries.
|
|
18
|
+
* boundaries. `recover` is the third and the only one that is not part of a
|
|
19
|
+
* walk: it gives a boundary that ran out of attempts a way back to being
|
|
20
|
+
* answerable, which until it existed meant editing the run's state by hand.
|
|
19
21
|
*
|
|
20
22
|
* The directive travels with `ok: true` plus its outcome — with `ok: false` the
|
|
21
23
|
* host never calls `renderHuman`, and a boundary the person cannot see is a
|
|
22
24
|
* boundary that did not happen.
|
|
23
25
|
*/
|
|
24
|
-
const VERBS = ["advance", "submit"];
|
|
26
|
+
const VERBS = ["advance", "submit", "recover"];
|
|
27
|
+
/**
|
|
28
|
+
* The answer envelope, published where an executor can read it WITHOUT running a
|
|
29
|
+
* journey.
|
|
30
|
+
*
|
|
31
|
+
* The contract itself lives in `domain/flow/answer.ts` and is enforced there;
|
|
32
|
+
* this is its documentation, and until now it existed nowhere else. The cost of
|
|
33
|
+
* that was measured: one host opened eleven throwaway sessions whose declared
|
|
34
|
+
* objective was to discover this shape, and a second host, independently,
|
|
35
|
+
* repeated its wrong guess. A contract only a failed attempt can teach is a
|
|
36
|
+
* contract that charges every executor the same tuition.
|
|
37
|
+
*
|
|
38
|
+
* Kept beside the command rather than in the doctrine bundle because the bundle's
|
|
39
|
+
* context budget is frozen and this is reference material: it is read when
|
|
40
|
+
* somebody is composing an answer, not on every run.
|
|
41
|
+
*/
|
|
42
|
+
const ENVELOPE = [
|
|
43
|
+
"Sobre de `submit` — un único objeto JSON por stdin, con sus campos en el NIVEL SUPERIOR:",
|
|
44
|
+
"",
|
|
45
|
+
" siempre input_digest: el `state_digest` de la directiva que contestás — la directiva lo rotula `continuidad:` y el sobre lo llama `input_digest`; es el mismo valor.",
|
|
46
|
+
"",
|
|
47
|
+
" execution outcome: completed | needs_input | blocked | failed | cancelled",
|
|
48
|
+
" 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.",
|
|
49
|
+
" validations: [{id, passed, detail}] — 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.",
|
|
50
|
+
" effects: {planned[], approved[], applied[]} — el registro de clases de efecto, no una lista.",
|
|
51
|
+
" output: opcional — {value, reference: {id, revision, digest, locator}, completeness} o null.",
|
|
52
|
+
"",
|
|
53
|
+
" semantic signals[]: solo identificadores del vocabulario que esa frontera declara · decisions: objeto con al menos una clave. Alcanza con uno de los dos.",
|
|
54
|
+
" artifacts: [{path, content}] — obligatorio cuando la frontera propone efectos locales, rechazado cuando no propone ninguno.",
|
|
55
|
+
"",
|
|
56
|
+
" human choice: la etiqueta literal de una de las alternativas que la directiva emitió.",
|
|
57
|
+
"",
|
|
58
|
+
" authorization --approval <digest> con el digest que la directiva nombra en `siguiente:` — NO es el state_digest · choice: opcional, y con `Cerrar` o `Compactar` no se pide aprobación.",
|
|
59
|
+
].join("\n");
|
|
25
60
|
export const flowCommand = {
|
|
26
61
|
name: "flow",
|
|
27
|
-
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. Usage: aw flow advance --session <código> [--flow <flow> --adopt]
|
|
62
|
+
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. Usage: aw flow advance --session <código> [--flow <flow> --adopt] · aw flow recover --session <código> [--transition <id>].
|
|
63
|
+
|
|
64
|
+
${ENVELOPE}`,
|
|
28
65
|
async execute(args, ctx) {
|
|
29
66
|
const requestedHost = args.values.get("host");
|
|
30
67
|
if (requestedHost !== undefined && !isHarnessId(requestedHost)) {
|
|
@@ -32,7 +69,7 @@ export const flowCommand = {
|
|
|
32
69
|
}
|
|
33
70
|
const verb = args.rest[0];
|
|
34
71
|
if (verb === undefined || !VERBS.includes(verb)) {
|
|
35
|
-
return fail("ARGS_INVALID", `uso: aw flow ${VERBS.join(" | ")} --session <código> [--flow <flow> --adopt] [--approval <digest>]`);
|
|
72
|
+
return fail("ARGS_INVALID", `uso: aw flow ${VERBS.join(" | ")} --session <código> [--flow <flow> --adopt] [--approval <digest>] [--transition <id>]`);
|
|
36
73
|
}
|
|
37
74
|
const flow = args.values.get("flow");
|
|
38
75
|
if (flow !== undefined && !WORKLINE_FLOWS.includes(flow)) {
|
|
@@ -47,6 +84,16 @@ export const flowCommand = {
|
|
|
47
84
|
...(named.code !== undefined ? { code: named.code } : {}),
|
|
48
85
|
...(contextId !== undefined ? { contextId } : {}),
|
|
49
86
|
};
|
|
87
|
+
// Before the executor, and without stdin: recovery is not a walk. It returns
|
|
88
|
+
// the boundary to an answerable state and stops there, so whatever runs next
|
|
89
|
+
// is decided by whoever answers it — never by the command that unblocked it.
|
|
90
|
+
if (verb === "recover") {
|
|
91
|
+
const transition = args.values.get("transition");
|
|
92
|
+
return project(await recoverFlowBoundary(ctx.fs, ctx.paths, {
|
|
93
|
+
...session,
|
|
94
|
+
...(transition !== undefined ? { transition } : {}),
|
|
95
|
+
}));
|
|
96
|
+
}
|
|
50
97
|
// Only `submit` reads stdin: an `advance` that waited on a pipe would hang a
|
|
51
98
|
// caller that has nothing to send yet — the same split `capability` makes
|
|
52
99
|
// between `prepare` and the stages that carry content.
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"flow.js","sourceRoot":"","sources":["../../../src/cli/commands/flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,26 @@
|
|
|
1
1
|
import { runHistoryUpdate } from "../../application/history-update-service.js";
|
|
2
|
-
import { fail } from "../render.js";
|
|
2
|
+
import { fail, failSessionResolution } from "../render.js";
|
|
3
|
+
import { reviewFlags, unknownFlagMessage } from "./unknown-flags.js";
|
|
4
|
+
// `--sesion` is the legacy spelling of `--session`; `--summary` died with the
|
|
5
|
+
// slim table (the Resumen column was the slug re-spaced) and is tolerated
|
|
6
|
+
// because this CLI documented it — but it is reported, never silently dropped.
|
|
7
|
+
const FLAGS = {
|
|
8
|
+
known: ["code", "state", "session", "sesion", "date", "refs"],
|
|
9
|
+
retired: ["summary"],
|
|
10
|
+
};
|
|
3
11
|
export const historyUpdateCommand = {
|
|
4
12
|
name: "history-update",
|
|
5
|
-
// `--summary` is gone with the slim table (the Resumen column was the slug
|
|
6
|
-
// re-spaced). An older caller still passing it is ignored, not rejected.
|
|
7
13
|
describe: "Upsert a row in the workspace history file. " +
|
|
8
14
|
"Usage: aw history-update [--code <session>] [--session <n>] [--state <estado>] " +
|
|
9
15
|
"[--refs <csv>] [--date <iso>].",
|
|
10
16
|
async execute(args, ctx) {
|
|
17
|
+
const review = reviewFlags(args, FLAGS);
|
|
18
|
+
if (review.unknown.length > 0) {
|
|
19
|
+
return fail("UNKNOWN_FLAG", unknownFlagMessage(review, FLAGS), {
|
|
20
|
+
unknown_flags: review.unknown,
|
|
21
|
+
action: "corregí el flag y reintentá: `aw history-update --code <sesión> --state <active|closed>`",
|
|
22
|
+
});
|
|
23
|
+
}
|
|
11
24
|
const code = args.values.get("code");
|
|
12
25
|
const state = args.values.get("state");
|
|
13
26
|
// Canonical flag is --session (matches sources/check-branch); --sesion kept
|
|
@@ -27,10 +40,18 @@ export const historyUpdateCommand = {
|
|
|
27
40
|
if (refs !== undefined)
|
|
28
41
|
input.refs = refs;
|
|
29
42
|
const data = await runHistoryUpdate(ctx.fs, ctx.paths, input);
|
|
43
|
+
// The identity did not land on one session: the row it would have written is
|
|
44
|
+
// somebody else's, so the refusal carries the candidates instead.
|
|
45
|
+
if ("sessionError" in data)
|
|
46
|
+
return failSessionResolution(data.sessionError);
|
|
30
47
|
if ("error" in data) {
|
|
31
48
|
return fail("INVALID_INPUT", data.error, data);
|
|
32
49
|
}
|
|
33
|
-
return {
|
|
50
|
+
return {
|
|
51
|
+
ok: true,
|
|
52
|
+
data: review.retired.length > 0 ? { ...data, ignored_flags: review.retired } : data,
|
|
53
|
+
exitCode: 0,
|
|
54
|
+
};
|
|
34
55
|
},
|
|
35
56
|
};
|
|
36
57
|
//# sourceMappingURL=history-update.js.map
|
|
@@ -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,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"history-update.js","sourceRoot":"","sources":["../../../src/cli/commands/history-update.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,6 +47,7 @@ import { stackCommand } from "./stack.js";
|
|
|
47
47
|
import { statusCommand } from "./status.js";
|
|
48
48
|
import { visibilityCommand } from "./visibility.js";
|
|
49
49
|
import { workspaceInitCommand } from "./workspace-init.js";
|
|
50
|
+
import { workspaceMigrateCommand } from "./workspace-migrate.js";
|
|
50
51
|
import { worktreeCommand } from "./worktree.js";
|
|
51
52
|
export const ALL_COMMANDS = [
|
|
52
53
|
sessionsCommand,
|
|
@@ -105,6 +106,9 @@ export const ALL_COMMANDS = [
|
|
|
105
106
|
attachMultirootCommand,
|
|
106
107
|
detachMultirootCommand,
|
|
107
108
|
projectMdUpsertCommand,
|
|
109
|
+
// The punctual way into the current model for a hub that carries a legacy
|
|
110
|
+
// series. Read-only without `--apply`.
|
|
111
|
+
workspaceMigrateCommand,
|
|
108
112
|
sessionResumeCommand,
|
|
109
113
|
selfCommand,
|
|
110
114
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
import { runSessionClose, } from "../../application/session-close-service.js";
|
|
2
2
|
import { runWorktree } from "../../application/worktree-service.js";
|
|
3
3
|
import { fail, failSessionResolution } from "../render.js";
|
|
4
|
+
import { reviewFlags, unknownFlagMessage } from "./unknown-flags.js";
|
|
5
|
+
// `--name` belongs to `session-create`, where it is mandatory; here it names
|
|
6
|
+
// nothing, and being ignored is how an invocation that meant something else
|
|
7
|
+
// came back as a clean close.
|
|
8
|
+
const FLAGS = { known: ["code", "refs"] };
|
|
4
9
|
export const sessionCloseCommand = {
|
|
5
10
|
name: "session-close",
|
|
6
11
|
describe: "Close a session: write the .closed marker, release the conversation bindings pointing at it and upsert its HISTORY.md row. " +
|
|
7
12
|
"Usage: aw session-close --code <session> [--refs <csv>].",
|
|
8
13
|
async execute(args, ctx) {
|
|
14
|
+
const review = reviewFlags(args, FLAGS);
|
|
15
|
+
if (review.unknown.length > 0) {
|
|
16
|
+
return fail("UNKNOWN_FLAG", unknownFlagMessage(review, FLAGS), {
|
|
17
|
+
unknown_flags: review.unknown,
|
|
18
|
+
action: "corregí el flag y reintentá: `aw session-close --code <sesión> [--refs <csv>]`",
|
|
19
|
+
});
|
|
20
|
+
}
|
|
9
21
|
const input = {};
|
|
10
22
|
const code = args.values.get("code");
|
|
11
23
|
if (code !== undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-close.js","sourceRoot":"","sources":["../../../src/cli/commands/session-close.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,GAChB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAIpE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"session-close.js","sourceRoot":"","sources":["../../../src/cli/commands/session-close.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,GAChB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAIpE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAqB,WAAW,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExF,6EAA6E;AAC7E,4EAA4E;AAC5E,8BAA8B;AAC9B,MAAM,KAAK,GAAiB,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;AAExD,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,IAAI,EAAE,eAAe;IACrB,QAAQ,EACN,6HAA6H;QAC7H,0DAA0D;IAC5D,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,cAAc,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;gBAC7D,aAAa,EAAE,MAAM,CAAC,OAAO;gBAC7B,MAAM,EAAE,gFAAgF;aACzF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAsB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAE1C,2EAA2E;QAC3E,0EAA0E;QAC1E,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EAC5D,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAC;YACF,4EAA4E;YAC5E,uDAAuD;YACvD,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAClE,OAAO,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,IAAI,cAAc,IAAI,IAAI;YAAE,OAAO,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5E,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjF,4EAA4E;QAC5E,4EAA4E;QAC5E,uEAAuE;QACvE,oDAAoD;QACpD,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC5D,CAAC;CACF,CAAC"}
|
package/dist/cli/help-groups.js
CHANGED
|
@@ -90,6 +90,10 @@ const GROUPS = [
|
|
|
90
90
|
"release-data",
|
|
91
91
|
"code-scan",
|
|
92
92
|
"project-md-upsert",
|
|
93
|
+
// Lives with the record-repair family and not with `workspace-init`: it
|
|
94
|
+
// does not create a workspace, it repairs the durable state of one that a
|
|
95
|
+
// previous namespace left unreadable.
|
|
96
|
+
"workspace-migrate",
|
|
93
97
|
"bootstrap-dsn",
|
|
94
98
|
],
|
|
95
99
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help-groups.js","sourceRoot":"","sources":["../../src/cli/help-groups.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"help-groups.js","sourceRoot":"","sources":["../../src/cli/help-groups.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/parser.js
CHANGED
|
@@ -97,6 +97,11 @@ const BOOLEAN_FLAGS = new Set([
|
|
|
97
97
|
// `aw flow advance --adopt` is presence-only; without this the verb or the
|
|
98
98
|
// session code that follows it would be swallowed as its value.
|
|
99
99
|
"adopt",
|
|
100
|
+
// `aw workspace-migrate --apply` is presence-only, and the swallow is worse
|
|
101
|
+
// here than a lost positional: the flag would land in `values`, the command
|
|
102
|
+
// would see no `--apply` and print a preview while its author asked for the
|
|
103
|
+
// migration.
|
|
104
|
+
"apply",
|
|
100
105
|
// Output projection (see output-mode.ts). `--format` takes a value and stays
|
|
101
106
|
// out; these two are presence-only and MUST be here or `aw status --json` and
|
|
102
107
|
// `aw resume --detail 009` would swallow the following positional.
|
package/dist/cli/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,19 @@ export function isEffectClass(value) {
|
|
|
42
42
|
* which.
|
|
43
43
|
*/
|
|
44
44
|
export const SELF_AUTHORIZABLE_CLASSES = ["read_only", "local_additive"];
|
|
45
|
+
/**
|
|
46
|
+
* Whether these classes reach anything a second attempt could double.
|
|
47
|
+
*
|
|
48
|
+
* `read_only` is the one class that leaves nothing behind: repeating it produces
|
|
49
|
+
* the same reading and credits nothing. Every other class writes, runs, leaves
|
|
50
|
+
* the machine or destroys, and each of those makes "do it again" a different
|
|
51
|
+
* question from "do it once". Two guards ask exactly this — whether an exhausted
|
|
52
|
+
* boundary may be passed over, and whether one may be handed back as answerable
|
|
53
|
+
* — and they ask it through this predicate so they cannot answer it differently.
|
|
54
|
+
*/
|
|
55
|
+
export function touchesTheWorld(classes) {
|
|
56
|
+
return classes.some((effect) => effect !== "read_only");
|
|
57
|
+
}
|
|
45
58
|
export const OPEN_EFFECT_POLICY = { denied: [], preflight: [] };
|
|
46
59
|
/**
|
|
47
60
|
* Decide, for one operation, what the invocation may do by itself and what has
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effects.js","sourceRoot":"","sources":["../../../src/domain/capability/effects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,2EAA2E;IAC3E,WAAW;IACX,6EAA6E;IAC7E,gBAAgB;IAChB,0DAA0D;IAC1D,kBAAkB;IAClB,qDAAqD;IACrD,SAAS;IACT,8DAA8D;IAC9D,kBAAkB;IAClB,uEAAuE;IACvE,aAAa;CACL,CAAC;AAkBX,MAAM,SAAS,GAAwB,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;AAE/D,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAA2B,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"effects.js","sourceRoot":"","sources":["../../../src/domain/capability/effects.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,2EAA2E;IAC3E,WAAW;IACX,6EAA6E;IAC7E,gBAAgB;IAChB,0DAA0D;IAC1D,kBAAkB;IAClB,qDAAqD;IACrD,SAAS;IACT,8DAA8D;IAC9D,kBAAkB;IAClB,uEAAuE;IACvE,aAAa;CACL,CAAC;AAkBX,MAAM,SAAS,GAAwB,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;AAE/D,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAA2B,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;AAEjG;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,OAA+B;IAC7D,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;AAC1D,CAAC;AAgBD,MAAM,CAAC,MAAM,kBAAkB,GAAiB,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AAsC9E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAqC,EACrC,OAAsB,EACtB,SAAuB,kBAAkB,EACzC,cAA2C,EAAE;IAE7C,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,MAAM,cAAc,GAAkB,EAAE,CAAC;IACzC,MAAM,cAAc,GAAkB,EAAE,CAAC;IACzC,MAAM,MAAM,GAAmB,EAAE,CAAC;IAElC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,GAAG,EAAE,qDAAqD;aAC3D,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,IAAI,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;YAC5C,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClC,SAAS;QACX,CAAC;QACD,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC;AAC5F,CAAC;AAED,SAAS,cAAc,CACrB,MAAyB,EACzB,OAAsB,EACtB,MAAoB;IAEpB,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACpE,IAAI,MAAM,CAAC,aAAa,KAAK,YAAY,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACtF,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1D,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW;QAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACnE,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;AAChC,CAAC"}
|
|
@@ -21,6 +21,111 @@ import { isEffectClass } from "../capability/effects.js";
|
|
|
21
21
|
import { CAPABILITY_OUTCOMES, } from "../capability/protocol.js";
|
|
22
22
|
import { proposalContractOf, } from "./authority.js";
|
|
23
23
|
import { STOP_LABEL, isFlowControl } from "./directive.js";
|
|
24
|
+
/**
|
|
25
|
+
* Which rejections COUNT as an attempt at the boundary, and which never reached
|
|
26
|
+
* it.
|
|
27
|
+
*
|
|
28
|
+
* The cap of three exists to stop a gap from being re-fired forever — that is
|
|
29
|
+
* doctrine. What it never meant to protect against is a typo in the envelope, and
|
|
30
|
+
* the difference had a measured cost: hosts spent whole sessions discovering that
|
|
31
|
+
* `outcome` goes at the top level, that a validation carries `id` and not `name`,
|
|
32
|
+
* that an authoring boundary wants its bytes in `artifacts` — and every discovery
|
|
33
|
+
* burned one of the three tries at a boundary they had not yet been able to
|
|
34
|
+
* answer once. Two typos plus one real attempt exhausted a run.
|
|
35
|
+
*
|
|
36
|
+
* So the line is: **did the payload deliver a decision this boundary could
|
|
37
|
+
* weigh?**
|
|
38
|
+
*
|
|
39
|
+
* - `envelope` — nothing was weighed. No payload at all, unparseable JSON, an
|
|
40
|
+
* answer addressed to another boundary (`STALE`), a boundary that expects none,
|
|
41
|
+
* a result that is not a result (`FLOW_RESULT_INVALID`), bytes in the wrong
|
|
42
|
+
* channel or missing from the only channel that carries them
|
|
43
|
+
* (`FLOW_ARTIFACTS_*`, and the path/size refusals the semantic protocol
|
|
44
|
+
* raises). At an execution boundary the decision IS the result and at an
|
|
45
|
+
* authoring one it IS the bytes: with neither there, there is nothing to judge,
|
|
46
|
+
* and charging for it charges for the envelope.
|
|
47
|
+
* - `evaluated` — the decision arrived and did not resolve the gap. A signal
|
|
48
|
+
* outside the declared vocabulary, a label that is not one of the emitted
|
|
49
|
+
* alternatives, an approval over other effects or none at all, a result about a
|
|
50
|
+
* different invocation, an execution that did not complete or left its effect
|
|
51
|
+
* half-applied, a scope naming sources the workspace or the plan does not, a
|
|
52
|
+
* proposal reaching past what its row declares — and an answer that declares
|
|
53
|
+
* nothing at all, which is the feigned convergence the chassis degrades and
|
|
54
|
+
* exactly what the cap is for.
|
|
55
|
+
* - `control` — a real answer that deliberately applies nothing, or the same
|
|
56
|
+
* answer arriving twice. Pausing to compact, stopping the run, and a resend are
|
|
57
|
+
* all decisions somebody made on purpose; charging them would make the flow
|
|
58
|
+
* control the CLI itself offers cost an attempt, which is the loop the cap is
|
|
59
|
+
* supposed to prevent rather than one it is supposed to count.
|
|
60
|
+
*
|
|
61
|
+
* `FLOW_ANSWER_STALE` is the one worth spelling out. It looks like a bad answer
|
|
62
|
+
* and is not: it answers a boundary the run has left, so charging it would spend
|
|
63
|
+
* the CURRENT boundary's budget on a payload that was never about it — and
|
|
64
|
+
* staleness is frequently the engine's own doing, since the run may have moved
|
|
65
|
+
* between the directive and the answer.
|
|
66
|
+
*
|
|
67
|
+
* Every code the parser, the execution verdict and `submit` can put in front of a
|
|
68
|
+
* boundary is in here. That is not tidiness: `submit`'s own refusals used to sit
|
|
69
|
+
* outside the table and outside the charge, so a scope answered with an alias the
|
|
70
|
+
* plan does not name could be re-sent forever — never exhausting, never
|
|
71
|
+
* degrading, never recovering. A guard walks the three sources and fails if a
|
|
72
|
+
* code is missing from this table.
|
|
73
|
+
*/
|
|
74
|
+
export const FLOW_ANSWER_REJECTIONS = {
|
|
75
|
+
FLOW_ANSWER_MISSING: "envelope",
|
|
76
|
+
FLOW_ANSWER_INVALID: "envelope",
|
|
77
|
+
FLOW_ANSWER_STALE: "envelope",
|
|
78
|
+
FLOW_ANSWER_NOT_EXPECTED: "envelope",
|
|
79
|
+
FLOW_RESULT_INVALID: "envelope",
|
|
80
|
+
FLOW_ARTIFACTS_MISSING: "envelope",
|
|
81
|
+
FLOW_ARTIFACTS_NOT_EXPECTED: "envelope",
|
|
82
|
+
// Raised by `parseSemanticArtifacts` and forwarded verbatim: a destination
|
|
83
|
+
// outside the allowlist, a duplicate, an oversized artifact.
|
|
84
|
+
SEMANTIC_PATH_REJECTED: "envelope",
|
|
85
|
+
SEMANTIC_RESPONSE_INVALID: "envelope",
|
|
86
|
+
// The registry moved under a run in flight, so the invocation the result is
|
|
87
|
+
// about is no longer the one this build emits. Nothing about the ANSWER was
|
|
88
|
+
// weighed, and the next `advance` re-binds the action by itself.
|
|
89
|
+
FLOW_ACTION_CHANGED: "envelope",
|
|
90
|
+
FLOW_ANSWER_AMBIGUOUS: "evaluated",
|
|
91
|
+
FLOW_SIGNAL_UNKNOWN: "evaluated",
|
|
92
|
+
FLOW_CHOICE_UNKNOWN: "evaluated",
|
|
93
|
+
FLOW_APPROVAL_MISSING: "evaluated",
|
|
94
|
+
FLOW_APPROVAL_MISMATCH: "evaluated",
|
|
95
|
+
FLOW_ACTION_MISMATCH: "evaluated",
|
|
96
|
+
// The execution verdict's own vocabulary: it judges a result that WAS read.
|
|
97
|
+
FLOW_EXECUTION_NOT_COMPLETED: "evaluated",
|
|
98
|
+
FLOW_EVIDENCE_MISSING: "evaluated",
|
|
99
|
+
FLOW_EFFECT_PARTIAL: "evaluated",
|
|
100
|
+
// The scope boundary's own vocabulary. Its answer is `decisions.sources` plus
|
|
101
|
+
// `decisions.plan`, and every one of these means the CLI read them and found
|
|
102
|
+
// them wanting — a decision that did not resolve the gap.
|
|
103
|
+
FLOW_SCOPE_INVALID: "evaluated",
|
|
104
|
+
FLOW_SCOPE_UNKNOWN_SOURCE: "evaluated",
|
|
105
|
+
FLOW_SCOPE_NOT_IN_PLAN: "evaluated",
|
|
106
|
+
FLOW_SCOPE_PLAN_UNREADABLE: "evaluated",
|
|
107
|
+
// The authoring boundary's: the bytes arrived and what they would do is not
|
|
108
|
+
// what the row declares, or their destination could not be read.
|
|
109
|
+
FLOW_PROPOSAL_BEYOND_CONTRACT: "evaluated",
|
|
110
|
+
FLOW_PROPOSAL_DESTINATION_UNOBSERVED: "evaluated",
|
|
111
|
+
FLOW_PROPOSAL_BASE_UNREADABLE: "evaluated",
|
|
112
|
+
FLOW_BOUNDARY_PAUSED: "control",
|
|
113
|
+
FLOW_BOUNDARY_DECLINED: "control",
|
|
114
|
+
FLOW_ANSWER_RESENT: "control",
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* Whether this refusal spends one of the boundary's three attempts.
|
|
118
|
+
*
|
|
119
|
+
* A code the table does not classify spends, deliberately: the cap is the only
|
|
120
|
+
* thing standing between a run and an infinite loop, and a silent exemption would
|
|
121
|
+
* remove it for whatever was added last. The table is a closed set precisely so
|
|
122
|
+
* this default is never reached — a guard walks the sources and refuses a code
|
|
123
|
+
* nobody placed on one side or the other.
|
|
124
|
+
*/
|
|
125
|
+
export function spendsAttempt(code) {
|
|
126
|
+
const classified = FLOW_ANSWER_REJECTIONS[code];
|
|
127
|
+
return classified === undefined || classified === "evaluated";
|
|
128
|
+
}
|
|
24
129
|
export function parseFlowAnswer(input) {
|
|
25
130
|
const payload = readPayload(input.raw);
|
|
26
131
|
if (!payload.ok)
|