@tacuchi/agent-workflow-cli 5.0.2 → 5.3.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 (230) hide show
  1. package/dist/adapters/node-file-system.d.ts +7 -0
  2. package/dist/adapters/node-file-system.d.ts.map +1 -1
  3. package/dist/adapters/node-file-system.js +22 -2
  4. package/dist/adapters/node-file-system.js.map +1 -1
  5. package/dist/application/artifacts-service.d.ts.map +1 -1
  6. package/dist/application/artifacts-service.js +15 -13
  7. package/dist/application/artifacts-service.js.map +1 -1
  8. package/dist/application/checkpoint/markdown.d.ts +3 -0
  9. package/dist/application/checkpoint/markdown.d.ts.map +1 -0
  10. package/dist/application/checkpoint/markdown.js +86 -0
  11. package/dist/application/checkpoint/markdown.js.map +1 -0
  12. package/dist/application/checkpoint/state-reader.d.ts +28 -0
  13. package/dist/application/checkpoint/state-reader.d.ts.map +1 -0
  14. package/dist/application/checkpoint/state-reader.js +152 -0
  15. package/dist/application/checkpoint/state-reader.js.map +1 -0
  16. package/dist/application/checkpoint-service.d.ts.map +1 -1
  17. package/dist/application/checkpoint-service.js +15 -16
  18. package/dist/application/checkpoint-service.js.map +1 -1
  19. package/dist/application/checkpoint-write-service.d.ts.map +1 -1
  20. package/dist/application/checkpoint-write-service.js +2 -235
  21. package/dist/application/checkpoint-write-service.js.map +1 -1
  22. package/dist/application/decisiones-service.d.ts.map +1 -1
  23. package/dist/application/decisiones-service.js +5 -5
  24. package/dist/application/decisiones-service.js.map +1 -1
  25. package/dist/application/dependencias-service.d.ts.map +1 -1
  26. package/dist/application/dependencias-service.js +5 -5
  27. package/dist/application/dependencias-service.js.map +1 -1
  28. package/dist/application/dev-graduate-service.d.ts +2 -48
  29. package/dist/application/dev-graduate-service.d.ts.map +1 -1
  30. package/dist/application/dev-graduate-service.js +1 -226
  31. package/dist/application/dev-graduate-service.js.map +1 -1
  32. package/dist/application/graduate/handlers.d.ts +61 -0
  33. package/dist/application/graduate/handlers.d.ts.map +1 -0
  34. package/dist/application/graduate/handlers.js +148 -0
  35. package/dist/application/graduate/handlers.js.map +1 -0
  36. package/dist/application/graduate/helpers.d.ts +13 -0
  37. package/dist/application/graduate/helpers.d.ts.map +1 -0
  38. package/dist/application/graduate/helpers.js +82 -0
  39. package/dist/application/graduate/helpers.js.map +1 -0
  40. package/dist/application/handoff.d.ts.map +1 -1
  41. package/dist/application/handoff.js +14 -11
  42. package/dist/application/handoff.js.map +1 -1
  43. package/dist/application/markdown.d.ts +18 -0
  44. package/dist/application/markdown.d.ts.map +1 -1
  45. package/dist/application/markdown.js +129 -0
  46. package/dist/application/markdown.js.map +1 -1
  47. package/dist/application/multiroot/claude.d.ts +26 -0
  48. package/dist/application/multiroot/claude.d.ts.map +1 -0
  49. package/dist/application/multiroot/claude.js +125 -0
  50. package/dist/application/multiroot/claude.js.map +1 -0
  51. package/dist/application/multiroot/codex.d.ts +36 -0
  52. package/dist/application/multiroot/codex.d.ts.map +1 -0
  53. package/dist/application/multiroot/codex.js +221 -0
  54. package/dist/application/multiroot/codex.js.map +1 -0
  55. package/dist/application/multiroot/paths.d.ts +6 -0
  56. package/dist/application/multiroot/paths.d.ts.map +1 -0
  57. package/dist/application/multiroot/paths.js +23 -0
  58. package/dist/application/multiroot/paths.js.map +1 -0
  59. package/dist/application/multiroot-service.d.ts +2 -52
  60. package/dist/application/multiroot-service.d.ts.map +1 -1
  61. package/dist/application/multiroot-service.js +2 -364
  62. package/dist/application/multiroot-service.js.map +1 -1
  63. package/dist/application/objetivo-service.d.ts.map +1 -1
  64. package/dist/application/objetivo-service.js +3 -3
  65. package/dist/application/objetivo-service.js.map +1 -1
  66. package/dist/application/parsers/objetivo.d.ts.map +1 -1
  67. package/dist/application/parsers/objetivo.js +7 -10
  68. package/dist/application/parsers/objetivo.js.map +1 -1
  69. package/dist/application/phase-detect-service.d.ts.map +1 -1
  70. package/dist/application/phase-detect-service.js +6 -6
  71. package/dist/application/phase-detect-service.js.map +1 -1
  72. package/dist/application/plugin-doctor/common.d.ts +27 -0
  73. package/dist/application/plugin-doctor/common.d.ts.map +1 -0
  74. package/dist/application/plugin-doctor/common.js +28 -0
  75. package/dist/application/plugin-doctor/common.js.map +1 -0
  76. package/dist/application/plugin-doctor/exported-skills.d.ts +8 -0
  77. package/dist/application/plugin-doctor/exported-skills.d.ts.map +1 -0
  78. package/dist/application/plugin-doctor/exported-skills.js +128 -0
  79. package/dist/application/plugin-doctor/exported-skills.js.map +1 -0
  80. package/dist/application/plugin-doctor/hooks.d.ts +8 -0
  81. package/dist/application/plugin-doctor/hooks.d.ts.map +1 -0
  82. package/dist/application/plugin-doctor/hooks.js +53 -0
  83. package/dist/application/plugin-doctor/hooks.js.map +1 -0
  84. package/dist/application/plugin-doctor/manifests.d.ts +11 -0
  85. package/dist/application/plugin-doctor/manifests.d.ts.map +1 -0
  86. package/dist/application/plugin-doctor/manifests.js +83 -0
  87. package/dist/application/plugin-doctor/manifests.js.map +1 -0
  88. package/dist/application/plugin-doctor/mcp.d.ts +10 -0
  89. package/dist/application/plugin-doctor/mcp.d.ts.map +1 -0
  90. package/dist/application/plugin-doctor/mcp.js +58 -0
  91. package/dist/application/plugin-doctor/mcp.js.map +1 -0
  92. package/dist/application/plugin-doctor/skills.d.ts +16 -0
  93. package/dist/application/plugin-doctor/skills.d.ts.map +1 -0
  94. package/dist/application/plugin-doctor/skills.js +167 -0
  95. package/dist/application/plugin-doctor/skills.js.map +1 -0
  96. package/dist/application/plugin-doctor-service.d.ts +2 -23
  97. package/dist/application/plugin-doctor-service.d.ts.map +1 -1
  98. package/dist/application/plugin-doctor-service.js +10 -514
  99. package/dist/application/plugin-doctor-service.js.map +1 -1
  100. package/dist/application/release-data/artifacts.d.ts +32 -0
  101. package/dist/application/release-data/artifacts.d.ts.map +1 -0
  102. package/dist/application/release-data/artifacts.js +105 -0
  103. package/dist/application/release-data/artifacts.js.map +1 -0
  104. package/dist/application/release-data/bundles.d.ts +15 -0
  105. package/dist/application/release-data/bundles.d.ts.map +1 -0
  106. package/dist/application/release-data/bundles.js +42 -0
  107. package/dist/application/release-data/bundles.js.map +1 -0
  108. package/dist/application/release-data/common.d.ts +11 -0
  109. package/dist/application/release-data/common.d.ts.map +1 -0
  110. package/dist/application/release-data/common.js +61 -0
  111. package/dist/application/release-data/common.js.map +1 -0
  112. package/dist/application/release-data/sessions.d.ts +19 -0
  113. package/dist/application/release-data/sessions.d.ts.map +1 -0
  114. package/dist/application/release-data/sessions.js +51 -0
  115. package/dist/application/release-data/sessions.js.map +1 -0
  116. package/dist/application/release-data-service.d.ts +8 -50
  117. package/dist/application/release-data-service.d.ts.map +1 -1
  118. package/dist/application/release-data-service.js +14 -252
  119. package/dist/application/release-data-service.js.map +1 -1
  120. package/dist/application/session-artifacts.d.ts +48 -0
  121. package/dist/application/session-artifacts.d.ts.map +1 -0
  122. package/dist/application/session-artifacts.js +116 -0
  123. package/dist/application/session-artifacts.js.map +1 -0
  124. package/dist/application/session-create-service.d.ts.map +1 -1
  125. package/dist/application/session-create-service.js +45 -15
  126. package/dist/application/session-create-service.js.map +1 -1
  127. package/dist/application/session-resolver.d.ts.map +1 -1
  128. package/dist/application/session-resolver.js +10 -15
  129. package/dist/application/session-resolver.js.map +1 -1
  130. package/dist/application/session-resume-service.d.ts.map +1 -1
  131. package/dist/application/session-resume-service.js +3 -2
  132. package/dist/application/session-resume-service.js.map +1 -1
  133. package/dist/application/templates/objetivo.js +32 -32
  134. package/dist/cli/commands/auto-plan-decide.d.ts +3 -0
  135. package/dist/cli/commands/auto-plan-decide.d.ts.map +1 -0
  136. package/dist/cli/commands/auto-plan-decide.js +19 -0
  137. package/dist/cli/commands/auto-plan-decide.js.map +1 -0
  138. package/dist/cli/commands/bootstrap-dsn.d.ts +3 -0
  139. package/dist/cli/commands/bootstrap-dsn.d.ts.map +1 -0
  140. package/dist/cli/commands/bootstrap-dsn.js +20 -0
  141. package/dist/cli/commands/bootstrap-dsn.js.map +1 -0
  142. package/dist/cli/commands/check-branch.d.ts +3 -0
  143. package/dist/cli/commands/check-branch.d.ts.map +1 -0
  144. package/dist/cli/commands/check-branch.js +30 -0
  145. package/dist/cli/commands/check-branch.js.map +1 -0
  146. package/dist/cli/commands/checkpoint-read.d.ts +3 -0
  147. package/dist/cli/commands/checkpoint-read.d.ts.map +1 -0
  148. package/dist/cli/commands/checkpoint-read.js +19 -0
  149. package/dist/cli/commands/checkpoint-read.js.map +1 -0
  150. package/dist/cli/commands/code-scan.d.ts +3 -0
  151. package/dist/cli/commands/code-scan.d.ts.map +1 -0
  152. package/dist/cli/commands/code-scan.js +74 -0
  153. package/dist/cli/commands/code-scan.js.map +1 -0
  154. package/dist/cli/commands/compress-checkpoint.d.ts +3 -0
  155. package/dist/cli/commands/compress-checkpoint.d.ts.map +1 -0
  156. package/dist/cli/commands/compress-checkpoint.js +28 -0
  157. package/dist/cli/commands/compress-checkpoint.js.map +1 -0
  158. package/dist/cli/commands/graduate.d.ts +3 -0
  159. package/dist/cli/commands/graduate.d.ts.map +1 -0
  160. package/dist/cli/commands/graduate.js +36 -0
  161. package/dist/cli/commands/graduate.js.map +1 -0
  162. package/dist/cli/commands/hub-init.d.ts.map +1 -1
  163. package/dist/cli/commands/hub-init.js +13 -43
  164. package/dist/cli/commands/hub-init.js.map +1 -1
  165. package/dist/cli/commands/phase-detect.d.ts +3 -0
  166. package/dist/cli/commands/phase-detect.d.ts.map +1 -0
  167. package/dist/cli/commands/phase-detect.js +19 -0
  168. package/dist/cli/commands/phase-detect.js.map +1 -0
  169. package/dist/cli/commands/phase-next.d.ts +3 -0
  170. package/dist/cli/commands/phase-next.d.ts.map +1 -0
  171. package/dist/cli/commands/phase-next.js +23 -0
  172. package/dist/cli/commands/phase-next.js.map +1 -0
  173. package/dist/cli/commands/project-md-upsert.d.ts.map +1 -1
  174. package/dist/cli/commands/project-md-upsert.js +2 -49
  175. package/dist/cli/commands/project-md-upsert.js.map +1 -1
  176. package/dist/cli/commands/resume-summary.d.ts +3 -0
  177. package/dist/cli/commands/resume-summary.d.ts.map +1 -0
  178. package/dist/cli/commands/resume-summary.js +10 -0
  179. package/dist/cli/commands/resume-summary.js.map +1 -0
  180. package/dist/cli/commands/session-create.js +2 -2
  181. package/dist/cli/commands/session-create.js.map +1 -1
  182. package/dist/cli/commands/skill-index.d.ts +3 -0
  183. package/dist/cli/commands/skill-index.d.ts.map +1 -0
  184. package/dist/cli/commands/skill-index.js +20 -0
  185. package/dist/cli/commands/skill-index.js.map +1 -0
  186. package/dist/cli/commands/sources.d.ts +3 -0
  187. package/dist/cli/commands/sources.d.ts.map +1 -0
  188. package/dist/cli/commands/sources.js +30 -0
  189. package/dist/cli/commands/sources.js.map +1 -0
  190. package/dist/cli/commands/specialty-choose.d.ts +3 -0
  191. package/dist/cli/commands/specialty-choose.d.ts.map +1 -0
  192. package/dist/cli/commands/specialty-choose.js +30 -0
  193. package/dist/cli/commands/specialty-choose.js.map +1 -0
  194. package/dist/cli/commands/stack.d.ts +3 -0
  195. package/dist/cli/commands/stack.d.ts.map +1 -0
  196. package/dist/cli/commands/stack.js +11 -0
  197. package/dist/cli/commands/stack.js.map +1 -0
  198. package/dist/cli/commands/topic-change-check.d.ts +3 -0
  199. package/dist/cli/commands/topic-change-check.d.ts.map +1 -0
  200. package/dist/cli/commands/topic-change-check.js +23 -0
  201. package/dist/cli/commands/topic-change-check.js.map +1 -0
  202. package/dist/cli/commands/upgrade-hub-mode.d.ts +3 -0
  203. package/dist/cli/commands/upgrade-hub-mode.d.ts.map +1 -0
  204. package/dist/cli/commands/upgrade-hub-mode.js +11 -0
  205. package/dist/cli/commands/upgrade-hub-mode.js.map +1 -0
  206. package/dist/cli/commands/workflows.d.ts +3 -0
  207. package/dist/cli/commands/workflows.d.ts.map +1 -0
  208. package/dist/cli/commands/workflows.js +30 -0
  209. package/dist/cli/commands/workflows.js.map +1 -0
  210. package/dist/cli/commands/workspace-mode.d.ts +3 -0
  211. package/dist/cli/commands/workspace-mode.d.ts.map +1 -0
  212. package/dist/cli/commands/workspace-mode.js +11 -0
  213. package/dist/cli/commands/workspace-mode.js.map +1 -0
  214. package/dist/cli/helpers/objetivo-loader.d.ts +3 -0
  215. package/dist/cli/helpers/objetivo-loader.d.ts.map +1 -0
  216. package/dist/cli/helpers/objetivo-loader.js +17 -0
  217. package/dist/cli/helpers/objetivo-loader.js.map +1 -0
  218. package/dist/cli/main.js +18 -4
  219. package/dist/cli/main.js.map +1 -1
  220. package/dist/cli/parsers/fuentes.d.ts +11 -0
  221. package/dist/cli/parsers/fuentes.d.ts.map +1 -0
  222. package/dist/cli/parsers/fuentes.js +37 -0
  223. package/dist/cli/parsers/fuentes.js.map +1 -0
  224. package/dist/cli/parsers/working-branches.d.ts +2 -0
  225. package/dist/cli/parsers/working-branches.d.ts.map +1 -0
  226. package/dist/cli/parsers/working-branches.js +14 -0
  227. package/dist/cli/parsers/working-branches.js.map +1 -0
  228. package/dist/domain/session.d.ts +2 -2
  229. package/dist/domain/session.d.ts.map +1 -1
  230. package/package.json +1 -1
