@tacuchi/agent-workflow-cli 21.6.0 → 21.7.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.
Files changed (97) hide show
  1. package/dist/application/artifacts-service.js +10 -0
  2. package/dist/application/artifacts-service.js.map +1 -1
  3. package/dist/application/capability/design-handler.js +224 -12
  4. package/dist/application/capability/design-handler.js.map +1 -1
  5. package/dist/application/capability/dispatcher.js +20 -6
  6. package/dist/application/capability/dispatcher.js.map +1 -1
  7. package/dist/application/capability/durable-effect.js +23 -157
  8. package/dist/application/capability/durable-effect.js.map +1 -1
  9. package/dist/application/checkpoint-service.js +49 -3
  10. package/dist/application/checkpoint-service.js.map +1 -1
  11. package/dist/application/checkpoint-write-service.js +5 -0
  12. package/dist/application/checkpoint-write-service.js.map +1 -1
  13. package/dist/application/design/design-gate-service.js +18 -0
  14. package/dist/application/design/design-gate-service.js.map +1 -1
  15. package/dist/application/design/design-index-service.js +2 -0
  16. package/dist/application/design/design-index-service.js.map +1 -1
  17. package/dist/application/design/design-resolver-service.js +18 -1
  18. package/dist/application/design/design-resolver-service.js.map +1 -1
  19. package/dist/application/design/design-simple-service.js +217 -0
  20. package/dist/application/design/design-simple-service.js.map +1 -0
  21. package/dist/application/flow/advance.js +96 -11
  22. package/dist/application/flow/advance.js.map +1 -1
  23. package/dist/application/flow/flow-service.js +12 -1
  24. package/dist/application/flow/flow-service.js.map +1 -1
  25. package/dist/application/flow/internal-actions.js +221 -0
  26. package/dist/application/flow/internal-actions.js.map +1 -0
  27. package/dist/application/flow/internal-drive.js +293 -0
  28. package/dist/application/flow/internal-drive.js.map +1 -0
  29. package/dist/application/flow/submit.js +242 -84
  30. package/dist/application/flow/submit.js.map +1 -1
  31. package/dist/application/local-proposal.js +171 -0
  32. package/dist/application/local-proposal.js.map +1 -0
  33. package/dist/application/parsers/decisiones.js +13 -0
  34. package/dist/application/parsers/decisiones.js.map +1 -1
  35. package/dist/application/paths-service.js +11 -1
  36. package/dist/application/paths-service.js.map +1 -1
  37. package/dist/application/resume-service.js +22 -26
  38. package/dist/application/resume-service.js.map +1 -1
  39. package/dist/application/semantic-operation/protocol.js +10 -2
  40. package/dist/application/semantic-operation/protocol.js.map +1 -1
  41. package/dist/application/session-artifacts.js +53 -0
  42. package/dist/application/session-artifacts.js.map +1 -1
  43. package/dist/application/session-close-service.js +5 -0
  44. package/dist/application/session-close-service.js.map +1 -1
  45. package/dist/application/session-narrative.js +294 -0
  46. package/dist/application/session-narrative.js.map +1 -0
  47. package/dist/application/status-service.js +1 -0
  48. package/dist/application/status-service.js.map +1 -1
  49. package/dist/application/workline-index-service.js +2 -0
  50. package/dist/application/workline-index-service.js.map +1 -1
  51. package/dist/cli/commands/capability.js +1 -1
  52. package/dist/cli/commands/capability.js.map +1 -1
  53. package/dist/cli/commands/designs.js +4 -1
  54. package/dist/cli/commands/designs.js.map +1 -1
  55. package/dist/cli/commands/flow.js +14 -0
  56. package/dist/cli/commands/flow.js.map +1 -1
  57. package/dist/cli/commands/session-artifacts.js +55 -2
  58. package/dist/cli/commands/session-artifacts.js.map +1 -1
  59. package/dist/domain/design/capability.js +35 -4
  60. package/dist/domain/design/capability.js.map +1 -1
  61. package/dist/domain/design/direct.js.map +1 -1
  62. package/dist/domain/design/expansion.js +137 -0
  63. package/dist/domain/design/expansion.js.map +1 -0
  64. package/dist/domain/design/manifest.js +61 -8
  65. package/dist/domain/design/manifest.js.map +1 -1
  66. package/dist/domain/design/reference.js +57 -10
  67. package/dist/domain/design/reference.js.map +1 -1
  68. package/dist/domain/design/simple.js +164 -0
  69. package/dist/domain/design/simple.js.map +1 -0
  70. package/dist/domain/flow/answer.js +90 -12
  71. package/dist/domain/flow/answer.js.map +1 -1
  72. package/dist/domain/flow/authority.js +266 -60
  73. package/dist/domain/flow/authority.js.map +1 -1
  74. package/dist/domain/flow/authorization.js +36 -15
  75. package/dist/domain/flow/authorization.js.map +1 -1
  76. package/dist/domain/flow/directive.js +10 -6
  77. package/dist/domain/flow/directive.js.map +1 -1
  78. package/dist/domain/flow/execution-result.js +72 -0
  79. package/dist/domain/flow/execution-result.js.map +1 -0
  80. package/dist/domain/flow/run-state.js +165 -13
  81. package/dist/domain/flow/run-state.js.map +1 -1
  82. package/dist/domain/host-verification.js +8 -8
  83. package/dist/domain/host-verification.js.map +1 -1
  84. package/dist/domain/proposal.js +91 -0
  85. package/dist/domain/proposal.js.map +1 -0
  86. package/dist/domain/session/narrative.js +126 -0
  87. package/dist/domain/session/narrative.js.map +1 -0
  88. package/package.json +1 -1
  89. package/skills/w/SKILL.md +1 -1
  90. package/skills/w/loops/CHASSIS.md +1 -1
  91. package/skills/w/loops/plan-new-loop/LOOP.md +5 -6
  92. package/skills/w/loops/plan-refine-loop/LOOP.md +7 -7
  93. package/skills/w/loops/spec-refine-loop/LOOP.md +6 -4
  94. package/skills/w/modules/DESIGN-REFERENCES.md +50 -56
  95. package/skills/w/roles/design/CONTRACT.md +73 -6
  96. package/skills/w/roles/design/ROLE.md +21 -3
  97. package/skills/w/schemas/design/design-manifest.v1.schema.json +4 -0
