@paretools/test 0.2.0 → 0.3.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 ADDED
@@ -0,0 +1,53 @@
1
+ # @paretools/test
2
+
3
+ Pare MCP server for **test runners**. Auto-detects pytest, jest, or vitest and returns structured results.
4
+
5
+ ## Tools
6
+
7
+ | Tool | Description |
8
+ | ---------- | ------------------------------------------------------- |
9
+ | `run` | Run tests, returns pass/fail counts and failure details |
10
+ | `coverage` | Run tests with coverage, returns per-file summary |
11
+
12
+ ## Setup
13
+
14
+ ```json
15
+ {
16
+ "mcpServers": {
17
+ "pare-test": {
18
+ "command": "npx",
19
+ "args": ["@paretools/test"]
20
+ }
21
+ }
22
+ }
23
+ ```
24
+
25
+ ## Example
26
+
27
+ **`run` output:**
28
+
29
+ ```json
30
+ {
31
+ "framework": "vitest",
32
+ "passed": 46,
33
+ "failed": 1,
34
+ "skipped": 0,
35
+ "total": 47,
36
+ "failures": [
37
+ {
38
+ "name": "parseOutput > handles empty input",
39
+ "file": "src/__tests__/parsers.test.ts",
40
+ "message": "expected true to be false"
41
+ }
42
+ ]
43
+ }
44
+ ```
45
+
46
+ ## Links
47
+
48
+ - [Pare monorepo](https://github.com/Dave-London/pare)
49
+ - [MCP protocol](https://modelcontextprotocol.io)
50
+
51
+ ## License
52
+
53
+ [MIT](https://github.com/Dave-London/pare/blob/main/LICENSE)
package/dist/index.js CHANGED
@@ -2,9 +2,8 @@
2
2
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
3
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
4
4
  import { registerAllTools } from "./tools/index.js";
5
- const server = new McpServer({
6
- name: "@paretools/test",
7
- version: "0.1.0",
5
+ const server = new McpServer({ name: "@paretools/test", version: "0.2.0" }, {
6
+ instructions: "Structured test runner operations (run, coverage). Auto-detects pytest, jest, and vitest. Use instead of running test commands via bash. Returns typed JSON with structured pass/fail results and failure details.",
8
7
  });
9
8
  registerAllTools(server);
10
9
  const transport = new StdioServerTransport();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAEzB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,EAC7C;IACE,YAAY,EACV,oNAAoN;CACvN,CACF,CAAC;AAEF,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAEzB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../src/tools/coverage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAuBzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,QAuCrD"}
1
+ {"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../src/tools/coverage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAuBzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,QAwCrD"}
@@ -22,7 +22,7 @@ function getCoverageCommand(framework) {
22
22
  export function registerCoverageTool(server) {
23
23
  server.registerTool("coverage", {
24
24
  title: "Test Coverage",
25
- description: "Runs tests with coverage and returns structured coverage summary per file",
25
+ description: "Runs tests with coverage and returns structured coverage summary per file. Use instead of running test coverage commands in the terminal.",
26
26
  inputSchema: {
27
27
  path: z.string().optional().describe("Project root path (default: cwd)"),
28
28
  framework: z
@@ -1 +1 @@
1
- {"version":3,"file":"coverage.js","sourceRoot":"","sources":["../../src/tools/coverage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAkB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,SAAS,kBAAkB,CAAC,SAAoB;IAC9C,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO;gBACL,GAAG,EAAE,QAAQ;gBACb,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,EAAE,IAAI,CAAC;aACtE,CAAC;QACJ,KAAK,MAAM;YACT,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,0BAA0B,CAAC,EAAE,CAAC;QACrF,KAAK,QAAQ;YACX,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,oBAAoB,CAAC,EAAE,CAAC;IAC1F,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,2EAA2E;QACxF,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YACxE,SAAS,EAAE,CAAC;iBACT,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;iBAClC,QAAQ,EAAE;iBACV,QAAQ,CAAC,sDAAsD,CAAC;SACpE;QACD,YAAY,EAAE,cAAc;KAC7B,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;QAC5B,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,SAAS,IAAI,CAAC,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAElE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAEpD,IAAI,QAAQ,CAAC;QACb,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,QAAQ;gBACX,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,MAAM;gBACT,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,QAAQ;gBACX,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM;QACV,CAAC;QAED,OAAO,UAAU,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC9C,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"coverage.js","sourceRoot":"","sources":["../../src/tools/coverage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAkB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,SAAS,kBAAkB,CAAC,SAAoB;IAC9C,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO;gBACL,GAAG,EAAE,QAAQ;gBACb,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,EAAE,IAAI,CAAC;aACtE,CAAC;QACJ,KAAK,MAAM;YACT,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,0BAA0B,CAAC,EAAE,CAAC;QACrF,KAAK,QAAQ;YACX,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,oBAAoB,CAAC,EAAE,CAAC;IAC1F,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,2IAA2I;QAC7I,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YACxE,SAAS,EAAE,CAAC;iBACT,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;iBAClC,QAAQ,EAAE;iBACV,QAAQ,CAAC,sDAAsD,CAAC;SACpE;QACD,YAAY,EAAE,cAAc;KAC7B,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;QAC5B,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,SAAS,IAAI,CAAC,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAElE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAEpD,IAAI,QAAQ,CAAC;QACb,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,QAAQ;gBACX,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,MAAM;gBACT,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,QAAQ;gBACX,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM;QACV,CAAC;QAED,OAAO,UAAU,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC9C,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1,3 +1,8 @@
1
1
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  export declare function registerRunTool(server: McpServer): void;
3
+ /**
4
+ * Extracts the JSON object from mixed output that may include non-JSON text
5
+ * before or after the actual JSON data.
6
+ */
7
+ export declare function extractJson(output: string): string;
3
8
  //# sourceMappingURL=run.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/tools/run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAoBzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QAkEhD"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/tools/run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAoBzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QAkEhD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAUlD"}
package/dist/tools/run.js CHANGED
@@ -19,7 +19,7 @@ function getRunCommand(framework, args) {
19
19
  export function registerRunTool(server) {
20
20
  server.registerTool("run", {
21
21
  title: "Run Tests",
22
- description: "Auto-detects test framework (pytest/jest/vitest), runs tests, returns structured results with failures",
22
+ description: "Auto-detects test framework (pytest/jest/vitest), runs tests, returns structured results with failures. Use instead of running pytest/jest/vitest in the terminal.",
23
23
  inputSchema: {
24
24
  path: z.string().optional().describe("Project root path (default: cwd)"),
25
25
  framework: z
@@ -77,7 +77,7 @@ export function registerRunTool(server) {
77
77
  * Extracts the JSON object from mixed output that may include non-JSON text
78
78
  * before or after the actual JSON data.
79
79
  */
80
- function extractJson(output) {
80
+ export function extractJson(output) {
81
81
  // Try to find JSON object boundaries
82
82
  const start = output.indexOf("{");
83
83
  const end = output.lastIndexOf("}");
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/tools/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/tools/run.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,23 @@
1
1
  {
2
2
  "name": "@paretools/test",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
+ "mcpName": "io.github.Dave-London/test",
4
5
  "description": "MCP server for test runners with structured, token-efficient output",
5
6
  "license": "MIT",
7
+ "keywords": [
8
+ "mcp",
9
+ "mcp-server",
10
+ "model-context-protocol",
11
+ "structured-output",
12
+ "testing",
13
+ "pytest",
14
+ "jest",
15
+ "vitest"
16
+ ],
17
+ "homepage": "https://github.com/Dave-London/pare/tree/main/packages/server-test",
18
+ "engines": {
19
+ "node": ">=18"
20
+ },
6
21
  "type": "module",
7
22
  "bin": {
8
23
  "pare-test": "./dist/index.js"
@@ -27,7 +42,7 @@
27
42
  "dependencies": {
28
43
  "@modelcontextprotocol/sdk": "^1.26.0",
29
44
  "zod": "^3.25.0",
30
- "@paretools/shared": "0.2.0"
45
+ "@paretools/shared": "0.3.0"
31
46
  },
32
47
  "devDependencies": {
33
48
  "@types/node": "^22.0.0",