@@ -1,10 +1,11 @@
1
- import { join } from "node:path";
1
+ import { basename } from "node:path";
2
+ import { canonicalArtifactFilename, findArtifact } from "./session-artifacts.js";
2
3
  const KNOWN_FLOWS = ["core", "dev", "design", "analyze"];
3
- const ORIGEN_DELIVERABLE = {
4
- core: "OBJETIVO.md",
5
- dev: "OBJETIVO.md",
6
- design: "ENTREGA.md",
7
- analyze: "CONCLUSIONES.md",
4
+ const ORIGEN_DELIVERABLE_KIND = {
5
+ core: "objective",
6
+ dev: "objective",
7
+ design: "delivery",
8
+ analyze: "conclusions",
8
9
  };
9
10
  export async function resolveOrigen(fs, env, paths, flowCodeRaw) {
10
11
  void env;
@@ -19,17 +20,19 @@ export async function resolveOrigen(fs, env, paths, flowCodeRaw) {
19
20
  if (!candidate) {
20
21
  return { error: `no se encontró session${parsed.codeNorm}-${parsed.flow}-* en ${sessionsDir}` };
21
22
  }
22
- const deliverableName = ORIGEN_DELIVERABLE[parsed.flow];
23
- const deliverablePath = join(candidate.path, deliverableName);
24
- const deliverableExists = await fs.exists(deliverablePath);
25
- const summary = deliverableExists ? await extractSummary(fs, deliverablePath) : null;
23
+ const deliverableKind = ORIGEN_DELIVERABLE_KIND[parsed.flow];
24
+ const deliverablePath = await findArtifact(candidate.path, deliverableKind, fs);
25
+ const deliverableName = deliverablePath
26
+ ? basename(deliverablePath)
27
+ : canonicalArtifactFilename(deliverableKind);
28
+ const summary = deliverablePath ? await extractSummary(fs, deliverablePath) : null;
26
29
  return {
27
30
  folder: candidate.name,
28
31
  path: candidate.path,
29
32
  flow: parsed.flow,
30
33
  code: parsed.codeNorm,
31
34
  deliverable_name: deliverableName,
32
- deliverable_exists: deliverableExists,
35
+ deliverable_exists: deliverablePath !== null,
33
36
  deliverable_rel: `../${candidate.name}/${deliverableName}`,
34
37
  summary,
35
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/application/handoff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/application/handoff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAIrC,OAAO,EAAqB,yBAAyB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEpG,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAGlE,MAAM,uBAAuB,GAAoC;IAC/D,IAAI,EAAE,WAAW;IACjB,GAAG,EAAE,WAAW;IAChB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,aAAa;CACvB,CAAC;AAiBF,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAkB,EAClB,GAAY,EACZ,KAAmB,EACnB,WAAsC;IAEtC,KAAK,GAAG,CAAC;IACT,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,OAAO,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAErC,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;IAC3C,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,KAAK,EAAE,GAAG,WAAW,sBAAsB,EAAE,CAAC;IACzD,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACrF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,KAAK,EAAE,yBAAyB,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,SAAS,WAAW,EAAE,EAAE,CAAC;IAClG,CAAC;IAED,MAAM,eAAe,GAAG,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;IAChF,MAAM,eAAe,GAAG,eAAe;QACrC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC3B,CAAC,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEnF,OAAO;QACL,MAAM,EAAE,SAAS,CAAC,IAAI;QACtB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,QAAQ;QACrB,gBAAgB,EAAE,eAAe;QACjC,kBAAkB,EAAE,eAAe,KAAK,IAAI;QAC5C,eAAe,EAAE,MAAM,SAAS,CAAC,IAAI,IAAI,eAAe,EAAE;QAC1D,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAA2C;IAC3E,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,MAAM;QAAE,OAAO,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAa,CAAC,EAAE,EAAE,WAAW,EAAE,iBAAiB,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IAC/E,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,gBAAgB,OAAO,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CACR,2BAA2B,MAAM,CAAC,gBAAgB,0CAA0C,CAC7F,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAOD,SAAS,aAAa,CAAC,WAAsC;IAC3D,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,OAAO,EAAE,KAAK,EAAE,qDAAqD,WAAW,IAAI,EAAE,IAAI,EAAE,CAAC;IAC/F,CAAC;IACD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,qBAAqB,IAAI,8CAA8C,EAAE,CAAC;IAC5F,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,kBAAkB,IAAI,mCAAmC,EAAE,CAAC;IAC9E,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,EAAkB,EAClB,WAAmB,EACnB,QAAgB,EAChB,IAAY;IAEZ,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,WAAW,QAAQ,IAAI,IAAI,GAAG,CAAC,CAAC;IACtD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,EAAkB,EAAE,IAAY;IAC5D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,SAAS;QACnF,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QACvE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAQ,WAAiC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC"}
@@ -1,4 +1,22 @@
1
1
  export declare function parseMdValue(text: string, key: string): string | undefined;
2
2
  export declare function parseMdSection(text: string, heading: string): string | undefined;
3
3
  export declare function firstNonEmptyLine(text: string): string | undefined;
4
+ /**
5
+ * Resolve a heading-keyword to the full list of accepted aliases. If the
6
+ * keyword is not registered in {@link KEYWORD_GROUPS}, returns a one-item array
7
+ * with the original key so callers degrade to the non-bilingual behaviour.
8
+ */
9
+ export declare function bilingualAliases(key: string): readonly string[];
10
+ /**
11
+ * Like {@link parseMdValue} but tries every alias of `key` registered in
12
+ * {@link KEYWORD_GROUPS}. Returns the first match. Use for fields whose name
13
+ * the runtime is migrating ES → EN, or fields where unaccented variants are
14
+ * common (e.g. `"Proximo paso"`).
15
+ */
16
+ export declare function parseMdValueBilingual(text: string, key: string): string | undefined;
17
+ /**
18
+ * Like {@link parseMdSection} but tries every alias of `heading` registered in
19
+ * {@link KEYWORD_GROUPS}. Returns the first match.
20
+ */
21
+ export declare function parseMdSectionBilingual(text: string, heading: string): string | undefined;
4
22
  //# sourceMappingURL=markdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/application/markdown.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAS1E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA4BhF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQlE"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/application/markdown.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAS1E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA4BhF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQlE;AAwGD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMnF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMzF"}
@@ -50,4 +50,133 @@ export function firstNonEmptyLine(text) {
50
50
  function joinTrim(lines) {
51
51
  return lines.join("\n").trim();
52
52
  }
53
+ /**
54
+ * Bilingual / accent-tolerant keyword groups. Each inner array enumerates every
55
+ * accepted form of the same logical keyword (used as `key` in {@link parseMdValue}
56
+ * or `heading` in {@link parseMdSection}). The first entry of each group is the
57
+ * canonical form the runtime emits today (Spanish until R3 Sprint 1; English
58
+ * variants are accepted now so legacy/migrated artifacts both parse).
59
+ *
60
+ * Precedent: `PHASE_INDEX` and `PLANNING_PHASES` already carry bilingual
61
+ * `planning|planificacion|plan` aliases. R1 generalizes that pattern to all
62
+ * heading-keywords the parsers consume.
63
+ */
64
+ const KEYWORD_GROUPS = [
65
+ ["Descripción", "Descripcion", "Description"],
66
+ ["Requerimiento", "Requirement"],
67
+ ["Pregunta", "Question"],
68
+ ["Brief"],
69
+ ["Fase actual", "Current phase"],
70
+ ["Modalidad", "Modality"],
71
+ ["Tipo", "Type"],
72
+ ["Lo último que hice", "Lo ultimo que hice", "Last action"],
73
+ ["Próximo paso", "Proximo paso", "Next step"],
74
+ ["Decisiones recientes", "Recent decisions"],
75
+ ["Archivos tocados", "Files touched"],
76
+ [
77
+ "Archivos tocados (post-último-commit)",
78
+ "Archivos tocados (post-ultimo-commit)",
79
+ "Files touched (post-last-commit)",
80
+ ],
81
+ ["Contexto crítico para retomar", "Contexto critico para retomar", "Critical context to resume"],
82
+ ["Fecha de inicio", "Start date"],
83
+ ["Rama", "Branch"],
84
+ ["State"],
85
+ ["Phase"],
86
+ ["Contexto", "Context"],
87
+ [
88
+ "Criterios de aceptación",
89
+ "Criterios de aceptacion",
90
+ "Acceptance criteria",
91
+ "Aceptación",
92
+ "Aceptacion",
93
+ ],
94
+ ["Criterios de éxito", "Criterios de exito", "Success criteria"],
95
+ ["Temas", "Topics"],
96
+ ["Origen", "Origin"],
97
+ ["Avance", "Progress"],
98
+ ["Actualizado", "Updated"],
99
+ ["Ramas", "Branches"],
100
+ ["Artefactos presentes", "Artifacts present"],
101
+ ["Skills usadas", "Skills used"],
102
+ ["Pregunta original", "Original question"],
103
+ ["Fuentes consultadas", "Sources consulted"],
104
+ ["Hallazgo crudo", "Raw finding"],
105
+ ["Notas / hipótesis tentativas", "Notas / hipotesis tentativas", "Notes / tentative hypotheses"],
106
+ ["Resumen del plan", "Plan summary"],
107
+ ["Tareas", "Tasks"],
108
+ ["Riesgos / dependencias externas", "Risks / external dependencies"],
109
+ ["Patrones identificados", "Patterns identified"],
110
+ ["Falsos positivos descartados", "False positives discarded"],
111
+ ["Decisión de modelo", "Decision de modelo", "Model decision"],
112
+ ["Lo que NO se sabe (gaps)", "What is NOT known (gaps)"],
113
+ ["Resumen", "Summary"],
114
+ ["Conclusiones", "Conclusions"],
115
+ ["Recomendaciones", "Recommendations"],
116
+ ["Trazabilidad", "Traceability"],
117
+ ["Abierto", "Open"],
118
+ ["Abierto (gaps)", "Open (gaps)"],
119
+ ["Componentes", "Components"],
120
+ ["Flujos / interacciones", "Flows / interactions"],
121
+ ["Decisiones UX", "UX decisions"],
122
+ ["Tokens / design-system aplicados", "Tokens / design-system applied"],
123
+ ["Criterios de validación", "Criterios de validacion", "Validation criteria"],
124
+ ["Out of scope"],
125
+ ["Usuarios", "Users"],
126
+ ["Flow actual", "Current flow"],
127
+ ["Design system aplicable", "Applicable design system"],
128
+ ["Referencias externas", "External references"],
129
+ ["Hallazgos clave", "Key findings"],
130
+ ["Statement"],
131
+ ["Restricciones clave", "Key constraints"],
132
+ ["Métricas de éxito", "Metricas de exito", "Success metrics"],
133
+ ["Variante", "Variant"],
134
+ ["Recomendación inicial", "Recomendacion inicial", "Initial recommendation"],
135
+ ];
136
+ function normalizeKeyword(s) {
137
+ return s
138
+ .toLowerCase()
139
+ .normalize("NFD")
140
+ .replace(/̀|́|̂|̃|̄|̈|̧/g, "");
141
+ }
142
+ const ALIAS_INDEX = new Map();
143
+ for (const group of KEYWORD_GROUPS) {
144
+ for (const variant of group) {
145
+ ALIAS_INDEX.set(normalizeKeyword(variant), group);
146
+ }
147
+ }
148
+ /**
149
+ * Resolve a heading-keyword to the full list of accepted aliases. If the
150
+ * keyword is not registered in {@link KEYWORD_GROUPS}, returns a one-item array
151
+ * with the original key so callers degrade to the non-bilingual behaviour.
152
+ */
153
+ export function bilingualAliases(key) {
154
+ return ALIAS_INDEX.get(normalizeKeyword(key)) ?? [key];
155
+ }
156
+ /**
157
+ * Like {@link parseMdValue} but tries every alias of `key` registered in
158
+ * {@link KEYWORD_GROUPS}. Returns the first match. Use for fields whose name
159
+ * the runtime is migrating ES → EN, or fields where unaccented variants are
160
+ * common (e.g. `"Proximo paso"`).
161
+ */
162
+ export function parseMdValueBilingual(text, key) {
163
+ for (const candidate of bilingualAliases(key)) {
164
+ const value = parseMdValue(text, candidate);
165
+ if (value !== undefined)
166
+ return value;
167
+ }
168
+ return undefined;
169
+ }
170
+ /**
171
+ * Like {@link parseMdSection} but tries every alias of `heading` registered in
172
+ * {@link KEYWORD_GROUPS}. Returns the first match.
173
+ */
174
+ export function parseMdSectionBilingual(text, heading) {
175
+ for (const candidate of bilingualAliases(heading)) {
176
+ const value = parseMdSection(text, candidate);
177
+ if (value !== undefined)
178
+ return value;
179
+ }
180
+ return undefined;
181
+ }
53
182
  //# sourceMappingURL=markdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/application/markdown.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,GAAW;IACpD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,yBAAyB,OAAO,2BAA2B,EAAE,IAAI,CAAC,CAAC;IACzF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7B,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,OAAe;IAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,uBAAuB,CAAC;IAE1C,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAAE,SAAS;QAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpB,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAe;IAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/application/markdown.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,GAAW;IACpD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,yBAAyB,OAAO,2BAA2B,EAAE,IAAI,CAAC,CAAC;IACzF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7B,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,OAAe;IAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,uBAAuB,CAAC;IAE1C,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAAE,SAAS;QAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpB,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAe;IAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,cAAc,GAAqC;IACvD,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC;IAC7C,CAAC,eAAe,EAAE,aAAa,CAAC;IAChC,CAAC,UAAU,EAAE,UAAU,CAAC;IACxB,CAAC,OAAO,CAAC;IACT,CAAC,aAAa,EAAE,eAAe,CAAC;IAChC,CAAC,WAAW,EAAE,UAAU,CAAC;IACzB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,aAAa,CAAC;IAC3D,CAAC,cAAc,EAAE,cAAc,EAAE,WAAW,CAAC;IAC7C,CAAC,sBAAsB,EAAE,kBAAkB,CAAC;IAC5C,CAAC,kBAAkB,EAAE,eAAe,CAAC;IACrC;QACE,uCAAuC;QACvC,uCAAuC;QACvC,kCAAkC;KACnC;IACD,CAAC,+BAA+B,EAAE,+BAA+B,EAAE,4BAA4B,CAAC;IAChG,CAAC,iBAAiB,EAAE,YAAY,CAAC;IACjC,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,OAAO,CAAC;IACT,CAAC,OAAO,CAAC;IACT,CAAC,UAAU,EAAE,SAAS,CAAC;IACvB;QACE,yBAAyB;QACzB,yBAAyB;QACzB,qBAAqB;QACrB,YAAY;QACZ,YAAY;KACb;IACD,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,CAAC;IAChE,CAAC,OAAO,EAAE,QAAQ,CAAC;IACnB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,QAAQ,EAAE,UAAU,CAAC;IACtB,CAAC,aAAa,EAAE,SAAS,CAAC;IAC1B,CAAC,OAAO,EAAE,UAAU,CAAC;IACrB,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;IAC7C,CAAC,eAAe,EAAE,aAAa,CAAC;IAChC,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAC1C,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;IAC5C,CAAC,gBAAgB,EAAE,aAAa,CAAC;IACjC,CAAC,8BAA8B,EAAE,8BAA8B,EAAE,8BAA8B,CAAC;IAChG,CAAC,kBAAkB,EAAE,cAAc,CAAC;IACpC,CAAC,QAAQ,EAAE,OAAO,CAAC;IACnB,CAAC,iCAAiC,EAAE,+BAA+B,CAAC;IACpE,CAAC,wBAAwB,EAAE,qBAAqB,CAAC;IACjD,CAAC,8BAA8B,EAAE,2BAA2B,CAAC;IAC7D,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,gBAAgB,CAAC;IAC9D,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;IACxD,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,cAAc,EAAE,aAAa,CAAC;IAC/B,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACtC,CAAC,cAAc,EAAE,cAAc,CAAC;IAChC,CAAC,SAAS,EAAE,MAAM,CAAC;IACnB,CAAC,gBAAgB,EAAE,aAAa,CAAC;IACjC,CAAC,aAAa,EAAE,YAAY,CAAC;IAC7B,CAAC,wBAAwB,EAAE,sBAAsB,CAAC;IAClD,CAAC,eAAe,EAAE,cAAc,CAAC;IACjC,CAAC,kCAAkC,EAAE,gCAAgC,CAAC;IACtE,CAAC,yBAAyB,EAAE,yBAAyB,EAAE,qBAAqB,CAAC;IAC7E,CAAC,cAAc,CAAC;IAChB,CAAC,UAAU,EAAE,OAAO,CAAC;IACrB,CAAC,aAAa,EAAE,cAAc,CAAC;IAC/B,CAAC,yBAAyB,EAAE,0BAA0B,CAAC;IACvD,CAAC,sBAAsB,EAAE,qBAAqB,CAAC;IAC/C,CAAC,iBAAiB,EAAE,cAAc,CAAC;IACnC,CAAC,WAAW,CAAC;IACb,CAAC,qBAAqB,EAAE,iBAAiB,CAAC;IAC1C,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,CAAC;IAC7D,CAAC,UAAU,EAAE,SAAS,CAAC;IACvB,CAAC,uBAAuB,EAAE,uBAAuB,EAAE,wBAAwB,CAAC;CAC7E,CAAC;AAEF,SAAS,gBAAgB,CAAC,CAAS;IACjC,OAAO,CAAC;SACL,WAAW,EAAE;SACb,SAAS,CAAC,KAAK,CAAC;SAChB,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;AACzD,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;IACnC,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,GAAW;IAC7D,KAAK,MAAM,SAAS,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;IACxC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,OAAe;IACnE,KAAK,MAAM,SAAS,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC9C,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;IACxC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,26 @@
1
+ interface ClaudeAttachOk {
2
+ file: string;
3
+ backup: string | null;
4
+ added: string[];
5
+ already_present: string[];
6
+ written: boolean;
7
+ }
8
+ interface ClaudeDetachOk {
9
+ file: string;
10
+ backup: string | null;
11
+ removed: string[];
12
+ not_present: string[];
13
+ written: boolean;
14
+ }
15
+ interface ClaudeFail {
16
+ file: string;
17
+ error: string;
18
+ detail?: string;
19
+ skipped: true;
20
+ }
21
+ export type ClaudeResult = ClaudeAttachOk | ClaudeDetachOk | ClaudeFail;
22
+ export declare function claudeSettingsPath(scopeDir: string): string;
23
+ export declare function attachClaude(paths: string[], scopeDir: string): ClaudeResult;
24
+ export declare function detachClaude(paths: string[], scopeDir: string): ClaudeResult;
25
+ export {};
26
+ //# sourceMappingURL=claude.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/application/multiroot/claude.ts"],"names":[],"mappings":"AAIA,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AACD,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CAClB;AACD,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;CACf;AACD,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,cAAc,GAAG,UAAU,CAAC;AAExE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAmD5E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CA0D5E"}
@@ -0,0 +1,125 @@
1
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { backupFile, normalizePath } from "./paths.js";
4
+ export function claudeSettingsPath(scopeDir) {
5
+ return join(scopeDir, ".claude", "settings.json");
6
+ }
7
+ export function attachClaude(paths, scopeDir) {
8
+ const settingsFile = claudeSettingsPath(scopeDir);
9
+ mkdirSync(join(scopeDir, ".claude"), { recursive: true });
10
+ let data = {};
11
+ if (existsSync(settingsFile)) {
12
+ try {
13
+ data = JSON.parse(readFileSync(settingsFile, "utf-8"));
14
+ }
15
+ catch (e) {
16
+ return {
17
+ file: settingsFile,
18
+ error: "invalid_json",
19
+ detail: e.message,
20
+ skipped: true,
21
+ };
22
+ }
23
+ }
24
+ const perms = (() => {
25
+ if (!isRecord(data.permissions))
26
+ data.permissions = {};
27
+ return data.permissions;
28
+ })();
29
+ if (!Array.isArray(perms.additionalDirectories))
30
+ perms.additionalDirectories = [];
31
+ const additional = perms.additionalDirectories;
32
+ if (!Array.isArray(additional)) {
33
+ return {
34
+ file: settingsFile,
35
+ error: "additionalDirectories_not_list",
36
+ skipped: true,
37
+ };
38
+ }
39
+ const existingNorm = new Set(additional.filter((p) => typeof p === "string").map(normalizePath));
40
+ const added = [];
41
+ const already = [];
42
+ for (const raw of paths) {
43
+ const np = normalizePath(raw);
44
+ if (existingNorm.has(np)) {
45
+ already.push(np);
46
+ }
47
+ else {
48
+ additional.push(np);
49
+ existingNorm.add(np);
50
+ added.push(np);
51
+ }
52
+ }
53
+ let backup = null;
54
+ if (added.length > 0) {
55
+ backup = backupFile(settingsFile);
56
+ writeFileSync(settingsFile, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
57
+ }
58
+ return { file: settingsFile, backup, added, already_present: already, written: added.length > 0 };
59
+ }
60
+ export function detachClaude(paths, scopeDir) {
61
+ const settingsFile = claudeSettingsPath(scopeDir);
62
+ if (!existsSync(settingsFile)) {
63
+ return {
64
+ file: settingsFile,
65
+ backup: null,
66
+ removed: [],
67
+ not_present: paths.map(normalizePath),
68
+ written: false,
69
+ };
70
+ }
71
+ let data;
72
+ try {
73
+ data = JSON.parse(readFileSync(settingsFile, "utf-8"));
74
+ }
75
+ catch (e) {
76
+ return {
77
+ file: settingsFile,
78
+ error: "invalid_json",
79
+ detail: e.message,
80
+ skipped: true,
81
+ };
82
+ }
83
+ const perms = isRecord(data.permissions) ? data.permissions : {};
84
+ const additional = perms.additionalDirectories;
85
+ if (!Array.isArray(additional)) {
86
+ return {
87
+ file: settingsFile,
88
+ backup: null,
89
+ removed: [],
90
+ not_present: paths.map(normalizePath),
91
+ written: false,
92
+ };
93
+ }
94
+ const targetNorm = new Set(paths.map(normalizePath));
95
+ const newList = [];
96
+ const removed = [];
97
+ for (const x of additional) {
98
+ if (typeof x === "string" && targetNorm.has(normalizePath(x))) {
99
+ removed.push(normalizePath(x));
100
+ }
101
+ else {
102
+ newList.push(x);
103
+ }
104
+ }
105
+ const removedSet = new Set(removed);
106
+ const notPresent = [];
107
+ for (const p of targetNorm) {
108
+ if (!removedSet.has(p))
109
+ notPresent.push(p);
110
+ }
111
+ let backup = null;
112
+ let written = false;
113
+ if (removed.length > 0) {
114
+ backup = backupFile(settingsFile);
115
+ perms.additionalDirectories = newList;
116
+ data.permissions = perms;
117
+ writeFileSync(settingsFile, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
118
+ written = true;
119
+ }
120
+ return { file: settingsFile, backup, removed, not_present: notPresent, written };
121
+ }
122
+ function isRecord(v) {
123
+ return typeof v === "object" && v !== null && !Array.isArray(v);
124
+ }
125
+ //# sourceMappingURL=claude.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/application/multiroot/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAwBvD,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,OAAO,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAe,EAAE,QAAgB;IAC5D,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAClD,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1D,IAAI,IAAI,GAA4B,EAAE,CAAC;IACvC,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAG,CAAW,CAAC,OAAO;gBAC5B,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,GAA4B,EAAE;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;YAAE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC,WAAsC,CAAC;IACrD,CAAC,CAAC,EAAE,CAAC;IACL,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC;QAAE,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC;IAClF,MAAM,UAAU,GAAG,KAAK,CAAC,qBAAkC,CAAC;IAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,gCAAgC;YACvC,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAChF,CAAC;IACF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpB,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QAClC,aAAa,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAe,EAAE,QAAgB;IAC5D,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;YACrC,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IACD,IAAI,IAA6B,CAAC;IAClC,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,cAAc;YACrB,MAAM,EAAG,CAAW,CAAC,OAAO;YAC5B,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,UAAU,GAAI,KAAiC,CAAC,qBAAqB,CAAC;IAC5E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;YACrC,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAc,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QACjC,KAAiC,CAAC,qBAAqB,GAAG,OAAO,CAAC;QACnE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,aAAa,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3E,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACnF,CAAC;AAED,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC"}
@@ -0,0 +1,36 @@
1
+ interface CodexAttachOk {
2
+ file: string;
3
+ backup: string | null;
4
+ additional_writable_roots: {
5
+ added: string[];
6
+ already_present: string[];
7
+ };
8
+ projects_trusted: {
9
+ added: string[];
10
+ already_present: string[];
11
+ };
12
+ written: boolean;
13
+ }
14
+ interface CodexDetachOk {
15
+ file: string;
16
+ backup: string | null;
17
+ additional_writable_roots: {
18
+ removed: string[];
19
+ not_present: string[];
20
+ };
21
+ projects_trusted: {
22
+ removed: string[];
23
+ not_present: string[];
24
+ skipped: {
25
+ path: string;
26
+ reason: string;
27
+ }[];
28
+ };
29
+ written: boolean;
30
+ }
31
+ export type CodexResult = CodexAttachOk | CodexDetachOk;
32
+ export declare function codexConfigPath(scopeDir: string): string;
33
+ export declare function attachCodex(paths: string[], scopeDir: string): CodexResult;
34
+ export declare function detachCodex(paths: string[], scopeDir: string): CodexResult;
35
+ export {};
36
+ //# sourceMappingURL=codex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/application/multiroot/codex.ts"],"names":[],"mappings":"AAIA,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,yBAAyB,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC1E,gBAAgB,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACjE,OAAO,EAAE,OAAO,CAAC;CAClB;AACD,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,yBAAyB,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACxE,gBAAgB,EAAE;QAChB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAC7C,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;CAClB;AACD,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,aAAa,CAAC;AAExD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAwB1E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAkC1E"}