mcp-test-timebox 0.1.2 → 0.1.4
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 +51 -9
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +42 -9
- package/dist/server.js.map +1 -1
- package/dist/tools/run-test.d.ts.map +1 -1
- package/dist/tools/run-test.js +5 -3
- package/dist/tools/run-test.js.map +1 -1
- package/dist/validation/command-builder.d.ts.map +1 -1
- package/dist/validation/command-builder.js +66 -22
- package/dist/validation/command-builder.js.map +1 -1
- package/dist/validation/input-schema.d.ts +9 -2
- package/dist/validation/input-schema.d.ts.map +1 -1
- package/dist/validation/input-schema.js +7 -2
- package/dist/validation/input-schema.js.map +1 -1
- package/package.json +6 -3
package/README.md
CHANGED
|
@@ -7,8 +7,18 @@
|
|
|
7
7
|
## 特徴
|
|
8
8
|
|
|
9
9
|
- **必ず結果を返す**: ハードタイムアウト・無出力タイムアウトにより、ハングしても必ずレスポンスを返却
|
|
10
|
-
- **安全な実行**:
|
|
10
|
+
- **安全な実行**: 任意コマンド実行を禁止し、固定テンプレートのみ許可
|
|
11
11
|
- **成果物の保存**: 実行ごとに `raw.log` / `summary.md` / `summary.json` を生成
|
|
12
|
+
- **複数ランナー対応**: Flutter, Vitest, Pytest, Jest をサポート
|
|
13
|
+
|
|
14
|
+
## 対応テストランナー
|
|
15
|
+
|
|
16
|
+
| ランナー | 言語/フレームワーク | コマンド |
|
|
17
|
+
|---------|-------------------|---------|
|
|
18
|
+
| `flutter` | Flutter/Dart | `flutter test` |
|
|
19
|
+
| `vitest` | Vite/TypeScript/JavaScript | `npx vitest run` |
|
|
20
|
+
| `pytest` | Python | `pytest` |
|
|
21
|
+
| `jest` | Node.js/TypeScript/JavaScript | `npx jest` |
|
|
12
22
|
|
|
13
23
|
## インストール
|
|
14
24
|
|
|
@@ -16,7 +26,7 @@
|
|
|
16
26
|
|
|
17
27
|
インストール不要で、MCP設定に追加するだけで使えます。
|
|
18
28
|
|
|
19
|
-
###
|
|
29
|
+
### グローバルインストール
|
|
20
30
|
|
|
21
31
|
```bash
|
|
22
32
|
npm install -g mcp-test-timebox
|
|
@@ -34,7 +44,8 @@ npm install -g mcp-test-timebox
|
|
|
34
44
|
"mcp-test-timebox": {
|
|
35
45
|
"command": "npx",
|
|
36
46
|
"args": ["-y", "mcp-test-timebox"],
|
|
37
|
-
"disabled": false
|
|
47
|
+
"disabled": false,
|
|
48
|
+
"autoApprove": ["run_test"]
|
|
38
49
|
}
|
|
39
50
|
}
|
|
40
51
|
}
|
|
@@ -76,7 +87,7 @@ npm install -g mcp-test-timebox
|
|
|
76
87
|
|
|
77
88
|
| パラメータ | 型 | 必須 | 説明 |
|
|
78
89
|
|-----------|-----|------|------|
|
|
79
|
-
| `runner` | string | ✓ |
|
|
90
|
+
| `runner` | string | ✓ | テストランナー: `flutter`, `vitest`, `pytest`, `jest` |
|
|
80
91
|
| `scope` | string | ✓ | 実行スコープ: `all`, `file`, `pattern` |
|
|
81
92
|
| `target` | string | △ | `scope` が `file` または `pattern` の場合に必須 |
|
|
82
93
|
| `timeout_ms` | number | ✓ | ハードタイムアウト(ミリ秒) |
|
|
@@ -84,9 +95,17 @@ npm install -g mcp-test-timebox
|
|
|
84
95
|
| `max_output_bytes` | number | ✓ | 要約対象の末尾バイト数 |
|
|
85
96
|
| `report_dir` | string | - | レポート出力先(省略時は自動生成) |
|
|
86
97
|
|
|
98
|
+
### 推奨パラメータ値
|
|
99
|
+
|
|
100
|
+
| パラメータ | 推奨値 | 説明 |
|
|
101
|
+
|-----------|--------|------|
|
|
102
|
+
| `timeout_ms` | 60000〜300000 | 1〜5分(テスト規模に応じて調整) |
|
|
103
|
+
| `no_output_timeout_ms` | 30000〜60000 | 30秒〜1分 |
|
|
104
|
+
| `max_output_bytes` | 102400 | 100KB |
|
|
105
|
+
|
|
87
106
|
### 実行例
|
|
88
107
|
|
|
89
|
-
|
|
108
|
+
#### Flutter - 全テスト
|
|
90
109
|
```json
|
|
91
110
|
{
|
|
92
111
|
"runner": "flutter",
|
|
@@ -97,13 +116,36 @@ npm install -g mcp-test-timebox
|
|
|
97
116
|
}
|
|
98
117
|
```
|
|
99
118
|
|
|
100
|
-
|
|
119
|
+
#### Vitest - 特定ファイル
|
|
101
120
|
```json
|
|
102
121
|
{
|
|
103
|
-
"runner": "
|
|
122
|
+
"runner": "vitest",
|
|
104
123
|
"scope": "file",
|
|
105
|
-
"target": "
|
|
106
|
-
"timeout_ms":
|
|
124
|
+
"target": "tests/unit/auth.test.ts",
|
|
125
|
+
"timeout_ms": 60000,
|
|
126
|
+
"no_output_timeout_ms": 30000,
|
|
127
|
+
"max_output_bytes": 102400
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
#### Pytest - パターンマッチ
|
|
132
|
+
```json
|
|
133
|
+
{
|
|
134
|
+
"runner": "pytest",
|
|
135
|
+
"scope": "pattern",
|
|
136
|
+
"target": "test_login",
|
|
137
|
+
"timeout_ms": 120000,
|
|
138
|
+
"no_output_timeout_ms": 30000,
|
|
139
|
+
"max_output_bytes": 102400
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
#### Jest - 全テスト
|
|
144
|
+
```json
|
|
145
|
+
{
|
|
146
|
+
"runner": "jest",
|
|
147
|
+
"scope": "all",
|
|
148
|
+
"timeout_ms": 180000,
|
|
107
149
|
"no_output_timeout_ms": 60000,
|
|
108
150
|
"max_output_bytes": 102400
|
|
109
151
|
}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA8EpE;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,SAAS,CAoF3C;AAED;;;GAGG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAmBjD"}
|
package/dist/server.js
CHANGED
|
@@ -32,20 +32,33 @@ const SERVER_INFO = {
|
|
|
32
32
|
* 注意: MCP SDKはZodObjectではなく、オブジェクトの形状(shape)を期待する
|
|
33
33
|
*/
|
|
34
34
|
const runTestInputShape = {
|
|
35
|
-
/**
|
|
36
|
-
runner: z.enum(ALLOWED_RUNNERS).describe(
|
|
35
|
+
/** テストランナー */
|
|
36
|
+
runner: z.enum(ALLOWED_RUNNERS).describe(`テストランナー。プロジェクトに応じて選択:
|
|
37
|
+
- flutter: Flutter/Dartプロジェクト
|
|
38
|
+
- vitest: Vite/TypeScript/JavaScriptプロジェクト
|
|
39
|
+
- pytest: Pythonプロジェクト
|
|
40
|
+
- jest: Node.js/TypeScript/JavaScriptプロジェクト`),
|
|
37
41
|
/** テスト実行スコープ */
|
|
38
|
-
scope: z.enum(ALLOWED_SCOPES).describe(
|
|
42
|
+
scope: z.enum(ALLOWED_SCOPES).describe(`テスト実行スコープ:
|
|
43
|
+
- all: 全テスト実行(推奨: 初回や全体確認時)
|
|
44
|
+
- file: 特定ファイルのテスト(例: test/widget_test.dart)
|
|
45
|
+
- pattern: テスト名でフィルタ(例: "login"を含むテスト)`),
|
|
39
46
|
/** テスト対象(scope が file/pattern の場合必須) */
|
|
40
|
-
target: z.string().optional().describe(
|
|
47
|
+
target: z.string().optional().describe(`テスト対象。scopeがfileの場合はファイルパス、patternの場合はテスト名パターン。
|
|
48
|
+
例: "test/unit/auth.test.ts" または "should login"`),
|
|
41
49
|
/** ハードタイムアウト(ミリ秒) */
|
|
42
|
-
timeout_ms: z.number().int().positive().describe(
|
|
50
|
+
timeout_ms: z.number().int().positive().describe(`ハードタイムアウト(ミリ秒)。推奨値:
|
|
51
|
+
- 単体テスト: 60000(1分)
|
|
52
|
+
- 統合テスト: 300000(5分)
|
|
53
|
+
- E2Eテスト: 600000(10分)`),
|
|
43
54
|
/** 無出力タイムアウト(ミリ秒) */
|
|
44
|
-
no_output_timeout_ms: z.number().int().positive().describe(
|
|
55
|
+
no_output_timeout_ms: z.number().int().positive().describe(`無出力タイムアウト(ミリ秒)。この時間出力がないとハング判定。推奨: 30000〜60000`),
|
|
45
56
|
/** 要約対象の末尾バイト数 */
|
|
46
|
-
max_output_bytes: z.number().int().positive().describe(
|
|
57
|
+
max_output_bytes: z.number().int().positive().describe(`要約対象の末尾バイト数。ログが大きい場合に末尾からこのバイト数を抽出。推奨: 102400(100KB)`),
|
|
47
58
|
/** レポート出力ディレクトリ(相対パス、オプション) */
|
|
48
|
-
report_dir: z.string().optional().describe('
|
|
59
|
+
report_dir: z.string().optional().describe('レポート出力ディレクトリ(相対パス)。省略時は .cache/mcp-test-timebox/reports/<timestamp> に自動生成'),
|
|
60
|
+
/** 作業ディレクトリ(絶対パス、オプション) */
|
|
61
|
+
cwd: z.string().optional().describe('テスト実行の作業ディレクトリ(絶対パス)。省略時はMCPサーバの起動ディレクトリを使用。ワークスペースのルートパスを指定してください。'),
|
|
49
62
|
};
|
|
50
63
|
/**
|
|
51
64
|
* デバッグログをstderrに出力する
|
|
@@ -69,7 +82,27 @@ export function createMcpServer() {
|
|
|
69
82
|
const runTestTool = createRunTestTool();
|
|
70
83
|
// run_testツールを登録(registerToolを使用)
|
|
71
84
|
server.registerTool('run_test', {
|
|
72
|
-
description:
|
|
85
|
+
description: `タイムボックス付きでテストを実行し、必ず結果を返す。
|
|
86
|
+
|
|
87
|
+
【用途】
|
|
88
|
+
- テストがハングしても必ずタイムアウトで結果を返す
|
|
89
|
+
- テスト結果をraw.log/summary.md/summary.jsonとして保存
|
|
90
|
+
- AIがテスト結果を解析しやすい形式で出力
|
|
91
|
+
|
|
92
|
+
【対応ランナー】
|
|
93
|
+
- flutter: Flutter/Dartプロジェクト(flutter test)
|
|
94
|
+
- vitest: Vite/TS/JSプロジェクト(npx vitest run)
|
|
95
|
+
- pytest: Pythonプロジェクト(pytest)
|
|
96
|
+
- jest: Node.js/TS/JSプロジェクト(npx jest)
|
|
97
|
+
|
|
98
|
+
【推奨パラメータ】
|
|
99
|
+
- timeout_ms: 60000〜300000(1〜5分)
|
|
100
|
+
- no_output_timeout_ms: 30000〜60000(30秒〜1分)
|
|
101
|
+
- max_output_bytes: 102400(100KB)
|
|
102
|
+
|
|
103
|
+
【レスポンス】
|
|
104
|
+
status: pass/fail/timeout/no_output/error
|
|
105
|
+
excerpt: テスト結果の要約(失敗時はエラー箇所を抽出)`,
|
|
73
106
|
inputSchema: runTestInputShape,
|
|
74
107
|
}, async (params) => {
|
|
75
108
|
debugLog(`run_test called with params: ${JSON.stringify(params)}`);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAsB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,yCAAyC;CACvD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG;IACxB,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-test.d.ts","sourceRoot":"","sources":["../../src/tools/run-test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAC5D,8BAA8B;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB;IAClB,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAiBD;;;;GAIG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEvC;;OAEG;gBACS,OAAO,GAAE,kBAAuB;IAK5C;;;;;OAKG;IACG,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"run-test.d.ts","sourceRoot":"","sources":["../../src/tools/run-test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAC5D,8BAA8B;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB;IAClB,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAiBD;;;;GAIG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEvC;;OAEG;gBACS,OAAO,GAAE,kBAAuB;IAK5C;;;;;OAKG;IACG,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAwIrD;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;CAe5B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAE3E"}
|
package/dist/tools/run-test.js
CHANGED
|
@@ -56,9 +56,11 @@ export class RunTestTool {
|
|
|
56
56
|
return this.createErrorResponse(startTime, `入力バリデーションエラー: ${validationResult.errors?.join(', ')}`);
|
|
57
57
|
}
|
|
58
58
|
const validInput = validationResult.data;
|
|
59
|
+
// cwdが指定されている場合はそれを使用、なければrepoRootを使用
|
|
60
|
+
const workingDir = validInput.cwd || this.repoRoot;
|
|
59
61
|
// 2. targetパスの検証(scope が file/pattern の場合)
|
|
60
62
|
if (validInput.target) {
|
|
61
|
-
const pathResult = normalizePath(validInput.target,
|
|
63
|
+
const pathResult = normalizePath(validInput.target, workingDir);
|
|
62
64
|
if (!pathResult.valid) {
|
|
63
65
|
return this.createErrorResponse(startTime, `パス検証エラー: ${pathResult.error}`);
|
|
64
66
|
}
|
|
@@ -66,7 +68,7 @@ export class RunTestTool {
|
|
|
66
68
|
// 3. report_dirパスの検証(指定されている場合)
|
|
67
69
|
let reportDirBase;
|
|
68
70
|
if (validInput.report_dir) {
|
|
69
|
-
const pathResult = normalizePath(validInput.report_dir,
|
|
71
|
+
const pathResult = normalizePath(validInput.report_dir, workingDir);
|
|
70
72
|
if (!pathResult.valid) {
|
|
71
73
|
return this.createErrorResponse(startTime, `レポートディレクトリパス検証エラー: ${pathResult.error}`);
|
|
72
74
|
}
|
|
@@ -86,7 +88,7 @@ export class RunTestTool {
|
|
|
86
88
|
let processResult;
|
|
87
89
|
try {
|
|
88
90
|
processResult = await executor.execute(commandResult.command, commandResult.args, {
|
|
89
|
-
cwd:
|
|
91
|
+
cwd: workingDir,
|
|
90
92
|
timeoutMs: validInput.timeout_ms,
|
|
91
93
|
noOutputTimeoutMs: validInput.no_output_timeout_ms,
|
|
92
94
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-test.js","sourceRoot":"","sources":["../../src/tools/run-test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,oBAAoB,EAAqB,MAAM,+BAA+B,CAAC;AACxF,OAAO,EAAE,YAAY,EAAiB,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAqC,MAAM,iCAAiC,CAAC;AAC3G,OAAO,EAAE,qBAAqB,EAAyC,MAAM,+BAA+B,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAsC3D;;GAEG;AACH,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,IAAgB;IACzC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,WAAW;IACL,QAAQ,CAAS;IACjB,aAAa,CAAS;IAEvC;;OAEG;IACH,YAAY,UAA8B,EAAE;QAC1C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,uBAAuB,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,KAAc;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,eAAe;QACf,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,gBAAgB,CAAC,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC,mBAAmB,CAC7B,SAAS,EACT,iBAAiB,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CACvD,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC;QAEzC,2CAA2C;QAC3C,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"run-test.js","sourceRoot":"","sources":["../../src/tools/run-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-builder.d.ts","sourceRoot":"","sources":["../../src/validation/command-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,eAAe;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"command-builder.d.ts","sourceRoot":"","sources":["../../src/validation/command-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,eAAe;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAkGD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,aAAa,CAqCf;AA+BD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAE3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAsBhF"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* runner -> scope -> template のマッピング
|
|
5
5
|
*/
|
|
6
6
|
const COMMAND_TEMPLATES = {
|
|
7
|
+
// Flutter/Dart用
|
|
7
8
|
flutter: {
|
|
8
9
|
all: {
|
|
9
10
|
command: 'flutter',
|
|
@@ -21,6 +22,60 @@ const COMMAND_TEMPLATES = {
|
|
|
21
22
|
targetFlag: '--name',
|
|
22
23
|
},
|
|
23
24
|
},
|
|
25
|
+
// Vitest用(TypeScript/JavaScript)
|
|
26
|
+
vitest: {
|
|
27
|
+
all: {
|
|
28
|
+
command: 'npx',
|
|
29
|
+
baseArgs: ['vitest', 'run'],
|
|
30
|
+
},
|
|
31
|
+
file: {
|
|
32
|
+
command: 'npx',
|
|
33
|
+
baseArgs: ['vitest', 'run'],
|
|
34
|
+
targetArgFormat: 'positional',
|
|
35
|
+
},
|
|
36
|
+
pattern: {
|
|
37
|
+
command: 'npx',
|
|
38
|
+
baseArgs: ['vitest', 'run'],
|
|
39
|
+
targetArgFormat: 'named',
|
|
40
|
+
targetFlag: '-t',
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
// Pytest用(Python)
|
|
44
|
+
pytest: {
|
|
45
|
+
all: {
|
|
46
|
+
command: 'pytest',
|
|
47
|
+
baseArgs: [],
|
|
48
|
+
},
|
|
49
|
+
file: {
|
|
50
|
+
command: 'pytest',
|
|
51
|
+
baseArgs: [],
|
|
52
|
+
targetArgFormat: 'positional',
|
|
53
|
+
},
|
|
54
|
+
pattern: {
|
|
55
|
+
command: 'pytest',
|
|
56
|
+
baseArgs: [],
|
|
57
|
+
targetArgFormat: 'named',
|
|
58
|
+
targetFlag: '-k',
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
// Jest用(TypeScript/JavaScript)
|
|
62
|
+
jest: {
|
|
63
|
+
all: {
|
|
64
|
+
command: 'npx',
|
|
65
|
+
baseArgs: ['jest'],
|
|
66
|
+
},
|
|
67
|
+
file: {
|
|
68
|
+
command: 'npx',
|
|
69
|
+
baseArgs: ['jest'],
|
|
70
|
+
targetArgFormat: 'positional',
|
|
71
|
+
},
|
|
72
|
+
pattern: {
|
|
73
|
+
command: 'npx',
|
|
74
|
+
baseArgs: ['jest'],
|
|
75
|
+
targetArgFormat: 'named',
|
|
76
|
+
targetFlag: '-t',
|
|
77
|
+
},
|
|
78
|
+
},
|
|
24
79
|
};
|
|
25
80
|
/**
|
|
26
81
|
* 入力パラメータからコマンドと引数を構築する
|
|
@@ -111,32 +166,21 @@ export function formatCommand(result) {
|
|
|
111
166
|
* @returns 許可されたパターンの場合 true
|
|
112
167
|
*/
|
|
113
168
|
export function isAllowedCommandPattern(command, args) {
|
|
114
|
-
// flutter test
|
|
115
|
-
if (command
|
|
116
|
-
return
|
|
117
|
-
}
|
|
118
|
-
if (args.length === 0 || args[0] !== 'test') {
|
|
119
|
-
return false;
|
|
169
|
+
// flutter test パターン
|
|
170
|
+
if (command === 'flutter' && args.length > 0 && args[0] === 'test') {
|
|
171
|
+
return true;
|
|
120
172
|
}
|
|
121
|
-
//
|
|
122
|
-
|
|
123
|
-
// 2. flutter test <target>
|
|
124
|
-
// 3. flutter test --name <target>
|
|
125
|
-
if (args.length === 1) {
|
|
126
|
-
// flutter test
|
|
173
|
+
// npx vitest run パターン
|
|
174
|
+
if (command === 'npx' && args.length >= 2 && args[0] === 'vitest' && args[1] === 'run') {
|
|
127
175
|
return true;
|
|
128
176
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
const arg1 = args[1];
|
|
133
|
-
return arg1 !== undefined && !arg1.startsWith('--');
|
|
177
|
+
// npx jest パターン
|
|
178
|
+
if (command === 'npx' && args.length >= 1 && args[0] === 'jest') {
|
|
179
|
+
return true;
|
|
134
180
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
const arg2 = args[2];
|
|
139
|
-
return arg1 === '--name' && arg2 !== undefined && !arg2.startsWith('--');
|
|
181
|
+
// pytest パターン
|
|
182
|
+
if (command === 'pytest') {
|
|
183
|
+
return true;
|
|
140
184
|
}
|
|
141
185
|
return false;
|
|
142
186
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-builder.js","sourceRoot":"","sources":["../../src/validation/command-builder.ts"],"names":[],"mappings":"AAwCA;;;;GAIG;AACH,MAAM,iBAAiB,GAAmD;IACxE,OAAO,EAAE;QACP,GAAG,EAAE;YACH,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,eAAe,EAAE,YAAY;SAC9B;QACD,OAAO,EAAE;YACP,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,eAAe,EAAE,OAAO;YACxB,UAAU,EAAE,QAAQ;SACrB;KACF;CACF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAc,EACd,KAAY,EACZ,MAAe;IAEf,YAAY;IACZ,MAAM,eAAe,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ;IACR,MAAM,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEpC,eAAe;IACf,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,oBAAoB,CAAC,CAAC;QACvD,CAAC;QAED,gCAAgC;QAChC,cAAc,CAAC,MAAM,CAAC,CAAC;QAEvB,IAAI,QAAQ,CAAC,eAAe,KAAK,YAAY,EAAE,CAAC;YAC9C,YAAY;YACZ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,QAAQ,CAAC,eAAe,KAAK,OAAO,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACvE,cAAc;YACd,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI;KACL,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,MAAc;IACpC,WAAW;IACX,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,aAAa;IACb,uBAAuB;IACvB,MAAM,iBAAiB,GAAG;QACxB,kBAAkB,EAAG,UAAU;QAC/B,OAAO,EAAe,OAAO;QAC7B,OAAO,EAAe,qBAAqB;KAC5C,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,MAAqB;IACjD,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;AAC7D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,IAAc;IACrE,
|
|
1
|
+
{"version":3,"file":"command-builder.js","sourceRoot":"","sources":["../../src/validation/command-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,9 +14,12 @@
|
|
|
14
14
|
import { z } from 'zod';
|
|
15
15
|
/**
|
|
16
16
|
* 許可されたテストランナー
|
|
17
|
-
*
|
|
17
|
+
* - flutter: Flutter/Dartプロジェクト用
|
|
18
|
+
* - vitest: Vite/Node.jsプロジェクト用(TypeScript/JavaScript)
|
|
19
|
+
* - pytest: Pythonプロジェクト用
|
|
20
|
+
* - jest: Node.jsプロジェクト用(TypeScript/JavaScript)
|
|
18
21
|
*/
|
|
19
|
-
export declare const ALLOWED_RUNNERS: readonly ["flutter"];
|
|
22
|
+
export declare const ALLOWED_RUNNERS: readonly ["flutter", "vitest", "pytest", "jest"];
|
|
20
23
|
export type Runner = typeof ALLOWED_RUNNERS[number];
|
|
21
24
|
/**
|
|
22
25
|
* テスト実行スコープ
|
|
@@ -34,6 +37,9 @@ export type Scope = typeof ALLOWED_SCOPES[number];
|
|
|
34
37
|
export declare const runTestInputSchema: z.ZodObject<{
|
|
35
38
|
runner: z.ZodEnum<{
|
|
36
39
|
flutter: "flutter";
|
|
40
|
+
vitest: "vitest";
|
|
41
|
+
pytest: "pytest";
|
|
42
|
+
jest: "jest";
|
|
37
43
|
}>;
|
|
38
44
|
scope: z.ZodEnum<{
|
|
39
45
|
all: "all";
|
|
@@ -45,6 +51,7 @@ export declare const runTestInputSchema: z.ZodObject<{
|
|
|
45
51
|
no_output_timeout_ms: z.ZodNumber;
|
|
46
52
|
max_output_bytes: z.ZodNumber;
|
|
47
53
|
report_dir: z.ZodOptional<z.ZodString>;
|
|
54
|
+
cwd: z.ZodOptional<z.ZodString>;
|
|
48
55
|
}, z.core.$strip>;
|
|
49
56
|
/**
|
|
50
57
|
* run_test入力の型定義
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-schema.d.ts","sourceRoot":"","sources":["../../src/validation/input-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB
|
|
1
|
+
{"version":3,"file":"input-schema.d.ts","sourceRoot":"","sources":["../../src/validation/input-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,kDAAmD,CAAC;AAChF,MAAM,MAAM,MAAM,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,qCAAsC,CAAC;AAClE,MAAM,MAAM,KAAK,GAAG,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AA0ClD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;iBAS7B,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,oBAAoB;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,sBAAsB;IACtB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAoBnF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,MAAM,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,KAAK,CAE5D"}
|
|
@@ -14,9 +14,12 @@
|
|
|
14
14
|
import { z } from 'zod';
|
|
15
15
|
/**
|
|
16
16
|
* 許可されたテストランナー
|
|
17
|
-
*
|
|
17
|
+
* - flutter: Flutter/Dartプロジェクト用
|
|
18
|
+
* - vitest: Vite/Node.jsプロジェクト用(TypeScript/JavaScript)
|
|
19
|
+
* - pytest: Pythonプロジェクト用
|
|
20
|
+
* - jest: Node.jsプロジェクト用(TypeScript/JavaScript)
|
|
18
21
|
*/
|
|
19
|
-
export const ALLOWED_RUNNERS = ['flutter'];
|
|
22
|
+
export const ALLOWED_RUNNERS = ['flutter', 'vitest', 'pytest', 'jest'];
|
|
20
23
|
/**
|
|
21
24
|
* テスト実行スコープ
|
|
22
25
|
* - all: 全テスト実行
|
|
@@ -52,6 +55,8 @@ const baseRunTestInputSchema = z.object({
|
|
|
52
55
|
max_output_bytes: positiveIntSchema,
|
|
53
56
|
/** レポート出力ディレクトリ(相対パス、オプション) */
|
|
54
57
|
report_dir: z.string().optional(),
|
|
58
|
+
/** 作業ディレクトリ(絶対パス、オプション) */
|
|
59
|
+
cwd: z.string().optional(),
|
|
55
60
|
});
|
|
56
61
|
/**
|
|
57
62
|
* run_test入力スキーマ(条件付きバリデーション付き)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-schema.js","sourceRoot":"","sources":["../../src/validation/input-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB
|
|
1
|
+
{"version":3,"file":"input-schema.js","sourceRoot":"","sources":["../../src/validation/input-schema.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-test-timebox",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "タイムボックス付きテスト専用MCPサーバ - テスト実行が終わらない問題を防ぐ",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/server.js",
|
|
@@ -21,9 +21,12 @@
|
|
|
21
21
|
"model-context-protocol",
|
|
22
22
|
"test",
|
|
23
23
|
"timebox",
|
|
24
|
-
"flutter",
|
|
25
24
|
"timeout",
|
|
26
|
-
"test-runner"
|
|
25
|
+
"test-runner",
|
|
26
|
+
"flutter",
|
|
27
|
+
"vitest",
|
|
28
|
+
"pytest",
|
|
29
|
+
"jest"
|
|
27
30
|
],
|
|
28
31
|
"author": "kawanishi0117",
|
|
29
32
|
"license": "MIT",
|