@tacuchi/agent-workflow-cli 21.17.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.
- package/README.md +4 -16
- package/dist/adapters/git-cli.js +36 -0
- package/dist/adapters/git-cli.js.map +1 -1
- package/dist/application/capability/design-handler.js +67 -21
- package/dist/application/capability/design-handler.js.map +1 -1
- package/dist/application/capability/dispatcher.js +1 -1
- package/dist/application/capability/dispatcher.js.map +1 -1
- package/dist/application/capability/durable-effect.js +1 -1
- package/dist/application/capability/durable-effect.js.map +1 -1
- package/dist/application/check-branch-service.js +1 -0
- package/dist/application/check-branch-service.js.map +1 -1
- package/dist/application/checkpoint-service.js +4 -3
- package/dist/application/checkpoint-service.js.map +1 -1
- package/dist/application/design/consumer-document.js +179 -0
- package/dist/application/design/consumer-document.js.map +1 -0
- package/dist/application/design/design-gate-service.js +18 -1
- package/dist/application/design/design-gate-service.js.map +1 -1
- package/dist/application/design/design-index-service.js +22 -3
- package/dist/application/design/design-index-service.js.map +1 -1
- package/dist/application/design/design-publish-service.js +27 -6
- package/dist/application/design/design-publish-service.js.map +1 -1
- package/dist/application/design/design-simple-service.js +34 -22
- package/dist/application/design/design-simple-service.js.map +1 -1
- package/dist/application/dev-only-services.js +19 -12
- package/dist/application/dev-only-services.js.map +1 -1
- package/dist/application/docs-canon-service.js +79 -5
- package/dist/application/docs-canon-service.js.map +1 -1
- package/dist/application/dsn-reader-service.js +12 -47
- package/dist/application/dsn-reader-service.js.map +1 -1
- package/dist/application/export-service.js +20 -11
- package/dist/application/export-service.js.map +1 -1
- package/dist/application/flow/flow-service.js +25 -0
- package/dist/application/flow/flow-service.js.map +1 -1
- package/dist/application/flow/internal-actions.js +5 -0
- package/dist/application/flow/internal-actions.js.map +1 -1
- package/dist/application/flow/submit.js +152 -22
- package/dist/application/flow/submit.js.map +1 -1
- package/dist/application/history-table.js +82 -44
- package/dist/application/history-table.js.map +1 -1
- package/dist/application/history-update-service.js +19 -9
- package/dist/application/history-update-service.js.map +1 -1
- package/dist/application/hook-git-commit-advisor.js +5 -4
- package/dist/application/hook-git-commit-advisor.js.map +1 -1
- package/dist/application/hook-sql-mutation-guard.js +1 -1
- package/dist/application/hook-sql-mutation-guard.js.map +1 -1
- package/dist/application/lifecycle-target.js +1 -0
- package/dist/application/lifecycle-target.js.map +1 -1
- package/dist/application/local-proposal.js +47 -23
- package/dist/application/local-proposal.js.map +1 -1
- package/dist/application/mcp-connections-service.js +37 -2
- package/dist/application/mcp-connections-service.js.map +1 -1
- package/dist/application/mcp-dbhub-launcher.js +22 -50
- package/dist/application/mcp-dbhub-launcher.js.map +1 -1
- package/dist/application/mcp-doctor-service.js +14 -23
- package/dist/application/mcp-doctor-service.js.map +1 -1
- package/dist/application/mcp-remove-service.js +3 -3
- package/dist/application/mcp-remove-service.js.map +1 -1
- package/dist/application/mcp-setup-service.js +4 -4
- package/dist/application/mcp-setup-service.js.map +1 -1
- package/dist/application/mcp-test-connection-service.js +4 -6
- package/dist/application/mcp-test-connection-service.js.map +1 -1
- package/dist/application/parsers/phases.js +17 -5
- package/dist/application/parsers/phases.js.map +1 -1
- package/dist/application/parsers/project-block.js +5 -11
- package/dist/application/parsers/project-block.js.map +1 -1
- package/dist/application/parsers/sessions-csv.js +16 -14
- package/dist/application/parsers/sessions-csv.js.map +1 -1
- package/dist/application/parsers/spec-relation.js +15 -11
- package/dist/application/parsers/spec-relation.js.map +1 -1
- package/dist/application/parsers/tasks.js +25 -1
- package/dist/application/parsers/tasks.js.map +1 -1
- package/dist/application/persist-service.js +67 -29
- package/dist/application/persist-service.js.map +1 -1
- package/dist/application/plugin-doctor/skills.js +1 -40
- package/dist/application/plugin-doctor/skills.js.map +1 -1
- package/dist/application/plugin-doctor-service.js +1 -3
- package/dist/application/plugin-doctor-service.js.map +1 -1
- package/dist/application/release-data/artifacts.js +1 -0
- package/dist/application/release-data/artifacts.js.map +1 -1
- package/dist/application/release-data/bundles.js +15 -6
- package/dist/application/release-data/bundles.js.map +1 -1
- package/dist/application/release-data/common.js +16 -7
- package/dist/application/release-data/common.js.map +1 -1
- package/dist/application/release-data/sessions.js +36 -8
- package/dist/application/release-data/sessions.js.map +1 -1
- package/dist/application/render/project-block.js +2 -2
- package/dist/application/render/project-block.js.map +1 -1
- package/dist/application/resume-service.js +9 -1
- package/dist/application/resume-service.js.map +1 -1
- package/dist/application/retirement/graph.js +14 -13
- package/dist/application/retirement/graph.js.map +1 -1
- package/dist/application/retirement/prepare.js +15 -2
- package/dist/application/retirement/prepare.js.map +1 -1
- package/dist/application/retirement/resolve.js.map +1 -1
- package/dist/application/self/clean-legacy.js +2 -4
- package/dist/application/self/clean-legacy.js.map +1 -1
- package/dist/application/self/mcp-config.js +8 -9
- package/dist/application/self/mcp-config.js.map +1 -1
- package/dist/application/session-close-service.js +8 -2
- package/dist/application/session-close-service.js.map +1 -1
- package/dist/application/session-create-service.js +26 -14
- package/dist/application/session-create-service.js.map +1 -1
- package/dist/application/session-resolver.js +80 -34
- package/dist/application/session-resolver.js.map +1 -1
- package/dist/application/session-resume-service.js +4 -3
- package/dist/application/session-resume-service.js.map +1 -1
- package/dist/application/source-boundary-policy.js +483 -0
- package/dist/application/source-boundary-policy.js.map +1 -0
- package/dist/application/status-service.js +1 -0
- package/dist/application/status-service.js.map +1 -1
- package/dist/application/workline-index-service.js +42 -20
- package/dist/application/workline-index-service.js.map +1 -1
- package/dist/application/workspace-migrate/apply.js +2 -4
- package/dist/application/workspace-migrate/apply.js.map +1 -1
- package/dist/application/workspace-migrate/plan.js +9 -6
- package/dist/application/workspace-migrate/plan.js.map +1 -1
- package/dist/application/workspace-migrate/preview.js +3 -3
- package/dist/application/workspace-migrate/preview.js.map +1 -1
- package/dist/application/worktree-service.js +3 -0
- package/dist/application/worktree-service.js.map +1 -1
- package/dist/cli/commands/capability.js +89 -5
- package/dist/cli/commands/capability.js.map +1 -1
- package/dist/cli/commands/designs.js +2 -6
- package/dist/cli/commands/designs.js.map +1 -1
- package/dist/cli/commands/dev-only.js +1 -1
- package/dist/cli/commands/dev-only.js.map +1 -1
- package/dist/cli/commands/flow.js +3 -1
- package/dist/cli/commands/flow.js.map +1 -1
- package/dist/cli/commands/index.js +0 -2
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/mcp.js +53 -55
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/persist.js +27 -21
- package/dist/cli/commands/persist.js.map +1 -1
- package/dist/cli/commands/resume.js +2 -2
- package/dist/cli/commands/resume.js.map +1 -1
- package/dist/cli/commands/session-create.js +2 -1
- package/dist/cli/commands/session-create.js.map +1 -1
- package/dist/cli/help-groups.js +0 -1
- package/dist/cli/help-groups.js.map +1 -1
- package/dist/cli/main.js +0 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/parser.js +1 -0
- package/dist/cli/parser.js.map +1 -1
- package/dist/cli/tui/data/recommended-skills.js +2 -2
- package/dist/cli/tui/data/recommended-skills.js.map +1 -1
- package/dist/cli/tui/tabs/mcp-tab-helpers.js +1 -1
- package/dist/cli/tui/tabs/mcp-tab.js +2 -2
- package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
- package/dist/domain/capability/protocol.js.map +1 -1
- package/dist/domain/correlative.js +121 -0
- package/dist/domain/correlative.js.map +1 -0
- package/dist/domain/design/capability.js +18 -0
- package/dist/domain/design/capability.js.map +1 -1
- package/dist/domain/docs-canon.js +31 -0
- package/dist/domain/docs-canon.js.map +1 -0
- package/dist/domain/flow/answer.js +57 -1
- package/dist/domain/flow/answer.js.map +1 -1
- package/dist/domain/flow/authority.js +28 -29
- package/dist/domain/flow/authority.js.map +1 -1
- package/dist/domain/flow/execution-result.js +13 -1
- package/dist/domain/flow/execution-result.js.map +1 -1
- package/dist/domain/flow/run-state.js.map +1 -1
- package/dist/domain/mcp-entry.js +7 -12
- package/dist/domain/mcp-entry.js.map +1 -1
- package/dist/domain/retirement/selector.js +16 -14
- package/dist/domain/retirement/selector.js.map +1 -1
- package/dist/domain/source-boundary.js +3 -0
- package/dist/domain/source-boundary.js.map +1 -0
- package/dist/domain/workline-node.js +12 -5
- package/dist/domain/workline-node.js.map +1 -1
- package/dist/runtime/namespace-resolver.js +0 -3
- package/dist/runtime/namespace-resolver.js.map +1 -1
- package/package.json +5 -5
- package/skills/w/SKILL.md +2 -2
- package/skills/w/artifacts/artifacts-core/SCRIPTS.sql +14 -9
- package/skills/w/artifacts/artifacts-research/CONCLUSIONS.md +7 -0
- package/skills/w/commands/export-scripts.md +8 -2
- package/skills/w/commands/plan-new.md +1 -0
- package/skills/w/context/MANIFEST.json +2 -9
- package/skills/w/exports/export-scripts/EXPORT.md +13 -9
- package/skills/w/loops/CHASSIS.md +1 -1
- package/skills/w/loops/plan-exec-loop/LOOP.md +14 -10
- package/skills/w/loops/plan-new-loop/LOOP.md +16 -16
- package/skills/w/loops/plan-refine-loop/LOOP.md +6 -1
- package/skills/w/loops/quick-loop/LOOP.md +2 -2
- package/skills/w/loops/spec-refine-loop/LOOP.md +4 -0
- package/skills/w/modules/DB-RESEARCH-RULE.md +5 -5
- package/skills/w/modules/DB-SCRIPTS-ONLY.md +5 -6
- package/skills/w/modules/EXEC-DB-POLICY.md +2 -2
- package/skills/w/modules/PLAN-INPUT.md +11 -9
- package/skills/w/roles/sql/ROLE.md +9 -9
- package/dist/application/decisiones-service.js +0 -31
- package/dist/application/decisiones-service.js.map +0 -1
- package/dist/application/dev-bootstrap-dsn-service.js +0 -76
- package/dist/application/dev-bootstrap-dsn-service.js.map +0 -1
- package/dist/application/profile/profile-service.js +0 -199
- package/dist/application/profile/profile-service.js.map +0 -1
- package/dist/application/tasks-service.js +0 -45
- package/dist/application/tasks-service.js.map +0 -1
- package/dist/cli/commands/bootstrap-dsn.js +0 -16
- package/dist/cli/commands/bootstrap-dsn.js.map +0 -1
- package/dist/cli/tui/components/process-list.js +0 -43
- package/dist/cli/tui/components/process-list.js.map +0 -1
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
import { join,
|
|
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":"AAAA,OAAO,EAAE,IAAI,EAAE,
|
|
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 {
|
|
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":"AAAA,sEAAsE;AACtE,EAAE;AACF,+DAA+D;AAC/D,0DAA0D;AAC1D,EAAE;AACF,8EAA8E;AAC9E,wFAAwF;AACxF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,
|
|
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":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,OAAO,EAAqB,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAA+B,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,8EAA8E;AAC9E,gFAAgF;AAChF,6EAA6E;AAC7E,6EAA6E;AAC7E,8BAA8B;AAC9B,MAAM,gBAAgB,GAA4C;IAChE,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;IAClC,UAAU,EAAE,CAAC,WAAW,CAAC;IACzB,YAAY,EAAE,CAAC,aAAa,CAAC;IAC7B,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,UAAU,EAAE,CAAC,YAAY,CAAC;IAC1B,OAAO,EAAE,CAAC,SAAS,CAAC;CACrB,CAAC;AACF,MAAM,cAAc,GAAG,SAAS,CAAC;AAoBjC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,EAAkB,EAClB,KAAmB,EACnB,WAAmB,EACnB,KAAgB,EAChB,OAAyB;IAEzB,iFAAiF;IACjF,4EAA4E;IAC5E,8EAA8E;IAC9E,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE;QACvD,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,IAAI,UAAU,CAAC,OAAO,KAAK,UAAU;QAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IAE3E,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5C,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;IAE7C,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACnF,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IAEpC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC;IACjC,MAAM,MAAM,GAA2B;QACrC,OAAO,EAAE,KAAK,CAAC,MAAM;QACrB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3E,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,OAAO,GAAG,MAAM,oBAAoB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACL,MAAkC,CAAC,IAAI,CAAC,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,EAAkB,EAClB,WAAmB,EACnB,UAAkB,EAClB,OAAoC;IAEpC,yEAAyE;IACzE,kFAAkF;IAClF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACrE,MAAM,MAAM,GACV,CAAC,MAAM,YAAY,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI;QACzD,CAAC,MAAM,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;IAC9D,IAAI,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,UAAU,GAAG,OAAO,EAAE,aAAa,EAAE,OAAO,IAAI,0CAA0C,CAAC;IACjG,OAAO;QACL,KAAK,EAAE,eAAe;QACtB,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,+DAA+D,UAAU,gDAAgD;KAChI,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,EAAkB,EAClB,WAAmB;IAEnB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACrD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC9D,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,KAAK,GAAgF,EAAE,CAAC;IAC9F,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,IAAI,GAAkB,IAAI,CAAC;QAC/B,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC;YAC7B,IAAI,EAAE,CAAC;YACP,IAAI;YACJ,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;SACzC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,EAAkB,EAClB,WAAmB,EACnB,IAAY;IAEZ,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,IAAI,EAAE,EAAE,CAAC;IAC7D,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QACjE,IAAI,YAAY;YAAE,MAAM;IAC1B,CAAC;IACD,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAChD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;IAC7D,CAAC;AACH,CAAC"}
|
|
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 {
|
|
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 =
|
|
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 =
|
|
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 =
|
|
19
|
+
const targetCode = sessionCorrelative(options.sessionCode);
|
|
19
20
|
const dirEntries = (await fs.list(scriptsDir))
|
|
20
21
|
.filter((e) => e.type === "dir")
|
|
21
|
-
.sort(
|
|
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 ||
|
|
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":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"bundles.js","sourceRoot":"","sources":["../../../src/application/release-data/bundles.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
|
+
import { correlativeValue, leadingCorrelativeInput, normalizeCorrelativeInput, prefixedCorrelativeInput, } from "../../domain/correlative.js";
|
|
2
3
|
import { readWorkspaceBlock } from "../parsers/project-block.js";
|
|
3
|
-
export function
|
|
4
|
+
export function sessionCorrelative(code) {
|
|
4
5
|
if (!code)
|
|
5
6
|
return null;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
const value = String(code).trim();
|
|
8
|
+
return (normalizeCorrelativeInput(value) ??
|
|
9
|
+
prefixedCorrelativeInput(value, "session") ??
|
|
10
|
+
leadingCorrelativeInput(value));
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Compatibility projection for older release callers. New range comparisons
|
|
14
|
+
* use `sessionCorrelative` and the domain comparator so `999 → 1000` stays in
|
|
15
|
+
* numeric order.
|
|
16
|
+
*/
|
|
17
|
+
export function sessionCodeInt(code) {
|
|
18
|
+
const correlative = sessionCorrelative(code);
|
|
19
|
+
const value = correlative === null ? null : correlativeValue(correlative);
|
|
20
|
+
return value === null ? null : Number(value);
|
|
12
21
|
}
|
|
13
22
|
export async function collectFilesByExt(fs, dir, ext) {
|
|
14
23
|
const result = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/application/release-data/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/application/release-data/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
|
-
import {
|
|
2
|
+
import { compareCorrelatives, sameCorrelative } from "../../domain/correlative.js";
|
|
3
|
+
import { SessionsCsvError, validateSessionsExist } from "../parsers/sessions-csv.js";
|
|
3
4
|
import { relpath } from "../paths.js";
|
|
4
5
|
import { listExistingArtifacts } from "../session-artifacts.js";
|
|
5
6
|
import { buildSessionEntry, listSessionFolders } from "../session-resolver.js";
|
|
6
|
-
import {
|
|
7
|
+
import { sessionCorrelative } from "./common.js";
|
|
7
8
|
export async function listSessionsForRelease(fs, cwd, paths, options = {}) {
|
|
8
9
|
void cwd;
|
|
9
10
|
const includeOpen = options.includeOpen ?? true;
|
|
@@ -11,14 +12,14 @@ export async function listSessionsForRelease(fs, cwd, paths, options = {}) {
|
|
|
11
12
|
const sessionsDir = paths.cwdSessionsDir();
|
|
12
13
|
if (!(await fs.exists(sessionsDir)))
|
|
13
14
|
return [];
|
|
14
|
-
const sessionsFilter = options.sessions;
|
|
15
|
+
const sessionsFilter = normalizeSessionFilters(options.sessions);
|
|
15
16
|
const useDiscrete = sessionsFilter !== undefined && sessionsFilter.length > 0;
|
|
16
17
|
if (useDiscrete) {
|
|
17
18
|
await validateSessionsExist(fs, sessionsDir, sessionsFilter);
|
|
18
19
|
}
|
|
19
20
|
const filter = {
|
|
20
|
-
wanted: useDiscrete ?
|
|
21
|
-
|
|
21
|
+
wanted: useDiscrete ? sessionsFilter : null,
|
|
22
|
+
since: useDiscrete ? null : sessionCorrelative(options.since),
|
|
22
23
|
includeOpen,
|
|
23
24
|
includeClosed,
|
|
24
25
|
};
|
|
@@ -33,15 +34,42 @@ export async function listSessionsForRelease(fs, cwd, paths, options = {}) {
|
|
|
33
34
|
}
|
|
34
35
|
return result;
|
|
35
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* `export-*` also replays a sealed scope, and older scopes named a session by
|
|
39
|
+
* its folder rather than only its number. Normalize those input spellings here;
|
|
40
|
+
* the filter and every persisted artifact still use a complete correlative.
|
|
41
|
+
*/
|
|
42
|
+
function normalizeSessionFilters(input) {
|
|
43
|
+
if (input === undefined)
|
|
44
|
+
return undefined;
|
|
45
|
+
const normalized = [];
|
|
46
|
+
for (const raw of input) {
|
|
47
|
+
const code = sessionCorrelative(raw);
|
|
48
|
+
if (code === null) {
|
|
49
|
+
throw new SessionsCsvError("INVALID_INPUT", `--sessions: token inválido '${raw}' (esperado: correlativo o carpeta de sesión)`);
|
|
50
|
+
}
|
|
51
|
+
if (normalized.some((existing) => sameCorrelative(existing, code))) {
|
|
52
|
+
throw new SessionsCsvError("INVALID_INPUT", `--sessions: código duplicado '${raw}'`);
|
|
53
|
+
}
|
|
54
|
+
normalized.push(code);
|
|
55
|
+
}
|
|
56
|
+
return normalized;
|
|
57
|
+
}
|
|
36
58
|
function includeReleaseEntry(entry, filter) {
|
|
59
|
+
const code = sessionCorrelative(entry.folder) ?? sessionCorrelative(entry.code);
|
|
37
60
|
if (filter.wanted !== null) {
|
|
38
|
-
|
|
61
|
+
const matchesWanted = filter.wanted.some((wanted) => {
|
|
62
|
+
const wantedCode = sessionCorrelative(wanted);
|
|
63
|
+
return wantedCode !== null && code !== null && sameCorrelative(wantedCode, code);
|
|
64
|
+
});
|
|
65
|
+
if (!matchesWanted) {
|
|
39
66
|
return false;
|
|
67
|
+
}
|
|
40
68
|
}
|
|
41
69
|
else {
|
|
42
|
-
|
|
43
|
-
if (filter.sinceInt !== null && codeInt !== null && codeInt <= filter.sinceInt)
|
|
70
|
+
if (filter.since !== null && code !== null && compareCorrelatives(code, filter.since) <= 0) {
|
|
44
71
|
return false;
|
|
72
|
+
}
|
|
45
73
|
}
|
|
46
74
|
if (entry.state === "active" && !filter.includeOpen)
|
|
47
75
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/application/release-data/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/application/release-data/sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { localMinuteIso } from "../dates.js";
|
|
2
|
-
import { BLOCK_PLACEHOLDER_FUENTES, BLOCK_PLACEHOLDER_PROYECTO, BLOCK_PLACEHOLDER_STACK,
|
|
2
|
+
import { BLOCK_PLACEHOLDER_FUENTES, BLOCK_PLACEHOLDER_PROYECTO, BLOCK_PLACEHOLDER_STACK, DEFAULT_PROJECT_BLOCK_MARKERS, } from "../parsers/project-block.js";
|
|
3
3
|
export function renderProjectBlock(input) {
|
|
4
|
-
const markers = input.markers ??
|
|
4
|
+
const markers = input.markers ?? DEFAULT_PROJECT_BLOCK_MARKERS;
|
|
5
5
|
const historicoPath = input.historicoPath ?? ".workflow/HISTORY.md";
|
|
6
6
|
const last = input.lastActivity ?? localMinuteIso();
|
|
7
7
|
const kept = input.preservedLines;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-block.js","sourceRoot":"","sources":["../../../src/application/render/project-block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAU7C,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,
|
|
1
|
+
{"version":3,"file":"project-block.js","sourceRoot":"","sources":["../../../src/application/render/project-block.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { coreDocumentLocations } from "../domain/docs-canon.js";
|
|
1
2
|
import { projectRun } from "./flow/run-projection.js";
|
|
2
3
|
import { buildSessionNarrative } from "./session-narrative.js";
|
|
3
4
|
import { resolveSessionTarget, sessionReadRequest } from "./session-resolver.js";
|
|
@@ -7,6 +8,13 @@ export async function runResume(fs, env, paths, input = {}) {
|
|
|
7
8
|
...(input.now !== undefined ? { now: input.now } : {}),
|
|
8
9
|
...(input.git !== undefined ? { git: input.git } : {}),
|
|
9
10
|
});
|
|
11
|
+
if (index.docs_canon_error !== undefined) {
|
|
12
|
+
return {
|
|
13
|
+
status: "invalid_target",
|
|
14
|
+
target: input.target ?? input.code ?? "",
|
|
15
|
+
action: `el canon documental no es válido: ${index.docs_canon_error}. Corregilo antes de reanudar trabajo`,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
10
18
|
if (input.code !== undefined)
|
|
11
19
|
return await resumeSession(fs, paths, index, input);
|
|
12
20
|
if (input.target !== undefined)
|
|
@@ -33,7 +41,7 @@ function resumeTarget(index, target) {
|
|
|
33
41
|
return {
|
|
34
42
|
status: "invalid_target",
|
|
35
43
|
target,
|
|
36
|
-
action: `ningún documento coincide con '${target}': pasá una ruta
|
|
44
|
+
action: `ningún documento coincide con '${target}': pasá una ruta bajo ${coreDocumentLocations()} o el número, o usá --code para una sesión`,
|
|
37
45
|
};
|
|
38
46
|
}
|
|
39
47
|
if (matches.length > 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume-service.js","sourceRoot":"","sources":["../../src/application/resume-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resume-service.js","sourceRoot":"","sources":["../../src/application/resume-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* apart so the evidence can be inspected on its own.
|
|
15
15
|
*/
|
|
16
16
|
import { join, relative } from "node:path";
|
|
17
|
+
import { DEFAULT_CORE_DOCS_CANON } from "../../domain/docs-canon.js";
|
|
17
18
|
import { CUSTODY_FILE, custodyCompleteness } from "../../domain/session/custody.js";
|
|
18
19
|
import { formatNodeId, isProvable, nodeFromDocPath, } from "../../domain/workline-node.js";
|
|
19
20
|
import { locateRun, readRun } from "../flow/run-state-service.js";
|
|
@@ -55,7 +56,7 @@ export class RetirementGraph {
|
|
|
55
56
|
return this.childrenOf(id).filter((e) => !isProvable(e.evidence));
|
|
56
57
|
}
|
|
57
58
|
}
|
|
58
|
-
export async function buildRetirementGraph(deps) {
|
|
59
|
+
export async function buildRetirementGraph(deps, canon = DEFAULT_CORE_DOCS_CANON) {
|
|
59
60
|
const index = await buildWorklineIndex(deps.fs, deps.env, deps.paths, {
|
|
60
61
|
...(deps.git !== undefined ? { git: deps.git } : {}),
|
|
61
62
|
});
|
|
@@ -74,9 +75,9 @@ export async function buildRetirementGraph(deps) {
|
|
|
74
75
|
graph.addEdge({ kind: "plan", key: plan.number }, { kind: "spec", key: plan.spec.number }, "derived-from");
|
|
75
76
|
}
|
|
76
77
|
for (const session of index.sessions) {
|
|
77
|
-
const node = await sessionNode(deps, root, session);
|
|
78
|
+
const node = await sessionNode(deps, root, session, canon);
|
|
78
79
|
graph.add(node);
|
|
79
|
-
linkSession(graph, node, session);
|
|
80
|
+
linkSession(graph, node, session, canon);
|
|
80
81
|
}
|
|
81
82
|
return { graph, index };
|
|
82
83
|
}
|
|
@@ -98,7 +99,7 @@ function addDoc(graph, root, kind, doc) {
|
|
|
98
99
|
* `## Origin` merely mentions it, and recording that as `origin-prose` is what
|
|
99
100
|
* lets the closure stop rather than treat the two as equivalent.
|
|
100
101
|
*/
|
|
101
|
-
function linkSession(graph, node, session) {
|
|
102
|
+
function linkSession(graph, node, session, canon) {
|
|
102
103
|
const custody = node.session?.custody ?? null;
|
|
103
104
|
if (custody !== null && custody.parents.length > 0) {
|
|
104
105
|
for (const parent of custody.parents)
|
|
@@ -107,17 +108,17 @@ function linkSession(graph, node, session) {
|
|
|
107
108
|
}
|
|
108
109
|
if (session.linked_doc === null)
|
|
109
110
|
return;
|
|
110
|
-
const linked = nodeFromDocPath(session.linked_doc);
|
|
111
|
+
const linked = nodeFromDocPath(session.linked_doc, canon);
|
|
111
112
|
if (linked !== null)
|
|
112
113
|
graph.addEdge(node.id, linked, "origin-prose");
|
|
113
114
|
}
|
|
114
|
-
async function sessionNode(deps, root, session) {
|
|
115
|
+
async function sessionNode(deps, root, session, canon) {
|
|
115
116
|
const read = await readCustody(deps.fs, session.path);
|
|
116
117
|
const facts = {
|
|
117
118
|
folder: session.folder,
|
|
118
119
|
state: session.state,
|
|
119
120
|
type: session.type,
|
|
120
|
-
completion: await completionOf(deps, session, read),
|
|
121
|
+
completion: await completionOf(deps, session, read, canon),
|
|
121
122
|
custody: read.status === "present" ? read.custody : null,
|
|
122
123
|
custody_gap: custodyGap(read),
|
|
123
124
|
units: session.units,
|
|
@@ -161,13 +162,13 @@ function custodyGap(read) {
|
|
|
161
162
|
* delivered work. `.closed` is deliberately NOT consulted — a session closed with
|
|
162
163
|
* work pending is exactly the case reset exists for.
|
|
163
164
|
*/
|
|
164
|
-
async function completionOf(deps, session, read) {
|
|
165
|
+
async function completionOf(deps, session, read, canon) {
|
|
165
166
|
const run = await readRun(deps.fs, locateRun(deps.paths, session.folder));
|
|
166
167
|
if (run.ok)
|
|
167
168
|
return run.state.boundary === null ? "converged" : "incomplete";
|
|
168
169
|
if (read.status !== "present")
|
|
169
170
|
return "unknown";
|
|
170
|
-
return (await artifactConverged(deps, read.custody)) ? "converged" : "incomplete";
|
|
171
|
+
return (await artifactConverged(deps, read.custody, canon)) ? "converged" : "incomplete";
|
|
171
172
|
}
|
|
172
173
|
/**
|
|
173
174
|
* Whether the document this session was working on already reached its end.
|
|
@@ -176,9 +177,9 @@ async function completionOf(deps, session, read) {
|
|
|
176
177
|
* this is the guard that decides a destructive question and it should not depend
|
|
177
178
|
* on a projection that may have been built for another purpose.
|
|
178
179
|
*/
|
|
179
|
-
async function artifactConverged(deps, custody) {
|
|
180
|
+
async function artifactConverged(deps, custody, canon = DEFAULT_CORE_DOCS_CANON) {
|
|
180
181
|
for (const parent of custody.parents) {
|
|
181
|
-
const path = docPathOf(deps, custody, parent);
|
|
182
|
+
const path = docPathOf(deps, custody, parent, canon);
|
|
182
183
|
if (path === null)
|
|
183
184
|
continue;
|
|
184
185
|
let text;
|
|
@@ -196,9 +197,9 @@ async function artifactConverged(deps, custody) {
|
|
|
196
197
|
return false;
|
|
197
198
|
}
|
|
198
199
|
/** The absolute path of a parent document, as the custody itself recorded it. */
|
|
199
|
-
function docPathOf(deps, custody, parent) {
|
|
200
|
+
function docPathOf(deps, custody, parent, canon = DEFAULT_CORE_DOCS_CANON) {
|
|
200
201
|
const artifact = custody.artifacts.find((a) => {
|
|
201
|
-
const node = nodeFromDocPath(a.path);
|
|
202
|
+
const node = nodeFromDocPath(a.path, canon);
|
|
202
203
|
return node !== null && node.kind === parent.kind && node.key === parent.key;
|
|
203
204
|
});
|
|
204
205
|
return artifact === undefined ? null : join(deps.paths.workspaceDir(), artifact.path);
|