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.
- package/README.md +31 -5
- package/dist/cli.js +133 -79
- package/dist/cli.js.map +1 -1
- package/dist/core/capabilities.js +2 -2
- package/dist/core/capabilities.js.map +1 -1
- package/dist/core/doctor.js +74 -1
- package/dist/core/doctor.js.map +1 -1
- package/dist/core/drift.js +10 -4
- package/dist/core/drift.js.map +1 -1
- package/dist/core/extract.js +2 -2
- package/dist/core/extract.js.map +1 -1
- package/dist/core/mcp-protocol.js +135 -18
- package/dist/core/mcp-protocol.js.map +1 -1
- package/dist/core/registry.js +61 -0
- package/dist/core/registry.js.map +1 -1
- package/dist/core/report.js +24 -1
- package/dist/core/report.js.map +1 -1
- package/dist/core/resolve.js +29 -0
- package/dist/core/resolve.js.map +1 -1
- package/dist/core/sync.js +157 -4
- package/dist/core/sync.js.map +1 -1
- package/dist/core/template-import.js +16 -3
- package/dist/core/template-import.js.map +1 -1
- package/dist/core/write-actions.js +197 -0
- package/dist/core/write-actions.js.map +1 -0
- package/dist/emitters/agents-md.js +26 -3
- package/dist/emitters/agents-md.js.map +1 -1
- package/dist/emitters/claude-code.js +175 -20
- package/dist/emitters/claude-code.js.map +1 -1
- package/dist/emitters/kiro.js +111 -26
- package/dist/emitters/kiro.js.map +1 -1
- package/dist/emitters/shared.js +135 -57
- package/dist/emitters/shared.js.map +1 -1
- package/dist/importers/claude-code.js +75 -7
- package/dist/importers/claude-code.js.map +1 -1
- package/dist/importers/decide.js +22 -4
- package/dist/importers/decide.js.map +1 -1
- package/dist/importers/drift-promote.js +9 -3
- package/dist/importers/drift-promote.js.map +1 -1
- package/dist/schema/index.js +24 -1
- package/dist/schema/index.js.map +1 -1
- 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
|
|
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":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAoC,MAAM,oBAAoB,CAAC;AAEjG,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/core/capabilities.ts"],"names":[],"mappings":"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"}
|
package/dist/core/doctor.js
CHANGED
|
@@ -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
|
package/dist/core/doctor.js.map
CHANGED
|
@@ -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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"}
|
package/dist/core/drift.js
CHANGED
|
@@ -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
|
|
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;
|
package/dist/core/drift.js.map
CHANGED
|
@@ -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
|
|
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"}
|
package/dist/core/extract.js
CHANGED
|
@@ -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
|
}
|
package/dist/core/extract.js.map
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
135
|
-
|
|
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:
|
|
138
|
-
description:
|
|
139
|
-
inputSchema:
|
|
140
|
-
annotations: { readOnlyHint:
|
|
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
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
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
|
|
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
|