🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@aryam/fixmap

Package Overview
Dependencies
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aryam/fixmap - npm Package Compare versions

Comparing version
0.7.4
to
0.8.0
+19
dist/doctor.d.ts
export type DoctorFinding = {
label: string;
value: string;
ok: boolean;
advice?: string;
};
export type DoctorReport = {
findings: DoctorFinding[];
healthy: boolean;
};
export type DoctorDependencies = {
readVersion?: () => string;
resolveBinary?: (name: string) => Promise<string | undefined>;
globalVersion?: () => Promise<string | undefined>;
nodeVersion?: () => string;
modulePath?: () => string;
};
export declare function runDoctorChecks(dependencies?: DoctorDependencies): Promise<DoctorReport>;
export declare function renderDoctorReport(report: DoctorReport): string;
// The first thing that went wrong in the original dogfooding session, and the least
// interesting: `npx @aryam/fixmap@0.7.3` ran 0.3.1. A stale global install shadows the
// version npx was asked for, so `verify` "did not exist" in a release that shipped it, and
// the time went into doubting the feature rather than the install (#103).
//
// The README documents the workaround now, but documentation only helps someone who
// already suspects the install. This command is for the person who does not.
import { exec as execWithShell, execFile } from "node:child_process";
import { readFileSync } from "node:fs";
import { dirname, join } from "node:path";
import { fileURLToPath } from "node:url";
import { promisify } from "node:util";
const exec = promisify(execFile);
const shellExec = promisify(execWithShell);
export async function runDoctorChecks(dependencies = {}) {
const readVersion = dependencies.readVersion ?? defaultReadVersion;
const modulePath = dependencies.modulePath ?? (() => fileURLToPath(import.meta.url));
const nodeVersion = dependencies.nodeVersion ?? (() => process.versions.node);
const findings = [];
const runningVersion = readVersion();
findings.push({ label: "Running version", value: runningVersion, ok: true });
findings.push({ label: "Resolved from", value: modulePath(), ok: true });
const binary = await (dependencies.resolveBinary ?? resolveBinary)("fixmap");
const globalVersion = await (dependencies.globalVersion ?? readGlobalVersion)();
if (binary) {
findings.push({ label: "fixmap on PATH", value: binary, ok: true });
}
// The finding that matters. A global install at a different version than the one this
// process is running means whichever the shell picks is a coin toss the user did not
// know they were making.
if (globalVersion && globalVersion !== runningVersion) {
findings.push({
label: "Global install",
value: `${globalVersion} (this process is ${runningVersion})`,
ok: false,
advice: "A globally installed fixmap shadows the version npx was asked for. " +
"Run `npm uninstall -g @aryam/fixmap`, or invoke the exact version with " +
"`npm exec --package=@aryam/fixmap@<version> -- fixmap <command>`."
});
}
else if (globalVersion) {
findings.push({ label: "Global install", value: `${globalVersion} (matches)`, ok: true });
}
else {
findings.push({ label: "Global install", value: "none", ok: true });
}
const node = nodeVersion();
const nodeOk = satisfiesEngine(node);
findings.push({
label: "Node version",
value: node,
ok: nodeOk,
...(nodeOk ? {} : { advice: "FixMap requires Node 20.11 or newer." })
});
return { findings, healthy: findings.every((finding) => finding.ok) };
}
export function renderDoctorReport(report) {
const lines = ["# FixMap Doctor", ""];
for (const finding of report.findings) {
lines.push(`- ${finding.ok ? "ok" : "PROBLEM"} ${finding.label}: ${finding.value}`);
if (finding.advice) {
lines.push(` ${finding.advice}`);
}
}
lines.push("", report.healthy
? "No install problems detected."
: "Fix the problems above; FixMap may otherwise run a different version than you asked for.");
return `${lines.join("\n")}\n`;
}
function satisfiesEngine(version) {
const [major = 0, minor = 0] = version.split(".").map(Number);
return major > 20 || (major === 20 && minor >= 11);
}
async function resolveBinary(name) {
const command = process.platform === "win32" ? "where" : "which";
try {
const { stdout } = await exec(command, [name]);
return stdout.split(/\r?\n/).map((line) => line.trim()).filter(Boolean)[0];
}
catch {
return undefined;
}
}
async function readGlobalVersion() {
try {
// npm is a .cmd shim on Windows, which Node 24 refuses to run through execFile without
// a shell. A fixed command string through `exec` is the form that works on both
// platforms without the argument-concatenation deprecation; nothing here is
// user-supplied, so there is nothing to escape.
const { stdout } = await shellExec("npm ls -g --depth=0 --json @aryam/fixmap");
const parsed = JSON.parse(stdout);
return parsed.dependencies?.["@aryam/fixmap"]?.version;
}
catch {
// npm missing, or the package is simply not installed globally. Both mean "no shadow".
return undefined;
}
}
function defaultReadVersion() {
const packageJson = JSON.parse(readFileSync(join(dirname(fileURLToPath(import.meta.url)), "..", "package.json"), "utf8"));
return packageJson.version;
}
//# sourceMappingURL=doctor.js.map
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
+9
-1
import { type FixMapReport } from "@aryam/fixmap-core";
import { type DoctorReport } from "./doctor.js";
import { type RepositoryPlanInput } from "./repository-source.js";

