@tacuchi/agent-workflow-cli 22.4.1 → 23.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 +2 -2
- package/dist/adapters/git-cli.js +59 -17
- package/dist/adapters/git-cli.js.map +1 -1
- package/dist/adapters/node-file-system.js +55 -1
- package/dist/adapters/node-file-system.js.map +1 -1
- package/dist/application/artifacts-service.js +2 -2
- package/dist/application/artifacts-service.js.map +1 -1
- package/dist/application/capability/dispatcher.js +2 -2
- package/dist/application/capability/dispatcher.js.map +1 -1
- package/dist/application/capability/installed-inventory.js +2 -2
- package/dist/application/capability/installed-inventory.js.map +1 -1
- package/dist/application/capability/readiness.js +1 -1
- package/dist/application/capability/readiness.js.map +1 -1
- package/dist/application/check-branch-service.js +2 -2
- package/dist/application/check-branch-service.js.map +1 -1
- package/dist/application/checkpoint/files-touched.js +271 -0
- package/dist/application/checkpoint/files-touched.js.map +1 -0
- package/dist/application/checkpoint/markdown.js +61 -8
- package/dist/application/checkpoint/markdown.js.map +1 -1
- package/dist/application/checkpoint/state-reader.js +8 -2
- package/dist/application/checkpoint/state-reader.js.map +1 -1
- package/dist/application/checkpoint-write-service.js +16 -5
- package/dist/application/checkpoint-write-service.js.map +1 -1
- package/dist/application/claims-ledger.js +330 -0
- package/dist/application/claims-ledger.js.map +1 -0
- package/dist/application/claims-recovery.js +338 -0
- package/dist/application/claims-recovery.js.map +1 -0
- package/dist/application/dev-only-services.js +154 -44
- package/dist/application/dev-only-services.js.map +1 -1
- package/dist/application/elicitation-server.js +382 -0
- package/dist/application/elicitation-server.js.map +1 -0
- package/dist/application/elicitation-stdio.js +48 -0
- package/dist/application/elicitation-stdio.js.map +1 -0
- package/dist/application/flow/advance.js +86 -5
- package/dist/application/flow/advance.js.map +1 -1
- package/dist/application/flow/checkout-observation.js +152 -0
- package/dist/application/flow/checkout-observation.js.map +1 -0
- package/dist/application/flow/flow-service.js +72 -13
- package/dist/application/flow/flow-service.js.map +1 -1
- package/dist/application/flow/internal-actions.js +460 -1
- package/dist/application/flow/internal-actions.js.map +1 -1
- package/dist/application/flow/internal-drive.js +22 -9
- package/dist/application/flow/internal-drive.js.map +1 -1
- package/dist/application/flow/prove.js +205 -0
- package/dist/application/flow/prove.js.map +1 -0
- package/dist/application/flow/run-journey.js +15 -0
- package/dist/application/flow/run-journey.js.map +1 -0
- package/dist/application/flow/run-projection.js +15 -3
- package/dist/application/flow/run-projection.js.map +1 -1
- package/dist/application/flow/run-state-service.js +19 -4
- package/dist/application/flow/run-state-service.js.map +1 -1
- package/dist/application/flow/submit.js +250 -72
- package/dist/application/flow/submit.js.map +1 -1
- package/dist/application/generate-launch-service.js +4 -4
- package/dist/application/generate-launch-service.js.map +1 -1
- package/dist/application/git-flow-service.js +9 -0
- package/dist/application/git-flow-service.js.map +1 -1
- package/dist/application/local-proposal.js +9 -0
- package/dist/application/local-proposal.js.map +1 -1
- package/dist/application/lock-service.js +6 -3
- package/dist/application/lock-service.js.map +1 -1
- package/dist/application/mcp-doctor-service.js.map +1 -1
- package/dist/application/mcp-host-reader.js +30 -13
- package/dist/application/mcp-host-reader.js.map +1 -1
- package/dist/application/mcp-host-writer.js +136 -112
- package/dist/application/mcp-host-writer.js.map +1 -1
- package/dist/application/mcp-remove-service.js +7 -3
- package/dist/application/mcp-remove-service.js.map +1 -1
- package/dist/application/mcp-scope-common.js +1 -3
- package/dist/application/mcp-scope-common.js.map +1 -1
- package/dist/application/mcp-setup-service.js +7 -3
- package/dist/application/mcp-setup-service.js.map +1 -1
- package/dist/application/merge-state-service.js +10 -16
- package/dist/application/merge-state-service.js.map +1 -1
- package/dist/application/multiroot/claude.js +34 -15
- package/dist/application/multiroot/claude.js.map +1 -1
- package/dist/application/multiroot/codex.js +9 -5
- package/dist/application/multiroot/codex.js.map +1 -1
- package/dist/application/multiroot-service.js +20 -11
- package/dist/application/multiroot-service.js.map +1 -1
- package/dist/application/parsers/project-block.js +25 -2
- package/dist/application/parsers/project-block.js.map +1 -1
- package/dist/application/paths-service.js +30 -31
- package/dist/application/paths-service.js.map +1 -1
- package/dist/application/plan-exec-batch-service.js +549 -0
- package/dist/application/plan-exec-batch-service.js.map +1 -0
- package/dist/application/plan-exec-decision-service.js +273 -0
- package/dist/application/plan-exec-decision-service.js.map +1 -0
- package/dist/application/project-md-service.js +2 -2
- package/dist/application/project-md-service.js.map +1 -1
- package/dist/application/project-md-upsert-service.js +4 -4
- package/dist/application/project-md-upsert-service.js.map +1 -1
- package/dist/application/project-tab-data.js +12 -7
- package/dist/application/project-tab-data.js.map +1 -1
- package/dist/application/release-data-service.js +2 -2
- package/dist/application/release-data-service.js.map +1 -1
- package/dist/application/resume-service.js +32 -11
- package/dist/application/resume-service.js.map +1 -1
- package/dist/application/retirement/apply.js +84 -0
- package/dist/application/retirement/apply.js.map +1 -1
- package/dist/application/retirement/attribution.js +31 -1
- package/dist/application/retirement/attribution.js.map +1 -1
- package/dist/application/retirement/graph.js +19 -1
- package/dist/application/retirement/graph.js.map +1 -1
- package/dist/application/retirement/journal.js +11 -0
- package/dist/application/retirement/journal.js.map +1 -1
- package/dist/application/retirement/prepare.js +89 -3
- package/dist/application/retirement/prepare.js.map +1 -1
- package/dist/application/retirement/preview.js +16 -0
- package/dist/application/retirement/preview.js.map +1 -1
- package/dist/application/retirement/resolve.js +65 -0
- package/dist/application/retirement/resolve.js.map +1 -1
- package/dist/application/self/host-states.js +2 -0
- package/dist/application/self/host-states.js.map +1 -1
- package/dist/application/self/install-skill.js +53 -19
- package/dist/application/self/install-skill.js.map +1 -1
- package/dist/application/self/mcp-config.js +28 -30
- package/dist/application/self/mcp-config.js.map +1 -1
- package/dist/application/self/mcp-offer.js +96 -0
- package/dist/application/self/mcp-offer.js.map +1 -0
- package/dist/application/self/mcp-via-state.js +59 -0
- package/dist/application/self/mcp-via-state.js.map +1 -0
- package/dist/application/self/uninstall-skill.js +18 -3
- package/dist/application/self/uninstall-skill.js.map +1 -1
- package/dist/application/self/uninstall.js +37 -8
- package/dist/application/self/uninstall.js.map +1 -1
- package/dist/application/session-close-service.js +24 -1
- package/dist/application/session-close-service.js.map +1 -1
- package/dist/application/session-create-service.js +7 -0
- package/dist/application/session-create-service.js.map +1 -1
- package/dist/application/session-resume-service.js +2 -2
- package/dist/application/session-resume-service.js.map +1 -1
- package/dist/application/sessions-service.js +2 -4
- package/dist/application/sessions-service.js.map +1 -1
- package/dist/application/skills-resolver-service.js +4 -4
- package/dist/application/skills-resolver-service.js.map +1 -1
- package/dist/application/source-boundary-policy.js +18 -7
- package/dist/application/source-boundary-policy.js.map +1 -1
- package/dist/application/source-remove-service.js +12 -1
- package/dist/application/source-remove-service.js.map +1 -1
- package/dist/application/sources-service.js +2 -2
- package/dist/application/sources-service.js.map +1 -1
- package/dist/application/status-service.js +4 -0
- package/dist/application/status-service.js.map +1 -1
- package/dist/application/visibility-doctor-service.js +1 -1
- package/dist/application/visibility-doctor-service.js.map +1 -1
- package/dist/application/workline-index-service.js +182 -27
- package/dist/application/workline-index-service.js.map +1 -1
- package/dist/application/workspace-init-service.js +85 -265
- package/dist/application/workspace-init-service.js.map +1 -1
- package/dist/application/workspace-materialization-service.js +300 -0
- package/dist/application/workspace-materialization-service.js.map +1 -0
- package/dist/application/worktree-service.js +32 -3
- package/dist/application/worktree-service.js.map +1 -1
- package/dist/cli/commands/capability.js +4 -7
- package/dist/cli/commands/capability.js.map +1 -1
- package/dist/cli/commands/claims.js +72 -0
- package/dist/cli/commands/claims.js.map +1 -0
- package/dist/cli/commands/dev-only.js +73 -25
- package/dist/cli/commands/dev-only.js.map +1 -1
- package/dist/cli/commands/flow.js +145 -42
- package/dist/cli/commands/flow.js.map +1 -1
- package/dist/cli/commands/index.js +2 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/mcp.js +124 -35
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/multiroot.js +40 -7
- package/dist/cli/commands/multiroot.js.map +1 -1
- package/dist/cli/commands/resume.js +9 -3
- package/dist/cli/commands/resume.js.map +1 -1
- package/dist/cli/commands/retirement.js +9 -0
- package/dist/cli/commands/retirement.js.map +1 -1
- package/dist/cli/commands/session-create.js +1 -1
- package/dist/cli/commands/session-create.js.map +1 -1
- package/dist/cli/commands/skills.js +1 -1
- package/dist/cli/commands/skills.js.map +1 -1
- package/dist/cli/commands/status.js +72 -24
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/workspace-init.js +5 -5
- package/dist/cli/commands/workspace-init.js.map +1 -1
- package/dist/cli/help-groups.js +5 -0
- package/dist/cli/help-groups.js.map +1 -1
- package/dist/cli/main.js +112 -39
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/parser.js +3 -0
- package/dist/cli/parser.js.map +1 -1
- package/dist/cli/tui/app.js +3 -2
- package/dist/cli/tui/app.js.map +1 -1
- package/dist/cli/tui/components/host-admin-section.js +46 -2
- package/dist/cli/tui/components/host-admin-section.js.map +1 -1
- package/dist/cli/tui/components/workspace-init-form.js +7 -7
- package/dist/cli/tui/components/workspace-init-form.js.map +1 -1
- package/dist/cli/tui/data/workflow-content.js +2 -2
- package/dist/cli/tui/data/workflow-content.js.map +1 -1
- package/dist/cli/tui/tabs/config-tab.js +4 -3
- package/dist/cli/tui/tabs/config-tab.js.map +1 -1
- package/dist/cli/tui/tabs/mcp-tab-helpers.js +1 -1
- package/dist/cli/tui/tabs/mcp-tab-helpers.js.map +1 -1
- package/dist/cli/tui/tabs/project-tab.js +18 -21
- package/dist/cli/tui/tabs/project-tab.js.map +1 -1
- package/dist/cli/tui/workspace-root.js +13 -0
- package/dist/cli/tui/workspace-root.js.map +1 -0
- package/dist/domain/capability/protocol.js +2 -2
- package/dist/domain/capability/protocol.js.map +1 -1
- package/dist/domain/degradation-notice.js +60 -0
- package/dist/domain/degradation-notice.js.map +1 -0
- package/dist/domain/elicitation.js +152 -0
- package/dist/domain/elicitation.js.map +1 -0
- package/dist/domain/flow/answer.js +173 -42
- package/dist/domain/flow/answer.js.map +1 -1
- package/dist/domain/flow/authority.js +180 -127
- package/dist/domain/flow/authority.js.map +1 -1
- package/dist/domain/flow/directive.js +47 -1
- package/dist/domain/flow/directive.js.map +1 -1
- package/dist/domain/flow/rules.js +7 -4
- package/dist/domain/flow/rules.js.map +1 -1
- package/dist/domain/flow/run-state.js +636 -31
- package/dist/domain/flow/run-state.js.map +1 -1
- package/dist/domain/harnesses.js +17 -1
- package/dist/domain/harnesses.js.map +1 -1
- package/dist/domain/mcp-entry.js +36 -14
- package/dist/domain/mcp-entry.js.map +1 -1
- package/dist/domain/retirement/proposal.js +1 -0
- package/dist/domain/retirement/proposal.js.map +1 -1
- package/dist/domain/structured-choice-stamp.js +32 -4
- package/dist/domain/structured-choice-stamp.js.map +1 -1
- package/dist/domain/workline-mcp-entry.js +37 -0
- package/dist/domain/workline-mcp-entry.js.map +1 -0
- package/dist/runtime/namespace-resolver.js +104 -18
- package/dist/runtime/namespace-resolver.js.map +1 -1
- package/package.json +1 -1
- package/skills/w/README.md +2 -2
- package/skills/w/SKILL.md +9 -10
- package/skills/w/artifacts/README.md +1 -1
- package/skills/w/commands/README.md +3 -3
- package/skills/w/commands/persist.md +3 -1
- package/skills/w/commands/resume.md +1 -1
- package/skills/w/commands/spec-new.md +2 -2
- package/skills/w/commands/status.md +1 -1
- package/skills/w/commands/workspace-init.md +9 -10
- package/skills/w/context/MANIFEST.json +1 -4
- package/skills/w/harness/HARNESS.md +1 -1
- package/skills/w/loops/quick-loop/LOOP.md +1 -1
- package/skills/w/modules/PROMPT-CONTINUITY.md +1 -1
- package/skills/w/modules/WORKSPACE-SCAFFOLD.md +17 -20
- package/skills/w/schemas/capability-descriptor.schema.json +1 -1
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { basename,
|
|
2
|
-
import { BUILTIN_DEFAULT_SKILLS, SKILL_ROLES } from "../domain/skills.js";
|
|
1
|
+
import { basename, resolve } from "node:path";
|
|
3
2
|
import { DEFAULT_LOCK_TTL_MS, isExpired, parseLock } from "./lock-service.js";
|
|
4
3
|
import { runMultiroot } from "./multiroot-service.js";
|
|
5
4
|
import { normalizePath } from "./multiroot/paths.js";
|
|
6
|
-
import { readWorkspaceBlock } from "./parsers/project-block.js";
|
|
5
|
+
import { readWorkspaceBlock, resolveWorkspaceSourcePath } from "./parsers/project-block.js";
|
|
7
6
|
import { PathsService } from "./paths-service.js";
|
|
8
7
|
import { previewProjectMdUpsert, runProjectMdUpsertWrite, } from "./project-md-upsert-service.js";
|
|
8
|
+
import { appendGitignoreEntries, ensureWorklineMaterialized, previewWorklineMaterialization, } from "./workspace-materialization-service.js";
|
|
9
|
+
export { runtimeGitignoreEntries } from "./workspace-materialization-service.js";
|
|
9
10
|
/**
|
|
10
11
|
* docs/ taxonomy owned by Workline (one folder per category). NOT scaffolded
|
|
11
12
|
* anymore: each folder is born on demand at the first numbered write
|
|
@@ -26,67 +27,6 @@ export const DOCS_FOLDERS = [
|
|
|
26
27
|
* Exported for the code↔doctrine guard test (workspace-init.md documents the set).
|
|
27
28
|
*/
|
|
28
29
|
export const VISIBILITY_GITIGNORE = [".claude/settings.local.json*", ".codex/config.toml*"];
|
|
29
|
-
/**
|
|
30
|
-
* Machine-local workflow artifacts — never committed. Sessions are the live log
|
|
31
|
-
* (HISTORY.md is the durable, committable record); .lock/processes/launch/logs
|
|
32
|
-
* are runtime. Exported for the code↔doctrine guard test.
|
|
33
|
-
*/
|
|
34
|
-
export function runtimeGitignoreEntries(ns) {
|
|
35
|
-
return [
|
|
36
|
-
`.${ns}/sessions/`,
|
|
37
|
-
`.${ns}/.lock`,
|
|
38
|
-
`.${ns}/processes.json`,
|
|
39
|
-
`.${ns}/launch/`,
|
|
40
|
-
"docs/logs/",
|
|
41
|
-
];
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Migrate legacy per-source launch folders from `docs/tools/<x>/` to `.workflow/launch/<x>/`.
|
|
45
|
-
* A legacy launch folder is identified by a `launch.json` carrying the generated
|
|
46
|
-
* `_generated.sha256` marker — so creating-tools tool folders (a README, not a generated
|
|
47
|
-
* launch.json) are never touched. Content is moved (preserving user-edited scripts); if the
|
|
48
|
-
* destination already exists the legacy copy is just removed (superseded). Runs BEFORE
|
|
49
|
-
* generation so moved edits survive the idempotent rewrite.
|
|
50
|
-
*/
|
|
51
|
-
async function isGeneratedLaunchFolder(fs, dir) {
|
|
52
|
-
const file = join(dir, "launch.json");
|
|
53
|
-
if (!(await fs.exists(file)))
|
|
54
|
-
return false; // not a launch folder (e.g. a created tool)
|
|
55
|
-
try {
|
|
56
|
-
const parsed = JSON.parse(await fs.readText(file));
|
|
57
|
-
return typeof parsed._generated?.sha256 === "string"; // hand-authored → no marker → leave it
|
|
58
|
-
}
|
|
59
|
-
catch {
|
|
60
|
-
return false;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
/** Copy every flat file from `src` to `dest`, preserving content (user-edited scripts survive). */
|
|
64
|
-
async function copyDirFiles(fs, src, dest) {
|
|
65
|
-
await fs.mkdirp(dest);
|
|
66
|
-
for (const f of await fs.list(src)) {
|
|
67
|
-
if (f.type === "file") {
|
|
68
|
-
await fs.writeText(join(dest, f.name), await fs.readText(join(src, f.name)));
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
async function migrateLegacyLaunchDirs(fs, docsToolsDir, launchDir) {
|
|
73
|
-
if (!(await fs.exists(docsToolsDir)))
|
|
74
|
-
return [];
|
|
75
|
-
const migrated = [];
|
|
76
|
-
for (const entry of await fs.list(docsToolsDir)) {
|
|
77
|
-
if (entry.type !== "dir")
|
|
78
|
-
continue;
|
|
79
|
-
const legacyDir = join(docsToolsDir, entry.name);
|
|
80
|
-
if (!(await isGeneratedLaunchFolder(fs, legacyDir)))
|
|
81
|
-
continue;
|
|
82
|
-
const dest = join(launchDir, entry.name);
|
|
83
|
-
if (!(await fs.exists(dest)))
|
|
84
|
-
await copyDirFiles(fs, legacyDir, dest);
|
|
85
|
-
await fs.remove(legacyDir);
|
|
86
|
-
migrated.push(entry.name);
|
|
87
|
-
}
|
|
88
|
-
return migrated;
|
|
89
|
-
}
|
|
90
30
|
/**
|
|
91
31
|
* Initialize the current directory as an agent-workflow **workspace**. Unifies the
|
|
92
32
|
* legacy `hub-init` + `project-init`: there is no project/hub distinction — a
|
|
@@ -97,41 +37,70 @@ async function migrateLegacyLaunchDirs(fs, docsToolsDir, launchDir) {
|
|
|
97
37
|
* --working-branch) render in the Status block unconditionally.
|
|
98
38
|
*/
|
|
99
39
|
export async function runWorkspaceInit(fs, env, paths, input) {
|
|
100
|
-
|
|
40
|
+
// `paths` already carries the unique WorklineDirectory root. An explicit
|
|
41
|
+
// target remains an intentional override; otherwise a subdirectory invocation
|
|
42
|
+
// configures the same root that status/resume/session commands read.
|
|
43
|
+
const workspace = input.workspace ? resolve(input.workspace) : resolve(paths.workspaceDir());
|
|
101
44
|
// No default here on purpose: stamping a base branch into every Fuentes cell
|
|
102
45
|
// would outrank — and on a re-init silently overwrite — the workspace
|
|
103
46
|
// `principal` default the user sets in [Config]. Undeclared stays undeclared.
|
|
104
47
|
const mainBranch = input.mainBranch;
|
|
105
48
|
const wsPaths = new PathsService(paths.namespace, env.homeDir(), workspace);
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
49
|
+
const metadataRequested = input.proyecto !== undefined ||
|
|
50
|
+
input.mainBranch !== undefined ||
|
|
51
|
+
input.workingBranches !== undefined ||
|
|
52
|
+
input.qaBranches !== undefined ||
|
|
53
|
+
input.lastActivity !== undefined;
|
|
54
|
+
// No sources means no configuration intent. `workspace-init` is now a
|
|
55
|
+
// convenient early materialization command, not a mandatory gate before
|
|
56
|
+
// status/resume or every flow. It deliberately does not create skills.toml,
|
|
57
|
+
// a WORKSPACE block, docs/, launch artifacts, HISTORY, or a Git repository.
|
|
58
|
+
if (input.sources.length === 0) {
|
|
59
|
+
if (metadataRequested) {
|
|
60
|
+
return {
|
|
61
|
+
error: "no_sources",
|
|
62
|
+
hint: "las opciones de configuración requieren al menos una fuente (--source alias:path[:rama]); sin fuentes workspace-init sólo materializa el runtime",
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
const materialization = input.dryRun
|
|
66
|
+
? await previewWorklineMaterialization(fs, wsPaths)
|
|
67
|
+
: await ensureWorklineMaterialized(fs, wsPaths);
|
|
68
|
+
return {
|
|
69
|
+
ok: true,
|
|
70
|
+
dry_run: input.dryRun === true,
|
|
71
|
+
workspace,
|
|
72
|
+
sources: 0,
|
|
73
|
+
materialization,
|
|
74
|
+
scaffold: scaffoldFromMaterialization(materialization, wsPaths),
|
|
75
|
+
skills_toml: (await fs.exists(wsPaths.cwdSkillsToml())) ? "exists" : "skipped",
|
|
76
|
+
project_md: { skipped: true, reason: "materialization_only" },
|
|
77
|
+
attach_multiroot: { skipped: true, reason: "materialization_only" },
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
// Reconcile: an explicit source declaration is authoritative, while the
|
|
81
|
+
// previous block is read first to detach only sources it actually replaces.
|
|
111
82
|
const existing = await readExistingBlock(fs, workspace, wsPaths);
|
|
112
|
-
const
|
|
113
|
-
const proyecto = resolveProyecto(input.proyecto, existing?.proyecto, workspace);
|
|
114
|
-
const validation = validateSources(sources);
|
|
83
|
+
const validation = validateSources(input.sources);
|
|
115
84
|
if (validation)
|
|
116
85
|
return validation;
|
|
117
|
-
//
|
|
118
|
-
|
|
86
|
+
// Source locations become workspace-rooted at the configuration boundary.
|
|
87
|
+
// A nested invocation must not leave a relative path whose meaning changes
|
|
88
|
+
// with the next process cwd (or with the TUI's later Git/launch probes).
|
|
89
|
+
const sources = canonicalSources(input.sources, workspace);
|
|
90
|
+
const proyecto = resolveProyecto(input.proyecto, existing?.proyecto, workspace);
|
|
119
91
|
// Built once: the preview must describe the very upsert the real run performs.
|
|
120
92
|
const upsertInput = buildUpsertInput(input, proyecto, sources, mainBranch);
|
|
121
93
|
if (input.dryRun) {
|
|
122
|
-
return buildDryRunResult(fs,
|
|
94
|
+
return buildDryRunResult(fs, env, workspace, wsPaths, sources, upsertInput);
|
|
123
95
|
}
|
|
124
|
-
const
|
|
125
|
-
const
|
|
126
|
-
//
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
// user-edited scripts survive. Launch artifacts themselves are NOT pregenerated
|
|
130
|
-
// anymore: the launch flow regenerates them on demand at the first launch.
|
|
131
|
-
await migrateLegacyLaunchDirs(fs, join(workspace, "docs", "tools"), wsPaths.cwdLaunchDir());
|
|
96
|
+
const materialization = await ensureWorklineMaterialized(fs, wsPaths);
|
|
97
|
+
const scaffold = scaffoldFromMaterialization(materialization, wsPaths);
|
|
98
|
+
// An empty skills.toml has no semantic override. Leave skill configuration
|
|
99
|
+
// absent until a real override is requested through its dedicated surface.
|
|
100
|
+
const skillsToml = (await fs.exists(wsPaths.cwdSkillsToml())) ? "exists" : "skipped";
|
|
132
101
|
// Previous sources (to detach removed ones) come from the same existing block.
|
|
133
102
|
const previousPaths = (existing?.fuentes ?? []).map((f) => f.path).filter((p) => p.length > 0);
|
|
134
|
-
const projectMd = await runProjectMdUpsertWrite(fs,
|
|
103
|
+
const projectMd = await runProjectMdUpsertWrite(fs, env, wsPaths, upsertInput);
|
|
135
104
|
if ("error" in projectMd) {
|
|
136
105
|
return {
|
|
137
106
|
ok: false,
|
|
@@ -139,21 +108,20 @@ export async function runWorkspaceInit(fs, env, paths, input) {
|
|
|
139
108
|
workspace,
|
|
140
109
|
sources: sources.length,
|
|
141
110
|
scaffold,
|
|
111
|
+
materialization,
|
|
142
112
|
skills_toml: skillsToml,
|
|
143
113
|
project_md: projectMd,
|
|
144
114
|
attach_multiroot: { skipped: true, reason: "project_md_failed" },
|
|
145
115
|
};
|
|
146
116
|
}
|
|
147
|
-
const visibility = await reconcileVisibility(fs,
|
|
148
|
-
// Last: the project-md upsert above just released its lock leaving the empty
|
|
149
|
-
// marker — clean the leftover so init never ends with a stray .lock.
|
|
150
|
-
scaffold.pruned.push(...(await pruneReleasedLock(fs, wsPaths)));
|
|
117
|
+
const visibility = await reconcileVisibility(fs, env, wsPaths, workspace, sources, previousPaths);
|
|
151
118
|
return {
|
|
152
119
|
ok: projectMd.ok && visibility.ok,
|
|
153
120
|
dry_run: false,
|
|
154
121
|
workspace,
|
|
155
122
|
sources: sources.length,
|
|
156
123
|
scaffold,
|
|
124
|
+
materialization,
|
|
157
125
|
skills_toml: skillsToml,
|
|
158
126
|
project_md: projectMd,
|
|
159
127
|
attach_multiroot: visibility.attach,
|
|
@@ -180,6 +148,14 @@ function buildUpsertInput(input, proyecto, sources, mainBranch) {
|
|
|
180
148
|
...(input.lastActivity !== undefined ? { lastActivity: input.lastActivity } : {}),
|
|
181
149
|
};
|
|
182
150
|
}
|
|
151
|
+
function scaffoldFromMaterialization(materialization, paths) {
|
|
152
|
+
const sessions = materialization.effects.find((effect) => effect.kind === "sessions");
|
|
153
|
+
return {
|
|
154
|
+
created: sessions?.status === "created" ? [paths.cwdSessionsDir()] : [],
|
|
155
|
+
existing: sessions?.status === "existing" ? [paths.cwdSessionsDir()] : [],
|
|
156
|
+
pruned: [],
|
|
157
|
+
};
|
|
158
|
+
}
|
|
183
159
|
/**
|
|
184
160
|
* Preview derived from the workspace as it IS. Every field here answers a
|
|
185
161
|
* question about disk — does the activation marker exist, is skills.toml
|
|
@@ -189,99 +165,21 @@ function buildUpsertInput(input, proyecto, sources, mainBranch) {
|
|
|
189
165
|
*/
|
|
190
166
|
async function buildDryRunResult(fs, env, workspace, wsPaths, sources, upsertInput) {
|
|
191
167
|
const anyExternal = sources.some((s) => isExternalToWorkspace(s.path, workspace));
|
|
192
|
-
|
|
193
|
-
// .gitkeep files, so plan mode must show exactly what would be removed.
|
|
194
|
-
const pruned = [
|
|
195
|
-
...(await pruneLegacyScaffold(fs, workspace, wsPaths, false)),
|
|
196
|
-
...(await pruneReleasedLock(fs, wsPaths, false)),
|
|
197
|
-
];
|
|
198
|
-
const sessionsDir = wsPaths.cwdSessionsDir();
|
|
199
|
-
const sessionsExists = await fs.exists(sessionsDir);
|
|
168
|
+
const materialization = await previewWorklineMaterialization(fs, wsPaths);
|
|
200
169
|
return {
|
|
201
170
|
ok: true,
|
|
202
171
|
dry_run: true,
|
|
203
172
|
workspace,
|
|
204
173
|
sources: sources.length,
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
pruned,
|
|
209
|
-
},
|
|
210
|
-
skills_toml: (await fs.exists(wsPaths.cwdSkillsToml())) ? "exists" : "created",
|
|
174
|
+
materialization,
|
|
175
|
+
scaffold: scaffoldFromMaterialization(materialization, wsPaths),
|
|
176
|
+
skills_toml: (await fs.exists(wsPaths.cwdSkillsToml())) ? "exists" : "skipped",
|
|
211
177
|
project_md: await previewProjectMdUpsert(fs, env, wsPaths, upsertInput),
|
|
212
178
|
attach_multiroot: anyExternal
|
|
213
179
|
? { skipped: true, reason: "dry_run" }
|
|
214
180
|
: { skipped: true, reason: "no_external_sources" },
|
|
215
181
|
};
|
|
216
182
|
}
|
|
217
|
-
/**
|
|
218
|
-
* Minimal scaffold + reconcile. Creates only `.workflow/sessions/` (the marker that
|
|
219
|
-
* activates the operating context); docs/<cat> folders are born on demand at the
|
|
220
|
-
* first `aw next-number docs/<cat>`. On re-run it PRUNES the legacy upfront
|
|
221
|
-
* scaffold: .gitkeep-only taxonomy dirs, stray .gitkeep files, an empty docs/logs
|
|
222
|
-
* and an empty/expired `.workflow/.lock` leftover.
|
|
223
|
-
*/
|
|
224
|
-
async function scaffoldDirs(fs, workspace, wsPaths) {
|
|
225
|
-
const created = [];
|
|
226
|
-
const existing = [];
|
|
227
|
-
const sessionsDir = wsPaths.cwdSessionsDir();
|
|
228
|
-
if (await fs.exists(sessionsDir)) {
|
|
229
|
-
existing.push(sessionsDir);
|
|
230
|
-
}
|
|
231
|
-
else {
|
|
232
|
-
await fs.mkdirp(sessionsDir);
|
|
233
|
-
created.push(sessionsDir);
|
|
234
|
-
}
|
|
235
|
-
const pruned = await pruneLegacyScaffold(fs, workspace, wsPaths);
|
|
236
|
-
return { created, existing, pruned };
|
|
237
|
-
}
|
|
238
|
-
/** True when the dir's only content is a `.gitkeep` (or nothing at all). */
|
|
239
|
-
async function isGitkeepOnly(fs, dir) {
|
|
240
|
-
const entries = await fs.list(dir);
|
|
241
|
-
return entries.every((e) => e.type === "file" && e.name === ".gitkeep");
|
|
242
|
-
}
|
|
243
|
-
/**
|
|
244
|
-
* Legacy upfront-scaffold leftovers. With `apply=false` it only DETECTS (the
|
|
245
|
-
* dry-run preview must show what a real run would delete — these are often
|
|
246
|
-
* git-tracked files).
|
|
247
|
-
*/
|
|
248
|
-
async function pruneLegacyScaffold(fs, workspace, wsPaths, apply = true) {
|
|
249
|
-
const pruned = [];
|
|
250
|
-
// Taxonomy dirs from the upfront-scaffold era: drop the empty ones, and the
|
|
251
|
-
// now-meaningless .gitkeep inside the ones that already have content.
|
|
252
|
-
for (const f of DOCS_FOLDERS) {
|
|
253
|
-
const dir = join(workspace, "docs", f);
|
|
254
|
-
if (!(await fs.exists(dir)))
|
|
255
|
-
continue;
|
|
256
|
-
if (await isGitkeepOnly(fs, dir)) {
|
|
257
|
-
if (apply)
|
|
258
|
-
await fs.remove(dir);
|
|
259
|
-
pruned.push(dir);
|
|
260
|
-
continue;
|
|
261
|
-
}
|
|
262
|
-
const keep = join(dir, ".gitkeep");
|
|
263
|
-
if (await fs.exists(keep)) {
|
|
264
|
-
if (apply)
|
|
265
|
-
await fs.remove(keep);
|
|
266
|
-
pruned.push(keep);
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
// docs/logs: recreated on demand by the launch flow; drop it when empty.
|
|
270
|
-
const logsDir = join(workspace, "docs", "logs");
|
|
271
|
-
if ((await fs.exists(logsDir)) && (await fs.list(logsDir)).length === 0) {
|
|
272
|
-
if (apply)
|
|
273
|
-
await fs.remove(logsDir);
|
|
274
|
-
pruned.push(logsDir);
|
|
275
|
-
}
|
|
276
|
-
// sessions/.gitkeep: pointless now that sessions/ is gitignored.
|
|
277
|
-
const sessionsKeep = join(wsPaths.cwdSessionsDir(), ".gitkeep");
|
|
278
|
-
if (await fs.exists(sessionsKeep)) {
|
|
279
|
-
if (apply)
|
|
280
|
-
await fs.remove(sessionsKeep);
|
|
281
|
-
pruned.push(sessionsKeep);
|
|
282
|
-
}
|
|
283
|
-
return pruned;
|
|
284
|
-
}
|
|
285
183
|
/**
|
|
286
184
|
* Remove a released/expired `.workflow/.lock` leftover. release() intentionally
|
|
287
185
|
* leaves an empty marker file (lock-service protocol), so this must run at the
|
|
@@ -303,57 +201,6 @@ export async function pruneReleasedLock(fs, wsPaths, apply = true) {
|
|
|
303
201
|
await fs.remove(lockFile);
|
|
304
202
|
return [lockFile];
|
|
305
203
|
}
|
|
306
|
-
/** Seed `.workflow/skills.toml` with a commented template. Never clobbers an existing file. */
|
|
307
|
-
async function seedSkillsToml(fs, wsPaths) {
|
|
308
|
-
const file = wsPaths.cwdSkillsToml();
|
|
309
|
-
if (await fs.exists(file))
|
|
310
|
-
return "exists";
|
|
311
|
-
await fs.mkdirp(wsPaths.cwdRoot());
|
|
312
|
-
await fs.writeText(file, renderSkillsTomlTemplate());
|
|
313
|
-
return "created";
|
|
314
|
-
}
|
|
315
|
-
function renderSkillsTomlTemplate() {
|
|
316
|
-
const header = [
|
|
317
|
-
"# agent-workflow — capability skill bindings",
|
|
318
|
-
"#",
|
|
319
|
-
"# Maps each capability ROLE to the SKILL that implements it.",
|
|
320
|
-
"# Cascade (later wins): built-in default -> ~/.workflow/skills.toml (global) -> .workflow/skills.toml (workspace)",
|
|
321
|
-
"#",
|
|
322
|
-
"# To override a role, uncomment its line and set a value:",
|
|
323
|
-
"# - a skill name (built-in, or a third-party skill installed via skills.sh)",
|
|
324
|
-
'# - "off" to disable the capability',
|
|
325
|
-
"# A commented role keeps its built-in default (shown after the #).",
|
|
326
|
-
"#",
|
|
327
|
-
"# Inspect the resolved bindings with: aw skills",
|
|
328
|
-
"",
|
|
329
|
-
"[skills]",
|
|
330
|
-
];
|
|
331
|
-
const roleLines = SKILL_ROLES.map((role) => `# ${role} = "${BUILTIN_DEFAULT_SKILLS[role]}"`);
|
|
332
|
-
// A role whose skill publishes a capability descriptor reads this file more
|
|
333
|
-
// strictly, and saying so at scaffold time is cheaper than explaining a
|
|
334
|
-
// `misconfigured` later. Stated as the rule, not per role: a note naming one
|
|
335
|
-
// capability would rot the day a second one ships.
|
|
336
|
-
const capabilityLines = [
|
|
337
|
-
"",
|
|
338
|
-
"# A role fulfilled by a skill that publishes a CAPABILITY DESCRIPTOR is stricter:",
|
|
339
|
-
"# - unset, or the capability's own name = built-in floor + the improvements the host selected",
|
|
340
|
-
'# - "off" = the descriptor decides operation by operation, and no host reverts it',
|
|
341
|
-
"# - any other name = misconfigured; a replacement binding does NOT select an improvement",
|
|
342
|
-
"# Existing workspaces are never migrated: `aw skills --detail` explains and you choose.",
|
|
343
|
-
];
|
|
344
|
-
const compactionLines = [
|
|
345
|
-
"",
|
|
346
|
-
"# Context self-regulation of the loops (see the chassis' Self-regulation subsection):",
|
|
347
|
-
'# "confirm" (default, also with no config) = the loop proposes `Compactar`, the user ratifies',
|
|
348
|
-
'# "auto" = checkpoint + compact without asking (hosts with a non-interactive mechanism',
|
|
349
|
-
'# only; elsewhere it degrades to "confirm")',
|
|
350
|
-
'# "confirm" is already the default; the real opt-in is "auto". To switch,',
|
|
351
|
-
"# uncomment BOTH lines and set the value:",
|
|
352
|
-
"# [compaction]",
|
|
353
|
-
'# mode = "confirm"',
|
|
354
|
-
];
|
|
355
|
-
return `${[...header, ...roleLines, ...capabilityLines, ...compactionLines].join("\n")}\n`;
|
|
356
|
-
}
|
|
357
204
|
async function reconcileVisibility(fs, env, wsPaths, workspace, sources, previousPaths) {
|
|
358
205
|
// Visibility must be configured for every source whose path lives OUTSIDE the
|
|
359
206
|
// workspace folder: the host (Claude/Codex) opened the workspace dir, so an
|
|
@@ -388,16 +235,16 @@ async function reconcileVisibility(fs, env, wsPaths, workspace, sources, previou
|
|
|
388
235
|
}
|
|
389
236
|
/** A source path that lives outside the workspace folder needs host visibility config. */
|
|
390
237
|
function isExternalToWorkspace(sourcePath, workspace) {
|
|
391
|
-
const src = normalizePath(
|
|
238
|
+
const src = normalizePath(resolveWorkspaceSourcePath(workspace, sourcePath));
|
|
392
239
|
const ws = normalizePath(resolve(workspace));
|
|
393
240
|
return src !== ws && !src.startsWith(`${ws}/`);
|
|
394
241
|
}
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
};
|
|
242
|
+
/** Persist source paths as absolute coordinates rooted in the resolved workspace. */
|
|
243
|
+
function canonicalSources(sources, workspace) {
|
|
244
|
+
return sources.map((source) => ({
|
|
245
|
+
...source,
|
|
246
|
+
path: resolveWorkspaceSourcePath(workspace, source.path),
|
|
247
|
+
}));
|
|
401
248
|
}
|
|
402
249
|
/** Proyecto + sources declared in the current block (before it is rewritten),
|
|
403
250
|
* used to preserve them on a reconcile re-run. Null when no block exists yet. */
|
|
@@ -411,7 +258,9 @@ async function readExistingBlock(fs, workspace, paths) {
|
|
|
411
258
|
.filter((f) => f.path.length > 0)
|
|
412
259
|
.map((f) => ({
|
|
413
260
|
alias: f.alias,
|
|
414
|
-
|
|
261
|
+
// Reconcile a legacy relative entry against the same root before it is
|
|
262
|
+
// compared, detached or re-emitted as canonical metadata.
|
|
263
|
+
path: resolveWorkspaceSourcePath(workspace, f.path),
|
|
415
264
|
...(f.main_branch ? { mainBranch: f.main_branch } : {}),
|
|
416
265
|
})),
|
|
417
266
|
};
|
|
@@ -425,45 +274,10 @@ function resolveProyecto(arg, existing, workspace) {
|
|
|
425
274
|
return existing.trim();
|
|
426
275
|
return basename(workspace);
|
|
427
276
|
}
|
|
428
|
-
/**
|
|
429
|
-
* Ensure the entries exist in the workspace `.gitignore` under the given header
|
|
430
|
-
* (idempotent, block-aware): missing entries are inserted at the end of the
|
|
431
|
-
* existing header's block — never as a second block with a duplicate header.
|
|
432
|
-
* User lines are never touched; dedupe is per trimmed line across the whole file.
|
|
433
|
-
*/
|
|
434
|
-
async function appendGitignoreEntries(fs, workspace, header, entries) {
|
|
435
|
-
const file = join(workspace, ".gitignore");
|
|
436
|
-
const existing = (await fs.exists(file)) ? await fs.readText(file) : "";
|
|
437
|
-
const lines = existing.split(/\r?\n/);
|
|
438
|
-
const present = new Set(lines.map((l) => l.trim()).filter((l) => l.length > 0));
|
|
439
|
-
const missing = entries.filter((e) => !present.has(e));
|
|
440
|
-
if (missing.length === 0)
|
|
441
|
-
return;
|
|
442
|
-
const headerIdx = lines.findIndex((l) => l.trim() === header);
|
|
443
|
-
if (headerIdx >= 0) {
|
|
444
|
-
// End of the header's block = last consecutive non-empty line after it.
|
|
445
|
-
let end = headerIdx + 1;
|
|
446
|
-
while (end < lines.length && (lines[end] ?? "").trim().length > 0)
|
|
447
|
-
end++;
|
|
448
|
-
lines.splice(end, 0, ...missing);
|
|
449
|
-
// Preserve the file's dominant EOL: a CRLF .gitignore must not be rewritten
|
|
450
|
-
// wholesale to LF (that would churn every user line in the diff).
|
|
451
|
-
const eol = existing.includes("\r\n") ? "\r\n" : "\n";
|
|
452
|
-
await fs.writeText(file, lines.join(eol));
|
|
453
|
-
return;
|
|
454
|
-
}
|
|
455
|
-
const block = `${header}\n${missing.join("\n")}\n`;
|
|
456
|
-
const body = existing.replace(/\s+$/, "");
|
|
457
|
-
await fs.writeText(file, body.length === 0 ? block : `${body}\n\n${block}`);
|
|
458
|
-
}
|
|
459
277
|
/** Ensure the workspace `.gitignore` ignores the visibility files (idempotent). */
|
|
460
278
|
async function ensureVisibilityGitignore(fs, workspace) {
|
|
461
279
|
await appendGitignoreEntries(fs, workspace, "# Multi-root visibility (machine-specific paths — do not commit)", VISIBILITY_GITIGNORE);
|
|
462
280
|
}
|
|
463
|
-
/** Ensure the workspace `.gitignore` ignores source-launch runtime artifacts (idempotent, always). */
|
|
464
|
-
async function ensureRuntimeGitignore(fs, workspace, ns) {
|
|
465
|
-
await appendGitignoreEntries(fs, workspace, "# agent-workflow runtime (machine-specific — do not commit)", runtimeGitignoreEntries(ns));
|
|
466
|
-
}
|
|
467
281
|
function validateSources(sources) {
|
|
468
282
|
if (!sources || sources.length < 1) {
|
|
469
283
|
return {
|
|
@@ -476,6 +290,12 @@ function validateSources(sources) {
|
|
|
476
290
|
if (!s.alias || !s.path) {
|
|
477
291
|
return { error: "invalid_source", hint: `fuente sin alias o path: ${JSON.stringify(s)}` };
|
|
478
292
|
}
|
|
293
|
+
if (s.alias === "workspace") {
|
|
294
|
+
return {
|
|
295
|
+
error: "reserved_source_alias",
|
|
296
|
+
hint: "'workspace' es la fuente implícita reservada para la raíz Workline; elegí otro alias para una fuente adicional",
|
|
297
|
+
};
|
|
298
|
+
}
|
|
479
299
|
if (aliases.has(s.alias)) {
|
|
480
300
|
return { error: "duplicate_alias", hint: `alias duplicado: ${s.alias}` };
|
|
481
301
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-init-service.js","sourceRoot":"","sources":["../../src/application/workspace-init-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace-init-service.js","sourceRoot":"","sources":["../../src/application/workspace-init-service.ts"],"names":[],"mappings":"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"}
|