craftar 0.34.2 → 0.36.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 (42) hide show
  1. package/README.md +31 -5
  2. package/dist/cli.js +133 -79
  3. package/dist/cli.js.map +1 -1
  4. package/dist/core/capabilities.js +2 -2
  5. package/dist/core/capabilities.js.map +1 -1
  6. package/dist/core/doctor.js +74 -1
  7. package/dist/core/doctor.js.map +1 -1
  8. package/dist/core/drift.js +10 -4
  9. package/dist/core/drift.js.map +1 -1
  10. package/dist/core/extract.js +2 -2
  11. package/dist/core/extract.js.map +1 -1
  12. package/dist/core/mcp-protocol.js +135 -18
  13. package/dist/core/mcp-protocol.js.map +1 -1
  14. package/dist/core/registry.js +61 -0
  15. package/dist/core/registry.js.map +1 -1
  16. package/dist/core/report.js +24 -1
  17. package/dist/core/report.js.map +1 -1
  18. package/dist/core/resolve.js +29 -0
  19. package/dist/core/resolve.js.map +1 -1
  20. package/dist/core/sync.js +157 -4
  21. package/dist/core/sync.js.map +1 -1
  22. package/dist/core/template-import.js +16 -3
  23. package/dist/core/template-import.js.map +1 -1
  24. package/dist/core/write-actions.js +197 -0
  25. package/dist/core/write-actions.js.map +1 -0
  26. package/dist/emitters/agents-md.js +26 -3
  27. package/dist/emitters/agents-md.js.map +1 -1
  28. package/dist/emitters/claude-code.js +175 -20
  29. package/dist/emitters/claude-code.js.map +1 -1
  30. package/dist/emitters/kiro.js +111 -26
  31. package/dist/emitters/kiro.js.map +1 -1
  32. package/dist/emitters/shared.js +135 -57
  33. package/dist/emitters/shared.js.map +1 -1
  34. package/dist/importers/claude-code.js +75 -7
  35. package/dist/importers/claude-code.js.map +1 -1
  36. package/dist/importers/decide.js +22 -4
  37. package/dist/importers/decide.js.map +1 -1
  38. package/dist/importers/drift-promote.js +9 -3
  39. package/dist/importers/drift-promote.js.map +1 -1
  40. package/dist/schema/index.js +24 -1
  41. package/dist/schema/index.js.map +1 -1
  42. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { INGREDIENT_TYPES, TARGETS } from "../schema/index.js";
