@tacuchi/agent-workflow-cli 14.9.0 → 14.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/README.md +1 -1
  2. package/dist/adapters/git-cli.d.ts +2 -0
  3. package/dist/adapters/git-cli.d.ts.map +1 -1
  4. package/dist/adapters/git-cli.js +32 -24
  5. package/dist/adapters/git-cli.js.map +1 -1
  6. package/dist/adapters/node-process.d.ts.map +1 -1
  7. package/dist/adapters/node-process.js +34 -7
  8. package/dist/adapters/node-process.js.map +1 -1
  9. package/dist/application/logging/log-events.d.ts +6 -0
  10. package/dist/application/logging/log-events.d.ts.map +1 -1
  11. package/dist/application/logging/log-events.js +10 -0
  12. package/dist/application/logging/log-events.js.map +1 -1
  13. package/dist/application/mcp-host-paths.d.ts +17 -0
  14. package/dist/application/mcp-host-paths.d.ts.map +1 -0
  15. package/dist/application/mcp-host-paths.js +30 -0
  16. package/dist/application/mcp-host-paths.js.map +1 -0
  17. package/dist/application/mcp-host-reader.d.ts.map +1 -1
  18. package/dist/application/mcp-host-reader.js +15 -5
  19. package/dist/application/mcp-host-reader.js.map +1 -1
  20. package/dist/application/mcp-host-writer.d.ts.map +1 -1
  21. package/dist/application/mcp-host-writer.js +19 -5
  22. package/dist/application/mcp-host-writer.js.map +1 -1
  23. package/dist/application/mcp-remove-service.js +3 -3
  24. package/dist/application/mcp-remove-service.js.map +1 -1
  25. package/dist/application/mcp-setup-service.js +3 -3
  26. package/dist/application/mcp-setup-service.js.map +1 -1
  27. package/dist/application/release-data/artifacts.d.ts.map +1 -1
  28. package/dist/application/release-data/artifacts.js +5 -1
  29. package/dist/application/release-data/artifacts.js.map +1 -1
  30. package/dist/application/self/detect-hosts.d.ts.map +1 -1
  31. package/dist/application/self/detect-hosts.js +12 -8
  32. package/dist/application/self/detect-hosts.js.map +1 -1
  33. package/dist/application/self/install-skill.d.ts.map +1 -1
  34. package/dist/application/self/install-skill.js +19 -1
  35. package/dist/application/self/install-skill.js.map +1 -1
  36. package/dist/cli/commands/check-branch.d.ts.map +1 -1
  37. package/dist/cli/commands/check-branch.js +2 -1
  38. package/dist/cli/commands/check-branch.js.map +1 -1
  39. package/dist/cli/commands/checkpoint-read.d.ts.map +1 -1
  40. package/dist/cli/commands/checkpoint-read.js +2 -1
  41. package/dist/cli/commands/checkpoint-read.js.map +1 -1
  42. package/dist/cli/commands/checkpoint-write.d.ts.map +1 -1
  43. package/dist/cli/commands/checkpoint-write.js +2 -1
  44. package/dist/cli/commands/checkpoint-write.js.map +1 -1
  45. package/dist/cli/commands/code-scan.d.ts.map +1 -1
  46. package/dist/cli/commands/code-scan.js +9 -10
  47. package/dist/cli/commands/code-scan.js.map +1 -1
  48. package/dist/cli/commands/compress-checkpoint.d.ts.map +1 -1
  49. package/dist/cli/commands/compress-checkpoint.js +2 -1
  50. package/dist/cli/commands/compress-checkpoint.js.map +1 -1
  51. package/dist/cli/commands/dev-only.js +2 -2
  52. package/dist/cli/commands/dev-only.js.map +1 -1
  53. package/dist/cli/commands/history-data.d.ts.map +1 -1
  54. package/dist/cli/commands/history-data.js +2 -1
  55. package/dist/cli/commands/history-data.js.map +1 -1
  56. package/dist/cli/commands/history-update.d.ts.map +1 -1
  57. package/dist/cli/commands/history-update.js +3 -1
  58. package/dist/cli/commands/history-update.js.map +1 -1
  59. package/dist/cli/commands/index.d.ts +5 -0
  60. package/dist/cli/commands/index.d.ts.map +1 -0
  61. package/dist/cli/commands/index.js +89 -0
  62. package/dist/cli/commands/index.js.map +1 -0
  63. package/dist/cli/commands/mcp.d.ts +8 -0
  64. package/dist/cli/commands/mcp.d.ts.map +1 -1
  65. package/dist/cli/commands/mcp.js +9 -8
  66. package/dist/cli/commands/mcp.js.map +1 -1
  67. package/dist/cli/commands/multiroot.d.ts.map +1 -1
  68. package/dist/cli/commands/multiroot.js +8 -14
  69. package/dist/cli/commands/multiroot.js.map +1 -1
  70. package/dist/cli/commands/plugin-doctor.d.ts.map +1 -1
  71. package/dist/cli/commands/plugin-doctor.js +3 -1
  72. package/dist/cli/commands/plugin-doctor.js.map +1 -1
  73. package/dist/cli/commands/project-md-upsert.d.ts.map +1 -1
  74. package/dist/cli/commands/project-md-upsert.js +4 -1
  75. package/dist/cli/commands/project-md-upsert.js.map +1 -1
  76. package/dist/cli/commands/resume-summary.d.ts.map +1 -1
  77. package/dist/cli/commands/resume-summary.js +2 -1
  78. package/dist/cli/commands/resume-summary.js.map +1 -1
  79. package/dist/cli/commands/session-artifacts.d.ts.map +1 -1
  80. package/dist/cli/commands/session-artifacts.js +53 -1
  81. package/dist/cli/commands/session-artifacts.js.map +1 -1
  82. package/dist/cli/commands/session-close.d.ts.map +1 -1
  83. package/dist/cli/commands/session-close.js +2 -1
  84. package/dist/cli/commands/session-close.js.map +1 -1
  85. package/dist/cli/commands/session-resume.d.ts.map +1 -1
  86. package/dist/cli/commands/session-resume.js +2 -1
  87. package/dist/cli/commands/session-resume.js.map +1 -1
  88. package/dist/cli/commands/sessions.d.ts.map +1 -1
  89. package/dist/cli/commands/sessions.js +2 -1
  90. package/dist/cli/commands/sessions.js.map +1 -1
  91. package/dist/cli/commands/skill-index.d.ts.map +1 -1
  92. package/dist/cli/commands/skill-index.js +2 -1
  93. package/dist/cli/commands/skill-index.js.map +1 -1
  94. package/dist/cli/commands/sources.d.ts.map +1 -1
  95. package/dist/cli/commands/sources.js +2 -1
  96. package/dist/cli/commands/sources.js.map +1 -1
  97. package/dist/cli/commands/stack.d.ts.map +1 -1
  98. package/dist/cli/commands/stack.js +2 -1
  99. package/dist/cli/commands/stack.js.map +1 -1
  100. package/dist/cli/help-groups.d.ts +12 -1
  101. package/dist/cli/help-groups.d.ts.map +1 -1
  102. package/dist/cli/help-groups.js +44 -8
  103. package/dist/cli/help-groups.js.map +1 -1
  104. package/dist/cli/main.js +8 -5
  105. package/dist/cli/main.js.map +1 -1
  106. package/dist/cli/parser.d.ts.map +1 -1
  107. package/dist/cli/parser.js +59 -2
  108. package/dist/cli/parser.js.map +1 -1
  109. package/dist/cli/tui/app.js +4 -2
  110. package/dist/cli/tui/app.js.map +1 -1
  111. package/dist/cli/tui/data/workflow-content.d.ts.map +1 -1
  112. package/dist/cli/tui/data/workflow-content.js +6 -3
  113. package/dist/cli/tui/data/workflow-content.js.map +1 -1
  114. package/dist/cli/tui/notification-center.d.ts +11 -1
  115. package/dist/cli/tui/notification-center.d.ts.map +1 -1
  116. package/dist/cli/tui/notification-center.js +9 -2
  117. package/dist/cli/tui/notification-center.js.map +1 -1
  118. package/dist/cli/tui/tabs/mcp-tab.d.ts.map +1 -1
  119. package/dist/cli/tui/tabs/mcp-tab.js +9 -0
  120. package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
  121. package/dist/cli/tui/tabs/project-tab.d.ts.map +1 -1
  122. package/dist/cli/tui/tabs/project-tab.js +21 -17
  123. package/dist/cli/tui/tabs/project-tab.js.map +1 -1
  124. package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
  125. package/dist/cli/tui/tabs/skills-tab.js +4 -0
  126. package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
  127. package/dist/cli/types.d.ts +7 -0
  128. package/dist/cli/types.d.ts.map +1 -1
  129. package/dist/domain/harnesses.d.ts.map +1 -1
  130. package/dist/domain/harnesses.js +3 -1
  131. package/dist/domain/harnesses.js.map +1 -1
  132. package/dist/domain/mcp-entry.d.ts +1 -1
  133. package/dist/domain/mcp-entry.d.ts.map +1 -1
  134. package/dist/domain/mcp-entry.js +9 -3
  135. package/dist/domain/mcp-entry.js.map +1 -1
  136. package/dist/ports/process.d.ts +3 -2
  137. package/dist/ports/process.d.ts.map +1 -1
  138. package/package.json +1 -1
  139. package/skills/w/README.md +14 -56
  140. package/skills/w/SKILL.md +7 -19
  141. package/skills/w/artifacts/artifacts-core/SESSION.md +1 -1
  142. package/skills/w/commands/README.md +23 -109
  143. package/skills/w/commands/plan-exec.md +1 -1
  144. package/skills/w/commands/plan-new.md +1 -1
  145. package/skills/w/commands/plan-refine.md +1 -1
  146. package/skills/w/commands/quick.md +1 -1
  147. package/skills/w/commands/spec-refine.md +1 -1
  148. package/skills/w/exports/README.md +1 -1
  149. package/skills/w/exports/export-diagrams/SKILL.md +2 -2
  150. package/skills/w/exports/export-manuals/SKILL.md +2 -2
  151. package/skills/w/exports/export-reports/SKILL.md +2 -2
  152. package/skills/w/exports/export-scripts/SKILL.md +2 -2
  153. package/skills/w/loops/CHASSIS.md +159 -0
  154. package/skills/w/loops/CODE-POLICIES.md +34 -0
  155. package/skills/w/loops/README.md +9 -60
  156. package/skills/w/loops/plan-exec-loop/SKILL.md +12 -51
  157. package/skills/w/loops/plan-new-loop/SKILL.md +13 -11
  158. package/skills/w/loops/plan-refine-loop/SKILL.md +15 -12
  159. package/skills/w/loops/quick-loop/SKILL.md +12 -27
  160. package/skills/w/loops/spec-refine-loop/SKILL.md +30 -170
  161. package/skills/w/roles/README.md +1 -1
  162. package/skills/w/roles/git/SKILL.md +3 -3