@@ -15,2 +16,7 @@ export type CliOptions = {

reportPath?: string | undefined;
comparePath?: string | undefined;
limit?: number | undefined;
exclude: string[];
workingTree: boolean;
includeUntracked: boolean;
unknownArgs: string[];

@@ -23,2 +29,3 @@ invalidValues: string[];

runMcpServer?: () => Promise<void>;
runDoctor?: () => Promise<DoctorReport>;
stderr?: (text: string) => void;

@@ -29,4 +36,5 @@ stdout?: (text: string) => void;

};
export declare const USAGE = "FixMap maps an issue, prompt, or diff to context files, test routes, and review risks.\n\nUsage:\n fixmap plan --issue \"Users cannot reset passwords\"\n fixmap plan --issue https://github.com/owner/repository/issues/123\n fixmap plan --issue-file task.md\n fixmap plan --issue -\n fixmap plan --issue \"Fix login\" --repo https://github.com/owner/repository\n fixmap plan --diff main...HEAD\n fixmap plan --base main --head HEAD --format json\n fixmap verify --report fixmap-report.json --diff main...HEAD\n fixmap mcp\n\nCommands:\n plan Generate a FixMap report for a task or diff\n verify Compare a saved report against the diff that followed it\n mcp Run FixMap as an MCP server over stdio for AI coding agents\n\nOptions:\n --issue <text|url> Issue text, task description, or public GitHub issue URL\n --issue-file <file> Read task text from a UTF-8 file (use - for stdin)\n --diff <spec> Git diff spec, such as main...HEAD\n --base <ref> Base ref for diffing when --diff is not given\n --head <ref> Head ref for diffing (defaults to HEAD)\n --repo <source> Local path or public GitHub HTTPS URL (defaults to current directory)\n --format <fmt> Output format: markdown (default) or json\n --output <file> Write the report to a file instead of stdout\n --explain <path> Explain why one file was ranked where it was, or left out\n --report <file> Verify command only: the JSON report the change was planned from\n --help, -h Show this help\n --version, -v Show the FixMap version\n";
export declare const USAGE = "FixMap maps an issue, prompt, or diff to context files, test routes, and review risks.\n\nUsage:\n fixmap plan --issue \"Users cannot reset passwords\"\n fixmap plan --issue https://github.com/owner/repository/issues/123\n fixmap plan --issue-file task.md\n fixmap plan --issue -\n fixmap plan --issue \"Fix login\" --repo https://github.com/owner/repository\n fixmap plan --diff main...HEAD\n fixmap plan --base main --head HEAD --format json\n fixmap verify --report fixmap-report.json --diff main...HEAD\n fixmap mcp\n\nCommands:\n plan Generate a FixMap report for a task or diff\n verify Compare a saved report against the diff that followed it\n doctor Check the FixMap install for stale global or npx shadows\n mcp Run FixMap as an MCP server over stdio for AI coding agents\n\nOptions:\n --issue <text|url> Issue text, task description, or public GitHub issue URL\n --issue-file <file> Read task text from a UTF-8 file (use - for stdin)\n --diff <spec> Git diff spec, such as main...HEAD\n --base <ref> Base ref for diffing when --diff is not given\n --head <ref> Head ref for diffing (defaults to HEAD)\n --working-tree Map staged and unstaged changes against HEAD\n --include-untracked With --working-tree, also include untracked files\n --repo <source> Local path or public GitHub HTTPS URL (defaults to current directory)\n --limit <n> Maximum context files to report (default 8, max 20)\n --exclude <glob> Path pattern to leave out of ranking (repeatable)\n --format <fmt> Output format: markdown (default) or json\n --output <file> Write the report or verification to a file instead of stdout\n --explain <path> Explain why one file was ranked where it was, or left out\n --compare <file> Compare this plan against an earlier JSON report\n --report <file> Verify command only: the JSON report the change was planned from\n --help, -h Show this help\n --version, -v Show the FixMap version\n\nA repository may also list exclusion patterns in .fixmapignore, one per line.\nSet FIXMAP_PROGRESS=1 to print scan and clone phases to stderr.\n";
export declare function runCli(args: string[], dependencies?: CliDependencies): Promise<number>;
export declare const MAX_CONTEXT_FILE_LIMIT = 20;
export declare function parseArgs(args: string[]): CliOptions;

@@ -5,3 +5,4 @@ import { readFileSync } from "node:fs";

import { fileURLToPath } from "node:url";
import { explainFile, renderJsonReport, renderVerifyMarkdown, verifyPlan, renderMarkdownReport, scanRepo } from "@aryam/fixmap-core";
import { compareReports, explainFile, renderComparisonMarkdown, renderExplanationMarkdown, renderJsonReport, renderVerifyMarkdown, resolveExclusions, verifyPlan, renderMarkdownReport, scanRepo } from "@aryam/fixmap-core";
import { runDoctorChecks, renderDoctorReport } from "./doctor.js";
import { buildReportForRepository, parseGitHubIssueSource } from "./repository-source.js";

@@ -24,2 +25,3 @@ export const USAGE = `FixMap maps an issue, prompt, or diff to context files, test routes, and review risks.

verify Compare a saved report against the diff that followed it
doctor Check the FixMap install for stale global or npx shadows
mcp Run FixMap as an MCP server over stdio for AI coding agents

@@ -33,9 +35,17 @@

--head <ref> Head ref for diffing (defaults to HEAD)
--working-tree Map staged and unstaged changes against HEAD
--include-untracked With --working-tree, also include untracked files
--repo <source> Local path or public GitHub HTTPS URL (defaults to current directory)
--limit <n> Maximum context files to report (default 8, max 20)
--exclude <glob> Path pattern to leave out of ranking (repeatable)
--format <fmt> Output format: markdown (default) or json
--output <file> Write the report to a file instead of stdout
--output <file> Write the report or verification to a file instead of stdout
--explain <path> Explain why one file was ranked where it was, or left out
--compare <file> Compare this plan against an earlier JSON report
--report <file> Verify command only: the JSON report the change was planned from
--help, -h Show this help
--version, -v Show the FixMap version
A repository may also list exclusion patterns in .fixmapignore, one per line.
Set FIXMAP_PROGRESS=1 to print scan and clone phases to stderr.
`;

@@ -65,2 +75,9 @@ export async function runCli(args, dependencies = {}) {

}
if (args[0] === "doctor") {
const report = await (dependencies.runDoctor ?? runDoctorChecks)();
stdout(renderDoctorReport(report));
// Non-zero on a detected shadow: a script that runs doctor in CI should fail there,
// not read the text and carry on.
return report.healthy ? 0 : 1;
}
const options = parseArgs(args);

@@ -84,3 +101,7 @@ if (options.command !== "plan" && options.command !== "verify") {

if (options.command === "verify") {
return runVerify(options, { stdout, stderr });
return runVerify(options, {
stdout,
stderr,
writeReport: dependencies.writeReport ?? ((path, contents) => writeFile(path, contents, "utf8"))
});
}

@@ -94,6 +115,14 @@ try {

}
if (!options.issueText && !options.diffSpec && !options.baseRef) {
stderr("Provide --issue, --diff, or --base/--head so FixMap has a task signal.\n");
if (!options.issueText && !options.diffSpec && !options.baseRef && !options.workingTree) {
stderr("Provide --issue, --diff, --base/--head, or --working-tree so FixMap has a task signal.\n");
return 1;
}
if (options.includeUntracked && !options.workingTree) {
stderr("--include-untracked only applies with --working-tree.\n");
return 1;
}
if (options.workingTree && (options.diffSpec || options.baseRef)) {
stderr("Use either --working-tree or --diff/--base, not both: they name different sets of changes.\n");
return 1;
}
if (options.explainPath) {

@@ -108,7 +137,14 @@ // Explaining a ranking needs the scanned repository, not just the finished report,

try {
const repo = await scanRepo({ repoRoot: options.repo ?? process.cwd() });
const explanation = explainFile(repo, { issueText: options.issueText }, options.explainPath);
const repoRoot = options.repo ?? process.cwd();
const repo = await scanRepo({ repoRoot });
const explanation = explainFile(repo, {
issueText: options.issueText,
// Without this, a file left out by .fixmapignore would be reported as having
// scored below the cutoff — a false answer to the exact question --explain exists
// to answer.
exclude: await resolveExclusions(repoRoot, options.exclude)
}, options.explainPath);
stdout(options.format === "json"
? `${JSON.stringify(explanation, null, 2)}\n`
: renderExplanation(explanation));
: renderExplanationMarkdown(explanation));
return 0;

@@ -128,3 +164,7 @@ }

baseRef: options.baseRef,
headRef: options.headRef
headRef: options.headRef,
workingTree: options.workingTree,
includeUntracked: options.includeUntracked,
limit: options.limit,
exclude: options.exclude
});