2
- import { appliesTo, EXAMPLE_SETTINGS } from "../emitters/shared.js";
2
+ import { appliesTo, effectiveTargets, EXAMPLE_SETTINGS } from "../emitters/shared.js";
3
3
  /**
4
4
  * The capability matrix: what each target does with each ingredient type.
5
5
  * A Record over both unions makes a missing cell a type error; `as const satisfies` keeps each
@@ -187,7 +187,7 @@ export function written(resolution, target, warn, matrix = CAPABILITIES) {
187
187
  let started = false;
188
188
  let finished = false;
189
189
  function* walk() {
190
- const aimed = resolution.ingredients.filter((ing) => appliesTo(ing.meta.targets, target));
190
+ const aimed = resolution.ingredients.filter((ing) => appliesTo(effectiveTargets(ing.meta, resolution), target));
191
191
  const skips = (ing) => matrix[target][ing.meta.type].state === "unsupported";
192
192
  if (per === "type") {
193
193
  const byType = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/core/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/core/capabilities.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { FULL_SHA, cacheKey, classifyForge, CREDENTIAL_HIDDEN, inspectCache, UNV
9
9
  import { dockerVersion, dockerFinding, dockerRunner as defaultDockerRunner, fragmentPaths } from "./services.js";
10
10
  import { paramsFor } from "./resolve.js";
11
11
  import { SchemaError, errorText } from "./schema-fault.js";
12
- import { LOCK_FILE, declaredWithoutValue, loadForgeFor, plan, readLock, readWorkspaceConfig, status, AGENTS_MD_BUDGET_KEY, agentsMdOverBudgetMessage, agentsMdOverDefaultMessage, AGENTS_MD_BUDGET_FIX, AGENTS_MD_SHRINK } from "./sync.js";
12
+ import { LOCK_FILE, declaredWithoutValue, loadForgeFor, plan, readLock, readWorkspaceConfig, status, claudeMdBlocks, claudeMdBlockedMessage, AGENTS_MD_BUDGET_KEY, agentsMdOverBudgetMessage, agentsMdOverDefaultMessage, AGENTS_MD_BUDGET_FIX, AGENTS_MD_SHRINK } from "./sync.js";
13
13
  import { outName } from "../emitters/shared.js";
14
14
  import { declaredTemplates, DOTNET_MISSING, DOTNET_MISSING_FIX, dotnetVersion as defaultDotnetVersion, feedMessage, notInstalled, profileLabel, unpinnedSources } from "./templates.js";
15
15
  import { capture, execProgram } from "./proc.js";
@@ -231,6 +231,26 @@ async function workspaceChecks(given, root, merged, configError, gitMissingRemot
231
231
  // Also exclude the AGENTS.md budget warning — it is reported by agents-md-size
232
232
  if (p.agentsMd?.warning)
233
233
  owned.add(p.agentsMd.warning);
234
+ // Also exclude the kiro resources warning — it is reported by kiro-resources
235
+ if (p.kiroResources?.warning)
236
+ owned.add(p.kiroResources.warning);
237
+ // Compute claudeMdBlocks early so we can add its warning to owned before the plan filter
238
+ let claudeMdBlocksResult = null;
239
+ if (p.resolution.primary && p.resolution.targets.includes("claude-code")) {
240
+ const readExisting = async (rel) => {
241
+ try {
242
+ return await fs.readFile(path.join(root, rel));
243
+ }
244
+ catch {
245
+ return null;
246
+ }
247
+ };
248
+ claudeMdBlocksResult = await claudeMdBlocks(readExisting);
249
+ // Also exclude the CLAUDE.md blocking warning — it is reported by agents-md-primary
250
+ if (claudeMdBlocksResult.blocking.length > 0) {
251
+ owned.add(claudeMdBlockedMessage(claudeMdBlocksResult.blocking[0]));
252
+ }
253
+ }
234
254
  const own = p.warnings.slice(ws.warnings.length).filter((x) => !owned.has(x));
235
255
  if (own.length === 0)
236
256
  w("plan", "ok", `${p.files.length} files`);
@@ -263,6 +283,45 @@ async function workspaceChecks(given, root, merged, configError, gitMissingRemot
263
283
  w("agents-md-size", "warn", agentsMdOverDefaultMessage({ bytes, maxBytes }), `set ${AGENTS_MD_BUDGET_KEY} to fail sync --check above it; to shrink the file: ${AGENTS_MD_SHRINK}`);
264
284
  }
265
285
  }
286
+ // agents-md-primary: present only when the mode is on and claude-code is a target (spec 41 §4.6)
287
+ if (claudeMdBlocksResult !== null) {
288
+ const blocks = claudeMdBlocksResult;
289
+ if (blocks.imports) {
290
+ // imports → ONE ok: "AGENTS.md is imported by CLAUDE.md"
291
+ w("agents-md-primary", "ok", "AGENTS.md is imported by CLAUDE.md", null);
292
+ }
293
+ else {
294
+ // each root blocking file → one warn
295
+ for (const file of blocks.blocking) {
296
+ w("agents-md-primary", "warn", claudeMdBlockedMessage(file), "add a line @AGENTS.md to CLAUDE.md");
297
+ }
298
+ // Check ancestors for CLAUDE.md (not when the root imports)
299
+ let ancestorFound = false;
300
+ for (const ancestorClaudeMd of await claudeMdAncestors(root)) {
301
+ ancestorFound = true;
302
+ w("agents-md-primary", "warn", `agents-md.primary: ${ancestorClaudeMd} may keep Claude Code from reading AGENTS.md`, "add a line @AGENTS.md to the workspace's CLAUDE.md");
303
+ }
304
+ // nothing found at all → one ok
305
+ if (blocks.blocking.length === 0 && !ancestorFound) {
306
+ w("agents-md-primary", "ok", "nothing keeps Claude Code from reading AGENTS.md", null);
307
+ }
308
+ }
309
+ }
310
+ // kiro-resources: present only when p.kiroResources !== null (spec 41 §4.7)
311
+ if (p.kiroResources !== null) {
312
+ // one error per unplanned entry
313
+ for (const { agent, path: resourcePath } of p.kiroResources.unplanned) {
314
+ w("kiro-resources", "error", `agent ${agent} lists ${resourcePath}, a file the plan does not write`, "edit the agent's resources in the Forge");
315
+ }
316
+ // one warn per present entry
317
+ for (const { agent, path: resourcePath } of p.kiroResources.present) {
318
+ w("kiro-resources", "warn", `agent ${agent} lists ${resourcePath}, which the plan does not write (on disk only)`, "edit the agent's resources in the Forge");
319
+ }
320
+ // neither → one ok
321
+ if (p.kiroResources.unplanned.length === 0 && p.kiroResources.present.length === 0) {
322
+ w("kiro-resources", "ok", "every checked Kiro resource is written by the plan", null);
323
+ }
324
+ }
266
325
  const unset = mcpUnset(p, env, ws.forge.manifest.schema);
267
326
  if (unset.length === 0)
268
327
  w("mcp-env", "ok", "every variable a written MCP server expects is set");
@@ -538,4 +597,18 @@ export function workspaceReport(report) {
538
597
  summary[c.level]++;
539
598
  return { version: report.version, workspace: report.workspace, fetch: report.fetch, strict: report.strict, checks, summary };
540
599
  }
600
+ /**
601
+ * The `CLAUDE.md` of every directory strictly above `root`, up to and including the file-system root, that exists (spec 41
602
+ * §4.7) — by `lstat` only, never read. `exists` is a parameter for the test that reaches the file-system root.
603
+ */
604
+ export async function claudeMdAncestors(root, exists = (f) => fs.lstat(f).then(() => true, () => false)) {
605
+ const out = [];
606
+ for (let dir = path.dirname(root);; dir = path.dirname(dir)) {
607
+ const file = path.join(dir, "CLAUDE.md");
608
+ if (await exists(file))
609
+ out.push(file);
610
+ if (dir === path.dirname(dir))
611
+ return out;
612
+ }
613
+ }
541
614
  //# sourceMappingURL=doctor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/core/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/core/doctor.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,14 @@ import { hashNormalized } from "./text.js";
