@tacuchi/agent-workflow-cli 21.16.0 → 22.0.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 (209) hide show
  1. package/README.md +4 -16
  2. package/dist/adapters/git-cli.js +36 -0
  3. package/dist/adapters/git-cli.js.map +1 -1
  4. package/dist/application/capability/design-handler.js +472 -177
  5. package/dist/application/capability/design-handler.js.map +1 -1
  6. package/dist/application/capability/dispatcher.js +1 -1
  7. package/dist/application/capability/dispatcher.js.map +1 -1
  8. package/dist/application/capability/durable-effect.js +1 -1
  9. package/dist/application/capability/durable-effect.js.map +1 -1
  10. package/dist/application/check-branch-service.js +1 -0
  11. package/dist/application/check-branch-service.js.map +1 -1
  12. package/dist/application/checkpoint-service.js +4 -3
  13. package/dist/application/checkpoint-service.js.map +1 -1
  14. package/dist/application/design/consumer-document.js +179 -0
  15. package/dist/application/design/consumer-document.js.map +1 -0
  16. package/dist/application/design/design-content-gate-service.js +9 -1
  17. package/dist/application/design/design-content-gate-service.js.map +1 -1
  18. package/dist/application/design/design-gate-service.js +18 -1
  19. package/dist/application/design/design-gate-service.js.map +1 -1
  20. package/dist/application/design/design-index-service.js +22 -3
  21. package/dist/application/design/design-index-service.js.map +1 -1
  22. package/dist/application/design/design-publish-service.js +44 -136
  23. package/dist/application/design/design-publish-service.js.map +1 -1
  24. package/dist/application/design/design-simple-service.js +38 -24
  25. package/dist/application/design/design-simple-service.js.map +1 -1
  26. package/dist/application/dev-only-services.js +19 -12
  27. package/dist/application/dev-only-services.js.map +1 -1
  28. package/dist/application/docs-canon-service.js +79 -5
  29. package/dist/application/docs-canon-service.js.map +1 -1
  30. package/dist/application/dsn-reader-service.js +12 -47
  31. package/dist/application/dsn-reader-service.js.map +1 -1
  32. package/dist/application/export-service.js +20 -11
  33. package/dist/application/export-service.js.map +1 -1
  34. package/dist/application/flow/flow-service.js +25 -0
  35. package/dist/application/flow/flow-service.js.map +1 -1
  36. package/dist/application/flow/internal-actions.js +5 -0
  37. package/dist/application/flow/internal-actions.js.map +1 -1
  38. package/dist/application/flow/submit.js +152 -22
  39. package/dist/application/flow/submit.js.map +1 -1
  40. package/dist/application/history-table.js +82 -44
  41. package/dist/application/history-table.js.map +1 -1
  42. package/dist/application/history-update-service.js +19 -9
  43. package/dist/application/history-update-service.js.map +1 -1
  44. package/dist/application/hook-git-commit-advisor.js +5 -4
  45. package/dist/application/hook-git-commit-advisor.js.map +1 -1
  46. package/dist/application/hook-sql-mutation-guard.js +1 -1
  47. package/dist/application/hook-sql-mutation-guard.js.map +1 -1
  48. package/dist/application/lifecycle-target.js +1 -0
  49. package/dist/application/lifecycle-target.js.map +1 -1
  50. package/dist/application/local-proposal.js +47 -23
  51. package/dist/application/local-proposal.js.map +1 -1
  52. package/dist/application/mcp-connections-service.js +37 -2
  53. package/dist/application/mcp-connections-service.js.map +1 -1
  54. package/dist/application/mcp-dbhub-launcher.js +22 -50
  55. package/dist/application/mcp-dbhub-launcher.js.map +1 -1
  56. package/dist/application/mcp-doctor-service.js +14 -23
  57. package/dist/application/mcp-doctor-service.js.map +1 -1
  58. package/dist/application/mcp-remove-service.js +3 -3
  59. package/dist/application/mcp-remove-service.js.map +1 -1
  60. package/dist/application/mcp-setup-service.js +4 -4
  61. package/dist/application/mcp-setup-service.js.map +1 -1
  62. package/dist/application/mcp-test-connection-service.js +4 -6
  63. package/dist/application/mcp-test-connection-service.js.map +1 -1
  64. package/dist/application/parsers/phases.js +17 -5
  65. package/dist/application/parsers/phases.js.map +1 -1
  66. package/dist/application/parsers/project-block.js +5 -11
  67. package/dist/application/parsers/project-block.js.map +1 -1
  68. package/dist/application/parsers/sessions-csv.js +16 -14
  69. package/dist/application/parsers/sessions-csv.js.map +1 -1
  70. package/dist/application/parsers/spec-relation.js +15 -11
  71. package/dist/application/parsers/spec-relation.js.map +1 -1
  72. package/dist/application/parsers/tasks.js +25 -1
  73. package/dist/application/parsers/tasks.js.map +1 -1
  74. package/dist/application/persist-service.js +67 -29
  75. package/dist/application/persist-service.js.map +1 -1
  76. package/dist/application/plugin-doctor/skills.js +1 -40
  77. package/dist/application/plugin-doctor/skills.js.map +1 -1
  78. package/dist/application/plugin-doctor-service.js +1 -3
  79. package/dist/application/plugin-doctor-service.js.map +1 -1
  80. package/dist/application/release-data/artifacts.js +1 -0
  81. package/dist/application/release-data/artifacts.js.map +1 -1
  82. package/dist/application/release-data/bundles.js +15 -6
  83. package/dist/application/release-data/bundles.js.map +1 -1
  84. package/dist/application/release-data/common.js +16 -7
  85. package/dist/application/release-data/common.js.map +1 -1
  86. package/dist/application/release-data/sessions.js +36 -8
  87. package/dist/application/release-data/sessions.js.map +1 -1
  88. package/dist/application/render/project-block.js +2 -2
  89. package/dist/application/render/project-block.js.map +1 -1
  90. package/dist/application/resume-service.js +9 -1
  91. package/dist/application/resume-service.js.map +1 -1
  92. package/dist/application/retirement/graph.js +14 -13
  93. package/dist/application/retirement/graph.js.map +1 -1
  94. package/dist/application/retirement/prepare.js +15 -2
  95. package/dist/application/retirement/prepare.js.map +1 -1
  96. package/dist/application/retirement/resolve.js.map +1 -1
  97. package/dist/application/self/clean-legacy.js +2 -4
  98. package/dist/application/self/clean-legacy.js.map +1 -1
  99. package/dist/application/self/mcp-config.js +8 -9
  100. package/dist/application/self/mcp-config.js.map +1 -1
  101. package/dist/application/session-close-service.js +8 -2
  102. package/dist/application/session-close-service.js.map +1 -1
  103. package/dist/application/session-create-service.js +26 -14
  104. package/dist/application/session-create-service.js.map +1 -1
  105. package/dist/application/session-resolver.js +80 -34
  106. package/dist/application/session-resolver.js.map +1 -1
  107. package/dist/application/session-resume-service.js +4 -3
  108. package/dist/application/session-resume-service.js.map +1 -1
  109. package/dist/application/source-boundary-policy.js +483 -0
  110. package/dist/application/source-boundary-policy.js.map +1 -0
  111. package/dist/application/status-service.js +1 -0
  112. package/dist/application/status-service.js.map +1 -1
  113. package/dist/application/workline-index-service.js +42 -20
  114. package/dist/application/workline-index-service.js.map +1 -1
  115. package/dist/application/workspace-migrate/apply.js +2 -4
  116. package/dist/application/workspace-migrate/apply.js.map +1 -1
  117. package/dist/application/workspace-migrate/plan.js +9 -6
  118. package/dist/application/workspace-migrate/plan.js.map +1 -1
  119. package/dist/application/workspace-migrate/preview.js +3 -3
  120. package/dist/application/workspace-migrate/preview.js.map +1 -1
  121. package/dist/application/worktree-service.js +3 -0
  122. package/dist/application/worktree-service.js.map +1 -1
  123. package/dist/cli/commands/capability.js +124 -5
  124. package/dist/cli/commands/capability.js.map +1 -1
  125. package/dist/cli/commands/designs.js +2 -6
  126. package/dist/cli/commands/designs.js.map +1 -1
  127. package/dist/cli/commands/dev-only.js +1 -1
  128. package/dist/cli/commands/dev-only.js.map +1 -1
  129. package/dist/cli/commands/flow.js +3 -1
  130. package/dist/cli/commands/flow.js.map +1 -1
  131. package/dist/cli/commands/index.js +0 -2
  132. package/dist/cli/commands/index.js.map +1 -1
  133. package/dist/cli/commands/mcp.js +53 -55
  134. package/dist/cli/commands/mcp.js.map +1 -1
  135. package/dist/cli/commands/persist.js +27 -21
  136. package/dist/cli/commands/persist.js.map +1 -1
  137. package/dist/cli/commands/resume.js +2 -2
  138. package/dist/cli/commands/resume.js.map +1 -1
  139. package/dist/cli/commands/session-create.js +2 -1
  140. package/dist/cli/commands/session-create.js.map +1 -1
  141. package/dist/cli/help-groups.js +0 -1
  142. package/dist/cli/help-groups.js.map +1 -1
  143. package/dist/cli/main.js +0 -0
  144. package/dist/cli/main.js.map +1 -1
  145. package/dist/cli/parser.js +1 -0
  146. package/dist/cli/parser.js.map +1 -1
  147. package/dist/cli/tui/data/recommended-skills.js +2 -2
  148. package/dist/cli/tui/data/recommended-skills.js.map +1 -1
  149. package/dist/cli/tui/tabs/mcp-tab-helpers.js +1 -1
  150. package/dist/cli/tui/tabs/mcp-tab.js +2 -2
  151. package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
  152. package/dist/domain/capability/protocol.js.map +1 -1
  153. package/dist/domain/correlative.js +121 -0
  154. package/dist/domain/correlative.js.map +1 -0
  155. package/dist/domain/design/capability.js +37 -3
  156. package/dist/domain/design/capability.js.map +1 -1
  157. package/dist/domain/design/direct.js.map +1 -1
  158. package/dist/domain/design/simple.js +33 -1
  159. package/dist/domain/design/simple.js.map +1 -1
  160. package/dist/domain/docs-canon.js +31 -0
  161. package/dist/domain/docs-canon.js.map +1 -0
  162. package/dist/domain/flow/answer.js +57 -1
  163. package/dist/domain/flow/answer.js.map +1 -1
  164. package/dist/domain/flow/authority.js +28 -29
  165. package/dist/domain/flow/authority.js.map +1 -1
  166. package/dist/domain/flow/execution-result.js +13 -1
  167. package/dist/domain/flow/execution-result.js.map +1 -1
  168. package/dist/domain/flow/run-state.js.map +1 -1
  169. package/dist/domain/mcp-entry.js +7 -12
  170. package/dist/domain/mcp-entry.js.map +1 -1
  171. package/dist/domain/retirement/selector.js +16 -14
  172. package/dist/domain/retirement/selector.js.map +1 -1
  173. package/dist/domain/source-boundary.js +3 -0
  174. package/dist/domain/source-boundary.js.map +1 -0
  175. package/dist/domain/workline-node.js +12 -5
  176. package/dist/domain/workline-node.js.map +1 -1
  177. package/dist/runtime/namespace-resolver.js +0 -3
  178. package/dist/runtime/namespace-resolver.js.map +1 -1
  179. package/package.json +5 -5
  180. package/skills/w/SKILL.md +2 -2
  181. package/skills/w/artifacts/artifacts-core/SCRIPTS.sql +14 -9
  182. package/skills/w/artifacts/artifacts-research/CONCLUSIONS.md +7 -0
  183. package/skills/w/commands/export-scripts.md +8 -2
  184. package/skills/w/commands/plan-new.md +1 -0
  185. package/skills/w/context/MANIFEST.json +2 -9
  186. package/skills/w/exports/export-scripts/EXPORT.md +13 -9
  187. package/skills/w/loops/CHASSIS.md +1 -1
  188. package/skills/w/loops/plan-exec-loop/LOOP.md +14 -10
  189. package/skills/w/loops/plan-new-loop/LOOP.md +16 -16
  190. package/skills/w/loops/plan-refine-loop/LOOP.md +6 -1
  191. package/skills/w/loops/quick-loop/LOOP.md +2 -2
  192. package/skills/w/loops/spec-refine-loop/LOOP.md +4 -0
  193. package/skills/w/modules/DB-RESEARCH-RULE.md +5 -5
  194. package/skills/w/modules/DB-SCRIPTS-ONLY.md +5 -6
  195. package/skills/w/modules/EXEC-DB-POLICY.md +2 -2
  196. package/skills/w/modules/PLAN-INPUT.md +11 -9
  197. package/skills/w/roles/sql/ROLE.md +9 -9
  198. package/dist/application/decisiones-service.js +0 -31
  199. package/dist/application/decisiones-service.js.map +0 -1
  200. package/dist/application/dev-bootstrap-dsn-service.js +0 -76
  201. package/dist/application/dev-bootstrap-dsn-service.js.map +0 -1
  202. package/dist/application/profile/profile-service.js +0 -199
  203. package/dist/application/profile/profile-service.js.map +0 -1
  204. package/dist/application/tasks-service.js +0 -45
  205. package/dist/application/tasks-service.js.map +0 -1
  206. package/dist/cli/commands/bootstrap-dsn.js +0 -16
  207. package/dist/cli/commands/bootstrap-dsn.js.map +0 -1
  208. package/dist/cli/tui/components/process-list.js +0 -43
  209. package/dist/cli/tui/components/process-list.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sessions-csv.js","sourceRoot":"","sources":["../../../src/application/parsers/sessions-csv.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEhF,MAAM,eAAe,GAAG,WAAW,CAAC;AAEpC,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,IAAI,CAAsC;IAEnD,YAAY,IAAyC,EAAE,OAAe;QACpE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,MAAM,GAAG,OAAO;SACnB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,gBAAgB,CACxB,eAAe,EACf,+BAA+B,CAAC,2BAA2B,CAC5D,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,iCAAiC,MAAM,GAAG,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,EAAkB,EAClB,WAAmB,EACnB,KAAwB;IAExB,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,gBAAgB,CACxB,iBAAiB,EACjB,uCAAuC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5D,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"sessions-csv.js","sourceRoot":"","sources":["../../../src/application/parsers/sessions-csv.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,9 @@
1
+ import { CORRELATIVE_SOURCE, compareCorrelatives } from "../../domain/correlative.js";
2
+ import { DEFAULT_CORE_DOCS_CANON } from "../../domain/docs-canon.js";
1
3
  import { parseMdSectionBilingual, scanMarkdown } from "../markdown.js";
2
- // Spec documents are `docs/specs/NNN-spec-<slug>.md`; the trailing character
3
- // class stops at the punctuation that surrounds a path in prose (backticks,
4
- // parens, quotes) so a Markdown link or an inline-code path still matches.
5
- const SPEC_PATH_RE = /docs\/specs\/(\d{3})-spec[^\s`)"']*\.md/g;
6
4
  // `Spec 011` / `spec 011` — a bare number is NOT evidence: `sesión 047` and
7
5
  // `baseline 044` would match it, and the whole point is to never guess.
8
- const SPEC_REFERENCE_RE = /\bspec\s+(\d{3})\b/gi;
6
+ const SPEC_REFERENCE_RE = new RegExp(`\\bspec\\s+(${CORRELATIVE_SOURCE})\\b`, "gi");
9
7
  const DERIVED_FROM_RE = /derived from/i;
10
8
  /**
11
9
  * The spec a plan declares as its source, by NUMBER — resolving the number
@@ -26,11 +24,12 @@ const DERIVED_FROM_RE = /derived from/i;
26
24
  * Two different specs at the same level is `ambiguous`, not a coin flip:
27
25
  * a human wrote something contradictory and only a human should settle it.
28
26
  */
29
- export function parseSpecRelation(text) {
27
+ export function parseSpecRelation(text, specDir = DEFAULT_CORE_DOCS_CANON.spec) {
28
+ const specPath = specPathPattern(specDir);
30
29
  const origin = parseMdSectionBilingual(text, "Origin") ?? "";
31
30
  const levels = [
32
- { evidence: "derived-from", numbers: derivedFromNumbers(text) },
33
- { evidence: "origin-path", numbers: matchNumbers(origin, SPEC_PATH_RE) },
31
+ { evidence: "derived-from", numbers: derivedFromNumbers(text, specPath) },
32
+ { evidence: "origin-path", numbers: matchNumbers(origin, specPath) },
34
33
  { evidence: "spec-reference", numbers: matchNumbers(origin, SPEC_REFERENCE_RE) },
35
34
  ];
36
35
  for (const { evidence, numbers } of levels) {
@@ -48,7 +47,7 @@ export function parseSpecRelation(text) {
48
47
  * between the title and the first `##` section. Bounded there so a plan that
49
48
  * quotes the marker inside its own prose does not re-declare its origin.
50
49
  */
51
- function derivedFromNumbers(text) {
50
+ function derivedFromNumbers(text, specPath) {
52
51
  const { lines, fenced, headings } = scanMarkdown(text);
53
52
  const firstSection = headings.find((h) => h.level >= 2);
54
53
  const end = firstSection?.line ?? lines.length;
@@ -59,10 +58,15 @@ function derivedFromNumbers(text) {
59
58
  continue;
60
59
  if (!DERIVED_FROM_RE.test(line))
61
60
  continue;
62
- found.push(...matchNumbers(line, SPEC_PATH_RE));
61
+ found.push(...matchNumbers(line, specPath));
63
62
  }
64
63
  return dedupe(found);
65
64
  }
65
+ /** Match a spec path under the workspace's declared documentary canon. */
66
+ function specPathPattern(specDir) {
67
+ const escaped = specDir.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
68
+ return new RegExp(`${escaped}/(${CORRELATIVE_SOURCE})-spec[^\\s\`)"']*\\.md`, "g");
69
+ }
66
70
  function matchNumbers(text, pattern) {
67
71
  const found = [];
68
72
  // Fresh instance per call: the module-level literals carry /g, whose lastIndex
@@ -75,6 +79,6 @@ function matchNumbers(text, pattern) {
75
79
  return dedupe(found);
76
80
  }
77
81
  function dedupe(numbers) {
78
- return [...new Set(numbers)].sort();
82
+ return [...new Set(numbers)].sort(compareCorrelatives);
79
83
  }
80
84
  //# sourceMappingURL=spec-relation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spec-relation.js","sourceRoot":"","sources":["../../../src/application/parsers/spec-relation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec-relation.js","sourceRoot":"","sources":["../../../src/application/parsers/spec-relation.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,27 @@
1
+ import { parsePlanSourceBoundary } from "../source-boundary-policy.js";
1
2
  const TASK_RE = /^\s*[-*]\s*\[([ xX])\]\s+(.+)$/;
2
3
  const DEP_RE = /\(deps?:\s*([^)]+)\)/i;
4
+ const SOURCES_RE = /_\(\s*fuentes\s*:\s*([^)]*)\)_/i;
3
5
  export function parseTasks(text, compact = true) {
4
6
  const items = [];
5
7
  let n = 0;
6
- for (const line of text.split("\n")) {
8
+ const declarations = new Map();
9
+ for (const phase of parsePlanSourceBoundary(text).phases) {
10
+ for (const task of phase.tasks) {
11
+ declarations.set(task.line, { phase: phase.n, sources: task.sources });
12
+ }
13
+ }
14
+ for (const [index, line] of text.split("\n").entries()) {
7
15
  const match = line.match(TASK_RE);
8
16
  if (!match || !match[1] || !match[2])
9
17
  continue;
10
18
  n += 1;
11
19
  const status = match[1].toLowerCase() === "x" ? "closed" : "open";
12
20
  let body = match[2].trim();
21
+ const declared = declarations.get(index + 1);
22
+ const sourceMatch = SOURCES_RE.exec(body);
23
+ const sources = declared?.sources ?? readSources(sourceMatch?.[1]);
24
+ body = body.replace(SOURCES_RE, "").trim();
13
25
  let deps = [];
14
26
  const depMatch = body.match(DEP_RE);
15
27
  if (depMatch?.[1]) {
@@ -20,6 +32,10 @@ export function parseTasks(text, compact = true) {
20
32
  body = body.replace(DEP_RE, "").trim();
21
33
  }
22
34
  const item = { n, status, text: body };
35
+ if (declared !== undefined)
36
+ item.phase = declared.phase;
37
+ if (sources !== null)
38
+ item.sources = sources;
23
39
  if (deps.length > 0 || !compact) {
24
40
  item.deps = deps;
25
41
  }
@@ -37,4 +53,12 @@ export function parseTasks(text, compact = true) {
37
53
  next_open: openItems[0] ?? null,
38
54
  };
39
55
  }
56
+ function readSources(raw) {
57
+ if (raw === undefined)
58
+ return null;
59
+ return raw
60
+ .split(",")
61
+ .map((source) => source.trim())
62
+ .filter((source) => source.length > 0);
63
+ }
40
64
  //# sourceMappingURL=tasks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../src/application/parsers/tasks.ts"],"names":[],"mappings":"AAkBA,MAAM,OAAO,GAAG,gCAAgC,CAAC;AACjD,MAAM,MAAM,GAAG,uBAAuB,CAAC;AAEvC,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,OAAO,GAAG,IAAI;IACrD,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAAE,SAAS;QAC/C,CAAC,IAAI,CAAC,CAAC;QACP,MAAM,MAAM,GAAe,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9E,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE3B,IAAI,IAAI,GAAa,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;iBACf,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,CAAC;QAED,MAAM,IAAI,GAAa,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjG,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,MAAM;QACnB,IAAI,EAAE,SAAS,CAAC,MAAM;QACtB,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,YAAY,EAAE,WAAW;QACzB,KAAK;QACL,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI;KAChC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../src/application/parsers/tasks.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { join } from "node:path";
2
+ import { CORRELATIVE_SOURCE, compareCorrelatives } from "../domain/correlative.js";
2
3
  import { runNextNumber } from "./dev-only-services.js";
4
+ import { resolveCoreDocsCanon } from "./docs-canon-service.js";
3
5
  import { withCwdLock } from "./lock-service.js";
4
6
  import { firstNonEmptyLine, parseMdSectionBilingual } from "./markdown.js";
5
7
  import { approvalDigest, buildSemanticRequest, parseSemanticResponse, semanticDigest, } from "./semantic-operation/protocol.js";
@@ -15,9 +17,9 @@ import { publishArtifacts } from "./semantic-operation/publish.js";
15
17
  * It never creates a session: sessions belong to loops.
16
18
  */
17
19
  const CATEGORIES = {
18
- research: { dir: "docs/research", infix: "research" },
19
- spec: { dir: "docs/specs", infix: "spec" },
20
- plan: { dir: "docs/plans", infix: "plan" },
20
+ research: { infix: "research" },
21
+ spec: { infix: "spec" },
22
+ plan: { infix: "plan" },
21
23
  };
22
24
  const OPERATION = "persist";
23
25
  const LIMITS = { max_artifacts: 1, max_artifact_bytes: 256 * 1024 };
@@ -33,11 +35,15 @@ const CONTRACT = [
33
35
  ].join(" ");
34
36
  // ── prepare ──────────────────────────────────────────────────────────────────
35
37
  export async function preparePersist(fs, env, paths) {
38
+ const canon = await resolveCoreDocsCanon(fs, paths);
39
+ if (!canon.ok)
40
+ return { ok: false, failure: canonFailure(canon.error) };
41
+ const categories = persistLayout(canon.canon);
36
42
  const cwd = paths.workspaceDir();
37
- const inventory = { categories: emptyCategories() };
43
+ const inventory = { categories: emptyCategories(categories) };
38
44
  const readSet = [];
39
45
  let readSetBytes = 0;
40
- for (const [name, category] of Object.entries(CATEGORIES)) {
46
+ for (const [name, category] of Object.entries(categories)) {
41
47
  const next = await runNextNumber(fs, env, paths, { directory: category.dir, dryRun: true });
42
48
  const docs = await readCategory(fs, join(cwd, category.dir), category.dir, category.infix);
43
49
  for (const doc of docs) {
@@ -46,24 +52,27 @@ export async function preparePersist(fs, env, paths) {
46
52
  }
47
53
  inventory.categories[name] = { destination: category.dir, next: next.next, docs };
48
54
  }
49
- return buildSemanticRequest({
50
- operation: OPERATION,
51
- // The seal covers the whole inventory: a document appearing anywhere in
52
- // docs/ between prepare and apply invalidates the duplicate check AND the
53
- // consultative numbering the answer reasoned over.
54
- inputs: inventory,
55
- contract: CONTRACT,
56
- inventory,
57
- allowedDestinations: Object.values(CATEGORIES).map((c) => c.dir),
58
- limits: LIMITS,
59
- readSet,
60
- readSetBytes,
61
- });
55
+ return {
56
+ ok: true,
57
+ value: buildSemanticRequest({
58
+ operation: OPERATION,
59
+ // The seal covers the whole inventory: a document appearing anywhere in
60
+ // docs/ between prepare and apply invalidates the duplicate check AND the
61
+ // consultative numbering the answer reasoned over.
62
+ inputs: inventory,
63
+ contract: CONTRACT,
64
+ inventory,
65
+ allowedDestinations: Object.values(categories).map((c) => c.dir),
66
+ limits: LIMITS,
67
+ readSet,
68
+ readSetBytes,
69
+ }),
70
+ };
62
71
  }
63
72
  async function readCategory(fs, dir, relative, infix) {
64
73
  if (!(await safeExists(fs, dir)))
65
74
  return [];
66
- const pattern = new RegExp(`^(\\d{3})-${infix}(?:-(.+))?\\.md$`, "i");
75
+ const pattern = new RegExp(`^(${CORRELATIVE_SOURCE})-${infix}(?:-(.+))?\\.md$`, "i");
67
76
  const out = [];
68
77
  let entries;
69
78
  try {
@@ -90,7 +99,7 @@ async function readCategory(fs, dir, relative, infix) {
90
99
  // skip unreadable doc
91
100
  }
92
101
  }
93
- return out.sort((a, b) => a.number.localeCompare(b.number));
102
+ return out.sort((a, b) => compareCorrelatives(a.number, b.number));
94
103
  }
95
104
  function summarize(text) {
96
105
  for (const heading of ["Objective", "Origin", "Requirement"]) {
@@ -113,7 +122,10 @@ export function validatePersist(raw, request) {
113
122
  if (artifact === undefined) {
114
123
  return { ok: false, failure: reject("la respuesta no trae ningún artefacto") };
115
124
  }
116
- const category = CATEGORIES[decisions.value.category];
125
+ const category = categoryFromRequest(request, decisions.value.category);
126
+ if (category === null) {
127
+ return { ok: false, failure: canonFailure("el request no declara el destino de la categoría") };
128
+ }
117
129
  const shape = checkFilename(artifact.path, category.dir, category.infix, decisions.value.slug);
118
130
  if (shape !== null)
119
131
  return { ok: false, failure: shape };
@@ -184,7 +196,7 @@ function readDecisions(response, request) {
184
196
  };
185
197
  }
186
198
  function checkFilename(path, dir, infix, slug) {
187
- const expected = new RegExp(`^${dir}/\\d{3}-${infix}-${slug}\\.md$`);
199
+ const expected = new RegExp(`^${dir}/${CORRELATIVE_SOURCE}-${infix}-${slug}\\.md$`);
188
200
  if (expected.test(path))
189
201
  return null;
190
202
  return reject(`'${path}' no respeta ${dir}/NNN-${infix}-${slug}.md`);
@@ -219,10 +231,15 @@ export async function applyPersist(fs, env, paths, input) {
219
231
  return { ok: false, failure: reject("la respuesta no trae ningún artefacto") };
220
232
  }
221
233
  const preview = validated.value.preview;
222
- const category = CATEGORIES[preview.category];
234
+ const category = categoryFromRequest(input.request, preview.category);
235
+ if (category === null) {
236
+ return { ok: false, failure: canonFailure("el request no declara el destino de la categoría") };
237
+ }
223
238
  const result = await withCwdLock(fs, paths, async () => {
224
239
  const fresh = await preparePersist(fs, env, paths);
225
- if (fresh.input_digest !== input.request.input_digest) {
240
+ if (!fresh.ok)
241
+ return { ok: false, failure: fresh.failure };
242
+ if (fresh.value.input_digest !== input.request.input_digest) {
226
243
  return {
227
244
  ok: false,
228
245
  failure: {
@@ -257,14 +274,35 @@ export async function applyPersist(fs, env, paths, input) {
257
274
  };
258
275
  }
259
276
  function slugOf(path, infix) {
260
- return new RegExp(`\\d{3}-${infix}-(.+)\\.md$`).exec(path)?.[1] ?? "sin-slug";
277
+ return new RegExp(`${CORRELATIVE_SOURCE}-${infix}-(.+)\\.md$`).exec(path)?.[1] ?? "sin-slug";
261
278
  }
262
279
  // ── helpers ──────────────────────────────────────────────────────────────────
263
- function emptyCategories() {
280
+ function emptyCategories(categories) {
281
+ return {
282
+ research: { destination: categories.research.dir, next: "001", docs: [] },
283
+ spec: { destination: categories.spec.dir, next: "001", docs: [] },
284
+ plan: { destination: categories.plan.dir, next: "001", docs: [] },
285
+ };
286
+ }
287
+ function persistLayout(canon) {
288
+ return {
289
+ research: { dir: canon.research, infix: CATEGORIES.research.infix },
290
+ spec: { dir: canon.spec, infix: CATEGORIES.spec.infix },
291
+ plan: { dir: canon.plan, infix: CATEGORIES.plan.infix },
292
+ };
293
+ }
294
+ function categoryFromRequest(request, category) {
295
+ const inventory = request.inventory;
296
+ const destination = inventory.categories?.[category]?.destination;
297
+ if (typeof destination !== "string")
298
+ return null;
299
+ return { dir: destination, infix: CATEGORIES[category].infix };
300
+ }
301
+ function canonFailure(message) {
264
302
  return {
265
- research: { destination: CATEGORIES.research.dir, next: "001", docs: [] },
266
- spec: { destination: CATEGORIES.spec.dir, next: "001", docs: [] },
267
- plan: { destination: CATEGORIES.plan.dir, next: "001", docs: [] },
303
+ code: "DOCS_CANON_INVALID",
304
+ message,
305
+ action: "corregí la tabla [docs] de skills.toml o quitá la entrada para usar el destino por defecto",
268
306
  };
269
307
  }
270
308
  function reject(message) {
@@ -1 +1 @@
1
- {"version":3,"file":"persist-service.js","sourceRoot":"","sources":["../../src/application/persist-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persist-service.js","sourceRoot":"","sources":["../../src/application/persist-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGnF,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAsB,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAE3E,OAAO,EAKL,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,GACf,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE;;;;;;;;;GASG;AAEH,MAAM,UAAU,GAAG;IACjB,QAAQ,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;IAC/B,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;IACvB,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;CACf,CAAC;AAMX,MAAM,SAAS,GAAG,SAAS,CAAC;AAC5B,MAAM,MAAM,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,kBAAkB,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC;AACpE,MAAM,OAAO,GAAG,4BAA4B,CAAC;AAE7C,MAAM,QAAQ,GAAG;IACf,gGAAgG;IAChG,mDAAmD;IACnD,yFAAyF;IACzF,2FAA2F;IAC3F,8FAA8F;IAC9F,oEAAoE;IACpE,kFAAkF;CACnF,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AA2CZ,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,EAAkB,EAClB,GAAY,EACZ,KAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IACxE,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IACjC,MAAM,SAAS,GAAqB,EAAE,UAAU,EAAE,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;IAChF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAEvD,EAAE,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3F,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvB,YAAY,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QACrC,CAAC;QACD,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IACpF,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,oBAAoB,CAAC;YAC1B,SAAS,EAAE,SAAS;YACpB,wEAAwE;YACxE,0EAA0E;YAC1E,mDAAmD;YACnD,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,QAAQ;YAClB,SAAS;YACT,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAChE,MAAM,EAAE,MAAM;YACd,OAAO;YACP,YAAY;SACb,CAAC;KACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,EAAkB,EAClB,GAAW,EACX,QAAgB,EAChB,KAAa;IAEb,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,KAAK,kBAAkB,KAAK,KAAK,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACrF,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,IAAI,OAAoD,CAAC;IACzD,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAAE,SAAS;QACnD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,GAAG,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE;gBACjC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;gBAChB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;gBACpB,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC;gBACxB,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC;aAC7B,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,KAAK,MAAM,OAAO,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC5E,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,gFAAgF;AAEhF,MAAM,UAAU,eAAe,CAC7B,GAAW,EACX,OAAwB;IAExB,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC;IAE9B,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACvD,IAAI,CAAC,SAAS,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAEpC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,uCAAuC,CAAC,EAAE,CAAC;IACjF,CAAC;IAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxE,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,kDAAkD,CAAC,EAAE,CAAC;IAClG,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/F,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAEzD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE;YACL,OAAO,EAAE;gBACP,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,QAAQ;gBAClC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI;gBAC1B,WAAW,EAAE,QAAQ,CAAC,GAAG;gBACzB,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAClD,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;aACpF;YACD,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9C;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,QAA0B,EAC1B,OAAwB;IAExB,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC;IAC/B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC;IAErF,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC9B,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC,EAAE,CAAC;QAC9D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,0BAA0B,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IACtF,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,kBAAkB,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC;IAC/F,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,qBAAqB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7E,CAAC;IACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,QAA2B,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;IACpF,CAAC;IAED,0EAA0E;IAC1E,6DAA6D;IAC7D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,MAAM,YAAY,GAAG,GAAG,CAAC,aAAa,CAAC;IACvC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACnE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,gDAAgD,CAAC,EAAE,CAAC;IAC1F,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,SAA6B,CAAC;IACxD,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,QAA2B,CAAC,CAAC,IAAI,CAAC,IAAI,CACvE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CACzB,CAAC;IACF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,MAAM,4CAA4C,CAAC,EAAE,CAAC;IAChG,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QAClC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE;gBACP,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,IAAI,MAAM,2BAA2B;gBAC9C,MAAM,EAAE,oEAAoE;aAC7E;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE;YACL,QAAQ,EAAE,QAA2B;YACrC,IAAI;YACJ,IAAI;YACJ,MAAM;YACN,aAAa,EAAE,YAAY;SAC5B;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,IAAY,EACZ,GAAW,EACX,KAAa,EACb,IAAY;IAEZ,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,IAAI,kBAAkB,IAAI,KAAK,IAAI,IAAI,QAAQ,CAAC,CAAC;IACpF,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,MAAM,CAAC,IAAI,IAAI,gBAAgB,GAAG,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC;AACvE,CAAC;AAUD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,EAAkB,EAClB,GAAY,EACZ,KAAmB,EACnB,KAAwB;IAExB,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5D,IAAI,CAAC,SAAS,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IACpC,IAAI,SAAS,CAAC,KAAK,CAAC,eAAe,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE;gBACP,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,oDAAoD;gBAC7D,MAAM,EAAE,yDAAyD;aAClE;SACF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/D,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC;IAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,uCAAuC,CAAC,EAAE,CAAC;IACjF,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;IACxC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtE,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,kDAAkD,CAAC,EAAE,CAAC;IAClG,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAc,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QACrE,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC5D,OAAO;gBACL,EAAE,EAAE,KAAc;gBAClB,OAAO,EAAE;oBACP,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,iDAAiD;oBAC1D,MAAM,EAAE,+EAA+E;iBACxF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GACR,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI;YAClD,CAAC,CAAC,OAAO,CAAC,MAAM;YAChB,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QAEjK,OAAO,MAAM,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE;YAC7F,SAAS,EAAE,OAAO,CAAC,IAAI,KAAK,QAAQ;SACrC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE;gBACP,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,MAAM,CAAC,KAAK;gBACrB,MAAM,EAAE,0DAA0D;aACnE;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC;IAC9B,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;KACzF,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,IAAY,EAAE,KAAa;IACzC,OAAO,IAAI,MAAM,CAAC,GAAG,kBAAkB,IAAI,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC;AAC/F,CAAC;AAED,gFAAgF;AAEhF,SAAS,eAAe,CAAC,UAAiC;IACxD,OAAO;QACL,QAAQ,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QACzE,IAAI,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QACjE,IAAI,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAoB;IACzC,OAAO;QACL,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE;QACnE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE;QACvD,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAAwB,EACxB,QAAyB;IAEzB,MAAM,SAAS,GAAG,OAAO,CAAC,SAA6B,CAAC;IACxD,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC;IAClE,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACjD,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,OAAO;QACP,MAAM,EACJ,4FAA4F;KAC/F,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,OAAe;IAC7B,OAAO;QACL,IAAI,EAAE,2BAA2B;QACjC,OAAO;QACP,MAAM,EAAE,kEAAkE;KAC3E,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,EAAkB,EAAE,IAAY;IACxD,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -1,13 +1,5 @@
1
- import { join, relative, sep } from "node:path";
1
+ import { join, sep } from "node:path";
2
2
  import { getSkillVersion, parseSkillFrontmatter, } from "../../domain/skill-frontmatter.js";
3
- import { collectFilesByExt } from "../release-data/common.js";
4
- const SESSION_SPECIFIC_MARKERS = [
5
- "session034",
6
- "idNegocioFinanciero",
7
- "usuario-editar.component",
8
- "AuthUserServiceImpl",
9
- "tb_acceso_usuario_rol",
10
- ];
11
3
  export async function checkSkillsFrontmatter(skillsDir, fs) {
12
4
  const findings = [];
13
5
  const skillsInfo = [];
@@ -63,25 +55,6 @@ export async function checkReadmeSync(readmePath, skillsCount, fs) {
63
55
  }
64
56
  return { readmeCountExpected, readmeCountMatch, findings };
65
57
  }
66
- export async function checkFrontendDesignGeneralization(skillsDir, pluginRoot, fs) {
67
- const findings = [];
68
- const fdDir = join(skillsDir, "frontend-design");
69
- if (!(await fs.exists(skillsDir)) || !(await fs.exists(fdDir)))
70
- return findings;
71
- const mdFiles = await collectFilesByExt(fs, fdDir, ".md");
72
- mdFiles.sort((a, b) => a.localeCompare(b));
73
- for (const mdFile of mdFiles) {
74
- let text;
75
- try {
76
- text = await fs.readText(mdFile);
77
- }
78
- catch {
79
- continue;
80
- }
81
- scanForSessionMarkers(text, mdFile, pluginRoot, findings);
82
- }
83
- return findings;
84
- }
85
58
  async function collectSkillDirs(skillsDir, fs) {
86
59
  const out = [];
87
60
  if (!(await fs.exists(skillsDir)))
@@ -198,16 +171,4 @@ function checkVersion(skillMd, version, findings) {
198
171
  });
199
172
  }
200
173
  }
201
- function scanForSessionMarkers(text, mdFile, pluginRoot, findings) {
202
- for (const marker of SESSION_SPECIFIC_MARKERS) {
203
- if (!text.includes(marker))
204
- continue;
205
- const rel = relative(pluginRoot, mdFile).split(sep).join("/");
206
- findings.push({
207
- level: "error",
208
- file: rel,
209
- msg: `contains session-specific name '${marker}' (frontend-design must stay generalized)`,
210
- });
211
- }
212
- }
213
174
  //# sourceMappingURL=skills.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/application/plugin-doctor/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/application/plugin-doctor/skills.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ import { validateExportedSkills } from "./plugin-doctor/exported-skills.js";
10
10
  import { parseHooks } from "./plugin-doctor/hooks.js";
11
11
  import { parseManifests } from "./plugin-doctor/manifests.js";
12
12
  import { validateMcp } from "./plugin-doctor/mcp.js";
13
- import { checkFrontendDesignGeneralization, checkReadmeSync, checkSkillsFrontmatter, } from "./plugin-doctor/skills.js";
13
+ import { checkReadmeSync, checkSkillsFrontmatter } from "./plugin-doctor/skills.js";
14
14
  export async function runPluginDoctor(fs, env, paths, runtime, input) {
15
15
  const cwd = env.cwd();
16
16
  const pluginRoot = input.pluginRoot
@@ -22,7 +22,6 @@ export async function runPluginDoctor(fs, env, paths, runtime, input) {
22
22
  const readmePath = join(pluginRoot, "README.md");
23
23
  const skillsResult = await checkSkillsFrontmatter(skillsDir, fs);
24
24
  const readmeResult = await checkReadmeSync(readmePath, skillsResult.skillsCount, fs);
25
- const fdFindings = await checkFrontendDesignGeneralization(skillsDir, pluginRoot, fs);
26
25
  const manifestsResult = await parseManifests(pluginRoot, fs, input.pluginVersion ?? null);
27
26
  const pluginVersion = manifestsResult.canonicalVersion ?? "unknown";
28
27
  const fallbackName = basename(pluginRoot) || `${paths.namespace}-${flow}`;
@@ -33,7 +32,6 @@ export async function runPluginDoctor(fs, env, paths, runtime, input) {
33
32
  const findings = [
34
33
  ...skillsResult.findings,
35
34
  ...readmeResult.findings,
36
- ...fdFindings,
37
35
  ...manifestsResult.findings,
38
36
  ...hooksResult.findings,
39
37
  ...mcpResult.findings,
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-doctor-service.js","sourceRoot":"","sources":["../../src/application/plugin-doctor-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-doctor-service.js","sourceRoot":"","sources":["../../src/application/plugin-doctor-service.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ export async function readSessionArtifacts(fs, paths, sessionCode, kinds, runtim
23
23
  // (dumping a finished session's artifacts is the normal case) and `bind` is
24
24
  // off: a release/inspection dump is not how a conversation picks its line.
25
25
  const resolution = await resolveSessionTarget(fs, paths, {
26
+ intent: "read",
26
27
  code: sessionCode,
27
28
  allowClosed: true,
28
29
  });
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../src/application/release-data/artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../src/application/release-data/artifacts.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { join } from "node:path";
2
- import { collectFilesByExt, getDocsDir, sessionCodeInt } from "./common.js";
2
+ import { CORRELATIVE_SOURCE, compareCorrelatives, sameCorrelative, } from "../../domain/correlative.js";
3
+ import { collectFilesByExt, getDocsDir, sessionCorrelative } from "./common.js";
3
4
  /** Modern export-scripts bundle naming (see exports/export-scripts SKILL). */
4
- const MODERN_BUNDLE_RE = /^(\d{3})-(export-scripts-\d{4}-\d{2}-\d{2})$/;
5
+ const MODERN_BUNDLE_RE = new RegExp(`^(${CORRELATIVE_SOURCE})-(export-scripts-\\d{4}-\\d{2}-\\d{2})$`);
5
6
  /** Pre-redesign per-session graduation naming. */
6
- const LEGACY_BUNDLE_RE = /^(\d{3})-session(\d{3})-(.+)$/;
7
+ const LEGACY_BUNDLE_RE = new RegExp(`^(${CORRELATIVE_SOURCE})-session(${CORRELATIVE_SOURCE})-(.+)$`);
7
8
  export async function listGraduatedBundles(fs, cwd, paths, options = {}) {
8
9
  let docsDir;
9
10
  try {
@@ -15,10 +16,10 @@ export async function listGraduatedBundles(fs, cwd, paths, options = {}) {
15
16
  const scriptsDir = join(docsDir, "scripts");
16
17
  if (!(await fs.exists(scriptsDir)))
17
18
  return [];
18
- const targetCode = options.sessionCode ? sessionCodeInt(options.sessionCode) : null;
19
+ const targetCode = sessionCorrelative(options.sessionCode);
19
20
  const dirEntries = (await fs.list(scriptsDir))
20
21
  .filter((e) => e.type === "dir")
21
- .sort((a, b) => a.name.localeCompare(b.name));
22
+ .sort(compareBundleEntries);
22
23
  const bundles = [];
23
24
  for (const entry of dirEntries) {
24
25
  const parsed = parseBundleName(entry.name);
@@ -26,7 +27,7 @@ export async function listGraduatedBundles(fs, cwd, paths, options = {}) {
26
27
  continue;
27
28
  // The session filter only applies to legacy bundles (modern ones are cross-session).
28
29
  if (targetCode !== null &&
29
- (parsed.session_code === null || Number.parseInt(parsed.session_code, 10) !== targetCode)) {
30
+ (parsed.session_code === null || !sameCorrelative(parsed.session_code, targetCode))) {
30
31
  continue;
31
32
  }
32
33
  const sqlFiles = await collectFilesByExt(fs, entry.path, ".sql");
@@ -43,6 +44,14 @@ export async function listGraduatedBundles(fs, cwd, paths, options = {}) {
43
44
  }
44
45
  return bundles;
45
46
  }
47
+ function compareBundleEntries(left, right) {
48
+ const leftNumber = parseBundleName(left.name)?.nnn;
49
+ const rightNumber = parseBundleName(right.name)?.nnn;
50
+ if (leftNumber !== undefined && rightNumber !== undefined) {
51
+ return compareCorrelatives(leftNumber, rightNumber) || left.name.localeCompare(right.name);
52
+ }
53
+ return left.name.localeCompare(right.name);
54
+ }
46
55
  function parseBundleName(name) {
47
56
  const modern = name.match(MODERN_BUNDLE_RE);
48
57
  if (modern?.[1] && modern[2]) {
@@ -1 +1 @@
1
- {"version":3,"file":"bundles.js","sourceRoot":"","sources":["../../../src/application/release-data/bundles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundles.js","sourceRoot":"","sources":["../../../src/application/release-data/bundles.ts"],"names":[],"mappings":"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"}