@gempack/squad-mcp 0.3.1
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/.claude-plugin/marketplace.json +20 -0
- package/.claude-plugin/plugin.json +20 -0
- package/CHANGELOG.md +282 -0
- package/LICENSE +201 -0
- package/NOTICE +11 -0
- package/README.md +164 -0
- package/agents/PO.md +84 -0
- package/agents/Senior-Architect.md +121 -0
- package/agents/Senior-DBA.md +137 -0
- package/agents/Senior-Dev-Reviewer.md +104 -0
- package/agents/Senior-Dev-Security.md +134 -0
- package/agents/Senior-Developer.md +180 -0
- package/agents/Senior-QA.md +146 -0
- package/agents/Skill-Squad-Dev.md +369 -0
- package/agents/Skill-Squad-Review.md +267 -0
- package/agents/TechLead-Consolidator.md +117 -0
- package/agents/TechLead-Planner.md +90 -0
- package/agents/_Severity-and-Ownership.md +68 -0
- package/commands/squad-review.md +68 -0
- package/commands/squad.md +81 -0
- package/dist/config/ownership-matrix.d.ts +48 -0
- package/dist/config/ownership-matrix.js +197 -0
- package/dist/config/ownership-matrix.js.map +1 -0
- package/dist/errors.d.ts +7 -0
- package/dist/errors.js +14 -0
- package/dist/errors.js.map +1 -0
- package/dist/exec/git.d.ts +17 -0
- package/dist/exec/git.js +0 -0
- package/dist/exec/git.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/observability/logger.d.ts +23 -0
- package/dist/observability/logger.js +93 -0
- package/dist/observability/logger.js.map +1 -0
- package/dist/prompts/registry.d.ts +21 -0
- package/dist/prompts/registry.js +183 -0
- package/dist/prompts/registry.js.map +1 -0
- package/dist/resources/agent-loader.d.ts +20 -0
- package/dist/resources/agent-loader.js +122 -0
- package/dist/resources/agent-loader.js.map +1 -0
- package/dist/resources/registry.d.ts +13 -0
- package/dist/resources/registry.js +67 -0
- package/dist/resources/registry.js.map +1 -0
- package/dist/tools/agents.d.ts +22 -0
- package/dist/tools/agents.js +32 -0
- package/dist/tools/agents.js.map +1 -0
- package/dist/tools/classify-work-type.d.ts +28 -0
- package/dist/tools/classify-work-type.js +0 -0
- package/dist/tools/classify-work-type.js.map +1 -0
- package/dist/tools/compose-advisory-bundle.d.ts +75 -0
- package/dist/tools/compose-advisory-bundle.js +68 -0
- package/dist/tools/compose-advisory-bundle.js.map +1 -0
- package/dist/tools/compose-squad-workflow.d.ts +84 -0
- package/dist/tools/compose-squad-workflow.js +0 -0
- package/dist/tools/compose-squad-workflow.js.map +1 -0
- package/dist/tools/consolidate.d.ts +97 -0
- package/dist/tools/consolidate.js +75 -0
- package/dist/tools/consolidate.js.map +1 -0
- package/dist/tools/detect-changed-files.d.ts +35 -0
- package/dist/tools/detect-changed-files.js +0 -0
- package/dist/tools/detect-changed-files.js.map +1 -0
- package/dist/tools/registry.d.ts +26 -0
- package/dist/tools/registry.js +169 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/score-risk.d.ts +38 -0
- package/dist/tools/score-risk.js +34 -0
- package/dist/tools/score-risk.js.map +1 -0
- package/dist/tools/select-squad.d.ts +46 -0
- package/dist/tools/select-squad.js +0 -0
- package/dist/tools/select-squad.js.map +1 -0
- package/dist/tools/slice-files.d.ts +34 -0
- package/dist/tools/slice-files.js +0 -0
- package/dist/tools/slice-files.js.map +1 -0
- package/dist/tools/validate-plan-text.d.ts +24 -0
- package/dist/tools/validate-plan-text.js +0 -0
- package/dist/tools/validate-plan-text.js.map +1 -0
- package/dist/util/path-safety.d.ts +28 -0
- package/dist/util/path-safety.js +0 -0
- package/dist/util/path-safety.js.map +1 -0
- package/package.json +71 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
const schema = z.object({
|
|
3
|
+
touches_auth: z.boolean().optional().default(false),
|
|
4
|
+
touches_money: z.boolean().optional().default(false),
|
|
5
|
+
touches_migration: z.boolean().optional().default(false),
|
|
6
|
+
files_count: z.number().int().nonnegative().optional().default(0),
|
|
7
|
+
new_module: z.boolean().optional().default(false),
|
|
8
|
+
api_contract_change: z.boolean().optional().default(false),
|
|
9
|
+
});
|
|
10
|
+
export function scoreRisk(input) {
|
|
11
|
+
const checks = [
|
|
12
|
+
{ name: 'touches_auth', matched: input.touches_auth },
|
|
13
|
+
{ name: 'touches_money', matched: input.touches_money },
|
|
14
|
+
{ name: 'touches_migration', matched: input.touches_migration },
|
|
15
|
+
{ name: 'files_count_gt_8', matched: input.files_count > 8 },
|
|
16
|
+
{ name: 'new_module', matched: input.new_module },
|
|
17
|
+
{ name: 'api_contract_change', matched: input.api_contract_change },
|
|
18
|
+
];
|
|
19
|
+
const score = checks.filter((c) => c.matched).length;
|
|
20
|
+
const level = score >= 4 ? 'High' : score >= 2 ? 'Medium' : 'Low';
|
|
21
|
+
const recommendation = level === 'High'
|
|
22
|
+
? 'High risk: suggest Codex plan review (--codex). Halt implementation if any Blocker.'
|
|
23
|
+
: level === 'Medium'
|
|
24
|
+
? 'Medium risk: standard advisory squad. Consider Codex if user requests.'
|
|
25
|
+
: 'Low risk: minimal squad selection acceptable.';
|
|
26
|
+
return { level, score, signals: checks, recommendation };
|
|
27
|
+
}
|
|
28
|
+
export const scoreRiskTool = {
|
|
29
|
+
name: 'score_risk',
|
|
30
|
+
description: 'Compute risk level (Low/Medium/High) from boolean signals. Pure function. 0-1=Low, 2-3=Medium, 4+=High.',
|
|
31
|
+
schema,
|
|
32
|
+
handler: scoreRisk,
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=score-risk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"score-risk.js","sourceRoot":"","sources":["../../src/tools/score-risk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnD,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACpD,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACxD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACjD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAC3D,CAAC,CAAC;AAaH,MAAM,UAAU,SAAS,CAAC,KAAY;IACpC,MAAM,MAAM,GAAG;QACb,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE;QACrD,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,CAAC,aAAa,EAAE;QACvD,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,KAAK,CAAC,iBAAiB,EAAE;QAC/D,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE;QAC5D,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE;QACjD,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,KAAK,CAAC,mBAAmB,EAAE;KACpE,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACrD,MAAM,KAAK,GAAc,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7E,MAAM,cAAc,GAClB,KAAK,KAAK,MAAM;QACd,CAAC,CAAC,qFAAqF;QACvF,CAAC,CAAC,KAAK,KAAK,QAAQ;YAClB,CAAC,CAAC,wEAAwE;YAC1E,CAAC,CAAC,+CAA+C,CAAC;IACxD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,IAAI,EAAE,YAAY;IAClB,WAAW,EACT,yGAAyG;IAC3G,MAAM;IACN,OAAO,EAAE,SAAS;CACnB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { ToolDef } from './registry.js';
|
|
3
|
+
import { type AgentName } from '../config/ownership-matrix.js';
|
|
4
|
+
declare const schema: z.ZodObject<{
|
|
5
|
+
work_type: z.ZodEnum<["Feature", "Bug Fix", "Refactor", "Performance", "Security", "Business Rule"]>;
|
|
6
|
+
files: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
|
|
7
|
+
read_content: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
8
|
+
force_agents: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodEnum<[AgentName, ...AgentName[]]>, "many">>>;
|
|
9
|
+
workspace_root: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
work_type: "Feature" | "Bug Fix" | "Refactor" | "Performance" | "Security" | "Business Rule";
|
|
12
|
+
files: string[];
|
|
13
|
+
read_content: boolean;
|
|
14
|
+
force_agents: AgentName[];
|
|
15
|
+
workspace_root?: string | undefined;
|
|
16
|
+
}, {
|
|
17
|
+
work_type: "Feature" | "Bug Fix" | "Refactor" | "Performance" | "Security" | "Business Rule";
|
|
18
|
+
files?: string[] | undefined;
|
|
19
|
+
read_content?: boolean | undefined;
|
|
20
|
+
force_agents?: AgentName[] | undefined;
|
|
21
|
+
workspace_root?: string | undefined;
|
|
22
|
+
}>;
|
|
23
|
+
type Input = z.infer<typeof schema>;
|
|
24
|
+
export interface Evidence {
|
|
25
|
+
file: string;
|
|
26
|
+
agent: AgentName;
|
|
27
|
+
signal: string;
|
|
28
|
+
source: 'content' | 'path';
|
|
29
|
+
confidence: 'high' | 'medium' | 'low';
|
|
30
|
+
truncated?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export interface SelectSquadOutput {
|
|
33
|
+
agents: AgentName[];
|
|
34
|
+
rationale: {
|
|
35
|
+
agent: AgentName;
|
|
36
|
+
reason: string;
|
|
37
|
+
}[];
|
|
38
|
+
evidence: Evidence[];
|
|
39
|
+
low_confidence_files: {
|
|
40
|
+
file: string;
|
|
41
|
+
reason: string;
|
|
42
|
+
}[];
|
|
43
|
+
}
|
|
44
|
+
export declare function selectSquad(input: Input): Promise<SelectSquadOutput>;
|
|
45
|
+
export declare const selectSquadTool: ToolDef<typeof schema>;
|
|
46
|
+
export {};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-squad.js","sourceRoot":"","sources":["../../src/tools/select-squad.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,aAAa,EACb,aAAa,GAGd,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxG,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CACjC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,2BAA2B,CAAC,CAAC;AAEnF,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IACjG,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACxD,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACvE,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAoBH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAY;IAC5C,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,SAAqB,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAY,WAAW,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,SAAS,GAA2C,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrF,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,kBAAkB,KAAK,CAAC,SAAS,EAAE;KAC5C,CAAC,CAAC,CAAC;IAEJ,MAAM,QAAQ,GAAe,EAAE,CAAC;IAChC,MAAM,aAAa,GAAuC,EAAE,CAAC;IAE7D,MAAM,GAAG,GAAG,qBAAqB,EAAE,CAAC;IACpC,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC;IAEhF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,OAAO,GAA4F,EAAE,CAAC;QAE5G,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBACnE,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,OAAO,EAAE,CAAC;oBACZ,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;oBACrC,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;wBAClC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC;4BAAE,SAAS;wBACxC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;4BACtC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;4BAC7G,cAAc,GAAG,IAAI,CAAC;wBACxB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtB,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACnE,SAAS;gBACX,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,mCAAmC,EAAE,CAAC,CAAC;YAC1E,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,MAAM,UAAU,GAA2B,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YAClH,MAAM,EAAE,GAAa,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;YAC9F,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,gBAAgB,CAAC;gBAAE,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC;YACrF,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtB,SAAS,CAAC,IAAI,CAAC;oBACb,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,cAAc,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE;iBACrD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACrB,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,OAAO;QACL,MAAM,EAAE,YAAY;QACpB,SAAS;QACT,QAAQ;QACR,oBAAoB,EAAE,aAAa;KACpC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,6GAA6G;QAC7G,eAAe,SAAS,4GAA4G;IACtI,MAAM;IACN,OAAO,EAAE,WAAW;CACrB,CAAC;AAEF,KAAK,MAAM,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { ToolDef } from './registry.js';
|
|
3
|
+
declare const schema: z.ZodObject<{
|
|
4
|
+
agent: z.ZodEnum<[import("../config/ownership-matrix.js").AgentName, ...import("../config/ownership-matrix.js").AgentName[]]>;
|
|
5
|
+
files: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
|
|
6
|
+
read_content: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
7
|
+
workspace_root: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
files: string[];
|
|
10
|
+
read_content: boolean;
|
|
11
|
+
agent: import("../config/ownership-matrix.js").AgentName;
|
|
12
|
+
workspace_root?: string | undefined;
|
|
13
|
+
}, {
|
|
14
|
+
files: string[];
|
|
15
|
+
agent: import("../config/ownership-matrix.js").AgentName;
|
|
16
|
+
read_content?: boolean | undefined;
|
|
17
|
+
workspace_root?: string | undefined;
|
|
18
|
+
}>;
|
|
19
|
+
type Input = z.infer<typeof schema>;
|
|
20
|
+
export interface SliceOutput {
|
|
21
|
+
agent: string;
|
|
22
|
+
matched: {
|
|
23
|
+
file: string;
|
|
24
|
+
reasons: string[];
|
|
25
|
+
truncated?: boolean;
|
|
26
|
+
}[];
|
|
27
|
+
unmatched: {
|
|
28
|
+
file: string;
|
|
29
|
+
reason: string;
|
|
30
|
+
}[];
|
|
31
|
+
}
|
|
32
|
+
export declare function sliceFilesForAgent(input: Input): Promise<SliceOutput>;
|
|
33
|
+
export declare const sliceFilesForAgentTool: ToolDef<typeof schema>;
|
|
34
|
+
export {};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slice-files.js","sourceRoot":"","sources":["../../src/tools/slice-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { ToolDef } from './registry.js';
|
|
3
|
+
declare const schema: z.ZodObject<{
|
|
4
|
+
plan: z.ZodEffects<z.ZodString, string, string>;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
plan: string;
|
|
7
|
+
}, {
|
|
8
|
+
plan: string;
|
|
9
|
+
}>;
|
|
10
|
+
type Input = z.infer<typeof schema>;
|
|
11
|
+
export type ValidationRule = 'GIT_COMMIT_FENCE' | 'GIT_PUSH_FENCE' | 'EMOJI_IN_CODE' | 'IMPL_BEFORE_APPROVAL' | 'NON_ENGLISH_IDENTIFIER';
|
|
12
|
+
export interface ValidationFinding {
|
|
13
|
+
rule: ValidationRule;
|
|
14
|
+
message: string;
|
|
15
|
+
line: number;
|
|
16
|
+
excerpt: string;
|
|
17
|
+
}
|
|
18
|
+
export interface ValidatePlanOutput {
|
|
19
|
+
findings: ValidationFinding[];
|
|
20
|
+
advisory: true;
|
|
21
|
+
}
|
|
22
|
+
export declare function validatePlanText(input: Input): ValidatePlanOutput;
|
|
23
|
+
export declare const validatePlanTextTool: ToolDef<typeof schema>;
|
|
24
|
+
export {};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-plan-text.js","sourceRoot":"","sources":["../../src/tools/validate-plan-text.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export declare const MAX_BYTES = 16384;
|
|
2
|
+
export interface SafePathContext {
|
|
3
|
+
rootRealCache: Map<string, string>;
|
|
4
|
+
}
|
|
5
|
+
export declare function createSafePathContext(): SafePathContext;
|
|
6
|
+
/**
|
|
7
|
+
* Resolve a user-supplied file path safely against a workspace root.
|
|
8
|
+
*
|
|
9
|
+
* - When `workspaceRoot` is undefined, returns the path verbatim and the caller
|
|
10
|
+
* MUST treat it as path-only (no fs reads). Still rejects malformed input.
|
|
11
|
+
* - When `workspaceRoot` is set, requires it to be absolute, normalizes both,
|
|
12
|
+
* collapses symlinks via fs.realpath, and asserts the candidate stays inside.
|
|
13
|
+
*
|
|
14
|
+
* Residual TOCTOU risk: a symlink can be swapped between realpath() and fs.open().
|
|
15
|
+
* Acceptable for a single-user dev tool; document if used in a multi-tenant context.
|
|
16
|
+
*/
|
|
17
|
+
export declare function resolveSafePath(workspaceRoot: string | undefined, file: string, ctx: SafePathContext): Promise<string>;
|
|
18
|
+
export interface ReadSnippetResult {
|
|
19
|
+
content: string;
|
|
20
|
+
truncated: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Read up to MAX_BYTES from a previously validated absolute path.
|
|
24
|
+
*
|
|
25
|
+
* Returns null on file-not-found or unreadable (silent).
|
|
26
|
+
* Throws SquadError only if the caller's path-safety contract is violated upstream.
|
|
27
|
+
*/
|
|
28
|
+
export declare function readSnippet(absPath: string): Promise<ReadSnippetResult | null>;
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-safety.js","sourceRoot":"","sources":["../../src/util/path-safety.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@gempack/squad-mcp",
|
|
3
|
+
"version": "0.3.1",
|
|
4
|
+
"description": "MCP server for the squad-dev workflow: classification, risk scoring, agent selection, advisory orchestration",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "Apache-2.0",
|
|
7
|
+
"author": {
|
|
8
|
+
"name": "Gustavo",
|
|
9
|
+
"email": "next.uh@gmail.com"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://github.com/ggemba/squad-mcp#readme",
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "git+https://github.com/ggemba/squad-mcp.git"
|
|
15
|
+
},
|
|
16
|
+
"bugs": {
|
|
17
|
+
"url": "https://github.com/ggemba/squad-mcp/issues"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"mcp",
|
|
21
|
+
"model-context-protocol",
|
|
22
|
+
"claude-code",
|
|
23
|
+
"squad-dev",
|
|
24
|
+
"code-review",
|
|
25
|
+
"agent",
|
|
26
|
+
"advisory",
|
|
27
|
+
"ai"
|
|
28
|
+
],
|
|
29
|
+
"bin": {
|
|
30
|
+
"squad-mcp": "dist/index.js"
|
|
31
|
+
},
|
|
32
|
+
"main": "dist/index.js",
|
|
33
|
+
"scripts": {
|
|
34
|
+
"build": "tsc",
|
|
35
|
+
"watch": "tsc --watch",
|
|
36
|
+
"start": "node dist/index.js",
|
|
37
|
+
"dev": "tsx src/index.ts",
|
|
38
|
+
"test": "vitest run",
|
|
39
|
+
"test:watch": "vitest",
|
|
40
|
+
"lint": "tsc --noEmit",
|
|
41
|
+
"prepublishOnly": "npm run build"
|
|
42
|
+
},
|
|
43
|
+
"files": [
|
|
44
|
+
"dist",
|
|
45
|
+
"agents",
|
|
46
|
+
"commands",
|
|
47
|
+
"skills",
|
|
48
|
+
".claude-plugin",
|
|
49
|
+
"README.md",
|
|
50
|
+
"LICENSE",
|
|
51
|
+
"NOTICE",
|
|
52
|
+
"CHANGELOG.md"
|
|
53
|
+
],
|
|
54
|
+
"engines": {
|
|
55
|
+
"node": ">=20"
|
|
56
|
+
},
|
|
57
|
+
"publishConfig": {
|
|
58
|
+
"access": "public",
|
|
59
|
+
"provenance": true
|
|
60
|
+
},
|
|
61
|
+
"dependencies": {
|
|
62
|
+
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
63
|
+
"zod": "^3.23.0"
|
|
64
|
+
},
|
|
65
|
+
"devDependencies": {
|
|
66
|
+
"@types/node": "^22.0.0",
|
|
67
|
+
"tsx": "^4.19.0",
|
|
68
|
+
"typescript": "^5.6.0",
|
|
69
|
+
"vitest": "^2.1.0"
|
|
70
|
+
}
|
|
71
|
+
}
|