@tacuchi/agent-workflow-cli 21.15.0 → 21.17.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.
@@ -1,9 +1,16 @@
1
1
  import { localDateIso } from "./dates.js";
2
2
  import { runNextNumber } from "./dev-only-services.js";
3
+ import { resolveDocsCanon } from "./docs-canon-service.js";
3
4
  import { withCwdLock } from "./lock-service.js";
4
5
  import { runReleaseData } from "./release-data-service.js";
5
- import { approvalDigest, buildSemanticRequest, parseSemanticResponse, } from "./semantic-operation/protocol.js";
6
+ import { approvalDigest, buildSemanticRequest, parseSemanticResponse, readEnvelopeScope, } from "./semantic-operation/protocol.js";
6
7
  import { publishArtifacts } from "./semantic-operation/publish.js";
8
+ export const EXPORT_CATEGORIES = [
9
+ "diagrams",
10
+ "manuals",
11
+ "reports",
12
+ "scripts",
13
+ ];
7
14
  const POLICIES = {
8
15
  diagrams: {
9
16
  dir: "docs/diagrams",
@@ -18,8 +25,8 @@ const POLICIES = {
18
25
  required: ["README.md"],
19
26
  extensions: [".md"],
20
27
  // The only file an export may replace, and only with an explicit approval.
21
- overwritable: "docs/manuals/INDEX.md",
22
- contract: "Un dossier con README.md obligatorio y los manuales en Markdown. Podés incluir docs/manuals/INDEX.md para actualizar el índice: es el ÚNICO archivo sobrescribible y exige aprobación explícita.",
28
+ overwritable: "INDEX.md",
29
+ contract: "Un dossier con README.md obligatorio y los manuales en Markdown. Podés incluir el INDEX.md de la categoría para actualizar el índice: es el ÚNICO archivo sobrescribible y exige aprobación explícita.",
23
30
  },
24
31
  reports: {
25
32
  dir: "docs/reports",
@@ -33,14 +40,34 @@ const POLICIES = {
33
40
  shape: "dossier",
34
41
  required: ["00-ROLLBACK.sql", "README.md"],
35
42
  extensions: [".sql", ".md"],
36
- contract: "Un dossier con 00-ROLLBACK.sql y README.md obligatorios, más los forwards NN-<nombre>.sql numerados de forma continua desde 01. El CLI NUNCA ejecuta SQL.",
43
+ // The net-final-state doctrine travels HERE, in the contract the composer
44
+ // must obey, and not in the `skills/w` bundle: the bundle's context budget
45
+ // is a frozen gate with 121 B of headroom and this is ~700 B, so shipping it
46
+ // there would mean cutting live doctrine to pay for it. The contract reaches
47
+ // the same reader at the exact moment the bundle is being written, and its
48
+ // bytes are request bytes, which no frozen gate prices.
49
+ contract: "Un dossier con 00-ROLLBACK.sql y README.md obligatorios, más los forwards NN-<nombre>.sql numerados de forma continua desde 01. El CLI NUNCA ejecuta SQL. El bundle publica el ESTADO FINAL NETO de la secuencia, no una réplica por sesión: lo que nace y muere dentro de la secuencia se omite; lo migrado va directo a su forma final; lo que el contexto declara retirado se omite aunque ningún script lo elimine. 00-ROLLBACK.sql invierte ese ESTADO FINAL en orden seguro para las dependencias, no el reverso literal de los forwards. Reconciliá contra el código además de las sesiones y la base. Excluí identidades concretas y semillas de prueba; conservá funciones reutilizables, tablas maestras y el registro de menú/rol.",
37
50
  },
38
51
  };
39
52
  const LIMITS = { max_artifacts: 64, max_artifact_bytes: 512 * 1024 };
40
53
  const FORWARD_RE = /^(\d{2})-[^/]+\.sql$/;
41
54
  // ── prepare ──────────────────────────────────────────────────────────────────
42
- export async function prepareExport(fs, env, paths, category, selection = {}) {
43
- const policy = POLICIES[category];
55
+ export async function prepareExport(fs, env, paths, category, selection = {},
56
+ // Injected so the midnight boundary is testable: a preparation that outlives
57
+ // the day used to rename its own destination on the next stage.
58
+ now = () => new Date()) {
59
+ const canon = await resolveDocsCanon(fs, paths, EXPORT_CATEGORIES);
60
+ if (!canon.ok) {
61
+ return {
62
+ ok: false,
63
+ failure: {
64
+ code: "EXPORT_DESTINATION_INVALID",
65
+ message: canon.error,
66
+ action: "corregí la tabla [docs] de skills.toml, o quitala para usar el destino por defecto",
67
+ },
68
+ };
69
+ }
70
+ const policy = resolvePolicy(category, canon.canon[category]);
44
71
  const corpus = await readCorpus(fs, env, paths, selection);
45
72
  if ("error" in corpus) {
46
73
  return {
@@ -62,33 +89,72 @@ export async function prepareExport(fs, env, paths, category, selection = {}) {
62
89
  },
63
90
  };
64
91
  }
65
- const next = (await runNextNumber(fs, env, paths, { directory: policy.dir, dryRun: true })).next;
66
- const date = selection.date ?? localDateIso(new Date());
92
+ // Pinned when the answer echoed them, derived only on a first preparation:
93
+ // re-deriving either at `validate` renames the very unit the answer wrote to,
94
+ // and neither is workspace state that a stale check should be defending.
95
+ const next = selection.next ??
96
+ (await runNextNumber(fs, env, paths, { directory: policy.dir, dryRun: true })).next;
97
+ const date = selection.date ?? localDateIso(now());
98
+ // Rejected HERE and not only when the envelope comes back: `prepare` used to
99
+ // accept any string, mint `…-export-manuals-lunes` and let the composer be
100
+ // blamed at `validate` for a scope it had copied verbatim, exactly as asked.
101
+ // The invocation that supplied it is the one that can fix it.
102
+ if (!DATE_RE.test(date)) {
103
+ return {
104
+ ok: false,
105
+ failure: {
106
+ code: "EXPORT_SCOPE_INVALID",
107
+ message: `--date '${date}' no tiene la forma YYYY-MM-DD`,
108
+ action: "repetí la invocación con una fecha YYYY-MM-DD, o sin --date para usar la de hoy",
109
+ },
110
+ };
111
+ }
67
112
  const unit = policy.shape === "dossier" ? `${policy.dir}/${next}-export-${category}-${date}` : policy.dir;
113
+ const scope = {
114
+ ...(selection.sessions !== undefined ? { sessions: selection.sessions } : {}),
115
+ ...(selection.since !== undefined ? { since: selection.since } : {}),
116
+ ...(selection.source !== undefined ? { source: selection.source } : {}),
117
+ date,
118
+ next,
119
+ };
68
120
  const inventory = {
69
121
  category,
70
122
  destination: unit,
71
123
  shape: policy.shape,
72
124
  required: policy.required,
73
125
  extensions: policy.extensions,
74
- overwritable: policy.overwritable ?? null,
126
+ overwritable: policy.overwritable,
75
127
  sessions: corpus.sessions,
76
128
  date,
77
129
  };
78
130
  const readSet = corpus.sessions.map((s) => s.path ?? s.folder);
79
131
  const request = buildSemanticRequest({
80
132
  operation: `export-${category}`,
81
- // The corpus seals the request: a session appearing or closing between
82
- // prepare and apply changes what the dossier should have contained.
83
- inputs: { corpus: corpus.sessions, next, date },
84
- contract: `${policy.contract} Respondé artifacts con paths dentro de ${unit}${policy.overwritable ? ` (o exactamente ${policy.overwritable})` : ""}. El NNN es consultivo: el CLI reasigna el número dentro del lock.`,
133
+ // What the seal defends is workspace state: the corpus the scope covers (a
134
+ // session appearing or closing changes what the dossier should have
135
+ // contained) and the folder this workspace publishes to. The scope rides
136
+ // along so an altered echo cannot pass as the original one.
137
+ inputs: { corpus: corpus.sessions, dir: policy.dir, scope },
138
+ sealed: "el corpus de sesiones del alcance o el destino declarado de la categoría",
139
+ scope,
140
+ contract: `${policy.contract} Respondé artifacts con paths dentro de ${unit}${policy.overwritable === null ? "" : ` (o exactamente ${policy.overwritable})`}. El NNN es consultivo: el CLI reasigna el número dentro del lock. Copiá 'scope' TAL CUAL en tu respuesta: validate y apply lo leen en vez de re-derivarlo.`,
85
141
  inventory,
86
- allowedDestinations: [unit, ...(policy.overwritable ? [policy.overwritable] : [])],
142
+ allowedDestinations: [unit, ...(policy.overwritable === null ? [] : [policy.overwritable])],
87
143
  limits: LIMITS,
88
144
  readSet,
89
145
  readSetBytes: readSet.length,
90
146
  });
91
- return { ok: true, value: { category, request, next, unit } };
147
+ return { ok: true, value: { category, request, dir: policy.dir, scope, next, unit } };
148
+ }
149
+ /** The category's policy with the folder this workspace actually publishes to. */
150
+ function resolvePolicy(category, dir) {
151
+ const { overwritable, ...base } = POLICIES[category];
152
+ const resolved = dir ?? base.dir;
153
+ return {
154
+ ...base,
155
+ dir: resolved,
156
+ overwritable: overwritable === undefined ? null : `${resolved}/${overwritable}`,
157
+ };
92
158
  }
93
159
  async function readCorpus(fs, env, paths, selection) {
94
160
  const input = {
@@ -105,16 +171,107 @@ async function readCorpus(fs, env, paths, selection) {
105
171
  return { error: data.error };
106
172
  return { sessions: data.sessions };
107
173
  }
174
+ // ── the scope, travelling between stages ─────────────────────────────────────
175
+ const DATE_RE = /^\d{4}-\d{2}-\d{2}$/;
176
+ const NEXT_RE = /^\d{3,}$/;
177
+ /**
178
+ * The scope an answer echoes back, so `validate` and `apply` rebuild the
179
+ * preparation the answer was written against.
180
+ *
181
+ * Three outcomes and no fourth: a scope that is there and well formed, no scope
182
+ * at all (an answer written before this field existed — the invocation's own
183
+ * flags still decide, exactly as they did), and a scope that is there but
184
+ * malformed, which is a rejection. Reading a broken echo as "no echo" would
185
+ * quietly export a different corpus than the one that was approved.
186
+ */
187
+ export function readExportScope(raw) {
188
+ const echoed = readEnvelopeScope(raw);
189
+ if (echoed === undefined || echoed === null)
190
+ return { ok: true, value: null };
191
+ if (typeof echoed !== "object" || Array.isArray(echoed))
192
+ return malformedScope("no es un objeto");
193
+ const scope = echoed;
194
+ const why = scopeShapeError(scope);
195
+ if (why !== null)
196
+ return malformedScope(why);
197
+ return {
198
+ ok: true,
199
+ value: {
200
+ ...(scope.sessions !== undefined ? { sessions: scope.sessions } : {}),
201
+ ...(scope.since !== undefined ? { since: scope.since } : {}),
202
+ ...(scope.source !== undefined ? { source: scope.source } : {}),
203
+ date: scope.date,
204
+ next: scope.next,
205
+ },
206
+ };
207
+ }
208
+ /** Why this echo is not the scope `prepare` emitted, or `null` when it is. */
209
+ function scopeShapeError(scope) {
210
+ if (typeof scope.date !== "string" || !DATE_RE.test(scope.date)) {
211
+ return "'date' tiene que ser YYYY-MM-DD";
212
+ }
213
+ if (typeof scope.next !== "string" || !NEXT_RE.test(scope.next)) {
214
+ return "'next' tiene que ser el correlativo de 3 dígitos";
215
+ }
216
+ if (scope.sessions !== undefined && !isStringArray(scope.sessions)) {
217
+ return "'sessions' tiene que ser una lista de códigos de texto";
218
+ }
219
+ for (const key of ["since", "source"]) {
220
+ if (scope[key] !== undefined && typeof scope[key] !== "string") {
221
+ return `'${key}' tiene que ser texto`;
222
+ }
223
+ }
224
+ return null;
225
+ }
226
+ function isStringArray(value) {
227
+ return Array.isArray(value) && value.every((item) => typeof item === "string");
228
+ }
229
+ function malformedScope(why) {
230
+ return {
231
+ ok: false,
232
+ failure: {
233
+ code: "SEMANTIC_RESPONSE_INVALID",
234
+ message: `el 'scope' del sobre no tiene la forma que prepare emitió: ${why}`,
235
+ action: "copiá el 'scope' del request TAL CUAL, sin reescribirlo",
236
+ },
237
+ };
238
+ }
239
+ /**
240
+ * Scope flags the invocation repeated that CONTRADICT the echoed scope.
241
+ *
242
+ * Repeating them is still supported and still works — that is what every
243
+ * existing invocation does. Repeating them with a different value is not the
244
+ * same thing: one of the two answers is not the one the proposal was written
245
+ * against, and picking either in silence hides which.
246
+ */
247
+ export function conflictingScopeFlags(echoed, flags) {
248
+ const same = (a, b) => (a ?? []).join(",") === (b ?? []).join(",");
249
+ const conflicts = [];
250
+ if (flags.sessions !== undefined && !same(flags.sessions, echoed.sessions)) {
251
+ conflicts.push("--sessions");
252
+ }
253
+ for (const [flag, key] of [
254
+ ["--since", "since"],
255
+ ["--source", "source"],
256
+ ["--date", "date"],
257
+ ]) {
258
+ if (flags[key] !== undefined && flags[key] !== echoed[key])
259
+ conflicts.push(flag);
260
+ }
261
+ return conflicts;
262
+ }
108
263
  // ── validate ─────────────────────────────────────────────────────────────────
109
264
  export function validateExport(raw, prepared) {
110
265
  const parsed = parseSemanticResponse(raw, prepared.request);
111
266
  if (!parsed.ok)
112
267
  return parsed;
113
- const policy = POLICIES[prepared.category];
268
+ // From what was prepared, never from the policy table: the folder is the
269
+ // workspace's, and re-reading it here would let the two stages disagree.
270
+ const policy = resolvePolicy(prepared.category, prepared.dir);
114
271
  const artifacts = parsed.value.artifacts ?? [];
115
272
  const inUnit = artifacts.filter((a) => a.path !== policy.overwritable);
116
273
  const overwrites = artifacts.some((a) => a.path === policy.overwritable)
117
- ? (policy.overwritable ?? null)
274
+ ? policy.overwritable
118
275
  : null;
119
276
  const shape = checkShape(inUnit, policy, prepared.unit);
120
277
  if (shape !== null)
@@ -199,7 +356,7 @@ export async function applyExport(fs, env, paths, input) {
199
356
  const parsed = parseSemanticResponse(input.raw, input.prepared.request);
200
357
  if (!parsed.ok)
201
358
  return parsed;
202
- const policy = POLICIES[input.prepared.category];
359
+ const policy = resolvePolicy(input.prepared.category, input.prepared.dir);
203
360
  const result = await withCwdLock(fs, paths, async () => {
204
361
  const minted = (await runNextNumber(fs, env, paths, { directory: policy.dir })).next;
205
362
  const artifacts = (parsed.value.artifacts ?? []).map((artifact) => renumber(artifact, input.prepared, minted, policy));
@@ -234,7 +391,14 @@ function renumber(artifact, prepared, minted, policy) {
234
391
  const name = artifact.path.slice(policy.dir.length + 1).replace(/^\d{3}-/, "");
235
392
  return { path: `${policy.dir}/${minted}-${name}`, content: artifact.content };
236
393
  }
237
- const unit = prepared.unit.replace(/\/\d{3}-/, `/${minted}-`);
394
+ // The number to move is the UNIT's own, which is its LAST segment — never the
395
+ // first `/NNN-` of the path. Since the category's folder became configurable,
396
+ // a canon that is itself numbered (`docs/003-manuales`) would eat the
397
+ // replacement: the export would be approved into `docs/003-manuales/…` and
398
+ // written into `docs/001-manuales/…`, a folder outside `allowed_destinations`
399
+ // that nothing downstream re-checks.
400
+ const unitName = prepared.unit.slice(policy.dir.length + 1).replace(/^\d{3}-/, `${minted}-`);
401
+ const unit = `${policy.dir}/${unitName}`;
238
402
  return {
239
403
  path: `${unit}/${artifact.path.slice(prepared.unit.length + 1)}`,
240
404
  content: artifact.content,
@@ -1 +1 @@
1
- {"version":3,"file":"export-service.js","sourceRoot":"","sources":["../../src/application/export-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export-service.js","sourceRoot":"","sources":["../../src/application/export-service.ts"],"names":[],"mappings":"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"}
@@ -53,6 +53,11 @@ export function buildSemanticRequest(input) {
53
53
  version: SEMANTIC_PROTOCOL_VERSION,
54
54
  operation: input.operation,
55
55
  input_digest: semanticDigest(input.inputs),
56
+ // Spread-on-defined, not `scope: input.scope`: an operation without a scope
57
+ // must produce the same bytes it produced before the field existed, or its
58
+ // `request_bytes` (a budgeted figure) moves for a field it never uses.
59
+ ...(input.scope !== undefined ? { scope: input.scope } : {}),
60
+ ...(input.sealed !== undefined ? { sealed: input.sealed } : {}),
56
61
  contract: input.contract,
57
62
  inventory: input.inventory,
58
63
  allowed_destinations: input.allowedDestinations,
@@ -105,6 +110,25 @@ export function parseSemanticResponse(raw, request) {
105
110
  },
106
111
  };
107
112
  }
113
+ /**
114
+ * The `scope` an answer echoes, read BEFORE the request it will be checked
115
+ * against exists — a stage needs it to rebuild that very request.
116
+ *
117
+ * `undefined` covers both "the answer carries no scope" (a pre-scope answer,
118
+ * which falls back to the invocation's own flags) and "the answer is not
119
+ * readable JSON": diagnosing the second is `parseSemanticResponse`'s job and it
120
+ * runs a moment later, so failing here would only move the same error earlier
121
+ * and word it worse.
122
+ */
123
+ export function readEnvelopeScope(raw) {
124
+ try {
125
+ const parsed = JSON.parse(raw);
126
+ return isRecord(parsed) ? parsed.scope : undefined;
127
+ }
128
+ catch {
129
+ return undefined;
130
+ }
131
+ }
108
132
  function parseJson(raw) {
109
133
  if (raw.trim().length === 0) {
110
134
  return {
@@ -134,23 +158,45 @@ function checkHeader(envelope, request) {
134
158
  if (!isRecord(envelope)) {
135
159
  return invalid("la respuesta no es un objeto JSON");
136
160
  }
161
+ // Absence is checked BEFORE value, header by header. Folding the two together
162
+ // makes the error name the missing value (`estado desconocido: undefined`)
163
+ // instead of the missing FIELD, and an executor who never saw the envelope
164
+ // cannot tell `state` from `status` by reading that.
165
+ if (envelope.version === undefined) {
166
+ return missing("version", `el número ${SEMANTIC_PROTOCOL_VERSION}`);
167
+ }
137
168
  if (envelope.version !== SEMANTIC_PROTOCOL_VERSION) {
138
169
  return invalid(`versión de protocolo no soportada: ${String(envelope.version)}`);
139
170
  }
171
+ if (envelope.operation === undefined) {
172
+ return missing("operation", `'${request.operation}', copiado del request`);
173
+ }
140
174
  if (envelope.operation !== request.operation) {
141
175
  return invalid(`la respuesta dice operación '${String(envelope.operation)}' y esta es '${request.operation}'`);
142
176
  }
177
+ if (envelope.input_digest === undefined) {
178
+ return missing("input_digest", `'${request.input_digest}', copiado del request`);
179
+ }
143
180
  // The staleness seal: the world moved between prepare and this answer, so the
144
181
  // inventory, the numbering and the duplicate check it reasoned over are gone.
145
- // The expected digest travels in the message: re-running prepare is the fix,
146
- // and nobody should have to reimplement `canonicalJson` to name it.
182
+ // The message names WHAT the seal covers — the digests alone say two hashes
183
+ // differ, which is true of every cause and diagnostic of none.
147
184
  if (envelope.input_digest !== request.input_digest) {
148
185
  return {
149
186
  code: "SEMANTIC_STALE",
150
- message: `la respuesta responde a un estado anterior del workspace (este request espera 'input_digest' ${request.input_digest})`,
151
- action: `volvé a correr prepare y respondé sobre el request nuevo, con 'input_digest': '${request.input_digest}'`,
187
+ message: `${request.sealed ?? "el estado que el request selló"} cambió entre preparar y responder: la respuesta trae 'input_digest' ${String(envelope.input_digest)} y este request selló ${request.input_digest}`,
188
+ // Conditioned like the message above: this module is shared by persist,
189
+ // fix-git, the flow and the design capability, and none of them carries a
190
+ // `scope`. Promising an envelope that will bring the scope back would send
191
+ // those callers looking for something that does not exist there.
192
+ action: request.scope === undefined
193
+ ? `volvé a correr prepare y respondé sobre el request nuevo, con 'input_digest': '${request.input_digest}'`
194
+ : "volvé a correr prepare —el alcance con el que se preparó viaja en el sobre, así que no hace falta repetir los flags— y respondé sobre el request nuevo",
152
195
  };
153
196
  }
197
+ if (envelope.state === undefined) {
198
+ return missing("state", "proposed | ambiguous | unsupported");
199
+ }
154
200
  const state = envelope.state;
155
201
  if (state !== "proposed" && state !== "ambiguous" && state !== "unsupported") {
156
202
  return invalid(`estado desconocido: ${String(state)}`);
@@ -257,6 +303,10 @@ function invalid(message) {
257
303
  action: "corregí la respuesta según el 'contract' del request y reenviala",
258
304
  };
259
305
  }
306
+ /** A header that is absent names itself, with the value the request expects there. */
307
+ function missing(field, expected) {
308
+ return invalid(`falta el campo obligatorio '${field}' del sobre: esperaba ${expected}`);
309
+ }
260
310
  function isRecord(value) {
261
311
  return typeof value === "object" && value !== null && !Array.isArray(value);
262
312
  }
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/application/semantic-operation/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/application/semantic-operation/protocol.ts"],"names":[],"mappings":"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"}
@@ -20,11 +20,46 @@ import { fail, failSemantic } from "../render.js";
20
20
  * without touching this file.
21
21
  */
22
22
  const VERBS = ["prepare", "continue", "validate", "apply"];
23
+ /**
24
+ * The stage-to-stage protocol, published where an executor can READ it instead
25
+ * of spending attempts discovering it.
26
+ *
27
+ * Everything here is enforced elsewhere and stated nowhere: the digest seal in
28
+ * `semantic-operation/protocol.ts`, the approval check in `local-proposal.ts`,
29
+ * the stdin channel in `parseCarried` right below. Until this existed the only
30
+ * way to learn that `--approval` takes the PROPOSAL's digest and not the
31
+ * request's was to send the wrong one and read the mismatch — and a burnt
32
+ * attempt is how every executor paid the same tuition. Same reason
33
+ * `aw flow --help` carries its envelope, and the same trade-off: kept beside
34
+ * the command rather than in the doctrine bundle, whose context budget is
35
+ * frozen and whose readers load it on every run. This is reference material,
36
+ * read once by whoever is composing a call.
37
+ */
38
+ const PROTOCOL = [
39
+ "Protocolo de `aw capability` — los cuatro verbos son ETAPAS de un mismo intento, no una conversación con memoria:",
40
+ "",
41
+ " siempre Repetí --capability, --operation y TODOS los --input de la etapa anterior, en cada etapa. El request se reconstruye entero cada vez y su `input_digest` sella exactamente esos inputs: uno que falte o cambie devuelve SEMANTIC_STALE en vez de continuar.",
42
+ "",
43
+ " canal Lo que no es flag entra por STDIN, como un único objeto JSON. No hay ningún flag de archivo: ni --answer, ni --plan, ni --request.",
44
+ "",
45
+ " prepare No lee stdin. Devuelve `needs_input` y en `gaps` el contrato, los destinos permitidos y el `input_digest` que hay que copiar.",
46
+ "",
47
+ ' validate stdin: {"request": <el request que devolvió prepare>, "answer": {...}}.',
48
+ " `answer` es el sobre semántico y va con 'version': 1 · 'operation' CALIFICADA — 'design.create', no 'create' · 'input_digest' copiado del request · 'state': 'proposed' · 'artifacts': [{path, content}] con rutas dentro de los destinos permitidos.",
49
+ " Devuelve `plan` cuando la operación propone efectos durables; sin plan no hay nada que aplicar.",
50
+ "",
51
+ ' apply stdin: {"request": <el MISMO request>, "plan": <el plan de validate>, "pin": <el pin del intento>}.',
52
+ " --approval <digest> es el de `plan.proposal.digest`. NO es `request_digest` ni `input_digest`: mandar cualquiera de esos devuelve PROPOSAL_APPROVAL_MISMATCH.",
53
+ " `pin` es opcional y revalida la selección: si la mejora que resolvió el primer intento cambió, el intento se bloquea en vez de contestar la segunda mitad de otra pregunta.",
54
+ " Escribe todo o nada, y vuelve a leer cada base antes del primer byte.",
55
+ "",
56
+ ' continue stdin: {"parent": <el request del intento que se contesta>}. Es la etapa de una operación que preguntó, no un reintento de prepare.',
57
+ ].join("\n");
23
58
  export const capabilityCommand = {
24
59
  name: "capability",
25
- describe: "Invoca una capacidad conformante por su contrato: prepare | continue | validate | apply. " +
26
- "La operación viaja en --operation y cada intento devuelve envelope, output y receipt. " +
27
- "Usage: aw capability prepare --capability design --operation validate --input package=DES-001.",
60
+ describe: `Invoca una capacidad conformante por su contrato: prepare | continue | validate | apply. La operación viaja en --operation y cada intento devuelve envelope, output y receipt. Usage: aw capability prepare --capability design --operation validate --input package=DES-001.
61
+
62
+ ${PROTOCOL}`,
28
63
  async execute(args, ctx) {
29
64
  const requestedHost = args.values.get("host");
30
65
  if (requestedHost !== undefined && !isHarnessId(requestedHost)) {
@@ -1 +1 @@
1
- {"version":3,"file":"capability.js","sourceRoot":"","sources":["../../../src/cli/commands/capability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capability.js","sourceRoot":"","sources":["../../../src/cli/commands/capability.ts"],"names":[],"mappings":"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"}