@tacuchi/agent-workflow-cli 21.7.0 → 21.8.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.
@@ -14,15 +14,19 @@
14
14
  * `create` cannot invent a package body, so it says what a valid answer must
15
15
  * contain and waits for one — that is a question, not a failure.
16
16
  */
17
+ import { join } from "node:path";
17
18
  import { requireAdapter } from "../../domain/design/adapter.js";
18
19
  import { DESIGN_DESCRIPTOR, DESIGN_OPERATIONS } from "../../domain/design/capability.js";
19
20
  import { attainedMaturity, isIndexable, resolveOutputRoot, } from "../../domain/design/direct.js";
20
21
  import { deriveStructuralSignals, judgeExpansion, } from "../../domain/design/expansion.js";
22
+ import { DESIGN_MANIFEST_FILE, DESIGN_MANIFEST_SCHEMA_ID, } from "../../domain/design/manifest.js";
21
23
  import { DESIGN_ADAPTERS } from "../../domain/design/profiles.js";
22
- import { SIMPLE_CORE_SECTIONS, SIMPLE_DESIGN_FILE, SIMPLE_SECTIONS, } from "../../domain/design/simple.js";
24
+ import { SIMPLE_CORE_SECTIONS, SIMPLE_DESIGN_FILE, SIMPLE_SECTIONS, designFolder, designSlug, nextPackageId, } from "../../domain/design/simple.js";
23
25
  import { classifySource, reportSources, } from "../../domain/design/sources.js";
26
+ import { baseDigest } from "../../domain/proposal.js";
24
27
  import { localDateIso } from "../dates.js";
25
- import { readDesignIndex, resolveDesignPackage } from "../design/design-index-service.js";
28
+ import { readDesignIndex, resolveDesignPackage, } from "../design/design-index-service.js";
29
+ import { buildPackageCandidate, } from "../design/design-publish-service.js";
26
30
  import { checkRecordPrecondition } from "../design/design-record-service.js";
27
31
  import { buildSimpleProposal, resolveSimpleTarget, } from "../design/design-simple-service.js";
28
32
  import { buildSemanticRequest, parseSemanticResponse } from "../semantic-operation/protocol.js";