@@ -144,26 +144,43 @@ export function parseTaskDesignReferences(text, artifact) {
144
144
  const failures = [];
145
145
  const seen = new Set();
146
146
  const pinned = new Set();
147
+ // The declared block is where a document says WHICH baselines it closed on.
148
+ // Scanning it for task references too would turn every declaration into a
149
+ // consumption — so a package-mode plan that declares `DES-001@r4` and pins
150
+ // `DES-001@r4 / SCR-002@r1` would suddenly also claim to consume the root.
151
+ const body = withoutDeclaredBlock(text);
147
152
  for (const match of text.matchAll(TASK_REFERENCE_SHAPE)) {
148
153
  const raw = match[0];
149
154
  if (seen.has(raw))
150
155
  continue;
151
156
  seen.add(raw);
152
- const left = match[1];
153
- const right = match[2];
154
- const baseline = parseBaselineRef(left);
155
- if (baseline === null) {
156
- const near = approximate(left, artifact, `referencia de tarea '${raw}'`);
157
- failures.push(near ?? malformed(raw, left, artifact));
157
+ const read = readTwoPart(match[1], match[2], raw, artifact);
158
+ if ("code" in read) {
159
+ failures.push(read);
158
160
  continue;
159
161
  }
160
- const artifactRef = parseArtifactRef(`${baseline.package}/${right}`);
161
- if (artifactRef === null) {
162
- failures.push(malformed(raw, right, artifact));
162
+ pinned.add(read.baseline.package);
163
+ references.push(read);
164
+ }
165
+ // The ROOT form: `DES-007@r1` with no artifact half. It is a complete reference
166
+ // for a design that has no catalog, and the gate is what answers whether the
167
+ // package it names really is one — the grammar cannot know.
168
+ for (const match of body.matchAll(ROOT_REFERENCE_SHAPE)) {
169
+ const raw = match[0];
170
+ if (seen.has(raw))
171
+ continue;
172
+ seen.add(raw);
173
+ const baseline = parseBaselineRef(raw);
174
+ // Shaped like a root pin and not one — `DES-0001@r1` is a second spelling of
175
+ // an identity, and every comparison downstream is by string. Reported for
176
+ // the same reason the two-part form is: a reference silently ignored is
177
+ // worse than one rejected.
178
+ if (baseline === null) {
179
+ failures.push(approximate(raw, artifact, "referencia de tarea") ?? malformed(raw, raw, artifact));
163
180
  continue;
164
181
  }
165
182
  pinned.add(baseline.package);
166
- references.push({ baseline, artifact: artifactRef, raw });
183
+ references.push({ baseline, artifact: null, raw });
167
184
  }
168
185
  // A package named without being pinned is the exact failure this contract
169
186
  // removes — unless the same text pins it, where the bare mention is just prose.
@@ -177,6 +194,36 @@ export function parseTaskDesignReferences(text, artifact) {
177
194
  }
178
195
  return { references, failures };
179
196
  }
197
+ /** `DES-001@r4 / SCR-002@r2#empty` — both halves, or the reason it is not one. */
198
+ function readTwoPart(left, right, raw, artifact) {
199
+ const baseline = parseBaselineRef(left);
200
+ if (baseline === null) {
201
+ return (approximate(left, artifact, `referencia de tarea '${raw}'`) ?? malformed(raw, left, artifact));
202
+ }
203
+ const artifactRef = parseArtifactRef(`${baseline.package}/${right}`);
204
+ if (artifactRef === null)
205
+ return malformed(raw, right, artifact);
206
+ return { baseline, artifact: artifactRef, raw };
207
+ }
208
+ /**
209
+ * `DES-007@r1` standing alone — no `/artifact` half after it.
210
+ *
211
+ * The lookahead is what keeps it from eating the left side of a two-part
212
+ * reference: `DES-001@r4 / SCR-002@r1` must be read by `TASK_REFERENCE_SHAPE` as
213
+ * one thing, not by this one as a root plus leftovers.
214
+ */
215
+ const ROOT_REFERENCE_SHAPE = /DES-[0-9]{3,}@r[1-9][0-9]{0,5}(?!\s*\/)(?![\w@-])/g;
216
+ /** The document minus its `## Design references` block, which declares and never consumes. */
217
+ function withoutDeclaredBlock(markdown) {
218
+ const lines = markdown.split(/\r?\n/);
219
+ const start = lines.findIndex((l) => l.trim() === SPEC_SECTION);
220
+ if (start === -1)
221
+ return markdown;
222
+ const rest = lines.slice(start + 1);
223
+ const end = rest.findIndex((l) => /^##\s/.test(l));
224
+ const after = end === -1 ? [] : rest.slice(end);
225
+ return [...lines.slice(0, start), ...after].join("\n");
226
+ }
180
227
  function malformed(raw, part, artifact) {
181
228
  return {
182
229
  code: "DESIGN_REFERENCE_APPROXIMATE",
@@ -1 +1 @@
1
- {"version":3,"file":"reference.js","sourceRoot":"","sources":["../../../src/domain/design/reference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reference.js","sourceRoot":"","sources":["../../../src/domain/design/reference.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * `DESIGN.md` — the whole of a simple design's human authorship.
3
+ *
4
+ * One document, three sections that always earn their place, three more that
5
+ * appear only when they say something. That is the entire contract, and its
6
+ * shortness is the point: everything else a package carries — identity, revision,
7
+ * digest, manifest, index entry, references — is DERIVED by the CLI from these
8
+ * bytes, so nobody authoring a design has to administer any of it.
9
+ *
10
+ * The optional sections are optional in the strong sense: a heading with nothing
11
+ * under it is refused rather than tolerated. A template filled with "N/A" is how a
12
+ * document stops being read, and the fastest way to get there is to reward
13
+ * printing every heading whether or not it has content.
14
+ *
15
+ * Heading vocabulary is CLOSED for the same reason the reference grammar is: a
16
+ * seventh section invented per document is a format, and a format nobody declared
17
+ * is one no consumer can project.
18
+ */
19
+ /** The one authored file of a simple design, at the package root. */
20
+ export const SIMPLE_DESIGN_FILE = "DESIGN.md";
21
+ /** Where a superseded revision's exact bytes are kept once a newer one lands. */
22
+ export const SIMPLE_REVISIONS_DIR = "revisions";
23
+ /** Package-relative path of the archived copy of revision `n`. */
24
+ export function archivedDesignPath(revision) {
25
+ return `${SIMPLE_REVISIONS_DIR}/DESIGN-r${String(revision).padStart(3, "0")}.md`;
26
+ }
27
+ /** Always present, always with content: without these there is no design. */
28
+ export const SIMPLE_CORE_SECTIONS = ["Objetivo", "Diseño propuesto", "Validación"];
29
+ /** Present only when they add information — and then with real content. */
30
+ export const SIMPLE_OPTIONAL_SECTIONS = ["Recorrido", "Decisiones", "Abiertos"];
31
+ /** The closed heading vocabulary, in the order a reader walks them. */
32
+ export const SIMPLE_SECTIONS = [
33
+ SIMPLE_CORE_SECTIONS[0],
34
+ SIMPLE_CORE_SECTIONS[1],
35
+ SIMPLE_OPTIONAL_SECTIONS[0],
36
+ SIMPLE_OPTIONAL_SECTIONS[1],
37
+ SIMPLE_CORE_SECTIONS[2],
38
+ SIMPLE_OPTIONAL_SECTIONS[2],
39
+ ];
40
+ function fail(artifact, message, action) {
41
+ return { code: "DESIGN_FIELD_INVALID", artifact, message, action };
42
+ }
43
+ /**
44
+ * Read `DESIGN.md` and say whether it is one.
45
+ *
46
+ * Order is checked but only among the sections the document actually carries: a
47
+ * design with no `Recorrido` must not be told its `Validación` is misplaced.
48
+ */
49
+ export function validateSimpleDesign(markdown, artifact) {
50
+ const lines = markdown.split(/\r?\n/);
51
+ const titleLine = lines.find((l) => /^#\s+\S/.test(l));
52
+ const sections = splitSections(lines);
53
+ const failures = [
54
+ ...(titleLine === undefined
55
+ ? [
56
+ fail(artifact, "el documento no abre con un título '# '", "poné en la primera línea '# <nombre del diseño>': ese título es el que publica el manifest"),
57
+ ]
58
+ : []),
59
+ ...checkSections(sections, artifact),
60
+ ...checkOrder(sections, artifact),
61
+ ];
62
+ if (failures.length > 0 || titleLine === undefined) {
63
+ return { ok: false, value: null, failures };
64
+ }
65
+ return {
66
+ ok: true,
67
+ value: { title: titleLine.replace(/^#\s+/, "").trim(), sections },
68
+ failures: [],
69
+ };
70
+ }
71
+ /** `## Heading` lines and everything under each, in the order they were written. */
72
+ function splitSections(lines) {
73
+ const sections = [];
74
+ let current = null;
75
+ for (const line of lines) {
76
+ const heading = /^##\s+(.+?)\s*$/.exec(line);
77
+ if (heading === null) {
78
+ if (current !== null)
79
+ current.body += `${line}\n`;
80
+ continue;
81
+ }
82
+ current = { heading: heading[1], body: "" };
83
+ sections.push(current);
84
+ }
85
+ return sections;
86
+ }
87
+ /** Each written section against the vocabulary, plus the core ones that are missing. */
88
+ function checkSections(sections, artifact) {
89
+ const failures = [];
90
+ const seen = new Set();
91
+ for (const { heading, body } of sections) {
92
+ if (!SIMPLE_SECTIONS.includes(heading)) {
93
+ failures.push(fail(artifact, `'## ${heading}' no es una sección de un diseño simple`, `las secciones son: ${SIMPLE_SECTIONS.join(", ")} — si el material no entra en ellas, el diseño ya no es simple`));
94
+ continue;
95
+ }
96
+ if (seen.has(heading)) {
97
+ failures.push(fail(artifact, `'## ${heading}' aparece dos veces`, "una sección se escribe una sola vez: unificá su contenido"));
98
+ continue;
99
+ }
100
+ seen.add(heading);
101
+ if (body.trim().length === 0)
102
+ failures.push(emptySection(heading, artifact));
103
+ }
104
+ for (const required of SIMPLE_CORE_SECTIONS) {
105
+ if (seen.has(required))
106
+ continue;
107
+ failures.push(fail(artifact, `falta '## ${required}'`, `un diseño simple lleva siempre ${SIMPLE_CORE_SECTIONS.join(", ")}`));
108
+ }
109
+ return failures;
110
+ }
111
+ function isCore(heading) {
112
+ return SIMPLE_CORE_SECTIONS.includes(heading);
113
+ }
114
+ function emptySection(heading, artifact) {
115
+ return fail(artifact, `'## ${heading}' está vacía`, isCore(heading)
116
+ ? "escribí su contenido: es una de las tres secciones que un diseño simple siempre tiene"
117
+ : "una sección opcional se escribe solo si dice algo: quitala o llenala");
118
+ }
119
+ /** Order, judged only among the sections the document actually carries. */
120
+ function checkOrder(sections, artifact) {
121
+ const written = sections.map((s) => s.heading).filter((h) => SIMPLE_SECTIONS.includes(h));
122
+ const expected = SIMPLE_SECTIONS.filter((h) => written.includes(h));
123
+ if (written.join("|") === expected.join("|"))
124
+ return [];
125
+ return [
126
+ fail(artifact, `las secciones están fuera de orden: ${written.join(", ")}`, `ordenalas como ${expected.join(", ")}`),
127
+ ];
128
+ }
129
+ /**
130
+ * `Alta de miembros y su ficha` → `alta-de-miembros-y-su-ficha`.
131
+ *
132
+ * Accent folding rather than dropping: `validación` has to become `validacion`
133
+ * and not `validacin`, and the folder slug is the one thing about a package a
134
+ * human reads before opening it.
135
+ */
136
+ export function designSlug(title) {
137
+ const folded = title
138
+ .normalize("NFD")
139
+ // The Unicode property, not a code-point range: a range that starts at a
140
+ // combining mark reads as "a base character OR a mark" and stops meaning
141
+ // what it says. `\p{M}` is exactly "the marks NFD just separated out".
142
+ .replace(/\p{M}/gu, "")
143
+ .toLowerCase();
144
+ const slug = folded
145
+ .replace(/[^a-z0-9]+/g, "-")
146
+ .replace(/^-+|-+$/g, "")
147
+ .slice(0, 48)
148
+ .replace(/-+$/g, "");
149
+ return slug.length > 0 ? slug : "design";
150
+ }
151
+ /** `DES-007` — the next free identity, three digits until the line outgrows them. */
152
+ export function nextPackageId(existing) {
153
+ const highest = existing.reduce((max, id) => {
154
+ const match = id === null ? null : /^DES-(\d+)$/.exec(id);
155
+ return match === null ? max : Math.max(max, Number(match[1]));
156
+ }, 0);
157
+ return `DES-${String(highest + 1).padStart(3, "0")}`;
158
+ }
159
+ /** `docs/designs/007-design-alta-de-miembros` — the folder a new package gets. */
160
+ export function designFolder(root, packageId, slug) {
161
+ const serial = /^DES-(\d+)$/.exec(packageId)?.[1] ?? "000";
162
+ return `${root}/${serial}-design-${slug}`;
163
+ }
164
+ //# sourceMappingURL=simple.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple.js","sourceRoot":"","sources":["../../../src/domain/design/simple.ts"],"names":[],"mappings":"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"}
@@ -15,9 +15,11 @@
15
15
  * directive with `ok: true` — with `ok: false` the host never calls `renderHuman`
16
16
  * and the person would never see the boundary they have to answer over.
17
17
  */
18
+ import { parseSemanticArtifacts } from "../../application/semantic-operation/protocol.js";
18
19
  import { COMPLETENESS_VALUES } from "../capability/descriptor.js";
19
20
  import { isEffectClass } from "../capability/effects.js";
20
21
  import { CAPABILITY_OUTCOMES, } from "../capability/protocol.js";
22
+ import { proposalContractOf, } from "./authority.js";
21
23
  import { STOP_LABEL, isFlowControl } from "./directive.js";
22
24
  export function parseFlowAnswer(input) {
23
25
  const payload = readPayload(input.raw);
@@ -93,6 +95,7 @@ function checkSeal(body, input) {
93
95
  return null;
94
96
  }
95
97
  function semanticAnswer(body, input) {
98
+ const proposes = proposalContractOf(input.decision);
96
99
  const declared = new Set(input.decision.signals ?? []);
97
100
  const raw = body.signals;
98
101
  if (raw !== undefined && !isStringArray(raw)) {
@@ -103,18 +106,12 @@ function semanticAnswer(body, input) {
103
106
  if (decisions !== undefined && !isRecord(decisions)) {
104
107
  return { ok: false, failure: invalid("'decisions' tiene que ser un objeto") };
105
108
  }
106
- // Neither an observation nor a decision: nothing the CLI can act on, and
107
- // guessing which of the two was meant is exactly what it must not do.
108
- if (signals.length === 0 && (decisions === undefined || Object.keys(decisions).length === 0)) {
109
- return {
110
- ok: false,
111
- failure: {
112
- code: "FLOW_ANSWER_AMBIGUOUS",
113
- message: "la respuesta no declara ninguna señal ni ninguna decisión",
114
- action: "declarás las señales que observás en 'signals', o lo que el contrato pide en 'decisions'",
115
- },
116
- };
117
- }
109
+ const substance = checkSubstance(body, { signals, decisions, proposes: proposes !== null });
110
+ if (substance !== null)
111
+ return { ok: false, failure: substance };
112
+ const artifacts = proposes === null ? EMPTY : parseArtifacts(body.artifacts, input);
113
+ if (!Array.isArray(artifacts))
114
+ return { ok: false, failure: artifacts.failure };
118
115
  for (const signal of signals) {
119
116
  if (declared.has(signal))
120
117
  continue;
@@ -138,9 +135,87 @@ function semanticAnswer(body, input) {
138
135
  decisions: isRecord(decisions) ? decisions : {},
139
136
  choice: null,
140
137
  result: null,
138
+ artifacts,
141
139
  },
142
140
  };
143
141
  }
142
+ const EMPTY = [];
143
+ /**
144
+ * Whether the answer says anything the CLI can act on — and the right thing.
145
+ *
146
+ * Three refusals, and each names a different way an answer can be empty for the
147
+ * boundary it is answering. An authoring boundary asked for BYTES, so signals and
148
+ * decisions do not substitute for them: advancing without the proposal would walk
149
+ * the run into a confirmation with nothing to preview and an approval with
150
+ * nothing to grant over. And a boundary that proposes nothing accepts no
151
+ * artifacts at all — bytes with no declared destination, no effect class and
152
+ * nobody to approve them are precisely the write this contract forbids.
153
+ */
154
+ function checkSubstance(body, answered) {
155
+ const hasArtifacts = Array.isArray(body.artifacts) && body.artifacts.length > 0;
156
+ if (hasArtifacts && !answered.proposes) {
157
+ return {
158
+ code: "FLOW_ARTIFACTS_NOT_EXPECTED",
159
+ message: "esta frontera no propone ningún efecto local y no admite artefactos",
160
+ action: "contestá con lo que el contrato pide; los bytes se entregan donde el CLI los pide",
161
+ };
162
+ }
163
+ if (answered.proposes && !hasArtifacts) {
164
+ return {
165
+ code: "FLOW_ARTIFACTS_MISSING",
166
+ message: "esta frontera pide los bytes exactos y la respuesta no trae ninguno",
167
+ action: "devolvé en 'artifacts' cada archivo con su 'path' y su 'content'; sin propuesta no hay nada que previsualizar ni que aprobar",
168
+ };
169
+ }
170
+ const decisions = answered.decisions;
171
+ const empty = answered.signals.length === 0 &&
172
+ !hasArtifacts &&
173
+ (decisions === undefined || Object.keys(decisions).length === 0);
174
+ if (!empty)
175
+ return null;
176
+ return {
177
+ code: "FLOW_ANSWER_AMBIGUOUS",
178
+ message: "la respuesta no declara ninguna señal ni ninguna decisión",
179
+ action: "declarás las señales que observás en 'signals', o lo que el contrato pide en 'decisions'",
180
+ };
181
+ }
182
+ /**
183
+ * The proposed bytes, checked by the SAME rules the semantic protocol applies.
184
+ *
185
+ * Destination allowlist, duplicates and size limits all come from the request the
186
+ * boundary emitted, through `parseSemanticArtifacts` — reused rather than
187
+ * restated, because a second path check is how one entry point ends up enforcing
188
+ * the write boundary and the other not.
189
+ *
190
+ * What comes back is path and content and nothing else. Whether a destination
191
+ * already exists — and therefore whether writing it REPLACES something — is a
192
+ * fact about the workspace, so it is observed where the workspace is readable and
193
+ * never asserted by the sender: a preview that said "creates" because somebody
194
+ * typed so would be the one line of it a person most needs to trust.
195
+ */
196
+ function parseArtifacts(raw, input) {
197
+ const request = input.request ?? null;
198
+ if (request === null) {
199
+ return {
200
+ failure: {
201
+ code: "FLOW_ARTIFACTS_NOT_EXPECTED",
202
+ message: "la frontera propone efectos locales pero no emitió su contrato de destinos",
203
+ action: "volvé a correr 'aw flow advance' para recibir la frontera con su request vigente",
204
+ },
205
+ };
206
+ }
207
+ const parsed = parseSemanticArtifacts(raw, request);
208
+ if (!parsed.ok) {
209
+ return {
210
+ failure: {
211
+ code: parsed.failure.code,
212
+ message: parsed.failure.message,
213
+ action: parsed.failure.action,
214
+ },
215
+ };
216
+ }
217
+ return parsed.value;
218
+ }
144
219
  function choiceAnswer(body, input) {
145
220
  const choice = body.choice;
146
221
  if (typeof choice !== "string" || choice.trim().length === 0) {
@@ -171,6 +246,7 @@ function choiceAnswer(body, input) {
171
246
  decisions: {},
172
247
  choice,
173
248
  result: null,
249
+ artifacts: EMPTY,
174
250
  },
175
251
  };
176
252
  }
@@ -200,6 +276,7 @@ function approvalAnswer(body, input) {
200
276
  decisions: {},
201
277
  choice,
202
278
  result: null,
279
+ artifacts: EMPTY,
203
280
  },
204
281
  };
205
282
  // The FLOW CONTROL needs no approval, and demanding one would be absurd: it
@@ -305,6 +382,7 @@ function executionAnswer(body, input) {
305
382
  decisions: {},
306
383
  choice: null,
307
384
  result: { outcome: outcome, invocation, output, validations, effects },
385
+ artifacts: EMPTY,
308
386
  },
309
387
  };
310
388
  }
@@ -1 +1 @@
1
- {"version":3,"file":"answer.js","sourceRoot":"","sources":["../../../src/domain/flow/answer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"answer.js","sourceRoot":"","sources":["../../../src/domain/flow/answer.ts"],"names":[],"mappings":"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"}