package/README.md CHANGED
@@ -20,7 +20,7 @@ The harness has three layers plus a permanent `docs/` zone:
20
20
  - **QUICK** — `/w:quick` — lightweight shortcut.
21
21
  - **EXPORTS** — `/w:export-scripts` · `export-manuals` · `export-diagrams` · `export-reports` (the only path that promotes artifacts to `docs/`).
22
22
  - **Bootstrap** — `/w:workspace-init` turns any folder into a workspace (1+ sources; no project/hub distinction).
23
- - **Layer 2 · Loops** — the AI runs them whole: `spec-refine-loop` (chassis) · `plan-new-loop` · `plan-refine-loop` · `plan-exec-loop` · `quick-loop`. Each loop is a **persistent goal** that runs until its success criteria are green (verification-first); gap-driven, with **structured-choice** lifecycle control (compact/close — `AskUserQuestion` on Claude Code, numbered markdown elsewhere) and resumable `CHECKPOINT`.
23
+ - **Layer 2 · Loops** — the AI runs them whole: `spec-refine-loop` · `plan-new-loop` · `plan-refine-loop` · `plan-exec-loop` · `quick-loop` — all heirs of the shared engine `skills/w/loops/CHASSIS.md` (+ `CODE-POLICIES.md` for the code-editing loops). Each loop is a **persistent goal** that runs until its success criteria are green (verification-first); gap-driven, with **structured-choice** lifecycle control (compact/close — `AskUserQuestion` on Claude Code, numbered markdown elsewhere) and resumable `CHECKPOINT`.
24
24
  - **Layer 3 · Sessions + artifacts** — internal, ephemeral process state under `.workflow/sessions/` (`SESSION` · `CHECKPOINT` · `BACKLOG` · `SCRIPTS.sql` · `ANALYSIS-FILE` · `CONCLUSIONS` · `DECISION` · …). Sessions are slug-named folders, created by loops, never by the user.
