@tacuchi/agent-workflow-cli 25.0.1 → 25.1.1
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/display-path.js +12 -0
- package/dist/application/display-path.js.map +1 -0
- package/dist/application/flow/advance.js +53 -8
- package/dist/application/flow/advance.js.map +1 -1
- package/dist/application/flow/internal-actions.js +39 -3
- package/dist/application/flow/internal-actions.js.map +1 -1
- package/dist/application/flow/run-projection.js +10 -3
- package/dist/application/flow/run-projection.js.map +1 -1
- package/dist/application/flow/submit.js +220 -4
- package/dist/application/flow/submit.js.map +1 -1
- package/dist/application/mcp-entry-classification.js +11 -3
- package/dist/application/mcp-entry-classification.js.map +1 -1
- package/dist/application/parsers/plan-status.js +12 -1
- package/dist/application/parsers/plan-status.js.map +1 -1
- package/dist/application/plan-exec-batch-service.js +20 -3
- package/dist/application/plan-exec-batch-service.js.map +1 -1
- package/dist/application/resume-service.js +3 -1
- package/dist/application/resume-service.js.map +1 -1
- package/dist/application/self/mcp-config.js +94 -15
- package/dist/application/self/mcp-config.js.map +1 -1
- package/dist/application/workline-index-service.js +11 -2
- package/dist/application/workline-index-service.js.map +1 -1
- package/dist/cli/commands/flow.js +2 -2
- package/dist/cli/commands/flow.js.map +1 -1
- package/dist/cli/commands/status.js +16 -0
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/tui/tabs/mcp-tab.js +20 -5
- package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
- package/dist/domain/flow/answer.js +7 -0
- package/dist/domain/flow/answer.js.map +1 -1
- package/dist/domain/flow/authority.js +94 -0
- package/dist/domain/flow/authority.js.map +1 -1
- package/dist/domain/flow/directive.js +95 -24
- package/dist/domain/flow/directive.js.map +1 -1
- package/dist/domain/flow/route.js +38 -0
- package/dist/domain/flow/route.js.map +1 -0
- package/dist/domain/flow/run-state.js +120 -4
- package/dist/domain/flow/run-state.js.map +1 -1
- package/package.json +1 -1
- package/skills/w/SKILL.md +1 -1
- package/skills/w/commands/spec-new.md +4 -0
- package/skills/w/context/MANIFEST.json +22 -1
- package/skills/w/harness/HARNESS.md +2 -0
- package/skills/w/loops/plan-new-loop/LOOP.md +4 -3
- package/skills/w/loops/plan-refine-loop/LOOP.md +1 -1
- package/skills/w/loops/quick-loop/LOOP.md +1 -1
- package/skills/w/loops/spec-refine-loop/LOOP.md +2 -0
- package/skills/w/modules/ADAPTIVE-ROUTE.md +3 -0
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* `renderHuman` and a recalculated boundary would be invisible to the person.
|
|
26
26
|
*/
|
|
27
27
|
import { trancheOfFlow, } from "./authority.js";
|
|
28
|
-
export const FLOW_DIRECTIVE_VERSION =
|
|
28
|
+
export const FLOW_DIRECTIVE_VERSION = 2;
|
|
29
29
|
/**
|
|
30
30
|
* The reasons a deterministic advance stops. They are the spec's own list, and
|
|
31
31
|
* collapsing any two would erase the difference between "I need a judgment", "I
|
|
@@ -114,6 +114,7 @@ export const FLOW_DIRECTIVE_KEYS = [
|
|
|
114
114
|
"proposal",
|
|
115
115
|
"decision_preview",
|
|
116
116
|
"fix_preview",
|
|
117
|
+
"route",
|
|
117
118
|
"effects",
|
|
118
119
|
"authorizations",
|
|
119
120
|
"degradations",
|
|
@@ -135,6 +136,7 @@ export const FLOW_DIRECTIVE_REUSED_KEYS = {
|
|
|
135
136
|
version: "el versionado del protocolo semántico, con el mismo nombre",
|
|
136
137
|
authorizations: "las clases de efecto autorizadas del request de capacidad, con el mismo nombre y tipo",
|
|
137
138
|
};
|
|
139
|
+
// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: the single constructor is the closed directive contract.
|
|
138
140
|
export function buildFlowDirective(input) {
|
|
139
141
|
const directive = {
|
|
140
142
|
version: FLOW_DIRECTIVE_VERSION,
|
|
@@ -152,6 +154,11 @@ export function buildFlowDirective(input) {
|
|
|
152
154
|
proposal: input.proposal ?? null,
|
|
153
155
|
decision_preview: input.decisionPreview ?? null,
|
|
154
156
|
fix_preview: input.fixPreview ?? null,
|
|
157
|
+
route: {
|
|
158
|
+
proposal: input.route?.proposal ?? null,
|
|
159
|
+
decisions: [...(input.route?.decisions ?? [])],
|
|
160
|
+
assurance: input.route?.assurance ?? "verified",
|
|
161
|
+
},
|
|
155
162
|
effects: {
|
|
156
163
|
planned: [...(input.effects?.planned ?? [])],
|
|
157
164
|
approved: [...(input.effects?.approved ?? [])],
|
|
@@ -377,48 +384,98 @@ const DIRECTIVE_CHECKS = [
|
|
|
377
384
|
* `renderReceiptHuman` follows, so the prose cannot contradict the structured
|
|
378
385
|
* form: there is no second source for it to disagree with.
|
|
379
386
|
*/
|
|
380
|
-
export function renderDirectiveHuman(directive) {
|
|
387
|
+
export function renderDirectiveHuman(directive, detail = false) {
|
|
381
388
|
return [
|
|
382
|
-
|
|
383
|
-
...boundaryLines(directive),
|
|
384
|
-
...askLines(directive),
|
|
389
|
+
directiveHeading(directive),
|
|
390
|
+
...boundaryLines(directive, detail),
|
|
391
|
+
...askLines(directive, detail),
|
|
385
392
|
...effectLines(directive),
|
|
386
393
|
`continuidad: ${directive.state_digest}`,
|
|
387
394
|
`siguiente: ${directive.next_action}`,
|
|
388
395
|
].join("\n");
|
|
389
396
|
}
|
|
390
|
-
|
|
397
|
+
const BOUNDARY_HEADINGS = {
|
|
398
|
+
semantic: "preparando el siguiente paso",
|
|
399
|
+
human: "necesita tu decisión",
|
|
400
|
+
authorization: "necesita autorización",
|
|
401
|
+
execution: "listo para ejecutar",
|
|
402
|
+
blocked: "requiere resolver un bloqueo",
|
|
403
|
+
final: "trabajo completado",
|
|
404
|
+
};
|
|
405
|
+
function directiveHeading(directive) {
|
|
406
|
+
return `${directive.flow} — ${BOUNDARY_HEADINGS[directive.boundary.kind]}`;
|
|
407
|
+
}
|
|
408
|
+
function boundaryLines(directive, detail) {
|
|
391
409
|
const lines = [];
|
|
392
410
|
if (directive.boundary.transition !== null) {
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
.map((step) => {
|
|
400
|
-
const base = `${step.transition} (${step.authority} · ${step.ownership}`;
|
|
401
|
-
// The omission carries its cause in the same breath: a step that reads
|
|
402
|
-
// "omitida" and nothing else sends the reader to the registry to find out
|
|
403
|
-
// why the run did not stop where the doctrine says it stops.
|
|
404
|
-
return step.outcome === "skipped"
|
|
405
|
-
? `${base} · OMITIDA: ${step.reason ?? "sin motivo declarado"})`
|
|
406
|
-
: `${base})`;
|
|
407
|
-
})
|
|
408
|
-
.join(", ");
|
|
409
|
-
lines.push(`pasos de esta invocación: ${trace}`);
|
|
411
|
+
if (directive.boundary.title !== null)
|
|
412
|
+
lines.push(`paso actual: ${directive.boundary.title}`);
|
|
413
|
+
if (detail) {
|
|
414
|
+
const owner = directive.boundary.ownership === null ? "" : ` · ${directive.boundary.ownership}`;
|
|
415
|
+
lines.push(`detalle interno: ${directive.boundary.transition}${owner}`);
|
|
416
|
+
}
|
|
410
417
|
}
|
|
418
|
+
lines.push(...appliedLines(directive, detail));
|
|
411
419
|
if (directive.pending.length > 0)
|
|
412
420
|
lines.push(`pendientes: ${directive.pending.length}`);
|
|
413
421
|
return lines;
|
|
414
422
|
}
|
|
423
|
+
function appliedLines(directive, detail) {
|
|
424
|
+
if (directive.applied.length === 0)
|
|
425
|
+
return [];
|
|
426
|
+
if (!detail) {
|
|
427
|
+
const omitted = directive.applied.filter((step) => step.outcome === "skipped").length;
|
|
428
|
+
return [
|
|
429
|
+
`avance de esta invocación: ${directive.applied.length} paso(s) resuelto(s)${omitted === 0 ? "" : `, ${omitted} omitido(s) con motivo registrado`}`,
|
|
430
|
+
];
|
|
431
|
+
}
|
|
432
|
+
const trace = directive.applied
|
|
433
|
+
.map((step) => {
|
|
434
|
+
const base = `${step.transition} (${step.authority} · ${step.ownership}`;
|
|
435
|
+
// The omission carries its cause in the same breath: a step that reads
|
|
436
|
+
// "omitida" and nothing else sends the reader to the registry to find out
|
|
437
|
+
// why the run did not stop where the doctrine says it stops.
|
|
438
|
+
return step.outcome === "skipped"
|
|
439
|
+
? `${base} · OMITIDA: ${step.reason ?? "sin motivo declarado"})`
|
|
440
|
+
: `${base})`;
|
|
441
|
+
})
|
|
442
|
+
.join(", ");
|
|
443
|
+
return [`pasos de esta invocación: ${trace}`];
|
|
444
|
+
}
|
|
415
445
|
// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: one renderer keeps every visible boundary field in one ordered projection.
|
|
416
|
-
function askLines(directive) {
|
|
446
|
+
function askLines(directive, detail) {
|
|
417
447
|
const lines = [];
|
|
418
448
|
if (directive.request !== null) {
|
|
419
449
|
lines.push(`contrato de respuesta: ${directive.request.contract}`);
|
|
420
450
|
lines.push(`read_set visible: ${directive.request.read_set.join(", ") || "ninguno"}`);
|
|
421
451
|
}
|
|
452
|
+
if (directive.route.proposal !== null) {
|
|
453
|
+
const proposal = directive.route.proposal;
|
|
454
|
+
lines.push("propuesta de solución:");
|
|
455
|
+
if (proposal.summary !== undefined) {
|
|
456
|
+
lines.push(`hallazgo: ${proposal.summary.finding}`);
|
|
457
|
+
lines.push(`diagnóstico: ${proposal.summary.diagnosis}`);
|
|
458
|
+
lines.push(`solución: ${proposal.summary.solution}`);
|
|
459
|
+
}
|
|
460
|
+
else {
|
|
461
|
+
// A v11 proposal already in flight predates the explicit summary. Keep it
|
|
462
|
+
// readable without pretending its technical basis was a diagnosis.
|
|
463
|
+
lines.push(`objetivo: ${proposal.basis.intention}`);
|
|
464
|
+
lines.push(`contexto verificado: ${proposal.basis.checkout}`);
|
|
465
|
+
lines.push(`convenciones relevantes: ${proposal.basis.conventions}`);
|
|
466
|
+
lines.push(`decisiones previas: ${proposal.basis.adopted_decisions}`);
|
|
467
|
+
}
|
|
468
|
+
for (const control of proposal.controls) {
|
|
469
|
+
const substitute = control.substitution === null
|
|
470
|
+
? ""
|
|
471
|
+
: ` Sustitución: ${control.substitution.validation}. Riesgo aceptado: ${control.substitution.risk}.`;
|
|
472
|
+
const id = detail ? ` [${control.transition}]` : "";
|
|
473
|
+
const recommendation = control.disposition === control.recommendation
|
|
474
|
+
? ""
|
|
475
|
+
: ` Recomendación base: ${routeDispositionLabel(control.recommendation)}.`;
|
|
476
|
+
lines.push(`· ${routeDispositionLabel(control.disposition)}: ${control.title}${id}. Motivo: ${control.reason}. Resultado: ${control.consequence}. Riesgo: ${control.risk}.${recommendation}${substitute}`);
|
|
477
|
+
}
|
|
478
|
+
}
|
|
422
479
|
if (directive.action !== null) {
|
|
423
480
|
const call = directive.action.invocation;
|
|
424
481
|
lines.push(`ejecutar: ${[call.program, ...call.args].join(" ")}`);
|
|
@@ -454,8 +511,17 @@ function askLines(directive) {
|
|
|
454
511
|
}
|
|
455
512
|
return lines;
|
|
456
513
|
}
|
|
514
|
+
const ROUTE_DISPOSITION_LABELS = {
|
|
515
|
+
apply: "Realizar",
|
|
516
|
+
omit: "Omitir",
|
|
517
|
+
substitute: "Sustituir",
|
|
518
|
+
};
|
|
519
|
+
function routeDispositionLabel(disposition) {
|
|
520
|
+
return ROUTE_DISPOSITION_LABELS[disposition];
|
|
521
|
+
}
|
|
457
522
|
function effectLines(directive) {
|
|
458
523
|
const lines = [];
|
|
524
|
+
lines.push(`estado de evidencia: ${ASSURANCE_LABELS[directive.route.assurance]}`);
|
|
459
525
|
if (directive.authorizations.length > 0) {
|
|
460
526
|
lines.push(`efectos permitidos: ${directive.authorizations.join(", ")}`);
|
|
461
527
|
}
|
|
@@ -470,4 +536,9 @@ function effectLines(directive) {
|
|
|
470
536
|
}
|
|
471
537
|
return lines;
|
|
472
538
|
}
|
|
539
|
+
const ASSURANCE_LABELS = {
|
|
540
|
+
verified: "verificada",
|
|
541
|
+
partially_verified: "verificación parcial",
|
|
542
|
+
unverified_accepted: "no verificada, aceptada explícitamente",
|
|
543
|
+
};
|
|
473
544
|
//# sourceMappingURL=directive.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directive.js","sourceRoot":"","sources":["../../../src/domain/flow/directive.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"directive.js","sourceRoot":"","sources":["../../../src/domain/flow/directive.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The accepted methodological route of one flow run.
|
|
3
|
+
*
|
|
4
|
+
* A route never weakens an unconfigured transition: only rows that explicitly
|
|
5
|
+
* opt into `route_control` may be applied differently. That makes the default
|
|
6
|
+
* the legacy, hard-gate behaviour instead of an accidental opt-out.
|
|
7
|
+
*/
|
|
8
|
+
export const ROUTE_DISPOSITIONS = ["apply", "omit", "substitute"];
|
|
9
|
+
export const ROUTE_ACCEPT_LABEL = "Aceptar propuesta";
|
|
10
|
+
export const ROUTE_ADJUST_LABEL = "Pedir ajustes";
|
|
11
|
+
export const ASSURANCE_STATUSES = [
|
|
12
|
+
"verified",
|
|
13
|
+
"partially_verified",
|
|
14
|
+
"unverified_accepted",
|
|
15
|
+
];
|
|
16
|
+
/**
|
|
17
|
+
* A substitution is not proof by declaration. It stays partial until its own
|
|
18
|
+
* configured transition has completed with the normal execution verdict.
|
|
19
|
+
*/
|
|
20
|
+
export function assuranceForRoute(decisions, completed = []) {
|
|
21
|
+
if (decisions.some((decision) => decision.disposition === "omit")) {
|
|
22
|
+
return "unverified_accepted";
|
|
23
|
+
}
|
|
24
|
+
if (decisions.some((decision) => decision.disposition === "substitute" && !completed.includes(decision.transition))) {
|
|
25
|
+
return "partially_verified";
|
|
26
|
+
}
|
|
27
|
+
return "verified";
|
|
28
|
+
}
|
|
29
|
+
export function dispositionOf(decisions, transition) {
|
|
30
|
+
return decisions?.find((decision) => decision.transition === transition) ?? null;
|
|
31
|
+
}
|
|
32
|
+
export function isRouteDisposition(value) {
|
|
33
|
+
return typeof value === "string" && ROUTE_DISPOSITIONS.includes(value);
|
|
34
|
+
}
|
|
35
|
+
export function isAssuranceStatus(value) {
|
|
36
|
+
return typeof value === "string" && ASSURANCE_STATUSES.includes(value);
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../src/domain/flow/route.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAU,CAAC;AAI3E,MAAM,CAAC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AACtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAElD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,UAAU;IACV,oBAAoB;IACpB,qBAAqB;CACb,CAAC;AA2DX;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAmC,EACnC,YAA+B,EAAE;IAEjC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,KAAK,MAAM,CAAC,EAAE,CAAC;QAClE,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IACD,IACE,SAAS,CAAC,IAAI,CACZ,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,WAAW,KAAK,YAAY,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CACpF,EACD,CAAC;QACD,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,SAAsD,EACtD,UAAkB;IAElB,OAAO,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,kBAAwC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,kBAAwC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChG,CAAC"}
|
|
@@ -26,6 +26,7 @@ import { canonicalJson, semanticDigest } from "../../application/semantic-operat
|
|
|
26
26
|
import { isEffectClass, touchesTheWorld } from "../capability/effects.js";
|
|
27
27
|
import { AttemptLedger } from "../capability/protocol.js";
|
|
28
28
|
import { validateDecisionNote } from "../decision-note.js";
|
|
29
|
+
import { assuranceForRoute, isAssuranceStatus, isRouteDisposition, } from "./route.js";
|
|
29
30
|
/**
|
|
30
31
|
* The version this CLI WRITES. Every state it persists carries it.
|
|
31
32
|
*
|
|
@@ -37,7 +38,7 @@ import { validateDecisionNote } from "../decision-note.js";
|
|
|
37
38
|
* turning the cap off in silence while somebody alternates CLI versions over one
|
|
38
39
|
* run. Failing with a cause is the requirement; failing silently is the defect.
|
|
39
40
|
*/
|
|
40
|
-
export const FLOW_RUN_STATE_VERSION =
|
|
41
|
+
export const FLOW_RUN_STATE_VERSION = 11;
|
|
41
42
|
/**
|
|
42
43
|
* The versions this CLI READS, newest first.
|
|
43
44
|
*
|
|
@@ -47,7 +48,7 @@ export const FLOW_RUN_STATE_VERSION = 10;
|
|
|
47
48
|
* changing `version` would invent a batch boundary the old run never declared.
|
|
48
49
|
* An active legacy run must be adopted explicitly before any mutation.
|
|
49
50
|
*/
|
|
50
|
-
export const FLOW_RUN_STATE_READABLE = [FLOW_RUN_STATE_VERSION, 9, 8, 7];
|
|
51
|
+
export const FLOW_RUN_STATE_READABLE = [FLOW_RUN_STATE_VERSION, 10, 9, 8, 7];
|
|
51
52
|
/** The CLI-owned run state inside the session folder. Machine-local, dotted. */
|
|
52
53
|
export const FLOW_RUN_STATE_FILE = ".flow-run.json";
|
|
53
54
|
/**
|
|
@@ -278,6 +279,9 @@ export function newRunState(flow, session) {
|
|
|
278
279
|
handoff: null,
|
|
279
280
|
selected_choice: null,
|
|
280
281
|
decision_preparation: null,
|
|
282
|
+
route_proposal: null,
|
|
283
|
+
route_decisions: null,
|
|
284
|
+
assurance: "verified",
|
|
281
285
|
});
|
|
282
286
|
}
|
|
283
287
|
/**
|
|
@@ -289,9 +293,11 @@ export function newRunState(flow, session) {
|
|
|
289
293
|
* was never produced.
|
|
290
294
|
*/
|
|
291
295
|
export function applyTransition(state, decisionId, effects = []) {
|
|
296
|
+
const applied = [...state.applied, decisionId];
|
|
292
297
|
return sealRunState({
|
|
293
298
|
...withoutSeal(state),
|
|
294
|
-
applied
|
|
299
|
+
applied,
|
|
300
|
+
assurance: assuranceForRoute(state.route_decisions ?? [], applied),
|
|
295
301
|
// planned before applied, always: an effect that shows up as applied without
|
|
296
302
|
// ever having been planned is the lie `buildReceipt` refuses, and the
|
|
297
303
|
// directive refuses it too.
|
|
@@ -398,6 +404,26 @@ export function atCurrentVersion(state) {
|
|
|
398
404
|
handoff: null,
|
|
399
405
|
selected_choice: null,
|
|
400
406
|
decision_preparation: null,
|
|
407
|
+
route_proposal: null,
|
|
408
|
+
route_decisions: null,
|
|
409
|
+
assurance: "verified",
|
|
410
|
+
});
|
|
411
|
+
}
|
|
412
|
+
/** Keep the sealed preview the person is choosing over; no cursor moves here. */
|
|
413
|
+
export function withRouteProposal(state, proposal) {
|
|
414
|
+
return sealRunState({
|
|
415
|
+
...withoutSeal(state),
|
|
416
|
+
route_proposal: proposal,
|
|
417
|
+
route_decisions: null,
|
|
418
|
+
assurance: "verified",
|
|
419
|
+
});
|
|
420
|
+
}
|
|
421
|
+
/** Persist the accepted route and derive its assurance without claiming missing proof passed. */
|
|
422
|
+
export function withRouteDecisions(state, decisions) {
|
|
423
|
+
return sealRunState({
|
|
424
|
+
...withoutSeal(state),
|
|
425
|
+
route_decisions: [...decisions],
|
|
426
|
+
assurance: assuranceForRoute(decisions, state.applied),
|
|
401
427
|
});
|
|
402
428
|
}
|
|
403
429
|
/** Whether a parsed state needs the explicit adoption boundary before mutation. */
|
|
@@ -922,11 +948,16 @@ function checkRecordShape(parsed, invalid) {
|
|
|
922
948
|
const common = checkCommonRecordShape(parsed, invalid);
|
|
923
949
|
if (common !== null)
|
|
924
950
|
return common;
|
|
925
|
-
if (parsed.version === FLOW_RUN_STATE_VERSION) {
|
|
951
|
+
if (parsed.version === FLOW_RUN_STATE_VERSION || parsed.version === 10) {
|
|
926
952
|
const v10 = checkV10RecordShape(parsed, invalid);
|
|
927
953
|
if (v10 !== null)
|
|
928
954
|
return v10;
|
|
929
955
|
}
|
|
956
|
+
if (parsed.version === FLOW_RUN_STATE_VERSION) {
|
|
957
|
+
const v11 = checkV11RecordShape(parsed, invalid);
|
|
958
|
+
if (v11 !== null)
|
|
959
|
+
return v11;
|
|
960
|
+
}
|
|
930
961
|
if (typeof parsed.digest !== "string")
|
|
931
962
|
return invalid("no trae su sello");
|
|
932
963
|
return null;
|
|
@@ -991,12 +1022,97 @@ function checkV10RecordShape(parsed, invalid) {
|
|
|
991
1022
|
}
|
|
992
1023
|
return null;
|
|
993
1024
|
}
|
|
1025
|
+
/** Fields introduced by v11; v10 remains readable until a person adopts it. */
|
|
1026
|
+
function checkV11RecordShape(parsed, invalid) {
|
|
1027
|
+
if (!isRouteProposal(parsed.route_proposal)) {
|
|
1028
|
+
return invalid("declara una propuesta de solución con resumen, contexto o controles inválidos");
|
|
1029
|
+
}
|
|
1030
|
+
if (!isRouteDecisionArray(parsed.route_decisions)) {
|
|
1031
|
+
return invalid("declara decisiones de la propuesta sin una disposición o sustitución válida");
|
|
1032
|
+
}
|
|
1033
|
+
if (!isAssuranceStatus(parsed.assurance)) {
|
|
1034
|
+
return invalid("declara un assurance que no representa su evidencia");
|
|
1035
|
+
}
|
|
1036
|
+
const decisions = parsed.route_decisions;
|
|
1037
|
+
if (decisions !== null && parsed.assurance !== assuranceForRoute(decisions)) {
|
|
1038
|
+
return invalid("declara un assurance que no corresponde a su ruta aceptada");
|
|
1039
|
+
}
|
|
1040
|
+
return null;
|
|
1041
|
+
}
|
|
994
1042
|
function refuse(code, message, action) {
|
|
995
1043
|
return { ok: false, failure: { code, message, action } };
|
|
996
1044
|
}
|
|
997
1045
|
function isRecord(value) {
|
|
998
1046
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
999
1047
|
}
|
|
1048
|
+
function isNonEmptyString(value) {
|
|
1049
|
+
return typeof value === "string" && value.trim().length > 0;
|
|
1050
|
+
}
|
|
1051
|
+
function isRouteSubstitution(value) {
|
|
1052
|
+
return isRecord(value) && isNonEmptyString(value.validation) && isNonEmptyString(value.risk);
|
|
1053
|
+
}
|
|
1054
|
+
function isRouteProposal(value) {
|
|
1055
|
+
if (value === null)
|
|
1056
|
+
return true;
|
|
1057
|
+
if (!isRecord(value) || !isRecord(value.basis) || !Array.isArray(value.controls))
|
|
1058
|
+
return false;
|
|
1059
|
+
if (value.summary !== undefined &&
|
|
1060
|
+
(!isRecord(value.summary) ||
|
|
1061
|
+
!isNonEmptyString(value.summary.finding) ||
|
|
1062
|
+
!isNonEmptyString(value.summary.diagnosis) ||
|
|
1063
|
+
!isNonEmptyString(value.summary.solution))) {
|
|
1064
|
+
return false;
|
|
1065
|
+
}
|
|
1066
|
+
if (!isNonEmptyString(value.basis.intention) ||
|
|
1067
|
+
!isNonEmptyString(value.basis.checkout) ||
|
|
1068
|
+
!isNonEmptyString(value.basis.conventions) ||
|
|
1069
|
+
!isNonEmptyString(value.basis.adopted_decisions)) {
|
|
1070
|
+
return false;
|
|
1071
|
+
}
|
|
1072
|
+
const transitions = new Set();
|
|
1073
|
+
return value.controls.every((control) => {
|
|
1074
|
+
if (!isRecord(control) ||
|
|
1075
|
+
!isNonEmptyString(control.transition) ||
|
|
1076
|
+
transitions.has(control.transition)) {
|
|
1077
|
+
return false;
|
|
1078
|
+
}
|
|
1079
|
+
transitions.add(control.transition);
|
|
1080
|
+
if (!isNonEmptyString(control.title) ||
|
|
1081
|
+
!isRouteDisposition(control.disposition) ||
|
|
1082
|
+
!isRouteDisposition(control.recommendation) ||
|
|
1083
|
+
!isRecord(control.alternatives) ||
|
|
1084
|
+
!isNonEmptyString(control.alternatives.apply) ||
|
|
1085
|
+
!isNonEmptyString(control.alternatives.omit) ||
|
|
1086
|
+
!isNonEmptyString(control.alternatives.substitute) ||
|
|
1087
|
+
!isNonEmptyString(control.consequence) ||
|
|
1088
|
+
!isNonEmptyString(control.risk) ||
|
|
1089
|
+
!isNonEmptyString(control.reason)) {
|
|
1090
|
+
return false;
|
|
1091
|
+
}
|
|
1092
|
+
if (control.disposition === "substitute")
|
|
1093
|
+
return isRouteSubstitution(control.substitution);
|
|
1094
|
+
return control.substitution === null;
|
|
1095
|
+
});
|
|
1096
|
+
}
|
|
1097
|
+
function isRouteDecisionArray(value) {
|
|
1098
|
+
if (value === null)
|
|
1099
|
+
return true;
|
|
1100
|
+
if (!Array.isArray(value))
|
|
1101
|
+
return false;
|
|
1102
|
+
const transitions = new Set();
|
|
1103
|
+
return value.every((decision) => {
|
|
1104
|
+
if (!isRecord(decision) ||
|
|
1105
|
+
!isNonEmptyString(decision.transition) ||
|
|
1106
|
+
transitions.has(decision.transition) ||
|
|
1107
|
+
!isRouteDisposition(decision.disposition)) {
|
|
1108
|
+
return false;
|
|
1109
|
+
}
|
|
1110
|
+
transitions.add(decision.transition);
|
|
1111
|
+
if (decision.disposition === "substitute")
|
|
1112
|
+
return isRouteSubstitution(decision.substitution);
|
|
1113
|
+
return decision.substitution === null;
|
|
1114
|
+
});
|
|
1115
|
+
}
|
|
1000
1116
|
function isStringArray(value) {
|
|
1001
1117
|
return Array.isArray(value) && value.every((entry) => typeof entry === "string");
|
|
1002
1118
|
}
|