@tacuchi/agent-workflow-cli 21.0.0 → 21.1.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 (153) hide show
  1. package/README.md +1 -0
  2. package/dist/application/capability/compose.js +161 -0
  3. package/dist/application/capability/compose.js.map +1 -0
  4. package/dist/application/capability/descriptor-loader.js +109 -0
  5. package/dist/application/capability/descriptor-loader.js.map +1 -0
  6. package/dist/application/capability/design-handler.js +299 -0
  7. package/dist/application/capability/design-handler.js.map +1 -0
  8. package/dist/application/capability/dispatcher.js +312 -0
  9. package/dist/application/capability/dispatcher.js.map +1 -0
  10. package/dist/application/capability/durable-effect.js +220 -0
  11. package/dist/application/capability/durable-effect.js.map +1 -0
  12. package/dist/application/capability/installed-inventory.js +168 -0
  13. package/dist/application/capability/installed-inventory.js.map +1 -0
  14. package/dist/application/capability/readiness.js +204 -0
  15. package/dist/application/capability/readiness.js.map +1 -0
  16. package/dist/application/capability/resolution.js +264 -0
  17. package/dist/application/capability/resolution.js.map +1 -0
  18. package/dist/application/capability/wrapper.js +187 -0
  19. package/dist/application/capability/wrapper.js.map +1 -0
  20. package/dist/application/context/manifest.js +11 -5
  21. package/dist/application/context/manifest.js.map +1 -1
  22. package/dist/application/context/measure.js +5 -2
  23. package/dist/application/context/measure.js.map +1 -1
  24. package/dist/application/context/plan-service.js +6 -6
  25. package/dist/application/context/plan-service.js.map +1 -1
  26. package/dist/application/design/design-bundle-service.js +148 -0
  27. package/dist/application/design/design-bundle-service.js.map +1 -0
  28. package/dist/application/design/design-proposal-service.js +69 -0
  29. package/dist/application/design/design-proposal-service.js.map +1 -0
  30. package/dist/application/design/design-publish-service.js +275 -7
  31. package/dist/application/design/design-publish-service.js.map +1 -1
  32. package/dist/application/design/design-record-service.js +100 -0
  33. package/dist/application/design/design-record-service.js.map +1 -0
  34. package/dist/application/flow/advance.js +533 -0
  35. package/dist/application/flow/advance.js.map +1 -0
  36. package/dist/application/flow/flow-service.js +65 -0
  37. package/dist/application/flow/flow-service.js.map +1 -0
  38. package/dist/application/flow/run-projection.js +80 -0
  39. package/dist/application/flow/run-projection.js.map +1 -0
  40. package/dist/application/flow/run-state-service.js +107 -0
  41. package/dist/application/flow/run-state-service.js.map +1 -0
  42. package/dist/application/flow/submit.js +423 -0
  43. package/dist/application/flow/submit.js.map +1 -0
  44. package/dist/application/resume-service.js +23 -10
  45. package/dist/application/resume-service.js.map +1 -1
  46. package/dist/application/self/install-skill.js +11 -0
  47. package/dist/application/self/install-skill.js.map +1 -1
  48. package/dist/application/self/uninstall.js +21 -0
  49. package/dist/application/self/uninstall.js.map +1 -1
  50. package/dist/application/skills-resolver-service.js +8 -2
  51. package/dist/application/skills-resolver-service.js.map +1 -1
  52. package/dist/application/status-service.js +4 -1
  53. package/dist/application/status-service.js.map +1 -1
  54. package/dist/application/workspace-init-service.js +13 -1
  55. package/dist/application/workspace-init-service.js.map +1 -1
  56. package/dist/cli/commands/capability.js +182 -0
  57. package/dist/cli/commands/capability.js.map +1 -0
  58. package/dist/cli/commands/flow.js +71 -0
  59. package/dist/cli/commands/flow.js.map +1 -0
  60. package/dist/cli/commands/index.js +4 -0
  61. package/dist/cli/commands/index.js.map +1 -1
  62. package/dist/cli/commands/skills.js +55 -2
  63. package/dist/cli/commands/skills.js.map +1 -1
  64. package/dist/cli/commands/status.js +5 -0
  65. package/dist/cli/commands/status.js.map +1 -1
  66. package/dist/cli/help-groups.js +6 -0
  67. package/dist/cli/help-groups.js.map +1 -1
  68. package/dist/cli/parser.js +6 -0
  69. package/dist/cli/parser.js.map +1 -1
  70. package/dist/cli/tui/data/workflow-content.js +5 -0
  71. package/dist/cli/tui/data/workflow-content.js.map +1 -1
  72. package/dist/cli/tui/tabs/workflow-tab.js +5 -1
  73. package/dist/cli/tui/tabs/workflow-tab.js.map +1 -1
  74. package/dist/domain/capability/descriptor.js +553 -0
  75. package/dist/domain/capability/descriptor.js.map +1 -0
  76. package/dist/domain/capability/effects.js +90 -0
  77. package/dist/domain/capability/effects.js.map +1 -0
  78. package/dist/domain/capability/protocol.js +494 -0
  79. package/dist/domain/capability/protocol.js.map +1 -0
  80. package/dist/domain/contract-reader.js +84 -0
  81. package/dist/domain/contract-reader.js.map +1 -0
  82. package/dist/domain/design/adapter.js +161 -0
  83. package/dist/domain/design/adapter.js.map +1 -0
  84. package/dist/domain/design/artifact.js +148 -4
  85. package/dist/domain/design/artifact.js.map +1 -1
  86. package/dist/domain/design/capability.js +263 -4
  87. package/dist/domain/design/capability.js.map +1 -1
  88. package/dist/domain/design/direct.js +108 -0
  89. package/dist/domain/design/direct.js.map +1 -0
  90. package/dist/domain/design/external-send.js +65 -0
  91. package/dist/domain/design/external-send.js.map +1 -0
  92. package/dist/domain/design/maturity.js +71 -0
  93. package/dist/domain/design/maturity.js.map +1 -1
  94. package/dist/domain/design/offline.js +92 -0
  95. package/dist/domain/design/offline.js.map +1 -0
  96. package/dist/domain/design/profiles.js +212 -0
  97. package/dist/domain/design/profiles.js.map +1 -0
  98. package/dist/domain/design/proposal.js +234 -0
  99. package/dist/domain/design/proposal.js.map +1 -0
  100. package/dist/domain/design/render-bundle.js +0 -0
  101. package/dist/domain/design/render-bundle.js.map +1 -0
  102. package/dist/domain/design/rendition.js +472 -0
  103. package/dist/domain/design/rendition.js.map +1 -0
  104. package/dist/domain/design/sources.js +180 -0
  105. package/dist/domain/design/sources.js.map +1 -0
  106. package/dist/domain/design/validation.js +12 -68
  107. package/dist/domain/design/validation.js.map +1 -1
  108. package/dist/domain/design/visual-evidence.js +155 -0
  109. package/dist/domain/design/visual-evidence.js.map +1 -0
  110. package/dist/domain/flow/answer.js +459 -0
  111. package/dist/domain/flow/answer.js.map +1 -0
  112. package/dist/domain/flow/authority.js +2276 -0
  113. package/dist/domain/flow/authority.js.map +1 -0
  114. package/dist/domain/flow/authorization.js +62 -0
  115. package/dist/domain/flow/authorization.js.map +1 -0
  116. package/dist/domain/flow/directive.js +421 -0
  117. package/dist/domain/flow/directive.js.map +1 -0
  118. package/dist/domain/flow/rules.js +140 -0
  119. package/dist/domain/flow/rules.js.map +1 -0
  120. package/dist/domain/flow/run-state.js +317 -0
  121. package/dist/domain/flow/run-state.js.map +1 -0
  122. package/dist/domain/harnesses.js +21 -0
  123. package/dist/domain/harnesses.js.map +1 -1
  124. package/dist/domain/skills.js +13 -14
  125. package/dist/domain/skills.js.map +1 -1
  126. package/package.json +1 -1
  127. package/skills/w/SKILL.md +5 -5
  128. package/skills/w/context/MANIFEST.json +38 -1
  129. package/skills/w/harness/HARNESS.md +20 -0
  130. package/skills/w/loops/CHASSIS.md +11 -20
  131. package/skills/w/loops/CODE-POLICIES.md +9 -15
  132. package/skills/w/loops/plan-exec-loop/LOOP.md +11 -13
  133. package/skills/w/loops/plan-new-loop/LOOP.md +6 -4
  134. package/skills/w/loops/plan-refine-loop/LOOP.md +5 -3
  135. package/skills/w/loops/quick-loop/LOOP.md +18 -26
  136. package/skills/w/loops/spec-refine-loop/LOOP.md +14 -18
  137. package/skills/w/modules/COMPACTION.md +2 -6
  138. package/skills/w/modules/DB-SCRIPTS-ONLY.md +2 -0
  139. package/skills/w/modules/DESIGN-REFERENCES.md +15 -11
  140. package/skills/w/modules/IDEATION-GATE.md +3 -3
  141. package/skills/w/modules/PLAN-EXECUTION-BATCHES.md +17 -36
  142. package/skills/w/modules/PLAN-INPUT.md +5 -3
  143. package/skills/w/modules/PLAN-REFINE-SPLIT.md +3 -1
  144. package/skills/w/modules/PLAN-SPLIT-GATE.md +7 -5
  145. package/skills/w/modules/PROMPT-CONTINUITY.md +3 -1
  146. package/skills/w/modules/SPEC-CHANGE-SHAPE.md +4 -4
  147. package/skills/w/roles/README.md +2 -0
  148. package/skills/w/roles/design/CONTRACT.md +80 -0
  149. package/skills/w/roles/design/ROLE.md +7 -0
  150. package/skills/w/schemas/capability-descriptor.schema.json +260 -0
  151. package/skills/w/schemas/design/design-render-bundle.v1.schema.json +191 -0
  152. package/skills/w/schemas/design/design-rendition.v1.schema.json +232 -0
  153. package/skills/w/schemas/design/ui-screen.v1.schema.json +29 -1