3
3
  export const unmanaged = (p) => `${p} is not a file craftar manages in this workspace — pass the workspace-relative path as \`craftar status\` prints it (forward slashes)`;
4
4
  /** The file is one of the MCP configuration files (`.mcp.json`, `.kiro/settings/mcp.json`, the example file): all are tagged `mcp/*`. */
5
5
  export const mcpTagged = (s) => s.ingredient?.startsWith("mcp/") === true;
6
+ /** The reason of a file agents-md.primary reworded (spec 41 §4.10): promoting it would carry the rewording into the Forge. */
7
+ export const REWORDED_REASON = "reworded by agents-md.primary";
6
8
  /**
7
9
  * The static half of promote's refusals: it reads the status, never the Forge's git state.
8
- * The order is: orphan, then service file (spec 31), then provided (spec 33i), then kiro, then AGENTS.md, then .mcp.json.
10
+ * The order is: orphan, then service file (spec 31), then provided (spec 33i), then reworded (spec 41), then kiro, then
11
+ * AGENTS.md, then .mcp.json.
9
12
  */
10
- function staticReason(s, provided) {
13
+ function staticReason(s, provided, reworded) {
11
14
  if (s.state === "orphan-drift")
12
15
  return "no longer produced";
13
16
  if (s.target === "services")
@@ -16,6 +19,8 @@ function staticReason(s, provided) {
16
19
  const prov = s.ingredient ? provided.get(s.ingredient) : undefined;
17
20
  if (prov)
18
21
  return `provided by integrations.${prov.slot}`;
22
+ if (reworded.has(s.path))
23
+ return REWORDED_REASON;
19
24
  if (s.target === "kiro")
20
25
  return "kiro file";
21
26
  if (s.target === "agents-md")
@@ -27,15 +32,16 @@ function staticReason(s, provided) {
27
32
  /**
28
33
  * The hand-edited files among `statuses`, in the order given. Pure.
29
34
  * @param provided - Map from Forge ref to { slot, recipe } for ingredients the block provides (spec 33i).
35
+ * @param reworded - The plan's `reworded` paths (spec 41 §4.10); empty with the mode off.
30
36
  */
31
- export function driftList(statuses, provided = new Map()) {
37
+ export function driftList(statuses, provided = new Map(), reworded = new Set()) {
32
38
  const rows = [];
33
39
  for (const s of statuses) {
34
40
  if (s.state !== "drift" && s.state !== "orphan-drift")
35
41
  continue;
36
42
  // `same`: the lock's hash is the plan's, so only the hand edit separates the disk from the Forge.
37
43
  const forge = s.state === "orphan-drift" ? "removed" : s.lock.hash === hashNormalized(s.planned.content) ? "same" : "changed";
38
- const reason = staticReason(s, provided);
44
+ const reason = staticReason(s, provided, reworded);
39
45
  rows.push({ path: s.path, state: s.state, target: s.target, ingredient: s.ingredient ?? "", forge, promotable: reason === null, reason });
40
46
  }
41
47
  return rows;
@@ -1 +1 @@
1
- {"version":3,"file":"drift.js","sourceRoot":"","sources":["../../src/core/drift.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAiB3C,yFAAyF;AACzF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CACrC,GAAG,CAAC,uIAAuI,CAAC;AAE9I,yIAAyI;AACzI,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAiC,EAAW,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;AAEnH;;;GAGG;AACH,SAAS,YAAY,CAAC,CAAa,EAAE,QAAuD;IAC1F,IAAI,CAAC,CAAC,KAAK,KAAK,cAAc;QAAE,OAAO,oBAAoB,CAAC;IAC5D,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,cAAc,CAAC;IACnD,qGAAqG;IACrG,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,IAAI,IAAI;QAAE,OAAO,4BAA4B,IAAI,CAAC,IAAI,EAAE,CAAC;IACzD,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,WAAW,CAAC;IAC5C,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IACjD,IAAI,SAAS,CAAC,CAAC,CAAC;QAAE,OAAO,WAAW,CAAC;IACrC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,QAAsB,EAAE,WAA0D,IAAI,GAAG,EAAE;IACnH,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,cAAc;YAAE,SAAS;QAChE,kGAAkG;QAClG,MAAM,KAAK,GAAc,CAAC,CAAC,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAK,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,OAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3I,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAO,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7I,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"drift.js","sourceRoot":"","sources":["../../src/core/drift.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAiB3C,yFAAyF;AACzF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CACrC,GAAG,CAAC,uIAAuI,CAAC;AAE9I,yIAAyI;AACzI,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAiC,EAAW,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;AAEnH,8HAA8H;AAC9H,MAAM,CAAC,MAAM,eAAe,GAAG,+BAA+B,CAAC;AAE/D;;;;GAIG;AACH,SAAS,YAAY,CAAC,CAAa,EAAE,QAAuD,EAAE,QAA6B;IACzH,IAAI,CAAC,CAAC,KAAK,KAAK,cAAc;QAAE,OAAO,oBAAoB,CAAC;IAC5D,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,cAAc,CAAC;IACnD,qGAAqG;IACrG,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,IAAI,IAAI;QAAE,OAAO,4BAA4B,IAAI,CAAC,IAAI,EAAE,CAAC;IACzD,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAAE,OAAO,eAAe,CAAC;IACjD,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,WAAW,CAAC;IAC5C,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IACjD,IAAI,SAAS,CAAC,CAAC,CAAC;QAAE,OAAO,WAAW,CAAC;IACrC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CACvB,QAAsB,EACtB,WAA0D,IAAI,GAAG,EAAE,EACnE,WAAgC,IAAI,GAAG,EAAE;IAEzC,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,cAAc;YAAE,SAAS;QAChE,kGAAkG;QAClG,MAAM,KAAK,GAAc,CAAC,CAAC,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAK,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,OAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3I,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAO,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7I,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -4,7 +4,7 @@ import { INTEGRATIONS_PREFIX } from "./integrations.js";
4
4
  import { changedRegions } from "./classify.js";
5
5
  import { TEXT_EXT } from "../emitters/claude-code.js";
6
6
  import { KIRO_TEXT_EXT } from "../emitters/kiro.js";
7
- import { AGENTS_MD_BUDGET_KEY } from "../emitters/agents-md.js";
7
+ import { AGENTS_MD_BUDGET_KEY, AGENTS_MD_PRIMARY_KEY } from "../emitters/agents-md.js";
8
8
  import { stripBom, toLf } from "./text.js";
9
9
  const PLACEHOLDER = /\{\{\s*([A-Za-z0-9_.]+)\s*\}\}/g;
10
10
  /**
@@ -13,7 +13,7 @@ const PLACEHOLDER = /\{\{\s*([A-Za-z0-9_.]+)\s*\}\}/g;
13
13
  * the block gives (spec 33 §5.2).
14
14
  */
15
15
  export function reservedKey(key, schema) {
16
- if (key === "kiro.banner" || key === AGENTS_MD_BUDGET_KEY || key in Object.prototype)
16
+ if (key === "kiro.banner" || key === AGENTS_MD_BUDGET_KEY || key === AGENTS_MD_PRIMARY_KEY || key in Object.prototype)
17
17
  return true;
18
18
  return schema >= FORGE_SCHEMA_INTEGRATIONS && key.startsWith(INTEGRATIONS_PREFIX);
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/core/extract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/core/extract.ts"],"names":[],"mappings":"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"}
@@ -15,11 +15,27 @@ import { loadForgeFor, plan, readLock, readWorkspaceConfig, status } from "./syn
15
15
  */
16
16
  export const PROTOCOL_VERSION = "2025-06-18";
17
17
  export const TOOL_NAMES = ["status", "diff", "explain", "recipes", "ingredients", "targets", "doctor"];
18
+ export const WRITE_TOOL_NAMES = ["sync", "add_recipe", "remove_recipe"];
18
19
  /** `initialize`'s `instructions` (spec 35 §4.7): one fixed paragraph, the same for every workspace. */
19
20
  export const INSTRUCTIONS = "This workspace's AI-coder files (`.claude/`, `.kiro/`, `AGENTS.md`) are generated by Craftar from a shared Forge. Do not edit a generated file by hand: the edit is flagged as drift and the file stops receiving updates until a person resolves it. Use `status` to see what is pending, `explain` to see where a file comes from, and tell the user to run `craftar sync` — these tools read only.";
21
+ /** `initialize`'s `instructions` with writers (spec 40 §5.4). */
22
+ export const INSTRUCTIONS_WRITES = INSTRUCTIONS +
23
+ " " +
24
+ "Started with --allow-writes, the server also has `sync`, `add_recipe` and `remove_recipe`, which write only in a workspace where a person typed `craftar mcp allow-writes`; `sync` never discards a hand edit — a person resolves a drift with `craftar drift discard`.";
20
25
  /** The tool error of a changed pin (spec 35 §4.3). It names the three keys, never a value. */
21
26
  export const PIN_CHANGED = "the Forge or the profile of this workspace changed since craftar mcp started (forge, ref or profile in craftar.yaml / craftar.local.yaml) — restart the server to read the new one";
27
+ /** The tool error when the registry is off (spec 40 §5.5). */
28
+ export const WRITES_NEED_REGISTRY = "writing needs the registry, where the consent is recorded, and CRAFTAR_NO_REGISTRY is set for this server";
29
+ /** The tool error when no consent is recorded (spec 40 §5.5). */
30
+ export const WRITES_NOT_ALLOWED = "writing is not allowed in this workspace — a person types craftar mcp allow-writes in it, in a terminal, to allow it";
31
+ /** Build the tool error when the consent is for a different forge/ref/profile (spec 40 §5.5). */
32
+ export const CONSENT_STALE = (keys) => `the write consent of this workspace was given for another ${keys.join(", ")} — a person types craftar mcp allow-writes again to allow the current one`;
33
+ /** The tool error when sync needs --fetch for a remote Forge (spec 40 §5.5). */
34
+ export const SYNC_NEEDS_FETCH = "sync of a remote Forge needs craftar mcp --fetch — the cached copy may be older than the lock's; run craftar sync in a terminal, or restart the server with --fetch";
35
+ /** The tool error when the registry cannot be read (spec 40 §5.5). */
36
+ export const REGISTRY_UNREADABLE = "the registry, where the consent is recorded, does not read — run craftar doctor";
22
37
  const UNKNOWN_TOOL = `unknown tool — one of ${TOOL_NAMES.join(", ")}`;
38
+ const UNKNOWN_TOOL_WITH_WRITES = `unknown tool — one of ${[...TOOL_NAMES, ...WRITE_TOOL_NAMES].join(", ")}`;
23
39
  export const pinOf = (merged) => ({ forge: merged.config.forge, ref: merged.config.ref ?? null, profile: merged.config.profile });
24
40
  /** The launch refusals that need no file read, in the order spec 35 §4.1 checks them; null to go on. */
25
41
  export function launchRefusal(stdinIsTTY, hasConfig, dir) {
@@ -87,6 +103,51 @@ const TOOLS = {
87
103
  inputSchema: NO_PROPERTIES,
88
104
  },
89
105
  };
106
+ /** The three writing tools (spec 40 §5.4): sync, add_recipe, remove_recipe. */
107
+ const WRITE_TOOLS = {
108
+ sync: {
109
+ title: "Sync workspace",
110
+ description: "Run `craftar sync` in this workspace: generate and write the files the Forge produces, remove orphans, update the lock and the registry. It never overwrites a hand-edited file — a person resolves drift with `craftar drift discard`. A remote Forge needs `--fetch` at server start.",
111
+ args: noArguments,
112
+ inputSchema: NO_PROPERTIES,
113
+ },
114
+ add_recipe: {
115
+ title: "Add recipe",
116
+ description: "Add one or more recipes to this workspace: edit `craftar.yaml` as `craftar add recipe` does. Returns the net edit, the new recipe order and what the next sync would do. Pass `replace: true` to swap a slot holder.",
117
+ args: z
118
+ .object({
119
+ names: z.array(z.string().min(1).max(128)).min(1).max(32),
120
+ replace: z.boolean().optional(),
121
+ })
122
+ .strict(),
123
+ inputSchema: {
124
+ type: "object",
125
+ properties: {
126
+ names: { type: "array", items: { type: "string", minLength: 1, maxLength: 128 }, minItems: 1, maxItems: 32, description: "Recipe names, applied in order, all or nothing" },
127
+ replace: { type: "boolean", description: "Swap out every other recipe that holds the same slot" },
128
+ },
129
+ required: ["names"],
130
+ additionalProperties: false,
131
+ },
132
+ },
133
+ remove_recipe: {
134
+ title: "Remove recipe",
135
+ description: "Remove one or more recipes from this workspace: edit `craftar.yaml` as `craftar remove recipe` does. Returns the net edit, the new recipe order and what the next sync would do.",
136
+ args: z
137
+ .object({
138
+ names: z.array(z.string().min(1).max(128)).min(1).max(32),
139
+ })
140
+ .strict(),
141
+ inputSchema: {
142
+ type: "object",
143
+ properties: {
144
+ names: { type: "array", items: { type: "string", minLength: 1, maxLength: 128 }, minItems: 1, maxItems: 32, description: "Recipe names, applied in order, all or nothing" },
145
+ },
146
+ required: ["names"],
147
+ additionalProperties: false,
148
+ },
149
+ },
150
+ };
90
151
  const isId = (v) => typeof v === "string" || typeof v === "number";
91
152
  const result = (id, value) => ({ jsonrpc: "2.0", id, result: value });
92
153
  const error = (id, code, message) => ({ jsonrpc: "2.0", id, error: { code, message } });
@@ -126,33 +187,60 @@ export async function handle(message, ctx, state) {
126
187
  if (m.method === "initialize") {
127
188
  // The one revision the server knows, whatever the client asked for: the client decides whether to go on
128
189
  state.initialized = true;
129
- return result(id, { protocolVersion: PROTOCOL_VERSION, capabilities: { tools: {} }, serverInfo: { name: "craftar", version: ctx.version }, instructions: INSTRUCTIONS });
190
+ const instructions = ctx.writers !== undefined ? INSTRUCTIONS_WRITES : INSTRUCTIONS;
191
+ return result(id, { protocolVersion: PROTOCOL_VERSION, capabilities: { tools: {} }, serverInfo: { name: "craftar", version: ctx.version }, instructions });
130
192
  }
131
193
  if (!state.initialized)
132
194
  return error(id, -32600, "not initialized");
133
- if (m.method === "tools/list")
134
- return result(id, {
135
- tools: TOOL_NAMES.map((name) => ({
195
+ if (m.method === "tools/list") {
196
+ const readTools = TOOL_NAMES.map((name) => ({
197
+ name,
198
+ title: TOOLS[name].title,
199
+ description: TOOLS[name].description,
200
+ inputSchema: TOOLS[name].inputSchema,
201
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: ctx.fetch },
202
+ }));
203
+ const writeTools = ctx.writers !== undefined
204
+ ? WRITE_TOOL_NAMES.map((name) => ({
136
205
  name,
137
- title: TOOLS[name].title,
138
- description: TOOLS[name].description,
139
- inputSchema: TOOLS[name].inputSchema,
140
- annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: ctx.fetch },
141
- })),
142
- });
206
+ title: WRITE_TOOLS[name].title,
207
+ description: WRITE_TOOLS[name].description,
208
+ inputSchema: WRITE_TOOLS[name].inputSchema,
209
+ annotations: { readOnlyHint: false, destructiveHint: name === "sync", idempotentHint: true, openWorldHint: ctx.fetch },
210
+ }))
211
+ : [];
212
+ return result(id, { tools: [...readTools, ...writeTools] });
213
+ }
143
214
  if (m.method !== "tools/call")
144
215
  return error(id, -32601, "Method not found");
145
216
  const params = (m.params !== null && typeof m.params === "object" ? m.params : {});
146
217
  // The name asked for is not echoed
147
- if (typeof params.name !== "string" || !TOOL_NAMES.includes(params.name))
148
- return error(id, -32602, UNKNOWN_TOOL);
149
- const name = params.name;
150
- const parsed = TOOLS[name].args.safeParse(params.arguments ?? {});
151
- // schemaFault names the key — an unrecognized one by the name the caller gave it — and what was expected, never a value
152
- if (!parsed.success)
153
- return error(id, -32602, `invalid arguments for ${name}: ${schemaFault(parsed.error)}`);
218
+ const hasWriters = ctx.writers !== undefined;
219
+ const allToolNames = hasWriters ? [...TOOL_NAMES, ...WRITE_TOOL_NAMES] : TOOL_NAMES;
220
+ if (typeof params.name !== "string" || !allToolNames.includes(params.name)) {
221
+ return error(id, -32602, hasWriters ? UNKNOWN_TOOL_WITH_WRITES : UNKNOWN_TOOL);
222
+ }
223
+ // Reading tool
224
+ if (TOOL_NAMES.includes(params.name)) {
225
+ const name = params.name;
226
+ const parsed = TOOLS[name].args.safeParse(params.arguments ?? {});
227
+ // schemaFault names the key — an unrecognized one by the name the caller gave it — and what was expected, never a value
228
+ if (!parsed.success)
229
+ return error(id, -32602, `invalid arguments for ${name}: ${schemaFault(parsed.error)}`);
230
+ try {
231
+ return result(id, toolResult(await call(name, parsed.data, ctx)));
232
+ }
233
+ catch (e) {
234
+ return result(id, toolError(errorText(e)));
235
+ }
236
+ }
237
+ // Writing tool (ctx.writers is guaranteed to be defined since the name is in allToolNames)
238
+ const writeName = params.name;
239
+ const writeParsed = WRITE_TOOLS[writeName].args.safeParse(params.arguments ?? {});
240
+ if (!writeParsed.success)
241
+ return error(id, -32602, `invalid arguments for ${writeName}: ${schemaFault(writeParsed.error)}`);
154
242
  try {
155
- return result(id, toolResult(await call(name, parsed.data, ctx)));
243
+ return result(id, toolResult(await callWrite(writeName, writeParsed.data, ctx)));
156
244
  }
157
245
  catch (e) {
158
246
  return result(id, toolError(errorText(e)));
@@ -225,4 +313,33 @@ async function call(name, args, ctx) {
225
313
  }));
226
314
  return { files, warnings: loadWarnings, unsetParams: report.unsetParams };
227
315
  }
316
+ /** One writing tool call (spec 40 §5.5). */
317
+ async function callWrite(name, args, ctx) {
318
+ const writers = ctx.writers;
319
+ const merged = await (ctx.readConfig ?? readWorkspaceConfig)(ctx.root);
320
+ const now = pinOf(merged);
321
+ if (now.forge !== ctx.pin.forge || now.ref !== ctx.pin.ref || now.profile !== ctx.pin.profile)
322
+ throw new Error(PIN_CHANGED);
323
+ const consentResult = await writers.consent(ctx.root, ctx.pin);
324
+ if (consentResult === "registry-off")
325
+ throw new Error(WRITES_NEED_REGISTRY);
326
+ if (consentResult === "unreadable")
327
+ throw new Error(REGISTRY_UNREADABLE);
328
+ if (consentResult === "none")
329
+ throw new Error(WRITES_NOT_ALLOWED);
330
+ if (typeof consentResult === "object")
331
+ throw new Error(CONSENT_STALE(consentResult.stale));
332
+ if (name === "sync") {
333
+ if (writers.isRemote(merged.config.forge) && !ctx.fetch)
334
+ throw new Error(SYNC_NEEDS_FETCH);
335
+ return await writers.sync(ctx.root, merged, { git: ctx.git });
336
+ }
337
+ // add_recipe or remove_recipe
338
+ const op = name === "add_recipe" ? "add" : "remove";
339
+ return await writers.editRecipes(ctx.root, merged, op, args.names ?? [], {
340
+ replace: args.replace,
341
+ fetch: ctx.fetch,
342
+ git: ctx.git,
343
+ });
344
+ }
228
345
  //# sourceMappingURL=mcp-protocol.js.map