@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.
- package/dist/adapters/node-file-system.d.ts +7 -0
- package/dist/adapters/node-file-system.d.ts.map +1 -1
- package/dist/adapters/node-file-system.js +22 -2
- package/dist/adapters/node-file-system.js.map +1 -1
- package/dist/application/artifacts-service.d.ts.map +1 -1
- package/dist/application/artifacts-service.js +15 -13
- package/dist/application/artifacts-service.js.map +1 -1
- package/dist/application/checkpoint/markdown.d.ts +3 -0
- package/dist/application/checkpoint/markdown.d.ts.map +1 -0
- package/dist/application/checkpoint/markdown.js +86 -0
- package/dist/application/checkpoint/markdown.js.map +1 -0
- package/dist/application/checkpoint/state-reader.d.ts +28 -0
- package/dist/application/checkpoint/state-reader.d.ts.map +1 -0
- package/dist/application/checkpoint/state-reader.js +152 -0
- package/dist/application/checkpoint/state-reader.js.map +1 -0
- package/dist/application/checkpoint-service.d.ts.map +1 -1
- package/dist/application/checkpoint-service.js +15 -16
- package/dist/application/checkpoint-service.js.map +1 -1
- package/dist/application/checkpoint-write-service.d.ts.map +1 -1
- package/dist/application/checkpoint-write-service.js +2 -235
- package/dist/application/checkpoint-write-service.js.map +1 -1
- package/dist/application/decisiones-service.d.ts.map +1 -1
- package/dist/application/decisiones-service.js +5 -5
- package/dist/application/decisiones-service.js.map +1 -1
- package/dist/application/dependencias-service.d.ts.map +1 -1
- package/dist/application/dependencias-service.js +5 -5
- package/dist/application/dependencias-service.js.map +1 -1
- package/dist/application/dev-graduate-service.d.ts +2 -48
- package/dist/application/dev-graduate-service.d.ts.map +1 -1
- package/dist/application/dev-graduate-service.js +1 -226
- package/dist/application/dev-graduate-service.js.map +1 -1
- package/dist/application/graduate/handlers.d.ts +61 -0
- package/dist/application/graduate/handlers.d.ts.map +1 -0
- package/dist/application/graduate/handlers.js +148 -0
- package/dist/application/graduate/handlers.js.map +1 -0
- package/dist/application/graduate/helpers.d.ts +13 -0
- package/dist/application/graduate/helpers.d.ts.map +1 -0
- package/dist/application/graduate/helpers.js +82 -0
- package/dist/application/graduate/helpers.js.map +1 -0
- package/dist/application/handoff.d.ts.map +1 -1
- package/dist/application/handoff.js +14 -11
- package/dist/application/handoff.js.map +1 -1
- package/dist/application/markdown.d.ts +18 -0
- package/dist/application/markdown.d.ts.map +1 -1
- package/dist/application/markdown.js +129 -0
- package/dist/application/markdown.js.map +1 -1
- package/dist/application/multiroot/claude.d.ts +26 -0
- package/dist/application/multiroot/claude.d.ts.map +1 -0
- package/dist/application/multiroot/claude.js +125 -0
- package/dist/application/multiroot/claude.js.map +1 -0
- package/dist/application/multiroot/codex.d.ts +36 -0
- package/dist/application/multiroot/codex.d.ts.map +1 -0
- package/dist/application/multiroot/codex.js +221 -0
- package/dist/application/multiroot/codex.js.map +1 -0
- package/dist/application/multiroot/paths.d.ts +6 -0
- package/dist/application/multiroot/paths.d.ts.map +1 -0
- package/dist/application/multiroot/paths.js +23 -0
- package/dist/application/multiroot/paths.js.map +1 -0
- package/dist/application/multiroot-service.d.ts +2 -52
- package/dist/application/multiroot-service.d.ts.map +1 -1
- package/dist/application/multiroot-service.js +2 -364
- package/dist/application/multiroot-service.js.map +1 -1
- package/dist/application/objetivo-service.d.ts.map +1 -1
- package/dist/application/objetivo-service.js +3 -3
- package/dist/application/objetivo-service.js.map +1 -1
- package/dist/application/parsers/objetivo.d.ts.map +1 -1
- package/dist/application/parsers/objetivo.js +7 -10
- package/dist/application/parsers/objetivo.js.map +1 -1
- package/dist/application/phase-detect-service.d.ts.map +1 -1
- package/dist/application/phase-detect-service.js +6 -6
- package/dist/application/phase-detect-service.js.map +1 -1
- package/dist/application/plugin-doctor/common.d.ts +27 -0
- package/dist/application/plugin-doctor/common.d.ts.map +1 -0
- package/dist/application/plugin-doctor/common.js +28 -0
- package/dist/application/plugin-doctor/common.js.map +1 -0
- package/dist/application/plugin-doctor/exported-skills.d.ts +8 -0
- package/dist/application/plugin-doctor/exported-skills.d.ts.map +1 -0
- package/dist/application/plugin-doctor/exported-skills.js +128 -0
- package/dist/application/plugin-doctor/exported-skills.js.map +1 -0
- package/dist/application/plugin-doctor/hooks.d.ts +8 -0
- package/dist/application/plugin-doctor/hooks.d.ts.map +1 -0
- package/dist/application/plugin-doctor/hooks.js +53 -0
- package/dist/application/plugin-doctor/hooks.js.map +1 -0
- package/dist/application/plugin-doctor/manifests.d.ts +11 -0
- package/dist/application/plugin-doctor/manifests.d.ts.map +1 -0
- package/dist/application/plugin-doctor/manifests.js +83 -0
- package/dist/application/plugin-doctor/manifests.js.map +1 -0
- package/dist/application/plugin-doctor/mcp.d.ts +10 -0
- package/dist/application/plugin-doctor/mcp.d.ts.map +1 -0
- package/dist/application/plugin-doctor/mcp.js +58 -0
- package/dist/application/plugin-doctor/mcp.js.map +1 -0
- package/dist/application/plugin-doctor/skills.d.ts +16 -0
- package/dist/application/plugin-doctor/skills.d.ts.map +1 -0
- package/dist/application/plugin-doctor/skills.js +167 -0
- package/dist/application/plugin-doctor/skills.js.map +1 -0
- package/dist/application/plugin-doctor-service.d.ts +2 -23
- package/dist/application/plugin-doctor-service.d.ts.map +1 -1
- package/dist/application/plugin-doctor-service.js +10 -514
- package/dist/application/plugin-doctor-service.js.map +1 -1
- package/dist/application/release-data/artifacts.d.ts +32 -0
- package/dist/application/release-data/artifacts.d.ts.map +1 -0
- package/dist/application/release-data/artifacts.js +105 -0
- package/dist/application/release-data/artifacts.js.map +1 -0
- package/dist/application/release-data/bundles.d.ts +15 -0
- package/dist/application/release-data/bundles.d.ts.map +1 -0
- package/dist/application/release-data/bundles.js +42 -0
- package/dist/application/release-data/bundles.js.map +1 -0
- package/dist/application/release-data/common.d.ts +11 -0
- package/dist/application/release-data/common.d.ts.map +1 -0
- package/dist/application/release-data/common.js +61 -0
- package/dist/application/release-data/common.js.map +1 -0
- package/dist/application/release-data/sessions.d.ts +19 -0
- package/dist/application/release-data/sessions.d.ts.map +1 -0
- package/dist/application/release-data/sessions.js +51 -0
- package/dist/application/release-data/sessions.js.map +1 -0
- package/dist/application/release-data-service.d.ts +8 -50
- package/dist/application/release-data-service.d.ts.map +1 -1
- package/dist/application/release-data-service.js +14 -252
- package/dist/application/release-data-service.js.map +1 -1
- package/dist/application/session-artifacts.d.ts +48 -0
- package/dist/application/session-artifacts.d.ts.map +1 -0
- package/dist/application/session-artifacts.js +116 -0
- package/dist/application/session-artifacts.js.map +1 -0
- package/dist/application/session-create-service.d.ts.map +1 -1
- package/dist/application/session-create-service.js +45 -15
- package/dist/application/session-create-service.js.map +1 -1
- package/dist/application/session-resolver.d.ts.map +1 -1
- package/dist/application/session-resolver.js +10 -15
- package/dist/application/session-resolver.js.map +1 -1
- package/dist/application/session-resume-service.d.ts.map +1 -1
- package/dist/application/session-resume-service.js +3 -2
- package/dist/application/session-resume-service.js.map +1 -1
- package/dist/application/templates/objetivo.js +32 -32
- package/dist/cli/commands/auto-plan-decide.d.ts +3 -0
- package/dist/cli/commands/auto-plan-decide.d.ts.map +1 -0
- package/dist/cli/commands/auto-plan-decide.js +19 -0
- package/dist/cli/commands/auto-plan-decide.js.map +1 -0
- package/dist/cli/commands/bootstrap-dsn.d.ts +3 -0
- package/dist/cli/commands/bootstrap-dsn.d.ts.map +1 -0
- package/dist/cli/commands/bootstrap-dsn.js +20 -0
- package/dist/cli/commands/bootstrap-dsn.js.map +1 -0
- package/dist/cli/commands/check-branch.d.ts +3 -0
- package/dist/cli/commands/check-branch.d.ts.map +1 -0
- package/dist/cli/commands/check-branch.js +30 -0
- package/dist/cli/commands/check-branch.js.map +1 -0
- package/dist/cli/commands/checkpoint-read.d.ts +3 -0
- package/dist/cli/commands/checkpoint-read.d.ts.map +1 -0
- package/dist/cli/commands/checkpoint-read.js +19 -0
- package/dist/cli/commands/checkpoint-read.js.map +1 -0
- package/dist/cli/commands/code-scan.d.ts +3 -0
- package/dist/cli/commands/code-scan.d.ts.map +1 -0
- package/dist/cli/commands/code-scan.js +74 -0
- package/dist/cli/commands/code-scan.js.map +1 -0
- package/dist/cli/commands/compress-checkpoint.d.ts +3 -0
- package/dist/cli/commands/compress-checkpoint.d.ts.map +1 -0
- package/dist/cli/commands/compress-checkpoint.js +28 -0
- package/dist/cli/commands/compress-checkpoint.js.map +1 -0
- package/dist/cli/commands/graduate.d.ts +3 -0
- package/dist/cli/commands/graduate.d.ts.map +1 -0
- package/dist/cli/commands/graduate.js +36 -0
- package/dist/cli/commands/graduate.js.map +1 -0
- package/dist/cli/commands/hub-init.d.ts.map +1 -1
- package/dist/cli/commands/hub-init.js +13 -43
- package/dist/cli/commands/hub-init.js.map +1 -1
- package/dist/cli/commands/phase-detect.d.ts +3 -0
- package/dist/cli/commands/phase-detect.d.ts.map +1 -0
- package/dist/cli/commands/phase-detect.js +19 -0
- package/dist/cli/commands/phase-detect.js.map +1 -0
- package/dist/cli/commands/phase-next.d.ts +3 -0
- package/dist/cli/commands/phase-next.d.ts.map +1 -0
- package/dist/cli/commands/phase-next.js +23 -0
- package/dist/cli/commands/phase-next.js.map +1 -0
- package/dist/cli/commands/project-md-upsert.d.ts.map +1 -1
- package/dist/cli/commands/project-md-upsert.js +2 -49
- package/dist/cli/commands/project-md-upsert.js.map +1 -1
- package/dist/cli/commands/resume-summary.d.ts +3 -0
- package/dist/cli/commands/resume-summary.d.ts.map +1 -0
- package/dist/cli/commands/resume-summary.js +10 -0
- package/dist/cli/commands/resume-summary.js.map +1 -0
- package/dist/cli/commands/session-create.js +2 -2
- package/dist/cli/commands/session-create.js.map +1 -1
- package/dist/cli/commands/skill-index.d.ts +3 -0
- package/dist/cli/commands/skill-index.d.ts.map +1 -0
- package/dist/cli/commands/skill-index.js +20 -0
- package/dist/cli/commands/skill-index.js.map +1 -0
- package/dist/cli/commands/sources.d.ts +3 -0
- package/dist/cli/commands/sources.d.ts.map +1 -0
- package/dist/cli/commands/sources.js +30 -0
- package/dist/cli/commands/sources.js.map +1 -0
- package/dist/cli/commands/specialty-choose.d.ts +3 -0
- package/dist/cli/commands/specialty-choose.d.ts.map +1 -0
- package/dist/cli/commands/specialty-choose.js +30 -0
- package/dist/cli/commands/specialty-choose.js.map +1 -0
- package/dist/cli/commands/stack.d.ts +3 -0
- package/dist/cli/commands/stack.d.ts.map +1 -0
- package/dist/cli/commands/stack.js +11 -0
- package/dist/cli/commands/stack.js.map +1 -0
- package/dist/cli/commands/topic-change-check.d.ts +3 -0
- package/dist/cli/commands/topic-change-check.d.ts.map +1 -0
- package/dist/cli/commands/topic-change-check.js +23 -0
- package/dist/cli/commands/topic-change-check.js.map +1 -0
- package/dist/cli/commands/upgrade-hub-mode.d.ts +3 -0
- package/dist/cli/commands/upgrade-hub-mode.d.ts.map +1 -0
- package/dist/cli/commands/upgrade-hub-mode.js +11 -0
- package/dist/cli/commands/upgrade-hub-mode.js.map +1 -0
- package/dist/cli/commands/workflows.d.ts +3 -0
- package/dist/cli/commands/workflows.d.ts.map +1 -0
- package/dist/cli/commands/workflows.js +30 -0
- package/dist/cli/commands/workflows.js.map +1 -0
- package/dist/cli/commands/workspace-mode.d.ts +3 -0
- package/dist/cli/commands/workspace-mode.d.ts.map +1 -0
- package/dist/cli/commands/workspace-mode.js +11 -0
- package/dist/cli/commands/workspace-mode.js.map +1 -0
- package/dist/cli/helpers/objetivo-loader.d.ts +3 -0
- package/dist/cli/helpers/objetivo-loader.d.ts.map +1 -0
- package/dist/cli/helpers/objetivo-loader.js +17 -0
- package/dist/cli/helpers/objetivo-loader.js.map +1 -0
- package/dist/cli/main.js +18 -4
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/parsers/fuentes.d.ts +11 -0
- package/dist/cli/parsers/fuentes.d.ts.map +1 -0
- package/dist/cli/parsers/fuentes.js +37 -0
- package/dist/cli/parsers/fuentes.js.map +1 -0
- package/dist/cli/parsers/working-branches.d.ts +2 -0
- package/dist/cli/parsers/working-branches.d.ts.map +1 -0
- package/dist/cli/parsers/working-branches.js +14 -0
- package/dist/cli/parsers/working-branches.js.map +1 -0
- package/dist/domain/session.d.ts +2 -2
- package/dist/domain/session.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
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
|
|
4
|
-
core: "
|
|
5
|
-
dev: "
|
|
6
|
-
design: "
|
|
7
|
-
analyze: "
|
|
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
|
|
23
|
-
const deliverablePath =
|
|
24
|
-
const
|
|
25
|
-
|
|
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:
|
|
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":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/application/handoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"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"}
|
|
@@ -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":"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"}
|
|
@@ -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"}
|