@@ -0,0 +1,92 @@
1
+ /**
2
+ * The offline guarantee of a portable export, checked as a REJECTION.
3
+ *
4
+ * AC-REN-07 is not "prefer local assets": an offline preview that loads a font,
5
+ * a script, an image or a datum from a URL shows something different the day the
6
+ * network, the CDN or the account is gone — and it fails silently, looking like a
7
+ * rendering quirk. So a remote resource here is a validation error, never a
8
+ * warning: the whole value of a local snapshot is that what you see is what the
9
+ * package contains.
10
+ *
11
+ * Two deliberate calls.
12
+ *
13
+ * **It scans text instead of parsing.** A parser would tell a reference apart
14
+ * from prose, at the cost of a dependency, and would still have to decide what a
15
+ * URL inside a `style` attribute is. Scanning over-detects at worst, and in this
16
+ * direction over-detection is the safe failure: the author moves the URL out of
17
+ * the export and the export stays self-sufficient.
18
+ *
19
+ * **A hyperlink counts too.** `<a href="https://figma.com/…">` loads nothing
20
+ * until somebody clicks it, so a stricter reading would let it through. It is
21
+ * still reported, because the package already has the right place for that
22
+ * pointer — `provider.locator` in `rendition.json`, where a locator is recorded
23
+ * as a locator and cannot be mistaken for the evidence. Keeping the export free
24
+ * of every absolute URL is also what makes this check a scan rather than a parse.
25
+ *
26
+ * What is allowed is what travels inside the file or beside it: `data:` URIs,
27
+ * fragments, and paths relative to the rendition's own directory.
28
+ */
29
+ /** A remote reference: any scheme-qualified or protocol-relative URL. */
30
+ const REMOTE_URL = /(?:\b[a-z][a-z0-9+.-]*:\/\/|(?<![a-z0-9+.:/])\/\/)[^\s"'`)<>]+/gi;
31
+ /** Schemes that carry their content inline, so they are not remote at all. */
32
+ const INLINE_SCHEMES = /^(?:data|blob|about|cid):/i;
33
+ /**
34
+ * `xmlns`/`xmlns:prefix` attributes, blanked before scanning.
35
+ *
36
+ * A namespace URI is an IDENTIFIER, not a fetch: nothing resolves
37
+ * `http://www.w3.org/2000/svg` over the network. And every inline SVG carries
38
+ * one, so treating it as a remote resource would reject exactly the format the
39
+ * static-preview requirement recommends.
40
+ */
41
+ const NAMESPACE_ATTRIBUTE = /\bxmlns(?::[A-Za-z][\w.-]*)?\s*=\s*(?:"[^"]*"|'[^']*')/gi;
42
+ /** Runtime calls that fetch at display time, whatever the URL looks like. */
43
+ const NETWORK_CALLS = [
44
+ [/\bfetch\s*\(/i, "fetch()"],
45
+ [/\bXMLHttpRequest\b/, "XMLHttpRequest"],
46
+ [/\bnew\s+WebSocket\b/, "WebSocket"],
47
+ [/\bnew\s+EventSource\b/, "EventSource"],
48
+ [/\bimportScripts\s*\(/i, "importScripts()"],
49
+ [/\bnavigator\s*\.\s*sendBeacon\b/, "navigator.sendBeacon()"],
50
+ ];
51
+ /**
52
+ * Judge an HTML export's self-sufficiency.
53
+ *
54
+ * Every finding quotes the offending text so the author can search for it: in a
55
+ * 400-line export, "there is a remote resource somewhere" is a dead end, and
56
+ * this is the one check whose fix always starts by finding that string.
57
+ */
58
+ export function checkOfflineHtml(html, artifact) {
59
+ const scannable = html.replace(NAMESPACE_ATTRIBUTE, "");
60
+ const failures = [];
61
+ for (const url of remoteUrls(scannable)) {
62
+ failures.push({
63
+ code: "DESIGN_REMOTE_RESOURCE",
64
+ artifact,
65
+ message: `el export referencia '${url}', que vive fuera del package`,
66
+ action: "un export portable es autosuficiente: incrustá el recurso (inline o como data: URI), usá una ruta relativa a la carpeta de la rendition, o registrá el locator del proveedor en 'provider.locator'",
67
+ });
68
+ }
69
+ for (const [pattern, what] of NETWORK_CALLS) {
70
+ if (!pattern.test(scannable))
71
+ continue;
72
+ failures.push({
73
+ code: "DESIGN_REMOTE_RESOURCE",
74
+ artifact,
75
+ message: `el export usa ${what}: pide datos en tiempo de visualización`,
76
+ action: "incrustá en el propio HTML los datos que la preview necesita: sin red tiene que verse igual",
77
+ });
78
+ }
79
+ return failures;
80
+ }
81
+ /** Every distinct remote URL in the text, in order of appearance. */
82
+ function remoteUrls(html) {
83
+ const out = [];
84
+ for (const match of html.matchAll(REMOTE_URL)) {
85
+ const url = match[0].replace(/[.,;:!?]+$/, "");
86
+ if (INLINE_SCHEMES.test(url) || out.includes(url))
87
+ continue;
88
+ out.push(url);
89
+ }
90
+ return out;
91
+ }
92
+ //# sourceMappingURL=offline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offline.js","sourceRoot":"","sources":["../../../src/domain/design/offline.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,yEAAyE;AACzE,MAAM,UAAU,GAAG,kEAAkE,CAAC;AAEtF,8EAA8E;AAC9E,MAAM,cAAc,GAAG,4BAA4B,CAAC;AAEpD;;;;;;;GAOG;AACH,MAAM,mBAAmB,GAAG,0DAA0D,CAAC;AAEvF,6EAA6E;AAC7E,MAAM,aAAa,GAAoC;IACrD,CAAC,eAAe,EAAE,SAAS,CAAC;IAC5B,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;IACxC,CAAC,qBAAqB,EAAE,WAAW,CAAC;IACpC,CAAC,uBAAuB,EAAE,aAAa,CAAC;IACxC,CAAC,uBAAuB,EAAE,iBAAiB,CAAC;IAC5C,CAAC,iCAAiC,EAAE,wBAAwB,CAAC;CAC9D,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,QAAgB;IAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,wBAAwB;YAC9B,QAAQ;YACR,OAAO,EAAE,yBAAyB,GAAG,+BAA+B;YACpE,MAAM,EACJ,oMAAoM;SACvM,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,SAAS;QACvC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,wBAAwB;YAC9B,QAAQ;YACR,OAAO,EAAE,iBAAiB,IAAI,yCAAyC;YACvE,MAAM,EACJ,6FAA6F;SAChG,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,qEAAqE;AACrE,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5D,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,212 @@
1
+ /**
2
+ * The v1 conformance profiles, and what each provider's locator has to say.
3
+ *
4
+ * Conformance v1 is deliberately small: two USABLE profiles, neither of which
5
+ * needs an account, an API key or a request. `portable-html` produces something a
6
+ * person can open; `figma` prepares the context and records where the result
7
+ * ended up. Everything else in this file is the same shape applied to the other
8
+ * destinations the spec names — Stitch, Claude Design, Claude.ai Artifacts — which
9
+ * receive the SAME bundle and register their own locators.
10
+ *
11
+ * Two rules make this a contract instead of a list.
12
+ *
13
+ * **A locator locates.** `file_key`, `project_id`, `artifact` — each provider has
14
+ * its own minimum, and a rendition claiming that provider has to carry it. What a
15
+ * locator never does is identify: the Workline id, revision and digest are the
16
+ * identity, and a locator that went missing costs a link, never the evidence.
17
+ *
18
+ * **A provider with no stable version says so here.** Whether the tool can name
19
+ * the exact version a snapshot came from is a property OF THE TOOL, not something
20
+ * a rendition can be blamed for. So it is declared per provider: where there is a
21
+ * stable version identity, `provider.version` is required; where there is none,
22
+ * `null` is the honest answer and `source_digest` plus the local snapshot are what
23
+ * keep the evidence verifiable.
24
+ */
25
+ /** The shared loss of every v1 profile: nothing here automates the tool. */
26
+ const MANUAL_OPERATION = {
27
+ subject: "operation:automation",
28
+ why: "la conformidad v1 prepara el contexto y registra el resultado; operar la herramienta es manual o asistido",
29
+ };
30
+ /**
31
+ * HTML portable / Claude Artifact — `handoff + record + snapshot`.
32
+ *
33
+ * The one profile that keeps a consultable copy, which is why it is the one that
34
+ * survives a dead account and a cut network. Its `network: never` is not a
35
+ * courtesy: an export under this profile that reaches for a URL is rejected by
36
+ * `checkOfflineHtml`.
37
+ */
38
+ export const PORTABLE_HTML = {
39
+ id: "portable-html",
40
+ title: "HTML portable / Claude Artifact",
41
+ version: 1,
42
+ capabilities: {
43
+ handoff: true,
44
+ record: true,
45
+ snapshot: true,
46
+ generate: false,
47
+ push: false,
48
+ pull: false,
49
+ compare: false,
50
+ },
51
+ losses: [
52
+ MANUAL_OPERATION,
53
+ {
54
+ subject: "medium:motion",
55
+ why: "un export estático no representa animación ni temporización; una transición se evidencia con un storyboard",
56
+ },
57
+ {
58
+ subject: "section:design_system_deltas",
59
+ why: "el HTML muestra el resultado, no el delta respecto del design system: eso vive en la screen",
60
+ },
61
+ ],
62
+ network: "never",
63
+ };
64
+ /**
65
+ * The four capabilities no v1 profile implements — declared false, not omitted.
66
+ *
67
+ * `handoff + record` is what conformance means for a provider-backed profile: the
68
+ * bundle is prepared and the result is registered, and the tool is operated by a
69
+ * person. Saying so here once is what keeps the four from drifting into "probably
70
+ * works" in one profile and "not supported" in the next.
71
+ */
72
+ const NOT_IN_V1 = { generate: false, push: false, pull: false, compare: false };
73
+ /** What every provider-backed profile is known to drop. */
74
+ const providerLosses = (name) => [
75
+ MANUAL_OPERATION,
76
+ {
77
+ subject: "authority:semantics",
78
+ why: `lo que se edite en ${name} no es la fuente: la Screen Specification sigue siendo la autoridad y una vuelta externa entra como propuesta`,
79
+ },
80
+ ];
81
+ /**
82
+ * Figma — `handoff + record`, the second half of v1 conformance.
83
+ *
84
+ * No API, no token, no request: it prepares the context and registers `file_key`,
85
+ * `node_id` and the version the result ended up at. That is deliberately the whole
86
+ * profile — automating `generate` or `pull` is explicitly out of scope, and
87
+ * declaring them false is how a caller finds that out without trying.
88
+ */
89
+ export const FIGMA = {
90
+ id: "figma",
91
+ title: "Figma",
92
+ version: 1,
93
+ capabilities: { handoff: true, record: true, snapshot: false, ...NOT_IN_V1 },
94
+ losses: providerLosses("Figma"),
95
+ network: "opt_in",
96
+ };
97
+ export const STITCH = {
98
+ id: "stitch",
99
+ title: "Stitch",
100
+ version: 1,
101
+ capabilities: { handoff: true, record: true, snapshot: false, ...NOT_IN_V1 },
102
+ losses: providerLosses("Stitch"),
103
+ network: "opt_in",
104
+ };
105
+ export const CLAUDE_DESIGN = {
106
+ id: "claude-design",
107
+ title: "Claude Design",
108
+ version: 1,
109
+ capabilities: { handoff: true, record: true, snapshot: false, ...NOT_IN_V1 },
110
+ losses: [
111
+ ...providerLosses("Claude Design"),
112
+ {
113
+ subject: "provider:version",
114
+ why: "no expone una versión estable a la que anclar un snapshot; lo verificable es el export local y su source_digest",
115
+ },
116
+ ],
117
+ network: "opt_in",
118
+ };
119
+ /**
120
+ * Claude.ai Artifacts — `handoff + record + snapshot`.
121
+ *
122
+ * The one provider-backed profile that also snapshots, because an artifact IS an
123
+ * HTML export: what it registers is where the artifact lives, and what it keeps is
124
+ * the same self-sufficient file `portable-html` produces.
125
+ */
126
+ export const CLAUDE_ARTIFACT = {
127
+ id: "claude-artifact",
128
+ title: "Claude.ai Artifacts",
129
+ version: 1,
130
+ capabilities: { handoff: true, record: true, snapshot: true, ...NOT_IN_V1 },
131
+ losses: providerLosses("Claude.ai"),
132
+ network: "opt_in",
133
+ };
134
+ /** Every registered profile, by id. */
135
+ export const DESIGN_ADAPTERS = {
136
+ [PORTABLE_HTML.id]: PORTABLE_HTML,
137
+ [FIGMA.id]: FIGMA,
138
+ [STITCH.id]: STITCH,
139
+ [CLAUDE_DESIGN.id]: CLAUDE_DESIGN,
140
+ [CLAUDE_ARTIFACT.id]: CLAUDE_ARTIFACT,
141
+ };
142
+ /**
143
+ * Locator minimums per provider name, as the spec states them.
144
+ *
145
+ * Keyed by `provider.name` rather than by profile id because a rendition records
146
+ * the tool it came out of, and the same tool may be reached by more than one
147
+ * profile. A name that is not here is not an error: `provider.name` is free text
148
+ * and a package may register a tool this Workline never heard of — what would be
149
+ * wrong is INVENTING a requirement for it.
150
+ */
151
+ export const LOCATOR_REQUIREMENTS = {
152
+ figma: { required: ["file_key", "node_id"], anyOf: [], stableVersion: true },
153
+ stitch: { required: ["project_id", "screen_id"], anyOf: [], stableVersion: true },
154
+ // Claude Design identifies the project or the URL, and the handoff/export it
155
+ // produced; it exposes no version identity a snapshot can be pinned to.
156
+ "claude-design": {
157
+ required: [],
158
+ anyOf: [["project_id", "url"], ["export"]],
159
+ stableVersion: false,
160
+ },
161
+ "claude-artifact": {
162
+ required: [],
163
+ anyOf: [["artifact_id", "url"], ["export"]],
164
+ stableVersion: true,
165
+ },
166
+ };
167
+ /**
168
+ * Does this rendition's provider locate what it claims to?
169
+ *
170
+ * Returns `[]` for a purely local rendition: `provider: null` is the normal shape
171
+ * of the evidence that does not depend on anybody, and demanding a locator for it
172
+ * would invert the whole point of the local path.
173
+ */
174
+ export function checkProviderLocator(provider, artifact) {
175
+ if (provider === null)
176
+ return [];
177
+ const rule = LOCATOR_REQUIREMENTS[provider.name];
178
+ if (rule === undefined)
179
+ return [];
180
+ const failures = [];
181
+ const has = (key) => (provider.locator[key] ?? "").length > 0;
182
+ for (const key of rule.required) {
183
+ if (has(key))
184
+ continue;
185
+ failures.push({
186
+ code: "DESIGN_LOCATOR_INCOMPLETE",
187
+ artifact,
188
+ message: `el locator de '${provider.name}' no trae '${key}'`,
189
+ action: `un locator de ${provider.name} necesita ${rule.required.join(" y ")}: completalo, o registrá la rendition como local (provider: null)`,
190
+ });
191
+ }
192
+ for (const group of rule.anyOf) {
193
+ if (group.some(has))
194
+ continue;
195
+ failures.push({
196
+ code: "DESIGN_LOCATOR_INCOMPLETE",
197
+ artifact,
198
+ message: `el locator de '${provider.name}' no trae ninguno de ${group.join(", ")}`,
199
+ action: `declará al menos uno de ${group.join(" o ")}: un locator que no localiza nada es peor que ninguno`,
200
+ });
201
+ }
202
+ if (rule.stableVersion && provider.version === null) {
203
+ failures.push({
204
+ code: "DESIGN_LOCATOR_INCOMPLETE",
205
+ artifact,
206
+ message: `'${provider.name}' expone una versión estable y esta rendition no la registra`,
207
+ action: "copiá la versión del objeto externo (version_id, timestamp o equivalente): sin ella nadie puede decir de qué estado salió el snapshot",
208
+ });
209
+ }
210
+ return failures;
211
+ }
212
+ //# sourceMappingURL=profiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../../src/domain/design/profiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,234 @@
1
+ import { parseBody } from "./artifact-body.js";
2
+ import { splitDesignDocument, validateDesignArtifact } from "./artifact.js";
3
+ import { parseArtifactRef } from "./identity.js";
4
+ import { checkSourcesStale, computeSourceDigest, } from "./rendition.js";
5
+ /**
6
+ * Judge a proposal without touching anything.
7
+ *
8
+ * The staleness check runs FIRST and short-circuits the delta: comparing a
9
+ * proposal against a revision it never saw would produce a diff that describes
10
+ * neither what the author changed nor what the package says, which is worse than
11
+ * no diff at all.
12
+ */
13
+ export function reviewExternalProposal(input) {
14
+ const base = {
15
+ package: input.base.package,
16
+ baseline: input.base.baseline,
17
+ source_digest: baseSourceDigestOf(input.base),
18
+ };
19
+ const stale = checkSourcesStale(`${input.base.package}@r${input.base.baseline}`, sourcesOf(input.base), base.source_digest, input.current);
20
+ if (stale !== null) {
21
+ return {
22
+ ok: false,
23
+ base,
24
+ stale,
25
+ delta: [],
26
+ failures: [staleBaseFailure(stale, input.base)],
27
+ reconciliation_required: true,
28
+ };
29
+ }
30
+ const delta = input.documents.map((doc) => deltaOf(doc, input.base, input.currentText));
31
+ const failures = delta.flatMap((d) => d.failures);
32
+ return {
33
+ ok: failures.length === 0,
34
+ base,
35
+ stale: null,
36
+ delta,
37
+ failures,
38
+ reconciliation_required: true,
39
+ };
40
+ }
41
+ /** The closure of a bundle, as the (ref, sha256) pairs staleness is derived from. */
42
+ function sourcesOf(bundle) {
43
+ return bundle.closure.map((m) => ({ ref: m.ref, sha256: m.sha256 }));
44
+ }
45
+ /**
46
+ * The base token: one digest over everything the bundle handed out.
47
+ *
48
+ * The SAME token a rendition computes over its sources, on purpose: an external
49
+ * return may come from a bundle or from a snapshot, and having two spellings of
50
+ * one fact is how false conflicts get in.
51
+ */
52
+ export function baseSourceDigestOf(bundle) {
53
+ return computeSourceDigest(sourcesOf(bundle));
54
+ }
55
+ /**
56
+ * The base moved. `DESIGN_BASE_STALE` on purpose — it is the same event the
57
+ * compare-and-swap of a publication reports, and giving it a second code would
58
+ * make the two read as different problems.
59
+ */
60
+ function staleBaseFailure(stale, bundle) {
61
+ return {
62
+ code: "DESIGN_BASE_STALE",
63
+ artifact: `${bundle.package}/render-bundle.json`,
64
+ message: `la propuesta se generó desde ${stale.subject} y ese contenido ya cambió (${stale.moved.join(", ") || "sus fuentes"})`,
65
+ action: "cortá un bundle nuevo desde la revisión vigente y rehacé la edición sobre él: una base obsoleta no sobrescribe lo publicado",
66
+ };
67
+ }
68
+ /** What changed in one proposed document, against the revision it was cut from. */
69
+ function deltaOf(doc, base, currentText) {
70
+ const member = base.closure.find((m) => m.path === doc.path);
71
+ const ref = member?.ref ?? doc.path;
72
+ const empty = { ref, path: doc.path, changes: [], prose_changed: [] };
73
+ if (member === undefined) {
74
+ return {
75
+ ...empty,
76
+ failures: [
77
+ {
78
+ code: "DESIGN_REFERENCE_MISSING",
79
+ artifact: doc.path,
80
+ message: `'${doc.path}' no estaba en el bundle que se entregó`,
81
+ action: "una propuesta modifica lo que recibió: si es contenido nuevo, autoralo como revisión nueva en vez de devolverlo como propuesta",
82
+ },
83
+ ],
84
+ };
85
+ }
86
+ const proposed = validateDesignArtifact(doc.content, doc.kind, doc.path);
87
+ if (!proposed.ok || proposed.value === null) {
88
+ return { ...empty, failures: proposed.failures };
89
+ }
90
+ const before = currentText.get(doc.path);
91
+ if (before === undefined) {
92
+ return {
93
+ ...empty,
94
+ failures: [
95
+ {
96
+ code: "DESIGN_REFERENCE_FILE_MISSING",
97
+ artifact: doc.path,
98
+ message: `'${doc.path}' no se pudo leer del package para comparar`,
99
+ action: "restauralo: sin la revisión base no hay delta que mostrar, solo una sobrescritura",
100
+ },
101
+ ],
102
+ };
103
+ }
104
+ const current = validateDesignArtifact(before, doc.kind, doc.path);
105
+ if (!current.ok || current.value === null) {
106
+ return { ...empty, failures: current.failures };
107
+ }
108
+ return {
109
+ ref,
110
+ path: doc.path,
111
+ changes: fieldChanges(current.value, proposed.value),
112
+ prose_changed: changedSections(before, doc.content),
113
+ failures: [],
114
+ };
115
+ }
116
+ /** Frontmatter fields, rendered as text so a scalar and a list compare the same way. */
117
+ function fieldsOf(doc) {
118
+ const common = [
119
+ ["revision", String(doc.revision)],
120
+ ["maturity", doc.maturity],
121
+ ["purpose", doc.purpose],
122
+ ["platform", doc.platform],
123
+ ["trace", doc.trace.map((t) => t.criterion).join(", ")],
124
+ ];
125
+ if (doc.kind === "flow") {
126
+ return [
127
+ ...common,
128
+ ["actors", doc.actors.join(", ")],
129
+ ["entry", doc.entry],
130
+ ["nodes", doc.nodes.join(", ")],
131
+ ["edges", doc.edges.map((e) => `${e.from} -[${e.trigger}]-> ${e.to}`).join(" · ")],
132
+ ["dependencies", doc.dependencies.join(", ")],
133
+ ];
134
+ }
135
+ return [
136
+ ...common,
137
+ ["title", doc.title],
138
+ ["default_state", doc.default_state],
139
+ ["states", doc.states.map((s) => s.anchor).join(", ")],
140
+ ["flow_refs", doc.flow_refs.join(", ")],
141
+ ["dependencies.rules", doc.dependencies.rules.join(", ")],
142
+ ["dependencies.tokens", doc.dependencies.tokens.join(", ")],
143
+ ["dependencies.assets", doc.dependencies.assets.join(", ")],
144
+ [
145
+ "trace.classification",
146
+ doc.trace.map((t) => `${t.criterion}=${t.classification ?? "sin clasificar"}`).join(", "),
147
+ ],
148
+ ];
149
+ }
150
+ function fieldChanges(current, proposed) {
151
+ const after = new Map(fieldsOf(proposed));
152
+ const out = [];
153
+ for (const [field, before] of fieldsOf(current)) {
154
+ const value = after.get(field) ?? "";
155
+ if (value === before)
156
+ continue;
157
+ out.push({ field, before, after: value });
158
+ }
159
+ return out;
160
+ }
161
+ /**
162
+ * Which `##` sections changed. Only their names: the body is prose, and this
163
+ * refuses to paraphrase it — "«Accessibility» cambió" is a fact a reviewer can act
164
+ * on, while a generated summary of what it now says is a claim nobody authored.
165
+ */
166
+ function changedSections(before, after) {
167
+ const sectionsOf = (text) => {
168
+ const split = splitDesignDocument(text);
169
+ if (split === null)
170
+ return new Map();
171
+ return new Map(parseBody(split.body, split.bodyLine).sections.map((s) => [s.heading, s.text]));
172
+ };
173
+ const from = sectionsOf(before);
174
+ const to = sectionsOf(after);
175
+ const out = [];
176
+ for (const [heading, text] of to) {
177
+ if (from.get(heading) !== text)
178
+ out.push(heading);
179
+ }
180
+ for (const heading of from.keys()) {
181
+ if (!to.has(heading))
182
+ out.push(`${heading} (quitada)`);
183
+ }
184
+ return out;
185
+ }
186
+ export function reconcileProposal(review, decision) {
187
+ const refuse = (message, action) => ({
188
+ ok: false,
189
+ failures: [
190
+ {
191
+ code: "DESIGN_RECONCILIATION_REQUIRED",
192
+ artifact: `${review.base.package}@r${review.base.baseline}`,
193
+ message,
194
+ action,
195
+ },
196
+ ],
197
+ });
198
+ if (!review.ok) {
199
+ return refuse("la propuesta no está en condiciones de reconciliarse", review.stale === null
200
+ ? "corregí los documentos propuestos y volvé a revisar: no se reconcilia lo que no valida"
201
+ : "la base quedó obsoleta: cortá un bundle nuevo desde la revisión vigente y rehacé la edición");
202
+ }
203
+ if (decision.accept.length === 0) {
204
+ return refuse("ninguna revisión fue aceptada", "aceptá explícitamente las revisiones que entran: una propuesta no se convierte en @rN+1 por haber sido revisada");
205
+ }
206
+ if (decision.rationale.trim().length === 0) {
207
+ return refuse("la reconciliación no dice por qué se acepta", "escribí el motivo: es el registro de que alguien lo decidió, y lo único que quedará dentro de seis meses");
208
+ }
209
+ const known = new Map(review.delta.map((d) => [d.ref, d]));
210
+ const unresolved = decision.accept.filter((ref) => !known.has(ref) || parseArtifactRef(ref) === null);
211
+ if (unresolved.length > 0) {
212
+ return refuse(`la decisión acepta ${unresolved.join(", ")} y la revisión no lo trae como una referencia resoluble`, "aceptá solo lo que la propuesta trajo: revisá los refs del delta");
213
+ }
214
+ return {
215
+ ok: true,
216
+ value: {
217
+ package: review.base.package,
218
+ expected_base: `${review.base.package}@r${review.base.baseline}`,
219
+ target_baseline: review.base.baseline + 1,
220
+ accepted: decision.accept.map((ref) => {
221
+ const entry = known.get(ref);
222
+ const parsed = parseArtifactRef(ref);
223
+ return {
224
+ ref,
225
+ path: entry.path,
226
+ must_supersede: ref,
227
+ target_revision: parsed.revision + 1,
228
+ };
229
+ }),
230
+ rationale: decision.rationale,
231
+ },
232
+ };
233
+ }
234
+ //# sourceMappingURL=proposal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposal.js","sourceRoot":"","sources":["../../../src/domain/design/proposal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-bundle.js","sourceRoot":"","sources":["../../../src/domain/design/render-bundle.ts"],"names":[],"mappings":"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"}