@@ -149,2 +189,25 @@ }

}
// The habit worth having: plan, add the identifier the task was missing, re-plan, and
// check whether the real file rose. When comparing, the delta is the answer — the full
// report is what the reader already has from the previous run.
if (options.comparePath) {
let previous;
try {
previous = JSON.parse(readFileSync(options.comparePath, "utf8"));
}
catch (error) {
stderr(`Could not read "${options.comparePath}": ${error instanceof Error ? error.message : String(error)}\n` +
"Save one first with: fixmap plan --issue \"...\" --format json --output previous.json\n");
return 1;
}
if (!Array.isArray(previous.contextFiles)) {
stderr(`"${options.comparePath}" is not a FixMap JSON report: no contextFiles array.\n`);
return 1;
}
const comparison = compareReports(previous, report);
stdout(options.format === "json"
? `${JSON.stringify(comparison, null, 2)}\n`
: renderComparisonMarkdown(comparison));
return 0;
}
const rendered = options.format === "json" ? renderJsonReport(report) : renderMarkdownReport(report);

@@ -188,4 +251,2 @@ if (options.output) {

const remoteRepo = /^https?:\/\//i.test(options.repo ?? "") || (remoteIssue && !options.repo);
const diff = options.diffSpec ??
(options.baseRef ? `${options.baseRef}...${options.headRef ?? "HEAD"}` : "<base>...HEAD");
const repo = remoteRepo

@@ -199,6 +260,34 @@ ? " --repo <local-checkout>"

: "\nAfter you make the change, check it against this plan:\n";
return `${prefix} fixmap verify --report ${quoteCliValue(options.output)} --diff ${diff}${repo}\n`;
const command = ` fixmap verify --report ${quoteCliValue(options.output)}`;
// An issue-only plan has no base to name. Inventing one was #110; printing the
// placeholder `<base>...HEAD` inside a copy-paste command replaced that with a line
// that looks runnable and is not. Keep the command runnable-as-printed and put the
// part the user must supply on its own line, outside it.
const diff = options.diffSpec ??
(options.baseRef ? `${options.baseRef}...${options.headRef ?? "HEAD"}` : undefined);
if (!diff) {
return `${prefix}${command}${repo}\n` +
"Add --diff with the range holding your edit, such as HEAD~1...HEAD.\n";
}
return `${prefix}${command} --diff ${diff}${repo}\n`;
}
return undefined;
}
// --exclude is deliberately absent: it is the one flag that accumulates, because naming
// several directories to leave out is the normal way to use it.
const SINGLE_VALUE_FLAGS = new Set([
"--issue",
"--issue-file",
"--diff",
"--base",
"--head",
"--repo",
"--format",
"--report",
"--explain",
"--compare",
"--limit",
"--output"
]);
export const MAX_CONTEXT_FILE_LIMIT = 20;
export function parseArgs(args) {

@@ -216,5 +305,10 @@ const command = args[0] ?? "";

let reportPath;
let comparePath;
let limit;
let workingTree = false;
let includeUntracked = false;
const exclude = [];
const unknownArgs = [];
const invalidValues = [];
let issueCount = 0;
const flagCounts = new Map();
for (let index = 1; index < args.length; index += 1) {

@@ -239,8 +333,18 @@ const rawArg = args[index];

};
// Every one of these takes a single value, so a repeat is a mistake rather than a
// refinement. Silently keeping the last one is worst for --repo, which then scans a
// different tree than the one the user named first, and --format, which hands the
// consumer a contract it did not ask for.
if (SINGLE_VALUE_FLAGS.has(arg)) {
const occurrence = (flagCounts.get(arg) ?? 0) + 1;
flagCounts.set(arg, occurrence);
if (occurrence > 1) {
consumeValue();
invalidValues.push(`pass only one ${arg} value`);
continue;
}
}
if (arg === "--issue") {
consumeValue();
issueCount += 1;
if (issueCount > 1)
invalidValues.push("pass only one --issue value");
else if (value?.trim())
if (value?.trim())
issueText = value;

@@ -252,5 +356,3 @@ else

consumeValue();
if (issueFile !== undefined)
invalidValues.push("pass only one --issue-file value");
else if (value?.trim())
if (value?.trim())
issueFile = value.trim();

@@ -311,2 +413,32 @@ else

}
else if (arg === "--compare") {
consumeValue();
if (value?.trim())
comparePath = value.trim();
else
invalidValues.push("--compare requires a path to an earlier FixMap JSON report");
}
else if (arg === "--exclude") {
consumeValue();
if (value?.trim())
exclude.push(value.trim());
else
invalidValues.push("--exclude requires a path or glob pattern");
}
else if (arg === "--limit") {
consumeValue();
const parsed = Number(value);
if (value?.trim() && Number.isSafeInteger(parsed) && parsed >= 1 && parsed <= MAX_CONTEXT_FILE_LIMIT) {
limit = parsed;
}
else {
invalidValues.push(`--limit received ${JSON.stringify(value ?? "(missing)")}; expected a whole number from 1 to ${MAX_CONTEXT_FILE_LIMIT}`);
}
}
else if (arg === "--working-tree") {
workingTree = true;
}
else if (arg === "--include-untracked") {
includeUntracked = true;
}
else if (arg === "--output") {

@@ -335,2 +467,7 @@ consumeValue();

reportPath,
comparePath,
limit,
exclude,
workingTree,
includeUntracked,
unknownArgs,

@@ -416,5 +553,18 @@ invalidValues

const result = verifyPlan(report, repo);
io.stdout(options.format === "json"
const rendered = options.format === "json"
? `${JSON.stringify(result, null, 2)}\n`
: renderVerifyMarkdown(result));
: renderVerifyMarkdown(result);
if (options.output) {
try {
await io.writeReport(options.output, rendered);
}
catch (error) {
io.stderr(`Could not write verification to "${options.output}": ` +
`${error instanceof Error ? error.message : String(error)}\n`);
return 1;
}
}
else {
io.stdout(rendered);
}
// A generated-location edit is discarded by the next build, so it fails the command

@@ -429,13 +579,2 @@ // rather than being reported and ignored. Everything else is advisory.

}
/** Renders one file's explanation. The summary carries the answer; reasons show the working. */
function renderExplanation(explanation) {
const lines = [`# Why ${explanation.path}`, "", explanation.summary];
if (explanation.reasons.length > 0) {
lines.push("", "## Signals", "");
for (const reason of explanation.reasons) {
lines.push(`- ${reason}`);
}
}
return `${lines.join("\n")}\n`;
}
//# sourceMappingURL=cli-runner.js.map
+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"cli-runner.js","sourceRoot":"","sources":["../src/cli-runner.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"cli-runner.js","sourceRoot":"","sources":["../src/cli-runner.ts"],"names":[],"mappings":"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"}
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { type FixMapReport } from "@aryam/fixmap-core";
import { type RepositorySourceDependencies } from "./repository-source.js";
export declare const MAX_MCP_LIMIT = 20;
type PlanArguments = {

@@ -11,3 +12,13 @@ issue?: string;

format?: "markdown" | "json";
limit?: number;
exclude?: string[];
};
type ExplainArguments = {
path: string;
issue?: string;
diff?: string;
repo?: string;
exclude?: string[];
format?: "markdown" | "json";
};
type PlanArgumentsValidation = {

@@ -30,2 +41,9 @@ success: true;

export declare function parsePlanArguments(input: unknown): PlanArgumentsValidation;
export declare function parseExplainArguments(input: unknown): {
success: true;
value: ExplainArguments;
} | {
success: false;
message: string;
};
type VerifyArgumentsValidation = {

@@ -32,0 +50,0 @@ success: true;

@@ -7,4 +7,5 @@ import { readFileSync } from "node:fs";

import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
import { renderJsonReport, renderMarkdownReport, renderVerifyMarkdown, scanRepo, verifyPlan } from "@aryam/fixmap-core";
import { explainFile, renderExplanationMarkdown, renderJsonReport, renderMarkdownReport, renderVerifyMarkdown, resolveExclusions, scanRepo, verifyPlan } from "@aryam/fixmap-core";
import { buildReportForRepository } from "./repository-source.js";
export const MAX_MCP_LIMIT = 20;
const PLAN_TOOL = {

@@ -17,5 +18,6 @@ name: "fixmap_plan",

"Provide at least one of issue, diff, or base. " +
// Agents otherwise read a ranked list as a settled answer. On the frozen suites the
// top result is correct about three quarters of the time when labeled high
// confidence, so the ranking is a lead to verify rather than a conclusion.
// Agents otherwise read a ranked list as a settled answer. On the frozen suites a top
// result labeled high confidence is the correct fixing file 9 times out of 15, so the
// ranking is a lead to verify rather than a conclusion. High is also deliberately
// scarce: it marks the file that led, not every file worth reading.
"Treat the result as a starting map, not proof the task is valid: check the analysis " +

@@ -45,2 +47,13 @@ "block before editing, and when it reports unresolved or unverified identifiers, vague " +

description: "Report format, markdown by default"
},
limit: {
type: "number",
description: `Maximum context files to return, 1 to ${MAX_MCP_LIMIT}, default 8. ` +
"Lower it when context budget matters: the useful signal is usually the top one to three."
},
exclude: {
type: "array",
items: { type: "string" },
description: "Path patterns to leave out of ranking, gitignore-flavored, such as \"apps/web\" or \"docs/**\". " +
"A .fixmapignore file in the repository is applied as well."
}

@@ -51,2 +64,37 @@ },

};
const EXPLAIN_TOOL = {
name: "fixmap_explain",
title: "FixMap explain",
description: "Answer why one specific file was ranked where it was, or left out of a plan entirely. " +
"Use this when a file you expected is missing from fixmap_plan, or when a ranked file looks wrong: " +
"it separates the cases that actually differ — ranked, scored below the cutoff, tied but outside " +
"the reported limit, deliberately excluded, or never scanned — instead of leaving you to guess. " +
"Needs a local checkout, because it re-ranks the repository rather than reading a saved report.",
inputSchema: {
type: "object",
properties: {
path: {
type: "string",
description: "Repository-relative path to explain, such as \"src/auth/reset-password.ts\""
},
issue: {
type: "string",
description: "The same task signal used for the plan, so the explanation matches that ranking"
},
diff: { type: "string", description: "Git diff spec, such as main...HEAD" },
repo: {
type: "string",
description: "Local repository path, defaults to the server working directory. Remote URLs are not supported."
},
exclude: {
type: "array",
items: { type: "string" },
description: "The same exclusion patterns used for the plan"
},
format: { type: "string", enum: ["markdown", "json"], description: "Output format, markdown by default" }
},
required: ["path"],
additionalProperties: false
}
};
const VERIFY_TOOL = {

@@ -61,3 +109,8 @@ name: "fixmap_verify",

properties: {
report: { type: "object", description: "The JSON FixMap report returned by fixmap_plan" },
report: {
description: "The FixMap report to verify against, either as the JSON object returned by " +
"fixmap_plan or as a path to a local JSON report file such as \"./fixmap-report.json\". " +
"Prefer the path when the plan is large.",
anyOf: [{ type: "object" }, { type: "string" }]
},
diff: { type: "string", description: "Git diff spec, such as main...HEAD" },

@@ -75,3 +128,5 @@ base: { type: "string", description: "Base git ref when diff is omitted" },

const server = new Server({ name: "fixmap", version: readVersion() }, { capabilities: { tools: {} } });
server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [PLAN_TOOL, VERIFY_TOOL] }));
server.setRequestHandler(ListToolsRequestSchema, async () => ({
tools: [PLAN_TOOL, VERIFY_TOOL, EXPLAIN_TOOL]
}));
server.setRequestHandler(CallToolRequestSchema, async (request) => {

@@ -111,2 +166,39 @@ if (request.params.name === VERIFY_TOOL.name) {

}
if (request.params.name === EXPLAIN_TOOL.name) {
const parsed = parseExplainArguments(request.params.arguments ?? {});
if (!parsed.success) {
return { isError: true, content: [{ type: "text", text: `Invalid arguments: ${parsed.message}` }] };
}
const args = parsed.value;
// Explaining re-ranks the repository rather than reading a saved report, so it needs
// the tree on disk. Same constraint the CLI states.
if (/^https?:\/\//i.test(args.repo ?? "")) {
return {
isError: true,
content: [{
type: "text",
text: "explain needs a local checkout; clone the repository and point repo at the directory."
}]
};
}
try {
const repoRoot = args.repo ?? process.cwd();
const repo = await scanRepo({ repoRoot, diffSpec: args.diff });
const explanation = explainFile(repo, {
issueText: args.issue,
diffText: repo.diffText,
exclude: await resolveExclusions(repoRoot, args.exclude ?? [])
}, args.path);
const text = args.format === "json"
? `${JSON.stringify(explanation, null, 2)}\n`
: renderExplanationMarkdown(explanation);
return { content: [{ type: "text", text }] };
}
catch (error) {
return {
isError: true,
content: [{ type: "text", text: error instanceof Error ? error.message : String(error) }]
};
}
}
if (request.params.name !== PLAN_TOOL.name) {

@@ -139,3 +231,5 @@ return {

baseRef: args.base,
headRef: args.head
headRef: args.head,
limit: args.limit,
exclude: args.exclude
}, repositorySourceDependencies);

@@ -174,3 +268,3 @@ }

const record = input;
const allowed = new Set(["issue", "diff", "base", "head", "repo", "format"]);
const allowed = new Set(["issue", "diff", "base", "head", "repo", "format", "limit", "exclude"]);
const unknown = Object.keys(record).filter((key) => !allowed.has(key));

@@ -193,2 +287,10 @@ if (unknown.length > 0) {

}
const limit = validateLimit(record.limit);
if (!limit.success) {
return limit;
}
const exclude = validateExclude(record.exclude);
if (!exclude.success) {
return exclude;
}
const value = {};

@@ -204,4 +306,71 @@ for (const name of ["issue", "diff", "base", "head", "repo"]) {

}
if (limit.value !== undefined) {
value.limit = limit.value;
}
if (exclude.value.length > 0) {
value.exclude = exclude.value;
}
return { success: true, value };
}
function validateLimit(candidate) {
if (candidate === undefined) {
return { success: true, value: undefined };
}
if (typeof candidate !== "number" ||
!Number.isSafeInteger(candidate) ||
candidate < 1 ||
candidate > MAX_MCP_LIMIT) {
return { success: false, message: `"limit" must be a whole number from 1 to ${MAX_MCP_LIMIT}.` };
}
return { success: true, value: candidate };
}
function validateExclude(candidate) {
if (candidate === undefined) {
return { success: true, value: [] };
}
if (!Array.isArray(candidate) || candidate.some((entry) => typeof entry !== "string")) {
return { success: false, message: '"exclude" must be an array of path patterns.' };
}
return { success: true, value: candidate.map((entry) => entry.trim()).filter(Boolean) };
}
export function parseExplainArguments(input) {
if (typeof input !== "object" || input === null || Array.isArray(input)) {
return { success: false, message: "tool arguments must be an object." };
}
const record = input;
const allowed = new Set(["path", "issue", "diff", "repo", "exclude", "format"]);
const unknown = Object.keys(record).filter((key) => !allowed.has(key));
if (unknown.length > 0) {
return { success: false, message: `unknown argument${unknown.length === 1 ? "" : "s"}: ${unknown.join(", ")}.` };
}
for (const name of ["path", "issue", "diff", "repo"]) {
const value = record[name];
if (value !== undefined && typeof value !== "string") {
return { success: false, message: `"${name}" must be a string.` };
}
}
const path = typeof record.path === "string" ? record.path.trim() : "";
if (!path) {
return { success: false, message: '"path" is required and must be a repository-relative file path.' };
}
const format = record.format;
if (format !== undefined && format !== "markdown" && format !== "json") {
return { success: false, message: '"format" must be either "markdown" or "json".' };
}
const exclude = validateExclude(record.exclude);
if (!exclude.success) {
return exclude;
}
return {
success: true,
value: {
path,
...(typeof record.issue === "string" && record.issue.trim() ? { issue: record.issue.trim() } : {}),
...(typeof record.diff === "string" && record.diff.trim() ? { diff: record.diff.trim() } : {}),
...(typeof record.repo === "string" && record.repo.trim() ? { repo: record.repo.trim() } : {}),
...(exclude.value.length > 0 ? { exclude: exclude.value } : {}),
...(format === "markdown" || format === "json" ? { format } : {})
}
};
}
export function parseVerifyArguments(input) {

@@ -217,6 +386,7 @@ if (typeof input !== "object" || input === null || Array.isArray(input)) {

}
const report = record.report;
if (typeof report !== "object" || report === null || !Array.isArray(report.contextFiles)) {
return { success: false, message: '"report" must be a FixMap JSON report with a contextFiles array.' };
const loaded = loadVerifyReport(record.report);
if (!loaded.success) {
return { success: false, message: loaded.message };
}
const report = loaded.report;
for (const name of ["diff", "base", "head", "repo"]) {

@@ -238,3 +408,3 @@ const value = record[name];

value: {
report: report,
report,
...(typeof record.diff === "string" ? { diff: record.diff.trim() } : {}),

@@ -248,2 +418,50 @@ ...(typeof record.base === "string" ? { base: record.base.trim() } : {}),

}
/**
* Accepts the report either inline or as a path to a JSON file, mirroring CLI
* `--report plan.json`. Agents reaching for MCP after using the CLI pass a path, and the
* object-only rule both rejected them without naming the working shape and forced the
* model to re-embed an entire plan in the tool call — token-heavy and easy to truncate.
*/
function loadVerifyReport(input) {
if (typeof input === "string") {
const path = input.trim();
if (!path) {
return { success: false, message: '"report" must be a FixMap report object or a path to a FixMap JSON report.' };
}
let contents;
try {
contents = readFileSync(path, "utf8");
}
catch (error) {
return {
success: false,
message: `"report" looked like a file path but could not be read: ${error instanceof Error ? error.message : String(error)}.`
};
}
let parsed;
try {
parsed = JSON.parse(contents);
}
catch (error) {
return {
success: false,
message: `"report" pointed at ${path}, which is not valid JSON: ${error instanceof Error ? error.message : String(error)}.`
};
}
return asFixMapReport(parsed, `the JSON in ${path}`);
}
return asFixMapReport(input, '"report"');
}
function asFixMapReport(candidate, label) {
if (typeof candidate !== "object" ||
candidate === null ||
Array.isArray(candidate) ||
!Array.isArray(candidate.contextFiles)) {
return {
success: false,
message: `${label} must be a FixMap JSON report with a contextFiles array, or a path to one.`
};
}
return { success: true, report: candidate };
}
export async function runMcpServer() {

@@ -250,0 +468,0 @@ await createFixMapMcpServer().connect(new StdioServerTransport());

@@ -1,1 +0,1 @@

{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}

@@ -8,2 +8,6 @@ import { type FixMapReport, type ScanDiagnostic } from "@aryam/fixmap-core";

headRef?: string | undefined;
workingTree?: boolean | undefined;
includeUntracked?: boolean | undefined;
limit?: number | undefined;
exclude?: string[] | undefined;
};

@@ -14,2 +18,11 @@ export type ClonedRepository = {

};
/**
* A cold `--repo https://github.com/...` sits silent for thirty to ninety seconds while it
* clones, which reads as hung — in CI logs and agent transcripts especially, where there is
* no cursor to suggest anything is happening. Agents kill the process and retry.
*
* Phases go to stderr so stdout stays a clean pipe for JSON and markdown, and only when
* someone is watching: a TTY, or FIXMAP_PROGRESS=1 for CI logs that want them.
*/
export declare function reportProgress(phase: string): void;
export type RepositorySourceDependencies = {

@@ -35,2 +48,4 @@ clonePublicRepository?: (url: string, destination: string, hooksDirectory: string) => Promise<ClonedRepository>;

repositoryUrl: string;
/** True for a /pull/N URL. The fetch is identical; only the wording differs. */
isPullRequest?: boolean;
};

@@ -37,0 +52,0 @@ export type PublicGitHubIssue = {

@@ -16,2 +16,15 @@ import { execFile } from "node:child_process";

const GITHUB_NAME = /^[a-z\d._-]+$/i;
/**
* A cold `--repo https://github.com/...` sits silent for thirty to ninety seconds while it
* clones, which reads as hung — in CI logs and agent transcripts especially, where there is
* no cursor to suggest anything is happening. Agents kill the process and retry.
*
* Phases go to stderr so stdout stays a clean pipe for JSON and markdown, and only when
* someone is watching: a TTY, or FIXMAP_PROGRESS=1 for CI logs that want them.
*/
export function reportProgress(phase) {
if (process.env.FIXMAP_PROGRESS === "1" || process.stderr.isTTY) {
process.stderr.write(`fixmap: ${phase}\n`);
}
}
export class RepositorySourceError extends Error {

@@ -23,8 +36,13 @@ name = "RepositorySourceError";

const looksLikeStandaloneGitHubUrl = /^https?:\/\/(?:[^/@\s]+@)?github\.com[\\/]\S+$/i.test(trimmed);
const looksLikeGitHubIssue = /^https?:\/\/(?:[^/@\s]+@)?github\.com[\\/]/i.test(trimmed) &&
/[\\/]issues(?:[\\/]|%(?:2f|5c))/i.test(trimmed);
if (!looksLikeGitHubIssue) {
// Pull request URLs are accepted alongside issue URLs. Agents and humans paste them
// constantly — "map what this PR is about" is a more common starting point than an issue
// link — and GitHub serves a PR's title and body from the same /issues/N endpoint, so
// this costs one path segment. Compare, tree, discussion and file URLs stay rejected:
// they carry no task text to rank against.
const looksLikeGitHubTask = /^https?:\/\/(?:[^/@\s]+@)?github\.com[\\/]/i.test(trimmed) &&
/[\\/](?:issues|pull)(?:[\\/]|%(?:2f|5c))/i.test(trimmed);
if (!looksLikeGitHubTask) {
if (looksLikeStandaloneGitHubUrl) {
throw new RepositorySourceError("Only canonical public GitHub issue URLs are supported as --issue input. " +
"Pull request, discussion, compare, tree, and file URLs are not fetched; use --diff on a local checkout or paste the task text.");
throw new RepositorySourceError("Only canonical public GitHub issue and pull request URLs are supported as --issue input. " +
"Discussion, compare, tree, and file URLs are not fetched; use --diff on a local checkout or paste the task text.");
}

@@ -57,7 +75,7 @@ return undefined;

const repository = segments[1] ?? "";
const issueSegment = segments[2] ?? "";
const kindSegment = (segments[2] ?? "").toLowerCase();
const rawNumber = segments[3] ?? "";
const number = Number(rawNumber);
if (segments.length !== 4 ||
issueSegment.toLowerCase() !== "issues" ||
(kindSegment !== "issues" && kindSegment !== "pull") ||
!GITHUB_NAME.test(owner) ||

@@ -67,5 +85,7 @@ !GITHUB_NAME.test(repository) ||

!Number.isSafeInteger(number)) {
throw new RepositorySourceError('GitHub issue URLs must use the form "https://github.com/owner/repository/issues/123".');
throw new RepositorySourceError('GitHub issue URLs must use the form "https://github.com/owner/repository/issues/123", ' +
'and pull request URLs "https://github.com/owner/repository/pull/123".');
}
const repositoryUrl = `https://github.com/${owner}/${repository}`;
const isPullRequest = kindSegment === "pull";
return {

@@ -75,3 +95,4 @@ owner,

number,
displayUrl: `${repositoryUrl}/issues/${number}`,
isPullRequest,
displayUrl: `${repositoryUrl}/${isPullRequest ? "pull" : "issues"}/${number}`,
repositoryUrl

@@ -129,5 +150,8 @@ };

}
if (payload.pull_request) {
// A /pull/N URL is expected to come back as a pull request; an /issues/N URL that does
// is a number collision GitHub resolves to the pull request, and the caller should know
// they got something other than what they typed.
if (payload.pull_request && !source.isPullRequest) {
throw new RepositorySourceError(`"${source.displayUrl}" resolves to a pull request, not an issue. ` +
"Use --diff on a local checkout or paste the pull request description.");
`Use "${source.repositoryUrl}/pull/${source.number}" to plan from it.`);
}

@@ -248,2 +272,3 @@ if (typeof payload.title !== "string" || !payload.title.trim()) {

const fetchPublicIssue = dependencies.fetchPublicIssue ?? fetchPublicGitHubIssue;
reportProgress(`fetching ${issueSource.displayUrl}`);
const issue = await fetchPublicIssue(issueSource);

@@ -254,3 +279,3 @@ const truncated = issue.body.length > MAX_GITHUB_ISSUE_BODY_CHARS;

issueDiagnostic = {
code: "remote-issue-fetched",
code: issueSource.isPullRequest ? "remote-pull-fetched" : "remote-issue-fetched",
severity: "info",

@@ -266,2 +291,3 @@ message: `Fetched ${issueSource.displayUrl} anonymously and used its title` +

return withRepositorySource(source, async (resolvedSource) => {
reportProgress(`scanning ${resolvedSource.repoRoot}`);
const report = await buildFixMapReport({

@@ -272,4 +298,9 @@ repoRoot: resolvedSource.repoRoot,

baseRef: input.baseRef,
headRef: input.headRef
headRef: input.headRef,
workingTree: input.workingTree,
includeUntracked: input.includeUntracked,
limit: input.limit,
exclude: input.exclude
});
reportProgress(`ranked ${report.contextFiles.length} context files`);
const sourceDiagnostics = [issueDiagnostic, resolvedSource.diagnostic].filter((diagnostic) => diagnostic !== undefined);

@@ -321,3 +352,5 @@ report.diagnostics.unshift(...sourceDiagnostics);

try {
reportProgress(`cloning ${source.displayUrl}`);
cloned = await clonePublicRepository(source.cloneUrl, checkoutRoot, hooksDirectory);
reportProgress(`cloned ${cloned.ref}@${cloned.revision}`);
}

@@ -324,0 +357,0 @@ catch (error) {

@@ -1,1 +0,1 @@

{"version":3,"file":"repository-source.js","sourceRoot":"","sources":["../src/repository-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACL,iBAAiB,EAGlB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACjC,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACxC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACjC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AACtC,MAAM,6BAA6B,GAAG,SAAS,CAAC;AAChD,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAC3C,MAAM,UAAU,GAAG,yBAAyB,CAAC;AAC7C,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAC9C,MAAM,WAAW,GAAG,gBAAgB,CAAC;AAiDrC,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IACrC,IAAI,GAAG,uBAAuB,CAAC;CACzC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,4BAA4B,GAChC,iDAAiD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,oBAAoB,GACxB,6CAA6C,CAAC,IAAI,CAAC,OAAO,CAAC;QAC3D,kCAAkC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,IAAI,4BAA4B,EAAE,CAAC;YACjC,MAAM,IAAI,qBAAqB,CAC7B,0EAA0E;gBAC1E,gIAAgI,CACjI,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IACE,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC;QACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAC3B,CAAC;QACD,MAAM,IAAI,qBAAqB,CAC7B,iGAAiG,CAClG,CAAC;IACJ,CAAC;IAED,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,qBAAqB,CAC7B,uFAAuF,CACxF,CAAC;IACJ,CAAC;IAED,IACE,GAAG,CAAC,QAAQ,KAAK,QAAQ;QACzB,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,YAAY;QAC3C,GAAG,CAAC,IAAI;QACR,GAAG,CAAC,QAAQ;QACZ,GAAG,CAAC,QAAQ;QACZ,GAAG,CAAC,MAAM;QACV,GAAG,CAAC,IAAI,EACR,CAAC;QACD,MAAM,IAAI,qBAAqB,CAC7B,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACjC,IACE,QAAQ,CAAC,MAAM,KAAK,CAAC;QACrB,YAAY,CAAC,WAAW,EAAE,KAAK,QAAQ;QACvC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;QACxB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;QAC7B,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;QAC7B,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAC7B,CAAC;QACD,MAAM,IAAI,qBAAqB,CAC7B,uFAAuF,CACxF,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,sBAAsB,KAAK,IAAI,UAAU,EAAE,CAAC;IAClE,OAAO;QACL,KAAK;QACL,UAAU;QACV,MAAM;QACN,UAAU,EAAE,GAAG,aAAa,WAAW,MAAM,EAAE;QAC/C,aAAa;KACd,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAA+B,EAC/B,sBAAoC,KAAK;IAEzC,MAAM,MAAM,GACV,gCAAgC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG;QACnE,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC;IACrE,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE;YAC3C,OAAO,EAAE;gBACP,MAAM,EAAE,6BAA6B;gBACrC,YAAY,EAAE,YAAY;gBAC1B,sBAAsB,EAAE,YAAY;aACrC;YACD,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,sBAAsB,CAAC;SACpD,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GACX,KAA4B,CAAC,IAAI,KAAK,YAAY;YAClD,KAA4B,CAAC,IAAI,KAAK,cAAc,CAAC;QACxD,MAAM,IAAI,qBAAqB,CAC7B,wCAAwC,MAAM,CAAC,UAAU,KAAK;YAC9D,CAAC,QAAQ;gBACP,CAAC,CAAC,4BAA4B,sBAAsB,GAAG,IAAI,kBAAkB;gBAC7E,CAAC,CAAC,gCAAgC,CAAC,CACtC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,IAAI,qBAAqB,CAC7B,wCAAwC,MAAM,CAAC,UAAU,KAAK;gBAC9D,oDAAoD,CACrD,CAAC;QACJ,CAAC;QACD,IACE,QAAQ,CAAC,MAAM,KAAK,GAAG;YACvB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,KAAK,GAAG,EACrD,CAAC;YACD,MAAM,IAAI,qBAAqB,CAC7B,wCAAwC,MAAM,CAAC,UAAU,KAAK;gBAC9D,+FAA+F,CAChG,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,qBAAqB,CAC7B,wCAAwC,MAAM,CAAC,UAAU,KAAK;YAC9D,4BAA4B,QAAQ,CAAC,MAAM,GAAG,CAC/C,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzC,IAAI,UAAU,CAAC,MAAM,GAAG,6BAA6B,EAAE,CAAC;QACtD,MAAM,IAAI,qBAAqB,CAC7B,wCAAwC,MAAM,CAAC,UAAU,KAAK;YAC9D,mDAAmD,CACpD,CAAC;IACJ,CAAC;IAED,IAAI,OAIH,CAAC;IACF,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAmB,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,qBAAqB,CAC7B,wCAAwC,MAAM,CAAC,UAAU,KAAK;YAC9D,0CAA0C,CAC3C,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,MAAM,IAAI,qBAAqB,CAC7B,IAAI,MAAM,CAAC,UAAU,8CAA8C;YACnE,uEAAuE,CACxE,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/D,MAAM,IAAI,qBAAqB,CAC7B,wCAAwC,MAAM,CAAC,UAAU,KAAK;YAC9D,qDAAqD,CACtD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;QAC3B,IAAI,EAAE,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;KAClE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,oBAAuC,EACvC,aAAqB,EACrB,aAAqB;IAErB,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;QACtC,iBAAiB;QACjB,UAAU;QACV,cAAc;QACd,MAAM;QACN,aAAa;QACb,qBAAqB;QACrB,cAAc;QACd,aAAa;QACb,iBAAiB;KAClB,CAAC,CAAC;IACH,MAAM,oBAAoB,GAAG,MAAM,CAAC,WAAW,CAC7C,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE;QACrD,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACzC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC;YACtC,CAAC,uBAAuB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAChD,CAAC,CAAC,CACH,CAAC;IAEF,OAAO;QACL,GAAG,oBAAoB;QACvB,eAAe,EAAE,OAAO;QACxB,iBAAiB,EAAE,aAAa;QAChC,mBAAmB,EAAE,GAAG;QACxB,mBAAmB,EAAE,GAAG;QACxB,mBAAmB,EAAE,GAAG;QACxB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,aAAa;QAC1B,eAAe,EAAE,aAAa;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEhF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,qBAAqB,CAC7B,mEAAmE,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CACrG,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;IACrD,CAAC;IACD,IACE,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC;QACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAC3B,CAAC;QACD,MAAM,IAAI,qBAAqB,CAC7B,oFAAoF,CACrF,CAAC;IACJ,CAAC;IAED,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,qBAAqB,CAC7B,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,YAAY,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACzF,MAAM,IAAI,qBAAqB,CAC7B,qFAAqF,CACtF,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,IAAI,qBAAqB,CAC7B,wFAAwF,CACzF,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,qBAAqB,CAC7B,wEAAwE,CACzE,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,qBAAqB,CAC7B,qGAAqG,CACtG,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7D,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,aAAa,CAAC;IAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,qBAAqB,CAC7B,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,sBAAsB,KAAK,IAAI,UAAU,EAAE,CAAC;IAC/D,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,UAAU;QACV,QAAQ,EAAE,GAAG,UAAU,MAAM;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAA0B,EAC1B,eAA6C,EAAE;IAE/C,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS;QACjC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,SAAS,CAAC;QACzC,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,WAAW,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5E,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,kBAAkB,GAAG,WAAW,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;QAC/D,CAAC,CAAC,MAAM,4BAA4B,CAAC,MAAM,CAAC,QAAQ,CAAC;QACrD,CAAC,CAAC,SAAS,CAAC;IACd,IACE,WAAW;QACX,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;YACxB,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YAC5E,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,kBAAkB;gBAC5C,kBAAkB,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,EAClF,CAAC;QACD,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAC3F,MAAM,IAAI,qBAAqB,CAC7B,iBAAiB,WAAW,CAAC,UAAU,gBAAgB,WAAW,CAAC,aAAa,IAAI;YACpF,iCAAiC,gBAAgB,iDAAiD,CACnG,CAAC;IACJ,CAAC;IACD,IACE,MAAM,CAAC,IAAI,KAAK,QAAQ;QACxB,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,EAC5F,CAAC;QACD,MAAM,IAAI,qBAAqB,CAC7B,+EAA+E;YAC/E,2FAA2F,CAC5F,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAChC,IAAI,eAA2C,CAAC;IAChD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,IAAI,sBAAsB,CAAC;QACjF,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,2BAA2B,CAAC;QAClE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC;QAC9D,SAAS,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7D,eAAe,GAAG;YAChB,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,MAAM;YAChB,OAAO,EACL,WAAW,WAAW,CAAC,UAAU,iCAAiC;gBAClE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzB,kBAAkB;gBAClB,CAAC,SAAS;oBACR,CAAC,CAAC,+BAA+B,2BAA2B,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc;oBAClG,CAAC,CAAC,GAAG,CAAC;SACX,CAAC;IACJ,CAAC;IAED,OAAO,oBAAoB,CACzB,MAAM,EACN,KAAK,EAAE,cAAc,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;YACrC,QAAQ,EAAE,cAAc,CAAC,QAAQ;YACjC,SAAS;YACT,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,CAAC,eAAe,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,MAAM,CAC3E,CAAC,UAAU,EAAgC,EAAE,CAAC,UAAU,KAAK,SAAS,CACvE,CAAC;QACF,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC,EACD,YAAY,EACZ,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE;QACtC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,gCAAgC;YACtC,QAAQ,EAAE,SAAS;YACnB,OAAO,EACL,yEAAyE,aAAa,KAAK;gBAC3F,GAAG,WAAW,CAAC,YAAY,CAAC,+DAA+D;SAC9F,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,4BAA4B,CAAC,QAAgB;IAC1D,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAC3B,KAAK,EACL,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAC/C,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,CACjD,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;QACrG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YAC3B,CAAC,CAAC,sBAAsB,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;YAC9C,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAA8B,EAC9B,IAAsD,EACtD,eAA6C,EAAE,EAC/C,gBAAoF;IAEpF,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,qBAAqB,CAC7B,oBAAoB,MAAM,CAAC,QAAQ,yCAAyC,CAC7E,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,sBAAsB,GAAG,YAAY,CAAC,sBAAsB,IAAI,OAAO,CAAC;IAC9E,MAAM,wBAAwB,GAAG,YAAY,CAAC,wBAAwB;QACpE,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACjG,MAAM,qBAAqB,GAAG,YAAY,CAAC,qBAAqB,IAAI,4BAA4B,CAAC;IACjG,MAAM,aAAa,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACrF,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAC7D,IAAI,YAAqB,CAAC;IAC1B,IAAI,MAAqB,CAAC;IAC1B,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjD,IAAI,MAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QACtF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,qBAAqB,CAC7B,6CAA6C,MAAM,CAAC,UAAU,MAAM,WAAW,CAAC,KAAK,CAAC,GAAG,CAC1F,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAmB;YACjC,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,MAAM;YAChB,OAAO,EACL,WAAW,MAAM,CAAC,UAAU,OAAO,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,QAAQ,oBAAoB;gBACpF,2GAA2G;SAC9G,CAAC;QAEF,MAAM,GAAG,MAAM,IAAI,CAAC;YAClB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,YAAY;YACtB,UAAU;SACX,CAAC,CAAC;QACH,SAAS,GAAG,IAAI,CAAC;QACjB,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,GAAG,KAAK,CAAC;QACrB,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,MAAM,wBAAwB,CAAC,aAAa,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACtB,IAAI,SAAS,EAAE,CAAC;gBACd,gBAAgB,EAAE,CAAC,MAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;YAC/D,CAAC;iBAAM,IAAI,YAAY,YAAY,KAAK,EAAE,CAAC;gBACzC,kBAAkB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,YAAmB,EAAE,YAAqB;IACpE,MAAM,aAAa,GAAI,YAA4C,CAAC,KAAK,CAAC;IAC1E,MAAM,KAAK,GAAG,aAAa,KAAK,SAAS;QACvC,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE,uDAAuD,CAAC,CAAC;IAC/G,IAAI,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,EAAE;YAC3C,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,qFAAqF;IACvF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,GAAW,EACX,WAAmB,EACnB,cAAsB;IAEtB,MAAM,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAC3D,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAC7D,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QACzC,KAAK,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC7C,SAAS,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,CAAC;KACrC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,2BAA2B,CAChD,OAAO,CAAC,GAAG,EACX,aAAa,EACb,aAAa,CACd,CAAC;IACF,MAAM,aAAa,GAAG;QACpB,GAAG,EAAE,cAAc;QACnB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,IAAI;KAClB,CAAC;IAEF,MAAM,IAAI,CACR,KAAK,EACL;QACE,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,kBAAkB,cAAc,EAAE;QACxC,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,6BAA6B;QACnC,OAAO;QACP,SAAS;QACT,SAAS,EAAE,GAAG;QACd,iBAAiB;QACjB,WAAW;QACX,yBAAyB;QACzB,cAAc,iBAAiB,EAAE;QACjC,UAAU,EAAE,oBAAoB;QAChC,UAAU,EAAE,mBAAmB;QAC/B,UAAU,EAAE,kBAAkB,cAAc,EAAE;QAC9C,UAAU,EAAE,sBAAsB;QAClC,UAAU,EAAE,qBAAqB;QACjC,UAAU,EAAE,oBAAoB;QAChC,UAAU,EAAE,2BAA2B;QACvC,IAAI;QACJ,GAAG;QACH,WAAW;KACZ,EACD,aAAa,CACd,CAAC;IAEF,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAC3C,KAAK,EACL,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,EACpD,aAAa,CACd,CAAC;IACF,IAAI,GAAG,GAAG,MAAM,CAAC;IACjB,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CACtC,KAAK,EACL,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACtD,aAAa,CACd,CAAC;QACF,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,uFAAuF;IACzF,CAAC;IAED,OAAO;QACL,GAAG;QACH,QAAQ,EAAE,cAAc,CAAC,IAAI,EAAE;KAChC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAY;IACrC,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,MAAM,SAAS,GAAG,KAKjB,CAAC;IACF,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,kDAAkD,CAAC;IAC5D,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChE,OAAO,0BAA0B,gBAAgB,GAAG,IAAI,iBAAiB,CAAC;IAC5E,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,OAAO,GAAG,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1F,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC;IACjH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtD,IACE,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC;QACxC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC;QACzC,4BAA4B,CAAC,IAAI,CAAC,UAAU,CAAC,EAC7C,CAAC;QACD,OAAO,wDAAwD,CAAC;IAClE,CAAC;IACD,IAAI,2BAA2B,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/F,OAAO,oDAAoD,CAAC;IAC9D,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
{"version":3,"file":"repository-source.js","sourceRoot":"","sources":["../src/repository-source.ts"],"names":[],"mappings":"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"}
{
"name": "@aryam/fixmap",
"version": "0.7.4",
"version": "0.8.0",
"mcpName": "io.github.aryamthecodebreaker/fixmap",

@@ -49,3 +49,3 @@ "description": "Local-first CLI and MCP server mapping GitHub issue URLs, tasks, and diffs to ranked files, tests, and risks.",

"dependencies": {
"@aryam/fixmap-core": "0.7.4",
"@aryam/fixmap-core": "0.8.0",
"@modelcontextprotocol/sdk": "1.30.0"

@@ -52,0 +52,0 @@ },