25
25
 
26
26
  **Pluggable capabilities.** Loops compose capability **roles** (`ui-design`, `sql`, `git`, `research`, `diagrams`, `overview`); the concrete skill bound to each role is resolved via `.workflow/skills.toml` (cascade: built-in default → `~/.workflow/skills.toml` → workspace). Inspect bindings with `aw skills` (advisory: it also warns when a bound skill is not installed in the standard skill roots — the binding itself is not auto-validated). Code/testing/writing conventions **and tool authoring** (`creating-tools`) are **not** roles — they're ambient skills the host auto-applies when present, independent of the workflow. Per-source launch scripts live under `.workflow/launch/` (machine-specific, gitignored); created tools live under `docs/tools/`.
@@ -3,6 +3,8 @@ import type { ProcessPort } from "../ports/process.js";
3
3
  export declare class GitCliAdapter implements GitPort {
4
4
  private readonly process;
5
5
  constructor(process: ProcessPort);
6
+ /** Run options for a git command in `repoPath` with the non-interactive env. */
7
+ private opts;
6
8
  isGitRepo(repoPath: string): Promise<boolean>;
7
9
  currentBranch(repoPath: string): Promise<string | undefined>;
8
10
  isDirty(repoPath: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"git-cli.d.ts","sourceRoot":"","sources":["../../src/adapters/git-cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,qBAAa,aAAc,YAAW,OAAO;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,WAAW;IAE3C,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK7C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAW5D,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ3C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAejD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQtD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAyB1D,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzD,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAYjE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAO7C,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAapD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CASjE"}
1
+ {"version":3,"file":"git-cli.d.ts","sourceRoot":"","sources":["../../src/adapters/git-cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,qBAAqB,CAAC;AAiBnE,qBAAa,aAAc,YAAW,OAAO;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,WAAW;IAEjD,gFAAgF;IAChF,OAAO,CAAC,IAAI;IAIN,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK7C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAa5D,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ3C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAejD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQtD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA0B1D,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzD,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAYjE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS7C,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAepD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAWjE"}
@@ -1,16 +1,33 @@
1
+ /**
2
+ * Non-interactive git env: `GIT_TERMINAL_PROMPT=0` makes git FAIL FAST instead of
3
+ * blocking on a terminal credential prompt (a push against a repo needing creds
4
+ * would otherwise hang the TUI, recoverable only with Ctrl+C). Applied to every
5
+ * git command — harmless for local ops, essential for the network ones.
6
+ */
7
+ function nonInteractiveGitEnv() {
8
+ const env = {};
9
+ for (const [key, value] of Object.entries(process.env)) {
10
+ if (value !== undefined)
11
+ env[key] = value;
12
+ }
13
+ env.GIT_TERMINAL_PROMPT = "0";
14
+ return env;
15
+ }
1
16
  export class GitCliAdapter {
2
17
  process;
3
18
  constructor(process) {
4
19
  this.process = process;
5
20
  }
21
+ /** Run options for a git command in `repoPath` with the non-interactive env. */
22
+ opts(repoPath, extra = {}) {
23
+ return { cwd: repoPath, env: nonInteractiveGitEnv(), ...extra };
24
+ }
6
25
  async isGitRepo(repoPath) {
7
- const result = await this.process.run("git", ["rev-parse", "--git-dir"], { cwd: repoPath });
26
+ const result = await this.process.run("git", ["rev-parse", "--git-dir"], this.opts(repoPath));
8
27
  return result.code === 0;
9
28
  }
10
29
  async currentBranch(repoPath) {
11
- const result = await this.process.run("git", ["rev-parse", "--abbrev-ref", "HEAD"], {
12
- cwd: repoPath,
13
- });
30
+ const result = await this.process.run("git", ["rev-parse", "--abbrev-ref", "HEAD"], this.opts(repoPath));
14
31
  if (result.code !== 0) {
15
32
  return undefined;
16
33
  }
@@ -18,14 +35,14 @@ export class GitCliAdapter {
18
35
  return name.length > 0 ? name : undefined;
19
36
  }
20
37
  async isDirty(repoPath) {
21
- const result = await this.process.run("git", ["status", "--porcelain"], { cwd: repoPath });
38
+ const result = await this.process.run("git", ["status", "--porcelain"], this.opts(repoPath));
22
39
  if (result.code !== 0) {
23
40
  throw new Error(`git status failed in ${repoPath}: ${result.stderr.trim()}`);
24
41
  }
25
42
  return result.stdout.trim().length > 0;
26
43
  }
27
44
  async changedFiles(repoPath) {
28
- const result = await this.process.run("git", ["status", "--porcelain"], { cwd: repoPath });
45
+ const result = await this.process.run("git", ["status", "--porcelain"], this.opts(repoPath));
29
46
  if (result.code !== 0) {
30
47
  throw new Error(`git status failed in ${repoPath}: ${result.stderr.trim()}`);
31
48
  }
@@ -39,7 +56,7 @@ export class GitCliAdapter {
39
56
  .map((line) => line.slice(3).trim());
40
57
  }
41
58
  async log(args, repoPath) {
42
- const result = await this.process.run("git", ["log", ...args], { cwd: repoPath });
59
+ const result = await this.process.run("git", ["log", ...args], this.opts(repoPath));
43
60
  if (result.code !== 0) {
44
61
  throw new Error(`git log failed in ${repoPath}: ${result.stderr.trim()}`);
45
62
  }
@@ -47,10 +64,7 @@ export class GitCliAdapter {
47
64
  }
48
65
  async diffNumstat(repoPath) {
49
66
  try {
50
- const result = await this.process.run("git", ["diff", "--numstat", "HEAD"], {
51
- cwd: repoPath,
52
- timeoutMs: 5000,
53
- });
67
+ const result = await this.process.run("git", ["diff", "--numstat", "HEAD"], this.opts(repoPath, { timeoutMs: 5000 }));
54
68
  if (result.code !== 0)
55
69
  return [];
56
70
  const entries = [];
@@ -70,19 +84,19 @@ export class GitCliAdapter {
70
84
  }
71
85
  }
72
86
  async checkout(repoPath, branch) {
73
- const result = await this.process.run("git", ["checkout", branch], { cwd: repoPath });
87
+ const result = await this.process.run("git", ["checkout", branch], this.opts(repoPath));
74
88
  if (result.code !== 0) {
75
89
  throw new Error(`git checkout ${branch} failed in ${repoPath}: ${result.stderr.trim()}`);
76
90
  }
77
91
  }
78
92
  async pull(repoPath) {
79
- const result = await this.process.run("git", ["pull"], { cwd: repoPath });
93
+ const result = await this.process.run("git", ["pull"], this.opts(repoPath));
80
94
  if (result.code !== 0) {
81
95
  throw new Error(`git pull failed in ${repoPath}: ${result.stderr.trim()}`);
82
96
  }
83
97
  }
84
98
  async merge(repoPath, fromBranch) {
85
- const result = await this.process.run("git", ["merge", fromBranch], { cwd: repoPath });
99
+ const result = await this.process.run("git", ["merge", fromBranch], this.opts(repoPath));
86
100
  if (result.code === 0) {
87
101
  return { ok: true, conflicted: [] };
88
102
  }
@@ -93,21 +107,17 @@ export class GitCliAdapter {
93
107
  throw new Error(`git merge ${fromBranch} failed in ${repoPath}: ${result.stderr.trim()}`);
94
108
  }
95
109
  async push(repoPath, branch) {
96
- const result = await this.process.run("git", ["push", "origin", branch], { cwd: repoPath });
110
+ const result = await this.process.run("git", ["push", "origin", branch], this.opts(repoPath));
97
111
  if (result.code !== 0) {
98
112
  throw new Error(`git push ${branch} failed in ${repoPath}: ${result.stderr.trim()}`);
99
113
  }
100
114
  }
101
115
  async isMerging(repoPath) {
102
- const result = await this.process.run("git", ["rev-parse", "--verify", "MERGE_HEAD"], {
103
- cwd: repoPath,
104
- });
116
+ const result = await this.process.run("git", ["rev-parse", "--verify", "MERGE_HEAD"], this.opts(repoPath));
105
117
  return result.code === 0;
106
118
  }
107
119
  async conflictedFiles(repoPath) {
108
- const result = await this.process.run("git", ["diff", "--name-only", "--diff-filter=U"], {
109
- cwd: repoPath,
110
- });
120
+ const result = await this.process.run("git", ["diff", "--name-only", "--diff-filter=U"], this.opts(repoPath));
111
121
  if (result.code !== 0) {
112
122
  return [];
113
123
  }
@@ -117,9 +127,7 @@ export class GitCliAdapter {
117
127
  .filter((line) => line.length > 0);
118
128
  }
119
129
  async mergeOrigin(repoPath) {
120
- const result = await this.process.run("git", ["name-rev", "--name-only", "MERGE_HEAD"], {
121
- cwd: repoPath,
122
- });
130
+ const result = await this.process.run("git", ["name-rev", "--name-only", "MERGE_HEAD"], this.opts(repoPath));
123
131
  if (result.code !== 0)
124
132
  return undefined;
125
133
  const raw = result.stdout.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"git-cli.js","sourceRoot":"","sources":["../../src/adapters/git-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-cli.js","sourceRoot":"","sources":["../../src/adapters/git-cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"node-process.d.ts","sourceRoot":"","sources":["../../src/adapters/node-process.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAoB7B,qBAAa,WAAY,YAAW,WAAW;IAG3C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAHtB,4GAA4G;gBAEzF,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB;IAGjD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IA8C3E,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAU/C,aAAa,CACjB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,mBAAmB,CAAC;IA4BzB,eAAe,CACnB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,qBAAqB,CAAC;IAqGjC,kFAAkF;YACpE,kBAAkB;IAahC,kFAAkF;YACpE,WAAW;IAmBzB,4EAA4E;YAC9D,qBAAqB;IAQ7B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBlE,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBpC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAW7C"}
1
+ {"version":3,"file":"node-process.d.ts","sourceRoot":"","sources":["../../src/adapters/node-process.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AA4B7B,qBAAa,WAAY,YAAW,WAAW;IAG3C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAHtB,4GAA4G;gBAEzF,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB;IAGjD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IA8C3E,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAU/C,aAAa,CACjB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,mBAAmB,CAAC;IA4BzB,eAAe,CACnB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,qBAAqB,CAAC;IAqGjC,kFAAkF;YACpE,kBAAkB;IAahC,kFAAkF;YACpE,WAAW;IAmBzB,4EAA4E;YAC9D,qBAAqB;IAQ7B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA6ClE,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBpC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAW7C"}
@@ -5,6 +5,13 @@ import { join } from "node:path";
5
5
  import { buildOpenCommand } from "../application/open-external.js";
6
6
  import { LINUX_TERMINALS, buildNixWrapper, buildTerminalCommand, } from "../application/terminal-launch.js";
7
7
  const WIN_SHELL_CMDS = new Set(["npm", "npx", "yarn", "pnpm", "node-gyp", "gradle", "mvn"]);
8
+ /**
9
+ * How long `openPath` watches a freshly-spawned opener for an early failure.
10
+ * macOS `open -a <bad app>` (and xdg-open on a bad handler) exits non-zero within
11
+ * a few hundred ms; a GUI editor that stays open never exits, so once this window
12
+ * elapses with the process still alive we treat the launch as successful.
13
+ */
14
+ const OPEN_PROBE_MS = 600;
8
15
  /** Windows: .bat/.cmd shims (and the known CLI shims above) only run under a shell (Node ≥20 EINVAL otherwise). */
9
16
  function needsWinShell(cmd) {
10
17
  return WIN_SHELL_CMDS.has(cmd) || /\.(bat|cmd)$/i.test(cmd);
@@ -240,21 +247,41 @@ export class NodeProcess {
240
247
  }
241
248
  async openPath(path, opts = {}) {
242
249
  const plan = buildOpenCommand(this.platform, opts.app ? { path, app: opts.app } : { path });
250
+ let child;
243
251
  try {
244
- const child = spawn(plan.cmd, plan.args, {
252
+ child = spawn(plan.cmd, plan.args, {
245
253
  detached: true,
246
254
  stdio: "ignore",
247
255
  // GUI openers may want a window; do not hide it on Windows.
248
256
  windowsHide: false,
249
257
  });
250
- // Best-effort: swallow async spawn failures (e.g. ENOENT) so opening never
251
- // crashes the TUI — the caller surfaces failure by other means.
252
- child.on("error", () => { });
253
- child.unref();
254
258
  }
255
- catch {
256
- // Synchronous spawn failure — also best-effort.
259
+ catch (err) {
260
+ // Synchronous spawn failure (rare) surface it to the caller.
261
+ throw err instanceof Error ? err : new Error(String(err));
257
262
  }
263
+ // Make failure OBSERVABLE: reject on a spawn 'error' (ENOENT — opener missing)
264
+ // or a fast non-zero exit (bad app), so the caller can show a real error and
265
+ // NOT persist an invalid app. If the opener is still running after a short
266
+ // probe window (a GUI editor holding the file), the launch succeeded → unref
267
+ // and let it outlive us.
268
+ return new Promise((resolve, reject) => {
269
+ let settled = false;
270
+ const finish = (action) => {
271
+ if (settled)
272
+ return;
273
+ settled = true;
274
+ clearTimeout(timer);
275
+ action();
276
+ };
277
+ child.on("error", (err) => finish(() => reject(err)));
278
+ child.on("exit", (code) => finish(() => code && code !== 0 ? reject(new Error(`opener exited with code ${code}`)) : resolve()));
279
+ // Handlers above only fire on later ticks, by which point `timer` is set.
280
+ const timer = setTimeout(() => finish(() => {
281
+ child.unref();
282
+ resolve();
283
+ }), OPEN_PROBE_MS);
284
+ });
258
285
  }
259
286
  async killTree(pid) {
260
287
  if (!Number.isInteger(pid) || pid <= 0)
@@ -1 +1 @@
1
- {"version":3,"file":"node-process.js","sourceRoot":"","sources":["../../src/adapters/node-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,GACrB,MAAM,mCAAmC,CAAC;AAW3C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAE5F,mHAAmH;AACnH,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED,iFAAiF;AACjF,IAAI,WAAW,GAAG,CAAC,CAAC;AAEpB,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,CAAC;QACH,UAAU,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;AACH,CAAC;AAED,MAAM,OAAO,WAAW;IAGH;IACA;IAHnB,4GAA4G;IAC5G,YACmB,WAA4B,OAAO,CAAC,QAAQ,EAC5C,MAAyB,OAAO,CAAC,GAAG;QADpC,aAAQ,GAAR,QAAQ,CAAoC;QAC5C,QAAG,GAAH,GAAG,CAAiC;IACpD,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,IAAc,EAAE,OAAmB,EAAE;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE;gBAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG;gBACzB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC/B,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;YAEH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,KAAiC,CAAC;YAEtC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBAChC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBAChC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACxB,IAAI,KAAK;oBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC/B,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,KAAK;oBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC/B,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;gBACzC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBACtB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,GAAG,oBAAoB,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;gBAC1E,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACpB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAW;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACnD,OAAO,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,GAAW,EACX,IAAc,EACd,IAA0B;QAE1B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;QACjE,8EAA8E;QAC9E,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE;gBAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG;gBACzB,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC;gBACzB,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;YACH,0EAA0E;YAC1E,2EAA2E;YAC3E,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,sCAAsC;YACtC,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QAC5B,CAAC;gBAAS,CAAC;YACT,0DAA0D;YAC1D,SAAS,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,GAAW,EACX,IAAc,EACd,IAA4B;QAE5B,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,EAAE;gBACzC,WAAW,EAAE,EAAE;gBACf,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,OAAO,EAAE,GAAG;gBACZ,IAAI;gBACJ,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC7B,yEAAyE;gBACzE,qEAAqE;gBACrE,uCAAuC;gBACvC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE;oBACvC,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,KAAK;oBAClB,KAAK,EAAE,QAAQ;iBAChB,CAAC,CAAC;gBACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAC5B,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBAC5B,KAAK,CAAC,KAAK,EAAE,CAAC;oBACd,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;gBAC9C,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,uEAAuE;QACvE,sEAAsE;QACtE,MAAM,UAAU,GACd,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACtF,MAAM,cAAc,GAClB,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa,OAAO,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,GAAG,WAAW,MAAM,CAAC;QACrC,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC/C,WAAW;YACX,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,GAAG;YACZ,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,cAAc;YACd,UAAU;SACX,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,aAAa,CACX,WAAW,EACX,eAAe,CAAC;oBACd,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,OAAO,EAAE,GAAG;oBACZ,IAAI;oBACJ,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,OAAO;oBACP,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAC,EACF,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAC;gBACF,0EAA0E;gBAC1E,yEAAyE;gBACzE,gEAAgE;gBAChE,IAAI,cAAc,GAAG,KAAK,CAAC;gBAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE;oBACvC,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,QAAQ;iBAChB,CAAC,CAAC;gBACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACrB,cAAc,GAAG,IAAI,CAAC;gBACxB,CAAC,CAAC,CAAC;gBACH,wEAAwE;gBACxE,0DAA0D;gBAC1D,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACxB,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI;wBAAE,cAAc,GAAG,IAAI,CAAC;gBACzD,CAAC,CAAC,CAAC;gBACH,KAAK,CAAC,KAAK,EAAE,CAAC;gBACd,6EAA6E;gBAC7E,0EAA0E;gBAC1E,8EAA8E;gBAC9E,8EAA8E;gBAC9E,4EAA4E;gBAC5E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC;gBACzE,UAAU,CAAC,WAAW,CAAC,CAAC;gBACxB,UAAU,CAAC,OAAO,CAAC,CAAC;gBACpB,IAAI,GAAG,KAAK,IAAI;oBAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YACrD,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU,CAAC,WAAW,CAAC,CAAC;gBACxB,UAAU,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,0EAA0E;QAC1E,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,kFAAkF;IAC1E,KAAK,CAAC,kBAAkB,CAC9B,GAAW,EACX,IAAc,EACd,IAA4B;QAE5B,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE;YAClD,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IACrC,CAAC;IAED,kFAAkF;IAC1E,KAAK,CAAC,WAAW,CACvB,OAAe,EACf,SAAiB,EACjB,WAA2B;QAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,IAAI,WAAW,EAAE,EAAE;gBAAE,OAAO,IAAI,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtE,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;oBAAE,OAAO,GAAG,CAAC;YACnD,CAAC;YAAC,MAAM,CAAC;gBACP,kBAAkB;YACpB,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IACpE,KAAK,CAAC,qBAAqB;QACjC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YAChC,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,OAAyB,EAAE;QACtD,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE;gBACvC,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,QAAQ;gBACf,4DAA4D;gBAC5D,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,2EAA2E;YAC3E,gEAAgE;YAChE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC5B,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,gDAAgD;QAClD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW;QACxB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;YAAE,OAAO;QAC/C,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC9B,mDAAmD;YACnD,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;QACD,wEAAwE;QACxE,yEAAyE;QACzE,oDAAoD;QACpD,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,gCAAgC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAW;QACvB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACrD,IAAI,CAAC;YACH,6EAA6E;YAC7E,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,yEAAyE;YACzE,OAAQ,GAA6B,CAAC,IAAI,KAAK,OAAO,CAAC;QACzD,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"node-process.js","sourceRoot":"","sources":["../../src/adapters/node-process.ts"],"names":[],"mappings":"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"}
@@ -9,4 +9,10 @@ export declare function formatCommandInvocation(parsed: ParsedArgs): string;
9
9
  export declare function formatCommandOutcome(command: string, exitCode: number): string;
10
10
  /** `<command> → error: <message>` for a thrown dispatch. */
11
11
  export declare function formatCommandError(command: string, err: unknown): string;
12
+ /**
13
+ * `tui: <action>` (optionally `→ <outcome>` or `→ <outcome>: <detail>`) for a
14
+ * TUI-originated event in the operational log. Mirrors the `<command> → …` shape
15
+ * used for CLI dispatches so both read the same when grepping the daily log.
16
+ */
17
+ export declare function formatTuiEvent(action: string, outcome?: string, detail?: string): string;
12
18
  //# sourceMappingURL=log-events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-events.d.ts","sourceRoot":"","sources":["../../../src/application/logging/log-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAUlE;AAED,0DAA0D;AAC1D,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAGxE"}
1
+ {"version":3,"file":"log-events.d.ts","sourceRoot":"","sources":["../../../src/application/logging/log-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAUlE;AAED,0DAA0D;AAC1D,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAGxE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAGxF"}
@@ -27,4 +27,14 @@ export function formatCommandError(command, err) {
27
27
  const message = err instanceof Error ? err.message : String(err);
28
28
  return `${command} → error: ${message}`;
29
29
  }
30
+ /**
31
+ * `tui: <action>` (optionally `→ <outcome>` or `→ <outcome>: <detail>`) for a
32
+ * TUI-originated event in the operational log. Mirrors the `<command> → …` shape
33
+ * used for CLI dispatches so both read the same when grepping the daily log.
34
+ */
35
+ export function formatTuiEvent(action, outcome, detail) {
36
+ if (!outcome)
37
+ return `tui: ${action}`;
38
+ return `tui: ${action} → ${detail ? `${outcome}: ${detail}` : outcome}`;
39
+ }
30
40
  //# sourceMappingURL=log-events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-events.js","sourceRoot":"","sources":["../../../src/application/logging/log-events.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAkB;IACxD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACzD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;IAC1E,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QAC/C,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,oBAAoB,CAAC,OAAe,EAAE,QAAgB;IACpE,OAAO,GAAG,OAAO,WAAW,QAAQ,EAAE,CAAC;AACzC,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,GAAY;IAC9D,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,OAAO,GAAG,OAAO,aAAa,OAAO,EAAE,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"log-events.js","sourceRoot":"","sources":["../../../src/application/logging/log-events.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAkB;IACxD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACzD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;IAC1E,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QAC/C,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,oBAAoB,CAAC,OAAe,EAAE,QAAgB;IACpE,OAAO,GAAG,OAAO,WAAW,QAAQ,EAAE,CAAC;AACzC,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,GAAY;IAC9D,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,OAAO,GAAG,OAAO,aAAa,OAAO,EAAE,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,OAAgB,EAAE,MAAe;IAC9E,IAAI,CAAC,OAAO;QAAE,OAAO,QAAQ,MAAM,EAAE,CAAC;IACtC,OAAO,QAAQ,MAAM,MAAM,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Global config files de OpenCode y Crush, compartidos por writer, reader y
3
+ * detect (una sola fuente: la asimetría writer↔reader ya causó el bug v14.5.0).
4
+ *
5
+ * Verificado 2026-07 contra docs oficiales:
6
+ * - OpenCode (opencode.ai/docs/config): global en `~/.config/opencode/opencode.json`
7
+ * en TODAS las plataformas (también Windows nativo), honrando XDG_CONFIG_HOME.
8
+ * - Crush (charmbracelet/crush README): Unix `~/.config/crush/crush.json` (XDG);
9
+ * Windows `%LOCALAPPDATA%\crush\crush.json`; override por CRUSH_GLOBAL_CONFIG.
10
+ *
11
+ * `homeDir` es inyectable (los tests pasan un tmpdir); env/platform se leen de
12
+ * process para reflejar la máquina real salvo que se inyecten.
13
+ */
14
+ export declare function xdgConfigBase(homeDir: string, env?: NodeJS.ProcessEnv): string;
15
+ export declare function opencodeGlobalMcpFile(homeDir: string, env?: NodeJS.ProcessEnv): string;
16
+ export declare function crushGlobalMcpFile(homeDir: string, platform?: string, env?: NodeJS.ProcessEnv): string;
17
+ //# sourceMappingURL=mcp-host-paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-host-paths.d.ts","sourceRoot":"","sources":["../../src/application/mcp-host-paths.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE3F;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAER;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAyB,EACnC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAOR"}
@@ -0,0 +1,30 @@
1
+ import { join } from "node:path";
2
+ /**
3
+ * Global config files de OpenCode y Crush, compartidos por writer, reader y
4
+ * detect (una sola fuente: la asimetría writer↔reader ya causó el bug v14.5.0).
5
+ *
6
+ * Verificado 2026-07 contra docs oficiales:
7
+ * - OpenCode (opencode.ai/docs/config): global en `~/.config/opencode/opencode.json`
8
+ * en TODAS las plataformas (también Windows nativo), honrando XDG_CONFIG_HOME.
9
+ * - Crush (charmbracelet/crush README): Unix `~/.config/crush/crush.json` (XDG);
10
+ * Windows `%LOCALAPPDATA%\crush\crush.json`; override por CRUSH_GLOBAL_CONFIG.
11
+ *
12
+ * `homeDir` es inyectable (los tests pasan un tmpdir); env/platform se leen de
13
+ * process para reflejar la máquina real salvo que se inyecten.
14
+ */
15
+ export function xdgConfigBase(homeDir, env = process.env) {
16
+ return env.XDG_CONFIG_HOME || join(homeDir, ".config");
17
+ }
18
+ export function opencodeGlobalMcpFile(homeDir, env = process.env) {
19
+ return join(xdgConfigBase(homeDir, env), "opencode", "opencode.json");
20
+ }
21
+ export function crushGlobalMcpFile(homeDir, platform = process.platform, env = process.env) {
22
+ if (env.CRUSH_GLOBAL_CONFIG)
23
+ return env.CRUSH_GLOBAL_CONFIG;
24
+ if (platform === "win32") {
25
+ const localAppData = env.LOCALAPPDATA || join(homeDir, "AppData", "Local");
26
+ return join(localAppData, "crush", "crush.json");
27
+ }
28
+ return join(xdgConfigBase(homeDir, env), "crush", "crush.json");
29
+ }
30
+ //# sourceMappingURL=mcp-host-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-host-paths.js","sourceRoot":"","sources":["../../src/application/mcp-host-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,MAAyB,OAAO,CAAC,GAAG;IACjF,OAAO,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAAe,EACf,MAAyB,OAAO,CAAC,GAAG;IAEpC,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,WAAmB,OAAO,CAAC,QAAQ,EACnC,MAAyB,OAAO,CAAC,GAAG;IAEpC,IAAI,GAAG,CAAC,mBAAmB;QAAE,OAAO,GAAG,CAAC,mBAAmB,CAAC;IAC5D,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AAClE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-host-reader.d.ts","sourceRoot":"","sources":["../../src/application/mcp-host-reader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,QAAQ,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,eAA6B,GAClC,gBAAgB,CAgClB"}
1
+ {"version":3,"file":"mcp-host-reader.d.ts","sourceRoot":"","sources":["../../src/application/mcp-host-reader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAItD,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,QAAQ,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,eAA6B,GAClC,gBAAgB,CAuClB"}
@@ -2,6 +2,8 @@ import { existsSync, readFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { parse as parseToml } from "smol-toml";
4
4
  import { harnessForMcpHost } from "../domain/harnesses.js";
5
+ import { crushGlobalMcpFile, opencodeGlobalMcpFile } from "./mcp-host-paths.js";
6
+ import { resolveWarpGlobalMcpPath } from "./multiroot/warp.js";
5
7
  export function readMcpEntry(host, scopeDir, name, kind = "workspace") {
6
8
  const spec = harnessForMcpHost(host);
7
9
  if (!spec)
@@ -15,17 +17,25 @@ export function readMcpEntry(host, scopeDir, name, kind = "workspace") {
15
17
  return readTomlMcpEntry(host, target, name, "mcp_servers");
16
18
  }
17
19
  // OpenCode & Crush store the entry under the top-level `mcp` key (NOT `mcpServers`)
18
- // with host-specific shapes — this mirrors the writer (mcp-host-writer.ts). File is
19
- // the XDG path (~/.config/<host>/<host>.json) for global scope, or <host>.json at the
20
- // project root for workspace scope.
20
+ // with host-specific shapes — this mirrors the writer (mcp-host-writer.ts). Global
21
+ // scope resolves via mcp-host-paths.ts (XDG_CONFIG_HOME; crush win32 = LOCALAPPDATA),
22
+ // workspace scope is <host>.json at the project root.
21
23
  if (host === "opencode" || host === "crush") {
22
24
  const target = kind === "global"
23
- ? join(scopeDir, ".config", host, `${host}.json`)
25
+ ? host === "opencode"
26
+ ? opencodeGlobalMcpFile(scopeDir)
27
+ : crushGlobalMcpFile(scopeDir)
24
28
  : join(scopeDir, `${host}.json`);
25
29
  return readMcpKeyEntry(host, target, name);
26
30
  }
27
31
  // JSON readers keyed by `mcpServers` (Claude shape): claude uses .mcp.json (workspace)
28
- // or .claude.json (global); warp uses .warp/.mcp.json; gemini uses .gemini/settings.json.
32
+ // or .claude.json (global); warp uses .warp/.mcp.json (workspace) o el path global
33
+ // por plataforma del registro (espejo del writer — DEC-W3); gemini usa .gemini/settings.json.
34
+ if (host === "warp" && kind === "global") {
35
+ const globalPath = resolveWarpGlobalMcpPath(process.platform, "stable", () => scopeDir);
36
+ if (globalPath)
37
+ return readJsonMcpEntry(host, globalPath, name);
38
+ }
29
39
  const target = host === "claude" && kind === "global"
30
40
  ? join(scopeDir, ".claude.json")
31
41
  : join(scopeDir, ...projectPath.split("/"));
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-host-reader.js","sourceRoot":"","sources":["../../src/application/mcp-host-reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-host-reader.js","sourceRoot":"","sources":["../../src/application/mcp-host-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAe/D,MAAM,UAAU,YAAY,CAC1B,IAAa,EACb,QAAgB,EAChB,IAAY,EACZ,OAAwB,WAAW;IAEnC,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAElE,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;IACxC,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAEzE,4CAA4C;IAC5C,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QACvD,OAAO,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED,oFAAoF;IACpF,mFAAmF;IACnF,sFAAsF;IACtF,sDAAsD;IACtD,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5C,MAAM,MAAM,GACV,IAAI,KAAK,QAAQ;YACf,CAAC,CAAC,IAAI,KAAK,UAAU;gBACnB,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC;gBACjC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC;YAChC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;QACrC,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,uFAAuF;IACvF,mFAAmF;IACnF,8FAA8F;IAC9F,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,wBAAwB,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;QACxF,IAAI,UAAU;YAAE,OAAO,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,MAAM,GACV,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ;QACpC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC;QAChC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,OAAO,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAa,EAAE,MAAc,EAAE,IAAY;IACnE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACtE,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3E,IAAI,IAA6B,CAAC;IAClC,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAA4B,CAAC;IACtE,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;IACD,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,OAAO;QACL,IAAI;QACJ,MAAM;QACN,IAAI;QACJ,MAAM,EAAE,IAAI;QACZ,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;YACvB,CAAC,CAAC,EAAE,IAAI,EAAG,CAAC,CAAC,IAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE;YACnF,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,GAAG,EAAE,CAAC;KACP,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,6EAA6E;AAC7E,4EAA4E;AAC5E,mFAAmF;AACnF,SAAS,eAAe,CAAC,IAAa,EAAE,MAAc,EAAE,IAAY;IAClE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACtE,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3E,IAAI,IAA6B,CAAC;IAClC,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAA4B,CAAC;IACxD,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;IACD,MAAM,CAAC,GAAG,KAAgC,CAAC;IAE3C,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YAClC,CAAC,CAAE,CAAC,CAAC,OAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAC5E,CAAC,CAAC,EAAE,CAAC;QACP,OAAO;YACL,IAAI;YACJ,MAAM;YACN,IAAI;YACJ,MAAM,EAAE,IAAI;YACZ,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAClB,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,KAAK,IAAI;gBAC7D,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE;gBACxC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;SACP,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,OAAO;QACL,IAAI;QACJ,MAAM;QACN,IAAI;QACJ,MAAM,EAAE,IAAI;QACZ,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;YACvB,CAAC,CAAC,EAAE,IAAI,EAAG,CAAC,CAAC,IAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE;YACnF,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,GAAG,EAAE,CAAC;KACP,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAa,EACb,MAAc,EACd,IAAY,EACZ,UAAkB;IAElB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACtE,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3E,IAAI,IAA6B,CAAC;IAClC,IAAI,CAAC;QACH,IAAI,GAAG,SAAS,CAAC,IAAI,CAA4B,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAA4B,CAAC;IACvE,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;IACD,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,OAAO;QACL,IAAI;QACJ,MAAM;QACN,IAAI;QACJ,MAAM,EAAE,IAAI;QACZ,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;YACvB,CAAC,CAAC,EAAE,IAAI,EAAG,CAAC,CAAC,IAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE;YACnF,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,GAAG,EAAE,CAAC;KACP,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,GAAY;IAClC,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAChD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAA8B,CAAC,EAAE,CAAC;QACpE,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-host-writer.d.ts","sourceRoot":"","sources":["../../src/application/mcp-host-writer.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,QAAQ,EACR,OAAO,EAEP,YAAY,EACZ,cAAc,EACf,MAAM,wBAAwB,CAAC;AAGhC,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;CAC/B;AA2CD,qBAAa,cAAe,SAAQ,KAAK;aAGrB,MAAM,EAAE,MAAM;aACL,KAAK,CAAC,EAAE,MAAM;gBAFvC,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EACL,KAAK,CAAC,EAAE,MAAM,YAAA;CAK1C;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,UAAU,EACjB,IAAI,GAAE,YAAiB,GACtB,cAAc,CAShB;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,UAAU,EACjB,IAAI,GAAE,YAAiB,GACtB,cAAc,CAShB;AAwbD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMvE;AAeD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAe1E"}
1
+ {"version":3,"file":"mcp-host-writer.d.ts","sourceRoot":"","sources":["../../src/application/mcp-host-writer.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,QAAQ,EACR,OAAO,EAEP,YAAY,EACZ,cAAc,EACf,MAAM,wBAAwB,CAAC;AAIhC,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;CAC/B;AA2CD,qBAAa,cAAe,SAAQ,KAAK;aAGrB,MAAM,EAAE,MAAM;aACL,KAAK,CAAC,EAAE,MAAM;gBAFvC,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EACL,KAAK,CAAC,EAAE,MAAM,YAAA;CAK1C;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,UAAU,EACjB,IAAI,GAAE,YAAiB,GACtB,cAAc,CAShB;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,UAAU,EACjB,IAAI,GAAE,YAAiB,GACtB,cAAc,CAShB;AAqcD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMvE;AAeD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAe1E"}
@@ -1,7 +1,8 @@
1
1
  import { copyFileSync, existsSync, mkdirSync, readFileSync, readdirSync, unlinkSync, writeFileSync, } from "node:fs";
2
2
  import { basename, dirname, join } from "node:path";
3
3
  import { parse as parseToml } from "smol-toml";
4
- import { resolveWarpProjectMcpPath } from "./multiroot/warp.js";
4
+ import { crushGlobalMcpFile, opencodeGlobalMcpFile } from "./mcp-host-paths.js";
5
+ import { resolveWarpGlobalMcpPath, resolveWarpProjectMcpPath } from "./multiroot/warp.js";
5
6
  function claudeMcpFile(scope) {
6
7
  return scope.kind === "global"
7
8
  ? join(scope.scopeDir, ".claude.json")
@@ -93,12 +94,12 @@ function geminiMcpFile(scope) {
93
94
  }
94
95
  function opencodeMcpFile(scope) {
95
96
  return scope.kind === "global"
96
- ? join(scope.scopeDir, ".config", "opencode", "opencode.json")
97
+ ? opencodeGlobalMcpFile(scope.scopeDir)
97
98
  : join(scope.scopeDir, "opencode.json");
98
99
  }
99
100
  function crushMcpFile(scope) {
100
101
  return scope.kind === "global"
101
- ? join(scope.scopeDir, ".config", "crush", "crush.json")
102
+ ? crushGlobalMcpFile(scope.scopeDir)
102
103
  : join(scope.scopeDir, "crush.json");
103
104
  }
104
105
  // Per-host serialization of a dbhub McpEntry into the host's JSON schema.
@@ -293,8 +294,21 @@ function removeCodexMcpEntry(entry, scope, opts) {
293
294
  discardBackup(backup);
294
295
  return resultRemoved("codex", configFile, entry.name, null);
295
296
  }
297
+ /**
298
+ * Warp file by scope: workspace = <scopeDir>/.warp/.mcp.json; global = the
299
+ * per-platform registry path (Linux/Windows difieren de ~/.warp — DEC-W3).
300
+ * scopeDir actúa de homedir en global, así los tests inyectan un tmpdir.
301
+ */
302
+ function warpMcpFile(scope) {
303
+ if (scope.kind === "global") {
304
+ const globalPath = resolveWarpGlobalMcpPath(process.platform, "stable", () => scope.scopeDir);
305
+ if (globalPath)
306
+ return globalPath;
307
+ }
308
+ return resolveWarpProjectMcpPath(scope.scopeDir);
309
+ }
296
310
  function writeWarpMcpEntry(entry, scope, opts) {
297
- const settingsFile = resolveWarpProjectMcpPath(scope.scopeDir);
311
+ const settingsFile = warpMcpFile(scope);
298
312
  const data = readJsonFile(settingsFile);
299
313
  const mcpServers = ensureRecord(data, "mcpServers");
300
314
  const existing = mcpServers[entry.name];
@@ -318,7 +332,7 @@ function writeWarpMcpEntry(entry, scope, opts) {
318
332
  return resultWritten("warp", settingsFile, entry.name, null);
319
333
  }
320
334
  function removeWarpMcpEntry(entry, scope, opts) {
321
- const settingsFile = resolveWarpProjectMcpPath(scope.scopeDir);
335
+ const settingsFile = warpMcpFile(scope);
322
336
  const data = readJsonFile(settingsFile);
323
337
  const mcpServers = ensureRecord(data, "mcpServers");
324
338
  const existing = mcpServers[entry.name];