@@ -178,7 +182,13 @@ async function authoring(ctx) {
178
182
  if (ctx.verb !== "validate") {
179
183
  return {
180
184
  kind: "needs_input",
181
- gaps: [request.contract, `destinos permitidos: ${request.allowed_destinations.join(", ")}`],
185
+ gaps: [
186
+ request.contract,
187
+ `destinos permitidos: ${request.allowed_destinations.join(", ")}`,
188
+ // Answering means quoting this digest back verbatim; naming it here saves
189
+ // the caller from reimplementing `canonicalJson` to recompute it.
190
+ `input_digest: ${request.input_digest}`,
191
+ ],
182
192
  };
183
193
  }
184
194
  if (ctx.answer === null || ctx.answer.trim().length === 0) {
@@ -234,30 +244,7 @@ async function decideRoute(ctx, sources, root) {
234
244
  !AUTHORING_OPERATIONS.includes(ctx.operation.name) ||
235
245
  index === null ||
236
246
  !isIndexable(root)) {
237
- // The compare-and-swap base is the caller's claim on this route, and a safety
238
- // check that can be omitted is one nobody performs. It is demanded HERE
239
- // rather than in the descriptor because the simple route derives it instead.
240
- if (ctx.operation.name === "update" && textInput(ctx, "base") === null) {
241
- return {
242
- ok: false,
243
- failure: {
244
- code: "DESIGN_FIELD_INVALID",
245
- message: "actualizar un package declara sobre qué revisión se preparó",
246
- action: "pasá 'base' con la revisión vigente (por ejemplo DES-001@r3), o null si el package no publicó ninguna",
247
- },
248
- };
249
- }
250
- return {
251
- ok: true,
252
- value: {
253
- verdict,
254
- contract: contractFor(ctx.operation.name),
255
- inventory: { root: root.root, mode: root.kind },
256
- destinations: [root.root],
257
- target: null,
258
- root,
259
- },
260
- };
247
+ return packageRoute(ctx, verdict, index, root);
261
248
  }
262
249
  const resolved = resolveSimpleTarget(index, ctx.operation.name, {
263
250
  title: textInput(ctx, "title"),
@@ -283,10 +270,187 @@ async function decideRoute(ctx, sources, root) {
283
270
  // the one destination, so anything else is not a design it can publish.
284
271
  destinations: [`${resolved.value.path}/${SIMPLE_DESIGN_FILE}`],
285
272
  target: resolved.value,
273
+ packageTarget: null,
286
274
  root,
287
275
  },
288
276
  };
289
277
  }
278
+ /**
279
+ * The package route: sealed when the target can be derived, verbatim when not.
280
+ *
281
+ * The compare-and-swap base is the caller's claim on this route, and a safety
282
+ * check that can be omitted is one nobody performs. It is demanded HERE rather
283
+ * than in the descriptor because the simple route derives it instead.
284
+ */
285
+ function packageRoute(ctx, verdict, index, root) {
286
+ if (ctx.operation.name === "update" && textInput(ctx, "base") === null) {
287
+ return {
288
+ ok: false,
289
+ failure: {
290
+ code: "DESIGN_FIELD_INVALID",
291
+ message: "actualizar un package declara sobre qué revisión se preparó",
292
+ action: "pasá 'base' con la revisión vigente (por ejemplo DES-001@r3), o null si el package no publicó ninguna",
293
+ },
294
+ };
295
+ }
296
+ // KNOWN LIMITATION: `render`/`record` — and a create/update with no index to
297
+ // derive from (outside a workspace or outside `docs/designs/`) — still run
298
+ // the verbatim path: the answer is published as authored, with no derived
299
+ // manifest, baseline or gate. Only create/update over the index seal.
300
+ if (index === null || !AUTHORING_OPERATIONS.includes(ctx.operation.name) || !isIndexable(root)) {
301
+ return {
302
+ ok: true,
303
+ value: {
304
+ verdict,
305
+ contract: contractFor(ctx.operation.name),
306
+ inventory: { root: root.root, mode: root.kind },
307
+ destinations: [root.root],
308
+ target: null,
309
+ packageTarget: null,
310
+ root,
311
+ },
312
+ };
313
+ }
314
+ const resolved = resolvePackageTarget(ctx, index);
315
+ if (!resolved.ok)
316
+ return { ok: false, failure: resolved.failure };
317
+ const target = resolved.value;
318
+ return {
319
+ ok: true,
320
+ value: {
321
+ verdict,
322
+ contract: packageContract(ctx.operation.name, target),
323
+ inventory: {
324
+ root: root.root,
325
+ mode: "package",
326
+ package: target.packageId,
327
+ revision: target.revision,
328
+ path: target.path,
329
+ },
330
+ // The package folder, not the taxonomy root: the destination check is
331
+ // segment-based, so every artifact lands INSIDE this package or nowhere.
332
+ destinations: [target.path],
333
+ target: null,
334
+ packageTarget: target,
335
+ root,
336
+ },
337
+ };
338
+ }
339
+ /**
340
+ * The package route's target, derived BEFORE the contract is published.
341
+ *
342
+ * `create` mints the identity and the folder from the title, over an initial
343
+ * manifest that exists only to give the candidate builder a line to start from.
344
+ * `update` locates the package BY IDENTITY and checks the declared base against
345
+ * the line in force — the same compare-and-swap `publishDesignRevision` runs,
346
+ * moved to the moment the contract is fixed instead of discovered mid-publish.
347
+ */
348
+ function resolvePackageTarget(ctx, index) {
349
+ if (ctx.operation.name === "create") {
350
+ const title = textInput(ctx, "title");
351
+ if (title === null) {
352
+ return {
353
+ ok: false,
354
+ failure: {
355
+ code: "DESIGN_FIELD_INVALID",
356
+ message: "un package nuevo necesita un título",
357
+ action: "pasá 'title' con el nombre humano del diseño: de ahí salen la carpeta y el id",
358
+ },
359
+ };
360
+ }
361
+ const packageId = nextPackageId(index.packages.map((p) => p.id ?? p.declared_id));
362
+ return {
363
+ ok: true,
364
+ value: {
365
+ packageId,
366
+ path: designFolder(index.root, packageId, designSlug(title)),
367
+ revision: 1,
368
+ manifest: initialPackageManifest(packageId, title, localDateIso(new Date())),
369
+ },
370
+ };
371
+ }
372
+ const named = packageInput(ctx);
373
+ if (named === null) {
374
+ return {
375
+ ok: false,
376
+ failure: {
377
+ code: "DESIGN_FIELD_INVALID",
378
+ message: "actualizar un package necesita la identidad del que se continúa",
379
+ action: "pasá 'package' con su id, por ejemplo DES-007",
380
+ },
381
+ };
382
+ }
383
+ const found = index.packages.find((p) => p.id === named) ?? null;
384
+ if (found === null || found.manifest === null) {
385
+ return {
386
+ ok: false,
387
+ failure: {
388
+ code: "DESIGN_PACKAGE_NOT_FOUND",
389
+ message: `no hay ningún package ${named} legible bajo ${index.root}/`,
390
+ action: `revisá 'aw designs' para ver las identidades publicadas bajo ${index.root}/`,
391
+ },
392
+ };
393
+ }
394
+ const manifest = found.manifest;
395
+ const current = manifest.current_baseline;
396
+ const actual = current === null ? null : `${manifest.id}@r${current.revision}`;
397
+ // The declared base is text on the wire: "null" is how a caller states the
398
+ // package never published, which the failure below already advertised. The
399
+ // null case cannot happen — `decideRoute` demands the input first — and the
400
+ // guard keeps that a fact of this function, not of its caller.
401
+ const declaredRaw = textInput(ctx, "base");
402
+ if (declaredRaw === null) {
403
+ return {
404
+ ok: false,
405
+ failure: {
406
+ code: "DESIGN_FIELD_INVALID",
407
+ message: "actualizar un package declara sobre qué revisión se preparó",
408
+ action: "pasá 'base' con la revisión vigente (por ejemplo DES-001@r3), o null si el package no publicó ninguna",
409
+ },
410
+ };
411
+ }
412
+ const declared = declaredRaw === "null" ? null : declaredRaw;
413
+ if (declared !== actual) {
414
+ return {
415
+ ok: false,
416
+ failure: {
417
+ code: "DESIGN_BASE_STALE",
418
+ message: `declaraste base ${declared ?? "ninguna revisión"} y la vigente es ${actual ?? "ninguna"}`,
419
+ action: "releé el package y rehacé la revisión sobre la base nueva: una publicada no se reescribe",
420
+ },
421
+ };
422
+ }
423
+ return {
424
+ ok: true,
425
+ value: {
426
+ packageId: manifest.id,
427
+ path: found.path,
428
+ revision: (current?.revision ?? 0) + 1,
429
+ manifest,
430
+ },
431
+ };
432
+ }
433
+ /**
434
+ * The manifest a `create` starts from: the empty catalog every package begins
435
+ * with, so the candidate builder sees the same shape it sees on an update. It
436
+ * is never written as-is — the first publication writes the DERIVED one.
437
+ */
438
+ function initialPackageManifest(packageId, title, created) {
439
+ return {
440
+ schema: DESIGN_MANIFEST_SCHEMA_ID,
441
+ id: packageId,
442
+ mode: "package",
443
+ title,
444
+ created,
445
+ derived_from: null,
446
+ current_baseline: null,
447
+ baselines: [],
448
+ catalog: { flows: [], screens: [], rules: [], tokens: [], renditions: [], assets: [] },
449
+ currentness: [],
450
+ governance: { reviews: [], revocations: [] },
451
+ relations: { specs: [], plans: [] },
452
+ };
453
+ }
290
454
  /** The simple route's durable step: one authored document, everything else derived. */
291
455
  async function simpleProposal(ctx, report, route, answered) {
292
456
  const target = route.target;
@@ -351,17 +515,96 @@ async function simpleProposal(ctx, report, route, answered) {
351
515
  base: built.value.base,
352
516
  };
353
517
  }
354
- /** The expanded route's durable step — the package the agent authored, unchanged. */
355
- function packageProposal(ctx, report, route, answered) {
356
- const artifacts = answered.map((a) => ({ path: a.path, content: a.content }));
357
- // The gate verdict the `012` computes is not available until the package is
358
- // on disk, so a proposal can never claim more than `outline` here — which is
359
- // exactly the rule that stops a partial from being promoted.
360
- const maturity = attainedMaturity(requestedMaturity(ctx), "outline", report);
518
+ /**
519
+ * The expanded route's durable step.
520
+ *
521
+ * With a derived target (create/update over the index) the CLI owns the seal:
522
+ * the authored artifacts are candidate files, and the manifest, the baseline
523
+ * and `PACKAGE.md` are DERIVED here the same candidate `publishDesignRevision`
524
+ * publishes, so the gate verdict the `012` computes runs NOW, inside `validate`,
525
+ * and an invalid tree is blocked before the first byte moves.
526
+ *
527
+ * Without one (`render`/`record`, or no index to derive from) the package is
528
+ * published exactly as authored. That verbatim path is the known limitation
529
+ * `decideRoute` documents, not a second contract.
530
+ */
531
+ async function packageProposal(ctx, report, route, answered) {
532
+ const target = route.packageTarget;
533
+ if (target === null) {
534
+ const artifacts = answered.map((a) => ({ path: a.path, content: a.content }));
535
+ const maturity = attainedMaturity(requestedMaturity(ctx), "outline", report);
536
+ const fields = {
537
+ package: packageInput(ctx),
538
+ baseline: null,
539
+ path: route.root.root,
540
+ root: route.root.kind,
541
+ indexable: isIndexable(route.root),
542
+ maturity: { requested: requestedMaturity(ctx), attained: maturity.attained },
543
+ sources: report.sources,
544
+ renditions: [],
545
+ route: routeOf(route.verdict),
546
+ };
547
+ return {
548
+ kind: "durable",
549
+ artifacts,
550
+ output: {
551
+ value: { design: fields, artifacts: artifacts.map((a) => a.path), gaps: maturity.gaps },
552
+ reference: null,
553
+ // The durable step has not run yet, so nothing is published. Claiming
554
+ // `complete` here would let a gate accept a proposal as a package.
555
+ completeness: "partial",
556
+ },
557
+ base: null,
558
+ };
559
+ }
560
+ // From workspace-relative to package-relative, which is the vocabulary the
561
+ // candidate builder speaks. The destination check already confined every
562
+ // answer to the package folder, so the prefix always strips.
563
+ const prefix = `${target.path}/`;
564
+ const files = [];
565
+ for (const artifact of answered) {
566
+ const relative = artifact.path.slice(prefix.length);
567
+ if (CLI_DERIVED_FILES.includes(relative) || relative.startsWith("baselines/")) {
568
+ return {
569
+ kind: "blocked",
570
+ failure: {
571
+ code: "DESIGN_FIELD_INVALID",
572
+ message: `'${artifact.path}' no se autora: lo deriva y sella el CLI`,
573
+ action: "quitalo de 'artifacts': el CLI deriva y sella design-manifest.json, baselines/ y PACKAGE.md a partir de los artefactos normativos",
574
+ },
575
+ };
576
+ }
577
+ files.push({ path: relative, content: artifact.content });
578
+ }
579
+ // The target only exists when `decideRoute` read the index, which it only
580
+ // does inside a workspace.
581
+ const candidate = await buildPackageCandidate(ctx.fs, ctx.workspace, {
582
+ manifest: target.manifest,
583
+ packagePath: target.path,
584
+ files,
585
+ published: localDateIso(new Date()),
586
+ });
587
+ if (!candidate.ok) {
588
+ // The gate's own verdict, with its real code and next action: this is where
589
+ // an invalid tree stops being publishable instead of being sealed verbatim.
590
+ const first = candidate.failures[0];
591
+ return {
592
+ kind: "blocked",
593
+ failure: {
594
+ code: first?.code ?? "DESIGN_FIELD_INVALID",
595
+ message: first?.message ?? "el package no cumple el contrato de publicación",
596
+ action: first?.action ?? "corregí los artefactos y volvé a responder",
597
+ },
598
+ };
599
+ }
600
+ // The gate passed over the merged catalog, so the verdict a proposal may
601
+ // claim is what THIS revision's flows and screens claim for themselves — the
602
+ // ones already sealed were judged when they were published.
603
+ const maturity = attainedMaturity(requestedMaturity(ctx), claimedMaturity(candidate.value.manifest, files), report);
361
604
  const fields = {
362
- package: packageInput(ctx),
363
- baseline: null,
364
- path: route.root.root,
605
+ package: target.packageId,
606
+ baseline: { revision: candidate.value.revision, digest: candidate.value.baseline.digest },
607
+ path: target.path,
365
608
  root: route.root.kind,
366
609
  indexable: isIndexable(route.root),
367
610
  maturity: { requested: requestedMaturity(ctx), attained: maturity.attained },
@@ -371,17 +614,48 @@ function packageProposal(ctx, report, route, answered) {
371
614
  };
372
615
  return {
373
616
  kind: "durable",
374
- artifacts,
617
+ artifacts: candidate.value.artifacts,
375
618
  output: {
376
- value: { design: fields, artifacts: artifacts.map((a) => a.path), gaps: maturity.gaps },
619
+ value: {
620
+ design: fields,
621
+ artifacts: candidate.value.artifacts.map((a) => a.path),
622
+ gaps: maturity.gaps,
623
+ },
377
624
  reference: null,
378
625
  // The durable step has not run yet, so nothing is published. Claiming
379
626
  // `complete` here would let a gate accept a proposal as a package.
380
627
  completeness: "partial",
381
628
  },
382
- base: null,
629
+ base: await packageManifestBase(ctx, target),
383
630
  };
384
631
  }
632
+ /** Package-relative file paths the CLI derives and seals — authoring one is rejected. */
633
+ const CLI_DERIVED_FILES = [DESIGN_MANIFEST_FILE, "PACKAGE.md"];
634
+ /**
635
+ * The maturity this revision's own flows and screens claim, as the merged
636
+ * catalog recorded it: `outline` as soon as one of them claims no more, and
637
+ * `handoff` when none says otherwise — the kinds without a maturity ladder
638
+ * have no vote.
639
+ */
640
+ function claimedMaturity(manifest, files) {
641
+ const introduced = new Set(files.map((f) => f.path));
642
+ const claims = [...manifest.catalog.flows, ...manifest.catalog.screens]
643
+ .filter((entry) => introduced.has(entry.path))
644
+ .map((entry) => entry.maturity);
645
+ return claims.includes("outline") ? "outline" : "handoff";
646
+ }
647
+ /**
648
+ * The compare-and-swap base of a package proposal: the manifest as it stood
649
+ * when the candidate was computed. Null when there is nothing on disk to have
650
+ * moved — a create is protected by its destinations not existing.
651
+ */
652
+ async function packageManifestBase(ctx, target) {
653
+ const path = `${target.path}/${DESIGN_MANIFEST_FILE}`;
654
+ const absolute = join(ctx.workspace, path);
655
+ if (!(await ctx.fs.exists(absolute)))
656
+ return null;
657
+ return { path, digest: baseDigest(await ctx.fs.readText(absolute)) };
658
+ }
385
659
  /** The verdict as the receipt states it: mode, signals and the one-line cause. */
386
660
  function routeOf(verdict) {
387
661
  return { mode: verdict.mode, signals: verdict.fired, cause: verdict.cause };
@@ -503,6 +777,30 @@ function contractFor(operation) {
503
777
  };
504
778
  return `${perOperation[operation] ?? ""} ${shared}`.trim();
505
779
  }
780
+ /**
781
+ * What a valid answer is on the SEALED package route: the normative artifacts,
782
+ * and nothing the CLI derives.
783
+ *
784
+ * The split is the same one the simple route states: the agent authors content,
785
+ * the CLI owns identity, sealing and projections. Naming the derived files in
786
+ * the contract is what keeps a hand-authored manifest or baseline from coming
787
+ * back as an answer — those arrive as a rejection, not as a silent overwrite.
788
+ */
789
+ function packageContract(operation, target) {
790
+ const perOperation = {
791
+ create: "Autorá la PRIMERA revisión del package a partir de las fuentes declaradas.",
792
+ update: "Autorá la revisión SIGUIENTE sobre la base declarada. No reescribas revisiones ya selladas.",
793
+ };
794
+ return [
795
+ perOperation[operation] ?? "",
796
+ `El id asignado es '${target.packageId}' y la carpeta '${target.path}': ambos van en el 'inventory' del request.`,
797
+ `El frontmatter de cada artefacto declara ese id de package (por ejemplo '${target.packageId}/FLW-001').`,
798
+ "NO autores 'design-manifest.json', nada bajo 'baselines/' ni 'PACKAGE.md': el CLI los deriva y sella a partir de tus artefactos, y rechaza la respuesta si los incluye.",
799
+ "Respondé un único objeto JSON con 'version', 'operation', 'input_digest', 'state': 'proposed' y 'artifacts': [{path, content}]. Cada 'path' es relativo al workspace y cae dentro de los destinos permitidos. Ningún artefacto inventa un formato: los del UI Design Package v1 son los únicos aceptados.",
800
+ ]
801
+ .join(" ")
802
+ .trim();
803
+ }
506
804
  function inputValue(ctx, name) {
507
805
  return ctx.request.inputs.find((i) => i.name === name)?.value;
508
806
  }
@@ -1 +1 @@
1
- {"version":3,"file":"design-handler.js","sourceRoot":"","sources":["../../../src/application/capability/design-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"design-handler.js","sourceRoot":"","sources":["../../../src/application/capability/design-handler.ts"],"names":[],"mappings":"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"}