@tacuchi/agent-workflow-cli 21.6.0 → 21.7.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/artifacts-service.js +10 -0
- package/dist/application/artifacts-service.js.map +1 -1
- package/dist/application/capability/design-handler.js +532 -22
- package/dist/application/capability/design-handler.js.map +1 -1
- package/dist/application/capability/dispatcher.js +20 -6
- package/dist/application/capability/dispatcher.js.map +1 -1
- package/dist/application/capability/durable-effect.js +23 -157
- package/dist/application/capability/durable-effect.js.map +1 -1
- package/dist/application/checkpoint-service.js +49 -3
- package/dist/application/checkpoint-service.js.map +1 -1
- package/dist/application/checkpoint-write-service.js +5 -0
- package/dist/application/checkpoint-write-service.js.map +1 -1
- package/dist/application/design/design-content-gate-service.js +134 -0
- package/dist/application/design/design-content-gate-service.js.map +1 -0
- package/dist/application/design/design-gate-service.js +18 -0
- package/dist/application/design/design-gate-service.js.map +1 -1
- package/dist/application/design/design-index-service.js +2 -0
- package/dist/application/design/design-index-service.js.map +1 -1
- package/dist/application/design/design-publish-service.js +91 -19
- package/dist/application/design/design-publish-service.js.map +1 -1
- package/dist/application/design/design-resolver-service.js +18 -1
- package/dist/application/design/design-resolver-service.js.map +1 -1
- package/dist/application/design/design-simple-service.js +217 -0
- package/dist/application/design/design-simple-service.js.map +1 -0
- package/dist/application/flow/advance.js +96 -11
- package/dist/application/flow/advance.js.map +1 -1
- package/dist/application/flow/flow-service.js +12 -1
- package/dist/application/flow/flow-service.js.map +1 -1
- package/dist/application/flow/internal-actions.js +221 -0
- package/dist/application/flow/internal-actions.js.map +1 -0
- package/dist/application/flow/internal-drive.js +293 -0
- package/dist/application/flow/internal-drive.js.map +1 -0
- package/dist/application/flow/submit.js +242 -84
- package/dist/application/flow/submit.js.map +1 -1
- package/dist/application/local-proposal.js +171 -0
- package/dist/application/local-proposal.js.map +1 -0
- package/dist/application/parsers/decisiones.js +13 -0
- package/dist/application/parsers/decisiones.js.map +1 -1
- package/dist/application/paths-service.js +11 -1
- package/dist/application/paths-service.js.map +1 -1
- package/dist/application/resume-service.js +22 -26
- package/dist/application/resume-service.js.map +1 -1
- package/dist/application/semantic-operation/protocol.js +14 -4
- package/dist/application/semantic-operation/protocol.js.map +1 -1
- package/dist/application/session-artifacts.js +53 -0
- package/dist/application/session-artifacts.js.map +1 -1
- package/dist/application/session-close-service.js +5 -0
- package/dist/application/session-close-service.js.map +1 -1
- package/dist/application/session-narrative.js +294 -0
- package/dist/application/session-narrative.js.map +1 -0
- package/dist/application/status-service.js +1 -0
- package/dist/application/status-service.js.map +1 -1
- package/dist/application/workline-index-service.js +2 -0
- package/dist/application/workline-index-service.js.map +1 -1
- package/dist/cli/commands/capability.js +1 -1
- package/dist/cli/commands/capability.js.map +1 -1
- package/dist/cli/commands/designs.js +29 -5
- package/dist/cli/commands/designs.js.map +1 -1
- package/dist/cli/commands/flow.js +14 -0
- package/dist/cli/commands/flow.js.map +1 -1
- package/dist/cli/commands/session-artifacts.js +55 -2
- package/dist/cli/commands/session-artifacts.js.map +1 -1
- package/dist/cli/parser.js +1 -0
- package/dist/cli/parser.js.map +1 -1
- package/dist/domain/design/capability.js +35 -4
- package/dist/domain/design/capability.js.map +1 -1
- package/dist/domain/design/direct.js.map +1 -1
- package/dist/domain/design/expansion.js +137 -0
- package/dist/domain/design/expansion.js.map +1 -0
- package/dist/domain/design/manifest.js +61 -8
- package/dist/domain/design/manifest.js.map +1 -1
- package/dist/domain/design/reference.js +57 -10
- package/dist/domain/design/reference.js.map +1 -1
- package/dist/domain/design/simple.js +164 -0
- package/dist/domain/design/simple.js.map +1 -0
- package/dist/domain/flow/answer.js +90 -12
- package/dist/domain/flow/answer.js.map +1 -1
- package/dist/domain/flow/authority.js +266 -60
- package/dist/domain/flow/authority.js.map +1 -1
- package/dist/domain/flow/authorization.js +36 -15
- package/dist/domain/flow/authorization.js.map +1 -1
- package/dist/domain/flow/directive.js +10 -6
- package/dist/domain/flow/directive.js.map +1 -1
- package/dist/domain/flow/execution-result.js +72 -0
- package/dist/domain/flow/execution-result.js.map +1 -0
- package/dist/domain/flow/run-state.js +165 -13
- package/dist/domain/flow/run-state.js.map +1 -1
- package/dist/domain/host-verification.js +8 -8
- package/dist/domain/host-verification.js.map +1 -1
- package/dist/domain/proposal.js +91 -0
- package/dist/domain/proposal.js.map +1 -0
- package/dist/domain/session/narrative.js +126 -0
- package/dist/domain/session/narrative.js.map +1 -0
- package/package.json +1 -1
- package/skills/w/SKILL.md +1 -1
- package/skills/w/loops/CHASSIS.md +1 -1
- package/skills/w/loops/plan-new-loop/LOOP.md +5 -6
- package/skills/w/loops/plan-refine-loop/LOOP.md +7 -7
- package/skills/w/loops/spec-refine-loop/LOOP.md +6 -4
- package/skills/w/modules/DESIGN-REFERENCES.md +50 -56
- package/skills/w/roles/design/CONTRACT.md +73 -6
- package/skills/w/roles/design/ROLE.md +21 -3
- package/skills/w/schemas/design/design-manifest.v1.schema.json +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow.js","sourceRoot":"","sources":["../../../src/cli/commands/flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAA0B,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAC7F,OAAO,EAAyB,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAErF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGpE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAGzE;;;;;;;;;;;;;GAaG;AAEH,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAU,CAAC;AAE7C,MAAM,CAAC,MAAM,WAAW,GAA8B;IACpD,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,8GAA8G,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,6KAA6K;IAEtT,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,aAAa,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CACT,cAAc,EACd,uBAAuB,aAAa,0CAA0C,CAC/C,CAAC;QACpC,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,IAAI,KAAK,SAAS,IAAI,CAAE,KAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,OAAO,IAAI,CACT,cAAc,EACd,gBAAgB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,mEAAmE,CACrE,CAAC;QACpC,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS,IAAI,CAAE,cAAoC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAChF,OAAO,IAAI,CACT,cAAc,EACd,uBAAuB,IAAI,qBAAqB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5C,CAAC;QACpC,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG;YACd,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;QAEF,6EAA6E;QAC7E,0EAA0E;QAC1E,uDAAuD;QACvD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC7C,OAAO,OAAO,CACZ,MAAM,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE;gBAClC,GAAG,OAAO;gBACV,GAAG,EAAE,MAAM,iBAAiB,EAAE;gBAC9B,QAAQ,EAAE,QAAQ,IAAI,IAAI;
|
|
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,EAA0B,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAyB,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAErF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGpE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAGzE;;;;;;;;;;;;;GAaG;AAEH,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAU,CAAC;AAE7C,MAAM,CAAC,MAAM,WAAW,GAA8B;IACpD,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,8GAA8G,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,6KAA6K;IAEtT,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,aAAa,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CACT,cAAc,EACd,uBAAuB,aAAa,0CAA0C,CAC/C,CAAC;QACpC,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,IAAI,KAAK,SAAS,IAAI,CAAE,KAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,OAAO,IAAI,CACT,cAAc,EACd,gBAAgB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,mEAAmE,CACrE,CAAC;QACpC,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS,IAAI,CAAE,cAAoC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAChF,OAAO,IAAI,CACT,cAAc,EACd,uBAAuB,IAAI,qBAAqB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5C,CAAC;QACpC,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG;YACd,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;QAEF,6EAA6E;QAC7E,0EAA0E;QAC1E,uDAAuD;QACvD,8EAA8E;QAC9E,8EAA8E;QAC9E,+EAA+E;QAC/E,yBAAyB;QACzB,MAAM,QAAQ,GAAG,sBAAsB,CAAC;YACtC,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC,CAAC;QAEH,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC7C,OAAO,OAAO,CACZ,MAAM,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE;gBAClC,GAAG,OAAO;gBACV,GAAG,EAAE,MAAM,iBAAiB,EAAE;gBAC9B,QAAQ,EAAE,QAAQ,IAAI,IAAI;gBAC1B,QAAQ;aACT,CAAC,CACH,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CACZ,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE;YACnC,GAAG,OAAO;YACV,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;YAChC,QAAQ;SACT,CAAC,CACH,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,MAAoC;QAC9C,+EAA+E;QAC/E,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACzC,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IAClD,CAAC;CACF,CAAC;AAEF,SAAS,OAAO,CAAC,MAA4C;IAC3D,IAAI,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACxE,IAAI,SAAS,IAAI,MAAM;QACrB,OAAO,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAiC,CAAC;IAC/E,OAAO,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { runArtifactsCommand } from "../../application/artifacts-service.js";
|
|
1
|
+
import { runArtifactsCommand, } from "../../application/artifacts-service.js";
|
|
2
2
|
import { readSessionArtifacts } from "../../application/release-data/artifacts.js";
|
|
3
3
|
import { readContextId } from "../context-id.js";
|
|
4
4
|
import { fail, failSessionResolution } from "../render.js";
|
|
@@ -14,7 +14,7 @@ const DUMP_KINDS = new Set([
|
|
|
14
14
|
export const sessionArtifactsCommand = {
|
|
15
15
|
name: "session-artifacts",
|
|
16
16
|
describe: "Consolidated view of a session's artifacts. Default: counts + presence flags. " +
|
|
17
|
-
"Usage: aw session-artifacts --code <NNN> [--verbose] " +
|
|
17
|
+
"Usage: aw session-artifacts --code <NNN> [--verbose] [--detail] [--no-narrative] " +
|
|
18
18
|
"[--dump [objetivo,decisiones,conclusiones,tasks,checkpoint,backlog,scripts]] — " +
|
|
19
19
|
"--dump devuelve {path, content, size} por artefacto (sin CSV: todos).",
|
|
20
20
|
async execute(args, ctx) {
|
|
@@ -46,6 +46,8 @@ export const sessionArtifactsCommand = {
|
|
|
46
46
|
input.code = code;
|
|
47
47
|
if (args.flags.has("--verbose"))
|
|
48
48
|
input.verbose = true;
|
|
49
|
+
if (args.flags.has("--no-narrative"))
|
|
50
|
+
input.noNarrative = true;
|
|
49
51
|
const contextId = readContextId(ctx.env);
|
|
50
52
|
if (contextId !== undefined)
|
|
51
53
|
input.contextId = contextId;
|
|
@@ -54,5 +56,56 @@ export const sessionArtifactsCommand = {
|
|
|
54
56
|
return failSessionResolution(data.sessionError);
|
|
55
57
|
return { ok: true, data, exitCode: 0 };
|
|
56
58
|
},
|
|
59
|
+
/**
|
|
60
|
+
* The human view is the RECORRIDO; the counts are the detail underneath it.
|
|
61
|
+
*
|
|
62
|
+
* A person asking about a session wants what it set out to do, what happened and
|
|
63
|
+
* what is next — not five presence booleans. Those stay, at the bottom and in
|
|
64
|
+
* the JSON, because they answer a real question too: which artifacts exist. What
|
|
65
|
+
* changed is which of the two comes first.
|
|
66
|
+
*/
|
|
67
|
+
renderHuman(result, context) {
|
|
68
|
+
const data = result.data;
|
|
69
|
+
if (data === undefined)
|
|
70
|
+
return "";
|
|
71
|
+
const narrative = data.narrative;
|
|
72
|
+
if (narrative === undefined)
|
|
73
|
+
return `${JSON.stringify(data, null, 2)}\n`;
|
|
74
|
+
// Jargon waits to be asked for: ids, digests and transition names are real
|
|
75
|
+
// and stay reachable with `--detail`, but a normal reading is the sentence.
|
|
76
|
+
const detail = context.detail === true;
|
|
77
|
+
const lines = [`${narrative.session} · ${narrative.phase}`];
|
|
78
|
+
if (narrative.objective !== null)
|
|
79
|
+
lines.push(`Objetivo: ${narrative.objective.text}`);
|
|
80
|
+
if (narrative.next !== null)
|
|
81
|
+
lines.push(`Siguiente: ${narrative.next.text}`);
|
|
82
|
+
block(lines, "Qué pasó", narrative.sequence, detail);
|
|
83
|
+
block(lines, "Tareas", narrative.tasks, detail);
|
|
84
|
+
block(lines, "Decisiones", narrative.decisions, detail);
|
|
85
|
+
block(lines, "Resultados", narrative.results, detail);
|
|
86
|
+
block(lines, "Evidencia", narrative.evidence, detail);
|
|
87
|
+
block(lines, "Pendiente", narrative.pending, detail);
|
|
88
|
+
if (narrative.links.length > 0) {
|
|
89
|
+
lines.push("", `Detalle: ${narrative.links.map((link) => link.label).join(" · ")}`);
|
|
90
|
+
}
|
|
91
|
+
return `${lines.join("\n")}\n`;
|
|
92
|
+
},
|
|
57
93
|
};
|
|
94
|
+
/** One section, with each fact's state and the artifact it came from. */
|
|
95
|
+
function block(lines, title, facts, detail) {
|
|
96
|
+
if (facts.length === 0)
|
|
97
|
+
return;
|
|
98
|
+
lines.push("", `${title}:`);
|
|
99
|
+
for (const fact of facts) {
|
|
100
|
+
if (!detail) {
|
|
101
|
+
lines.push(` · ${fact.text} [${fact.state} · ${fact.source.artifact}]`);
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
const where = fact.source.locator === null
|
|
105
|
+
? fact.source.artifact
|
|
106
|
+
: `${fact.source.artifact} › ${fact.source.locator}`;
|
|
107
|
+
const technical = fact.detail === null ? "" : ` · ${fact.detail}`;
|
|
108
|
+
lines.push(` · ${fact.text} [${fact.state} · ${where}${technical}]`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
58
111
|
//# sourceMappingURL=session-artifacts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-artifacts.js","sourceRoot":"","sources":["../../../src/cli/commands/session-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"session-artifacts.js","sourceRoot":"","sources":["../../../src/cli/commands/session-artifacts.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/parser.js
CHANGED
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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"}
|
|
@@ -75,7 +75,7 @@ export const CANONICAL_SCHEMAS = {
|
|
|
75
75
|
export const DESIGN_DESCRIPTOR = {
|
|
76
76
|
contract_version: CAPABILITY_CONTRACT_VERSION,
|
|
77
77
|
name: DESIGN_CAPABILITY,
|
|
78
|
-
purpose: "producir, actualizar, juzgar, proyectar y sellar un UI Design Package v1
|
|
78
|
+
purpose: "producir, actualizar, juzgar, proyectar y sellar un diseño sobre un contrato único: un DESIGN.md legible por defecto, el UI Design Package v1 cuando una señal observable lo pide",
|
|
79
79
|
exposure: ["direct", "compose"],
|
|
80
80
|
default_operation: null,
|
|
81
81
|
operations: [
|
|
@@ -95,7 +95,14 @@ export const DESIGN_DESCRIPTOR = {
|
|
|
95
95
|
inputs: [
|
|
96
96
|
{ name: "title", kind: "text", required: true, sensitivity: "public", schema: null },
|
|
97
97
|
{ name: "sources", kind: "reference", required: true, sensitivity: "public", schema: null },
|
|
98
|
-
|
|
98
|
+
// NOT required, and the `workspace: "optional"` note below is why: inside
|
|
99
|
+
// a workspace the destination IS `docs/designs/`, and on the simple route
|
|
100
|
+
// the CLI derives the exact folder from the title. Demanding it anyway
|
|
101
|
+
// made the documented default unreachable through the contract that
|
|
102
|
+
// documents it, and asked the caller to administer a path the CLI knows.
|
|
103
|
+
// `resolveOutputRoot` is the real gate: outside a workspace, no root
|
|
104
|
+
// declared still means nothing written.
|
|
105
|
+
{ name: "target", kind: "text", required: false, sensitivity: "public", schema: null },
|
|
99
106
|
{
|
|
100
107
|
name: "profile",
|
|
101
108
|
kind: "selection",
|
|
@@ -106,7 +113,8 @@ export const DESIGN_DESCRIPTOR = {
|
|
|
106
113
|
{ name: "context", kind: "text", required: false, sensitivity: "public", schema: null },
|
|
107
114
|
// The maturity the caller ASKS FOR. Declared as an input because the
|
|
108
115
|
// answer "you got `outline`, not `handoff`" only means something
|
|
109
|
-
// against something that was requested.
|
|
116
|
+
// against something that was requested. It belongs to the expanded route:
|
|
117
|
+
// a simple design has no ladder, and asking for one there answers null.
|
|
110
118
|
{
|
|
111
119
|
name: "maturity",
|
|
112
120
|
kind: "selection",
|
|
@@ -114,6 +122,16 @@ export const DESIGN_DESCRIPTOR = {
|
|
|
114
122
|
sensitivity: "public",
|
|
115
123
|
schema: null,
|
|
116
124
|
},
|
|
125
|
+
// The SEMANTIC half of the expansion vocabulary. Optional because simple
|
|
126
|
+
// is the default: an invocation that declares nothing gets one readable
|
|
127
|
+
// document, which is the whole point of the route.
|
|
128
|
+
{
|
|
129
|
+
name: "expansion",
|
|
130
|
+
kind: "selection",
|
|
131
|
+
required: false,
|
|
132
|
+
sensitivity: "public",
|
|
133
|
+
schema: null,
|
|
134
|
+
},
|
|
117
135
|
],
|
|
118
136
|
output: {
|
|
119
137
|
kind: "value_and_reference",
|
|
@@ -139,7 +157,13 @@ export const DESIGN_DESCRIPTOR = {
|
|
|
139
157
|
interaction: "needs_input",
|
|
140
158
|
inputs: [
|
|
141
159
|
{ name: "package", kind: "reference", required: true, sensitivity: "public", schema: null },
|
|
142
|
-
|
|
160
|
+
// Required by the ROUTE, not by the envelope. On the expanded route the
|
|
161
|
+
// compare-and-swap base is the caller's claim and the handler refuses an
|
|
162
|
+
// update without it. On the simple route the CLI re-reads the manifest
|
|
163
|
+
// and seals its digest itself — a stronger check than a declared string,
|
|
164
|
+
// and one the caller cannot get wrong — so demanding it here would only
|
|
165
|
+
// ask somebody to administer a revision the route exists to derive.
|
|
166
|
+
{ name: "base", kind: "reference", required: false, sensitivity: "public", schema: null },
|
|
143
167
|
{
|
|
144
168
|
name: "sources",
|
|
145
169
|
kind: "reference",
|
|
@@ -155,6 +179,13 @@ export const DESIGN_DESCRIPTOR = {
|
|
|
155
179
|
sensitivity: "public",
|
|
156
180
|
schema: null,
|
|
157
181
|
},
|
|
182
|
+
{
|
|
183
|
+
name: "expansion",
|
|
184
|
+
kind: "selection",
|
|
185
|
+
required: false,
|
|
186
|
+
sensitivity: "public",
|
|
187
|
+
schema: null,
|
|
188
|
+
},
|
|
158
189
|
],
|
|
159
190
|
output: {
|
|
160
191
|
kind: "value_and_reference",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability.js","sourceRoot":"","sources":["../../../src/domain/design/capability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAG1E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAc,QAAQ,CAAC;AAErD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAI/F;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,6BAA6B;IACvC,QAAQ,EAAE,6BAA6B;IACvC,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,uBAAuB;IAC/B,MAAM,EAAE,2BAA2B;IACnC,UAAU,EAAE,+BAA+B;IAC3C,SAAS,EAAE,8BAA8B;IACzC,YAAY,EAAE,kCAAkC;CACxC,CAAC;AAIX;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAwD;IACpF,gBAAgB,EAAE,2BAA2B;IAC7C,IAAI,EAAE,iBAAiB;IACvB,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"capability.js","sourceRoot":"","sources":["../../../src/domain/design/capability.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direct.js","sourceRoot":"","sources":["../../../src/domain/design/direct.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"direct.js","sourceRoot":"","sources":["../../../src/domain/design/direct.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Why a design would stop being one document — the closed list, and who may say
|
|
3
|
+
* each one.
|
|
4
|
+
*
|
|
5
|
+
* The default route is a single readable `DESIGN.md`. The package — manifest,
|
|
6
|
+
* catalog, screens, flows, maturity ladder, governance — is the EXCEPTION, and an
|
|
7
|
+
* exception nobody can name a cause for is just the old default wearing a new
|
|
8
|
+
* word. So the causes are enumerated here, once, and every extra stage or
|
|
9
|
+
* artifact points back at the one that produced it.
|
|
10
|
+
*
|
|
11
|
+
* The frontier is the same one the flow registry draws between an `agent` row and
|
|
12
|
+
* a `condition.threshold`: recognizing a signal is judgment, counting them is a
|
|
13
|
+
* rule. Three of the five are semantic — only somebody who read the material can
|
|
14
|
+
* say whether two outcomes are independent, whether a decision is functionally
|
|
15
|
+
* blocked, or whether one document has stopped being clear. Two are STRUCTURAL:
|
|
16
|
+
* they are facts the CLI already holds about the invocation, so asking anyone to
|
|
17
|
+
* declare them would be asking for a claim that can disagree with the evidence.
|
|
18
|
+
*
|
|
19
|
+
* A signal outside this vocabulary never expands anything.
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* The five causes, and nothing else.
|
|
23
|
+
*
|
|
24
|
+
* `as const` plus the lookup below is what makes it closed in practice and not
|
|
25
|
+
* only in prose: an id that is not here has no entry to read, so it cannot carry
|
|
26
|
+
* a meaning into a receipt.
|
|
27
|
+
*/
|
|
28
|
+
export const DESIGN_EXPANSION_SIGNALS = [
|
|
29
|
+
{
|
|
30
|
+
id: "design.independent-outcomes",
|
|
31
|
+
origin: "semantic",
|
|
32
|
+
means: "el trabajo produce dos o más resultados que valen por separado",
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: "design.functional-blocking",
|
|
36
|
+
origin: "semantic",
|
|
37
|
+
means: "una decisión funcional sin cerrar bloquea el diseño y hay que resolverla aparte",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: "design.clarity-lost",
|
|
41
|
+
origin: "semantic",
|
|
42
|
+
means: "un solo documento dejaría de entenderse: el material ya no cabe legible",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: "design.governance-or-system-reuse",
|
|
46
|
+
origin: "structural",
|
|
47
|
+
means: "el trabajo continúa un package que ya lleva decisiones de gobierno o varias revisiones publicadas",
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
id: "design.special-source-or-effect",
|
|
51
|
+
origin: "structural",
|
|
52
|
+
means: "hay una fuente sensible, una transmisión externa o una fuente declarada que no llegó a usarse",
|
|
53
|
+
},
|
|
54
|
+
];
|
|
55
|
+
const BY_ID = new Map(DESIGN_EXPANSION_SIGNALS.map((s) => [s.id, s]));
|
|
56
|
+
/** The signal an id names, or null when it is outside the vocabulary. */
|
|
57
|
+
export function expansionSignal(id) {
|
|
58
|
+
return BY_ID.get(id) ?? null;
|
|
59
|
+
}
|
|
60
|
+
/** The ids the AGENT may declare — the structural ones are never declared. */
|
|
61
|
+
export const SEMANTIC_EXPANSION_SIGNALS = DESIGN_EXPANSION_SIGNALS.filter((s) => s.origin === "semantic").map((s) => s.id);
|
|
62
|
+
/**
|
|
63
|
+
* How many distinct signals expand the route.
|
|
64
|
+
*
|
|
65
|
+
* One. Each of the five is on its own sufficient — the spec enumerates them as
|
|
66
|
+
* alternatives, not as evidence to accumulate — and a threshold of two would mean
|
|
67
|
+
* a design with a genuinely blocking functional decision stayed simple because
|
|
68
|
+
* nothing else was wrong with it.
|
|
69
|
+
*/
|
|
70
|
+
export const EXPANSION_THRESHOLD = 1;
|
|
71
|
+
/**
|
|
72
|
+
* The structural signals these facts really support.
|
|
73
|
+
*
|
|
74
|
+
* Derived and never declared: the two members it can emit are the two the CLI can
|
|
75
|
+
* be held to, which is why an agent that "declares" one of them is refused rather
|
|
76
|
+
* than believed.
|
|
77
|
+
*/
|
|
78
|
+
export function deriveStructuralSignals(facts) {
|
|
79
|
+
const fired = [];
|
|
80
|
+
if (facts.governanceRecords > 0 || facts.publishedRevisions > 1) {
|
|
81
|
+
fired.push("design.governance-or-system-reuse");
|
|
82
|
+
}
|
|
83
|
+
if (facts.sensitiveSources ||
|
|
84
|
+
facts.externalTransmission ||
|
|
85
|
+
facts.sources.some((s) => s.disposition !== "used")) {
|
|
86
|
+
fired.push("design.special-source-or-effect");
|
|
87
|
+
}
|
|
88
|
+
return fired;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* The verdict: which route, which signals fired, and why.
|
|
92
|
+
*
|
|
93
|
+
* Rejections are REPORTED rather than thrown away. An agent that declared
|
|
94
|
+
* `design.special-source-or-effect` is trying to expand on a fact the CLI already
|
|
95
|
+
* checks, and one that declared an invented id is asking for a route nobody can
|
|
96
|
+
* explain later; both deserve to see the answer instead of watching the signal
|
|
97
|
+
* disappear.
|
|
98
|
+
*/
|
|
99
|
+
export function judgeExpansion(declared, structural) {
|
|
100
|
+
const rejected = [];
|
|
101
|
+
const accepted = new Set(structural);
|
|
102
|
+
for (const id of declared) {
|
|
103
|
+
const signal = expansionSignal(id);
|
|
104
|
+
if (signal === null) {
|
|
105
|
+
rejected.push({
|
|
106
|
+
id,
|
|
107
|
+
why: `'${id}' no pertenece al vocabulario de expansión: ${DESIGN_EXPANSION_SIGNALS.map((s) => s.id).join(", ")}`,
|
|
108
|
+
});
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
if (signal.origin === "structural") {
|
|
112
|
+
rejected.push({
|
|
113
|
+
id,
|
|
114
|
+
why: `'${id}' lo deriva el CLI de la invocación: declararlo no lo hace verdadero`,
|
|
115
|
+
});
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
accepted.add(id);
|
|
119
|
+
}
|
|
120
|
+
// Vocabulary order, not arrival order: the cause a receipt shows has to read
|
|
121
|
+
// the same way for two runs that observed the same things.
|
|
122
|
+
const fired = DESIGN_EXPANSION_SIGNALS.filter((s) => accepted.has(s.id)).map((s) => ({
|
|
123
|
+
id: s.id,
|
|
124
|
+
origin: s.origin,
|
|
125
|
+
means: s.means,
|
|
126
|
+
}));
|
|
127
|
+
if (fired.length < EXPANSION_THRESHOLD) {
|
|
128
|
+
return { mode: "simple", fired, cause: null, rejected };
|
|
129
|
+
}
|
|
130
|
+
return {
|
|
131
|
+
mode: "package",
|
|
132
|
+
fired,
|
|
133
|
+
cause: fired.map((s) => `${s.id}: ${s.means}`).join(" · "),
|
|
134
|
+
rejected,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=expansion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expansion.js","sourceRoot":"","sources":["../../../src/domain/design/expansion.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { CANONICAL_SCHEMAS } from "./capability.js";
|
|
|
3
3
|
import { ARTIFACT_PREFIX, GRAMMAR, isArtifactId, isAssetFilename, isDigest, isPackageId, isRevision, parseArtifactRef, parseBaselineRef, } from "./identity.js";
|
|
4
4
|
import { baselinePath, checkGovernanceNaming, checkNaming } from "./naming.js";
|
|
5
5
|
import { secretFailures } from "./secrets.js";
|
|
6
|
+
import { SIMPLE_DESIGN_FILE, archivedDesignPath } from "./simple.js";
|
|
6
7
|
import { Reader, eachRecord, isNonEmptyString, isRecord, } from "./validation.js";
|
|
7
8
|
/**
|
|
8
9
|
* `design-manifest.json` — the package's MUTABLE index.
|
|
@@ -32,6 +33,7 @@ export const ALLOWED_KEYS = {
|
|
|
32
33
|
"": [
|
|
33
34
|
"schema",
|
|
34
35
|
"id",
|
|
36
|
+
"mode",
|
|
35
37
|
"title",
|
|
36
38
|
"created",
|
|
37
39
|
"derived_from",
|
|
@@ -87,6 +89,10 @@ export function validateDesignManifest(raw, artifact = DESIGN_MANIFEST_FILE) {
|
|
|
87
89
|
if (!isPackageId(id)) {
|
|
88
90
|
r.invalid(artifact, `'id' no es un identificador de package: ${JSON.stringify(id)}`, "usá la forma DES-NNN (tres dígitos o más), independiente del slug y del path");
|
|
89
91
|
}
|
|
92
|
+
// Read BEFORE the baselines and the catalog: both of them are judged by rules
|
|
93
|
+
// this answer selects, and reading them first would apply the package rules to
|
|
94
|
+
// a simple design and then blame it for obeying its own contract.
|
|
95
|
+
const mode = readMode(r, raw, artifact);
|
|
90
96
|
const title = r.read(raw, "title");
|
|
91
97
|
if (!isNonEmptyString(title)) {
|
|
92
98
|
r.invalid(artifact, "'title' es obligatorio y no puede estar vacío", "poné el nombre humano del package");
|
|
@@ -105,9 +111,11 @@ export function validateDesignManifest(raw, artifact = DESIGN_MANIFEST_FILE) {
|
|
|
105
111
|
// divergencia: es la línea de baselines, que ya tiene su propio mecanismo.
|
|
106
112
|
r.fail("DESIGN_RELATION_BROKEN", artifact, `'derived_from' apunta a ${String(derivedFrom)}, que es este mismo package`, "una divergencia deriva de OTRO package; dentro del propio, la línea se encadena con 'parent_baseline'");
|
|
107
113
|
}
|
|
108
|
-
const baselines = readBaselines(r, raw, artifact, id);
|
|
114
|
+
const baselines = readBaselines(r, raw, artifact, id, mode);
|
|
109
115
|
const currentBaseline = readCurrentBaseline(r, raw, artifact, baselines);
|
|
110
116
|
const catalog = readCatalog(r, raw, artifact);
|
|
117
|
+
if (mode === "simple")
|
|
118
|
+
checkSimpleShape(r, artifact, catalog);
|
|
111
119
|
const currentness = readCurrentness(r, raw, artifact, id, catalog);
|
|
112
120
|
checkSupersedesIntegrity(r, artifact, id, catalog);
|
|
113
121
|
const governance = readGovernance(r, raw, artifact, baselines, id);
|
|
@@ -119,6 +127,7 @@ export function validateDesignManifest(raw, artifact = DESIGN_MANIFEST_FILE) {
|
|
|
119
127
|
return done(r, {
|
|
120
128
|
schema: DESIGN_MANIFEST_SCHEMA_ID,
|
|
121
129
|
id: id,
|
|
130
|
+
mode,
|
|
122
131
|
title: title,
|
|
123
132
|
created: created,
|
|
124
133
|
derived_from: derivedFrom,
|
|
@@ -130,17 +139,64 @@ export function validateDesignManifest(raw, artifact = DESIGN_MANIFEST_FILE) {
|
|
|
130
139
|
relations,
|
|
131
140
|
});
|
|
132
141
|
}
|
|
133
|
-
|
|
142
|
+
/**
|
|
143
|
+
* The route this package runs on. Absent is `package`, and the default is what
|
|
144
|
+
* makes the field additive: nothing already published has to be rewritten.
|
|
145
|
+
*/
|
|
146
|
+
function readMode(r, raw, artifact) {
|
|
147
|
+
const value = r.read(raw, "mode");
|
|
148
|
+
if (value === undefined || value === null)
|
|
149
|
+
return "package";
|
|
150
|
+
if (value === "simple" || value === "package")
|
|
151
|
+
return value;
|
|
152
|
+
r.invalid(artifact, `'mode' no es un modo conocido: ${JSON.stringify(value)}`, "usá 'simple' para un diseño de un solo DESIGN.md, 'package' para el dossier completo, o quitá la clave");
|
|
153
|
+
return "package";
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* What `simple` costs: nothing in the catalog.
|
|
157
|
+
*
|
|
158
|
+
* A simple design has one authored document and derives the rest. The moment it
|
|
159
|
+
* catalogs a screen or a flow it has artifacts, revisions and a maturity ladder —
|
|
160
|
+
* it IS a package, and calling it simple would make every consumer read it under
|
|
161
|
+
* rules its content does not obey.
|
|
162
|
+
*/
|
|
163
|
+
function checkSimpleShape(r, artifact, catalog) {
|
|
164
|
+
const populated = Object.entries(catalog)
|
|
165
|
+
.filter(([, list]) => Array.isArray(list) && list.length > 0)
|
|
166
|
+
.map(([key]) => key);
|
|
167
|
+
if (populated.length === 0)
|
|
168
|
+
return;
|
|
169
|
+
r.fail("DESIGN_FIELD_INVALID", artifact, `un package en modo 'simple' no cataloga artefactos y este declara: ${populated.join(", ")}`, "vacialo, o declará 'mode': 'package' — un diseño con catálogo ya es el recorrido ampliado");
|
|
170
|
+
}
|
|
171
|
+
function readBaselines(r, raw, artifact, packageId, mode) {
|
|
134
172
|
const out = [];
|
|
135
173
|
const seen = new Set();
|
|
136
174
|
for (const entry of eachRecord(r, raw, "baselines", artifact, " (vacío si el package todavía no publicó)")) {
|
|
137
|
-
const parsed = readBaselineEntry(r, entry, artifact, seen, packageId);
|
|
175
|
+
const parsed = readBaselineEntry(r, entry, artifact, seen, packageId, mode);
|
|
138
176
|
if (parsed !== null)
|
|
139
177
|
out.push(parsed);
|
|
140
178
|
}
|
|
141
179
|
return out;
|
|
142
180
|
}
|
|
143
|
-
|
|
181
|
+
/**
|
|
182
|
+
* Where a revision's bytes have to live, and it depends on the route.
|
|
183
|
+
*
|
|
184
|
+
* In `package` mode the baseline is a sealing document of its own and its name
|
|
185
|
+
* carries the revision. In `simple` mode there IS no such document: the revision
|
|
186
|
+
* seals the bytes of the design itself, so the path is the design — `DESIGN.md`
|
|
187
|
+
* while it is current, the archived copy once a newer one supersedes it.
|
|
188
|
+
*/
|
|
189
|
+
function checkBaselinePathName(r, artifact, label, path, packageId, revision, mode) {
|
|
190
|
+
const expected = mode === "simple"
|
|
191
|
+
? [SIMPLE_DESIGN_FILE, archivedDesignPath(revision)]
|
|
192
|
+
: [baselinePath(packageId, revision)];
|
|
193
|
+
if (expected.includes(path))
|
|
194
|
+
return;
|
|
195
|
+
r.invalid(artifact, `${label}: '${path}' no es el nombre de esa revisión`, mode === "simple"
|
|
196
|
+
? `apuntá a '${SIMPLE_DESIGN_FILE}' si es la vigente, o a '${archivedDesignPath(revision)}' si ya la superó otra`
|
|
197
|
+
: `renombralo a '${expected[0]}': la revisión va en el path para que publicar la siguiente no pise esta`);
|
|
198
|
+
}
|
|
199
|
+
function readBaselineEntry(r, entry, artifact, seen, packageId, mode) {
|
|
144
200
|
const revision = r.read(entry, "baselines[].revision");
|
|
145
201
|
const path = r.read(entry, "baselines[].path");
|
|
146
202
|
const digest = r.read(entry, "baselines[].digest");
|
|
@@ -157,10 +213,7 @@ function readBaselineEntry(r, entry, artifact, seen, packageId) {
|
|
|
157
213
|
}
|
|
158
214
|
seen.add(revision);
|
|
159
215
|
if (checkPackagePath(r, artifact, `${label}.path`, path) && isPackageId(packageId)) {
|
|
160
|
-
|
|
161
|
-
if (path !== expected) {
|
|
162
|
-
r.invalid(artifact, `${label}: '${String(path)}' no es el nombre de esa revisión`, `renombralo a '${expected}': la revisión va en el path para que publicar la siguiente no pise esta`);
|
|
163
|
-
}
|
|
216
|
+
checkBaselinePathName(r, artifact, label, String(path), packageId, revision, mode);
|
|
164
217
|
}
|
|
165
218
|
if (!isDigest(digest)) {
|
|
166
219
|
r.invalid(artifact, `${label}: 'digest' debe ser 'sha256:' + 64 hex`, "recalculá el digest del baseline");
|